Inbound shipments
Tell a warehouse what stock is arriving, and see what it received.
An inbound shipment describes a delivery to a Bigblue warehouse: the products and quantities, how they're packed, the carrier and the expected arrival date. The warehouse uses it to book a delivery slot and to check what arrives.
Inbound shipments are the only way to add stock. No endpoint sets quantities directly.
Operations
Create inbound shipment
Tell a warehouse what stock is arriving.
Update inbound shipment
Change a shipment before it arrives.
Get inbound shipment
See what the warehouse received.
List inbound shipments
List all inbound shipments.
Delete inbound shipment
Cancel a shipment before it arrives.
Statuses
- DRAFT
- PENDING
- TRANSMITTED
- ARRIVED
- OFFLOADING
- COMPLETE
- ARCHIVED
DRAFT- Created but not sent to the warehouse. You can still edit it.
PENDING- Sent, waiting for a delivery slot.
TRANSMITTED- Sent to the warehouse, which expects the delivery.
ARRIVED- At the warehouse, not yet unloaded.
OFFLOADING- Being unloaded and counted. line_progresses is filled in.
COMPLETE- Reception is finished. Received units are in inventory.
ARCHIVED- Closed.
| status.code | Meaning |
|---|---|
DRAFT | Created but not sent to the warehouse. You can still edit it. |
PENDING | Sent, waiting for a delivery slot. |
TRANSMITTED | Sent to the warehouse, which expects the delivery. |
ARRIVED | At the warehouse, not yet unloaded. |
OFFLOADING | Being unloaded and counted. line_progresses is filled in. |
COMPLETE | Reception is finished. Received units are in inventory. |
ARCHIVED | Closed. |
The finalize option on create
decides whether a new shipment starts as DRAFT or is sent right away.
Delivery appointments
The carrier or supplier requests a delivery slot through public_appointment_url,
and the warehouse approves or refuses it. A shipment can have several requests,
for example after a refusal or a reschedule. appointment shows one of them:
- the approved request, if there is one
- otherwise, the request that changed most recently
- nothing, if no slot was requested yet
PENDING- Requested, waiting for the warehouse.
APPROVED- Confirmed. The goods are expected in this slot.
REFUSED- Refused by the warehouse. A new slot must be requested.
CANCELLED- Cancelled by the merchant or the supplier.
| appointment.status | Meaning |
|---|---|
PENDING | Requested, waiting for the warehouse. |
APPROVED | Confirmed. The goods are expected in this slot. |
REFUSED | Refused by the warehouse. A new slot must be requested. |
CANCELLED | Cancelled by the merchant or the supplier. |
Depending on the warehouse, a slot is a time range or a whole day.
Cross-docking
By default, received goods are put away first, and only then become available to orders.
With receive_to_order: true, the shipment is received in cross-dock mode. Orders
can reserve the expected quantities before the shipment arrives, and the
warehouse ships them straight from the receiving dock instead of putting the goods
away first.
You choose the mode when you create the shipment. It can't be changed afterwards.
The InboundShipment object
idstring^[A-Za-z0-9]{13}$supplier_shipment_idstringYour or your supplier's reference for the shipment. Shown to warehouse staff.
supplier_namestringwarehousestringFR-CDG-001.^[A-Za-z]{2}-[A-Za-z]{3}-[0-9]{3}$expected_arrival_timestringExpected arrival, in RFC 3339 UTC: 2026-04-02T08:00:00Z.
expected_loadInboundShipmentLoadHow the goods are packed: boxes, pallets or a container.
carrier_namestringline_itemsInboundShipment.LineItem[]currencystringCurrency of unit_landed_cost. Read-only. Set from the warehouse's valuation
currency, or the default currency of the warehouse's country.
statusInboundShipmentStatuscreate_timestringreceive_to_orderbooleandefault falseReceive the shipment in cross-dock mode. See Cross-docking. Set on create only.
appointmentInboundShipmentAppointmentThe delivery slot and whether the warehouse approved it. Read-only. Only returned by get and list. See Delivery appointments.
public_appointment_urlstringLink to book or view the delivery slot. Only returned by create and update.
delivery_note_urlstringappointment_timestringdeprecatedappointment.time_slot_start_time instead.expected_pallet_countintegerdeprecatedexpected_load instead.expected_box_countintegerdeprecatedexpected_load instead.LineItem
productstringrequired^[A-Za-z0-9]{4}-[A-Za-z0-9]{6}-[A-Za-z0-9]{4}$quantityintegerrequiredsupplier_skustringlot_codestringtrack_lots.lot_expiration_datestringLot expiry date. Required for products with track_lot_expiry.
lot_expiration_timestringlot_expiration_date instead.block_for_quality_controlbooleandefault falseReceive the units into quality control instead of sellable stock. They appear as
quality_control in inventory until released.
unit_landed_coststringCost per unit including freight, duties and handling, as a decimal string. Used
for stock valuation. If missing, the product's value is used.
InboundShipmentLoad
Set exactly one of these fields.
box_loadBoxLoadpallet_loadPalletLoadfloor_loaded_container_loadFloorLoadedContainerLoadA container with loose boxes.
palletized_container_loadPalletizedContainerLoadA container with pallets.
BoxLoad
homogeneous_box_countintegerheterogeneous_box_countintegerPalletLoad
homogeneous_pallet_countintegerheterogeneous_pallet_countintegerheterogeneous_pallet_homogeneous_box_countintegerBoxes with one product on mixed pallets.
heterogeneous_pallet_heterogeneous_box_countintegerBoxes with several products on mixed pallets.
FloorLoadedContainerLoad
container_seal_referencestringPalletizedContainerLoad
container_seal_referencestringInboundShipmentAppointment
Read-only.
statusstringPENDING, APPROVED, REFUSED or CANCELLED. See
Delivery appointments.
time_slot_start_timestringtime_slot_end_timestringwarehouse_approval_notestringInstructions for the carrier, added by the warehouse when it approves the slot.
update_timestringInboundShipmentStatus
Read-only.
codestringupdate_timestringtotal_expected_countintegertotal_offloaded_countintegerUnits received in good condition. Doesn't include damaged units.
total_damaged_countintegercommentsstring[]Notes from warehouse staff, for example about missing or damaged units.
line_progressesInboundShipmentStatus.LineProgress[]LineProgress
productstring^[A-Za-z0-9]{4}-[A-Za-z0-9]{6}-[A-Za-z0-9]{4}$expected_countintegeroffloaded_countintegerdamaged_countintegerlot_codestringlot_expiration_datestringYYYY-MM-DD.lot_expiration_timestringlot_expiration_date instead.Checking a reception
When the status is COMPLETE, compare expected_count with
offloaded_count + damaged_count on each line:
for (const line of shipment.status.line_progresses ?? []) {
const received = (line.offloaded_count ?? 0) + (line.damaged_count ?? 0);
if (received !== line.expected_count) {
// Over or under delivery. See status.comments for details.
}
}Only offloaded_count becomes sellable stock. Damaged units go to damaged in
inventory, and units received with
block_for_quality_control go to quality_control.