Skip to main content

Receiving and expected arrivals

When you buy stock that will land at your 3PL rather than your own dock, the warehouse needs to know it is coming. VeraCore calls that an Expected Arrival — elsewhere in the industry, an Advance Ship Notice.

The single most important thing about it:

An Expected Arrival is an announcement, not a stock booking

Sending one changes nothing about your available quantity. It tells the warehouse to expect a delivery, so the dock can plan and check goods in against something. Stock appears only when VeraCore actually receives the goods and reports the new balance on the next inventory mirror.

Everything else on this page follows from that. An announcement is cheap, safe to send early, and safe to cancel — right up until the goods arrive.


What gets sent

An Expected Arrival is a header plus lines, built from one SKU.io purchase order:

PartContents
HeaderThe reference VeraCore will know it by, your client PO number, the receiving facility, the anticipated arrival date, how it is travelling, and how it is loaded
LinesOne per PO line: the VeraCore item and the quantity expected

Two header fields accept only a fixed set of values, because VeraCore rejects anything else — shipping method (Motor Freight, Air, or Rail) and load type (Palletized, Parcel, or Floor-Loaded). Both are pickers in the UI for exactly that reason. The values are listed in the statuses reference.

What has to be in place first

An announcement can only reference things VeraCore already knows about:

  1. The receiving facility must be mapped. The arrival names a VeraCore facility, which comes from your warehouse mappings.
  2. The items must exist at VeraCore. You cannot announce an arrival of a product the warehouse has never heard of — see Push products to VeraCore.

Both are one-time setup for a given warehouse and catalogue. When an announcement errors, one of those two is usually why.


The two ways an announcement gets sent

Attended — the button

On the purchase order, Send to VeraCore pushes the announcement immediately. This path is always available: it does not care whether auto-push is on, and it does not care whether the sync schedule is paused. It is a deliberate act by a person, so nothing gates it.

Unattended — auto-push on approval

Turn on Auto-push Expected Arrivals on the Inventory Sync settings tab and SKU.io announces purchase orders for you.

The trigger is approval. When a purchase order is approved, the announcement goes out.

Why approval, and not "sent to supplier"

Approval is the only purchase-order transition this app raises an event for. There is no separate Ordered event — a PO's status can move without anything being broadcast for an integration to listen to. Approval is the hook that exists, so approval is the trigger.

If your workflow does not use approval, use the manual Send to VeraCore button instead. It stays available whether or not the switch is on.

The announcement is dispatched only after the purchase order has been fully written to the database, so the warehouse can never be told about a PO that a later failure rolled back.

Three conditions must all hold for the unattended path:

  1. Automatic sync is enabled for the connection;
  2. Auto-push Expected Arrivals is on;
  3. The sync schedule is Active, not paused.

If an arrival for that PO already exists and is locked, the auto-push is skipped rather than attempted.


The lifecycle

StatusWhat it meansWhat you can do
PendingCreated in SKU.io, not yet sentEdit, send, delete
SentAnnounced to VeraCore, awaiting goodsEdit, cancel
ReceivedVeraCore has received itNothing — see below
ErrorThe push or a reconciliation failedRead Last Error, fix, retry
CancelledPulled back before receivingNothing

Note what has no arrow out of it. Received is terminal, and there is no path from Cancelled back to Sent — a cancelled announcement is re-announced by creating a new one, not by reviving the old one.

Received is a one-way door

Once VeraCore marks an arrival as Received, its header and lines can no longer be edited or deleted through the API — that is VeraCore's rule, not SKU.io's. The row shows a lock indicator, and the Cancel announcement? action disappears.

This is why editing an announcement is a race worth being aware of: an arrival can be locked by the warehouse between the moment you open it and the moment you save. Filter by Receiving started to see everything already past that line.

If something needs to change after receiving, it is a conversation with your 3PL — and a stock adjustment on the SKU.io side, not an edit here.

Reconciliation

Sent announcements are re-checked against VeraCore every hour: SKU.io asks what the warehouse now knows about each one and updates the status and lock state accordingly. That is how an arrival moves from Sent to Received without anyone touching it.

Reconciliation is also where errors surface, which is why an arrival can be sitting quietly at Sent one hour and show Error with a reason the next.


Receiving has no capability switch of its own

The Sync settings tab has five capability switches — tracking, inventory, and products inbound; orders and products outbound. None of them covers receiving.

Expected arrivals are therefore gated only by the connection's overall sync state: pause the schedule and the reconciliation job stops, but there is no "receiving off" switch to look for. The nearest thing is the Auto-push Expected Arrivals toggle, which controls only the unattended half.


Where to go next

Last verified: