Feature Overview
The Warehouse Shipments & Receipts with 3PL feature manages the full document lifecycle for warehouse shipments and receipts that are processed by an external third-party logistics provider. Rather than picking and receiving goods physically in-house, BC acts as the system of record while the 3PL handles the physical warehouse operations. The integration keeps both systems in sync through a REST API.
For warehouse shipments, the flow begins when a warehouse shipment is released in BC. If the shipment belongs to a 3PL-linked location, it is automatically assigned a connector and its status is set to Ready to Send. The 3PL system polls BC's API for shipments in this state, picks them up, processes the physical outbound, and then calls back to BC to confirm the quantities shipped, update tracking information, and optionally trigger posting. The connector status progresses through a defined lifecycle: Ready to Send → Successfully Sent → Qty Updated → (posted). At any point, the 3PL can report an error which moves the document to an Error state and logs details for review.
For warehouse receipts, the same pattern applies in reverse. A warehouse receipt is released in BC, triggering a status of Ready to Send. The 3PL reads the receipt, processes the inbound goods, and confirms the received quantities. If the connector is configured for auto-posting, the receipt is posted automatically once quantities are confirmed. Both document types support item tracking (lot and serial numbers): when the 3PL returns tracking data via the API, BC automatically applies the lot/serial assignments to the underlying source documents — purchase orders, sales orders, or transfer orders.
Key Facts
| Topic | Detail |
|---|---|
| Setup page | Warehouse Manager Setup |
| Shipment API entity | getShipmentToSend / updateShipments |
| Receipt API entity | getReceiptsToSend / updateReceipts |
| Status lifecycle | Ready to Send → Successfully Sent → Qty Updated → Posted |
| Source documents supported (shipments) | Sales Orders, Transfer Orders (outbound) |
| Source documents supported (receipts) | Purchase Orders, Transfer Orders (inbound), Sales Return Orders |
| Item tracking | Lot No., Serial No., Expiration Date — applied to source document |
| Integration points | Connector Setup, Shipment Bundling, Waybills (Shipping Manager) |
Getting Started
- Ensure at least one connector is configured and the relevant warehouse location is linked to it — see Connector Setup & Location Linking.
- Open Warehouse Manager Setup. In the Setup 3rd Party Behavior → Warehouse Shipments section, decide whether Reset Qty. to Ship on Warehouse Shipments when release should be enabled. Enable it if you want all Qty. to Ship values cleared when a shipment is released, so the 3PL fills them in.
- Similarly, in Setup 3rd Party Behavior → Warehouse Receipt, decide whether Reset Qty. to Receive on Warehouse Receipts when release should be enabled.
- On the connector (Warehouse Manager Setup → Connectors), enable Auto. Post Shipments and/or Auto. Post Receipts if BC should post documents automatically when the 3PL confirms quantities.
- Create a sales order or purchase order for a customer or vendor and ensure the destination/source location is one of your 3PL-linked locations.
- Create and release the warehouse shipment (or receipt) from the sales/purchase order.
- On release, BC automatically sets the Connector Status to Ready to Send and assigns the connector to the document — no manual action needed.
- The 3PL polls the
getShipmentToSendorgetReceiptsToSendAPI endpoint to retrieve documents in Ready to Send state. - Once the 3PL has processed the goods, they call back to BC via
updateShipmentsorupdateReceiptsto confirm quantities and trigger posting. - Review the Activity Log and Error Log on the document if the 3PL reports any issues.
Related Features
Connector Setup & Location Linking is a prerequisite — the location must be linked to a connector for the status automation to trigger on release. Shipment Bundling can consolidate multiple sales orders into a single warehouse shipment before it is sent to the 3PL; the bundled shipment then follows the same lifecycle described here. Tracking numbers returned by the 3PL are stored on a Waybill (from Shipping Manager); this waybill is linked to the warehouse shipment and contains the carrier, service, and tracking number fields.
User Stories
US-01: Release a warehouse shipment and have it automatically queued for the 3PL
As a Warehouse Manager
I want to release a warehouse shipment for a 3PL-linked location
So that the shipment is automatically marked as Ready to Send and picked up by the 3PL without manual status changes
Setup:
- Ensure the warehouse shipment's location is linked to a connector in Warehouse Manager Setup → Warehouses.
- Open the warehouse shipment and choose Release.
- BC automatically sets Connector Status to Ready to Send and assigns the 3PL Connector field on the shipment header.
- The 3PL can now read the shipment via the
getShipmentToSendAPI endpoint.
Note: If the location is not linked to any connector, the status will not be set and the shipment will not appear in the API.
US-02: Manually send a released warehouse shipment to the 3PL
As a Warehouse Manager
I want to manually trigger sending a released shipment to the 3PL
So that I can control exactly when the 3PL receives the shipment, rather than having it sent automatically on release
Setup:
- Open the warehouse shipment. It must have status Released.
- Choose Send from the action bar.
- If the shipment has not yet been sent, BC sets Connector Status to Ready to Send.
- If the shipment has already been sent (status is not blank or Ready to Send), BC shows a warning with an option to Reset and Send Again.
US-03: Reopen a warehouse shipment and reset the 3PL connector status
As a Warehouse Manager
I want to reopen a released warehouse shipment
So that I can make corrections before the 3PL picks it up
Setup:
- Open the warehouse shipment and choose Reopen.
- If the shipment's Connector Status is Ready to Send or Error, BC automatically clears the connector status back to blank on reopen.
- Make the necessary corrections, then release again to re-queue the shipment.
Note: If the shipment has already been picked up by the 3PL (status past Ready to Send), reopening it may cause inconsistencies with the external system. Coordinate with the 3PL before reopening documents that have been transmitted.
US-04: Reset Qty. to Ship when releasing a warehouse shipment
As a Logistics Coordinator
I want to configure BC to clear the Qty. to Ship values when a warehouse shipment is released
So that the 3PL fills in the actual quantities shipped rather than using pre-filled values from BC
Setup:
- Open Warehouse Manager Setup.
- In Setup 3rd Party Behavior → Warehouse Shipments, enable Reset Qty. to Ship on Warehouse Shipments when release.
- Save. When warehouse shipments are released, all Qty. to Ship values on the lines are cleared.
US-05: Reset Qty. to Ship from the API before the 3PL updates quantities
As a Logistics Coordinator
I want to configure BC to clear Qty. to Ship values when the 3PL calls the resetQtyToShip API action
So that the 3PL can start from a clean slate when confirming shipped quantities
Setup:
- Open Warehouse Manager Setup.
- In Setup 3rd Party Behavior → Warehouse Shipments, enable Reset Qty. to Ship on Warehouse Shipments from API.
- Save. When the 3PL calls the
resetQtyToShipaction on theupdateShipmentsendpoint, all Qty. to Ship values on the shipment lines are cleared before the 3PL writes actual quantities.
US-06: Receive quantity confirmation from the 3PL and update shipment status
As a Warehouse Manager
I want to have the 3PL confirm the shipped quantities back to BC
So that the warehouse shipment reflects the actual quantities sent by the 3PL and can be posted
Setup:
- The 3PL calls the
updateShipmentsAPI endpoint (updateShipmentLines) to write actual quantities to the shipment lines. - The 3PL then calls the
UpdateQtyUpdatedaction on the shipment. BC sets Connector Status to Qty Updated. - A user can now review the shipment and manually post it, or the job queue can post it automatically if auto-posting is configured.
US-07: Auto-post warehouse shipments after 3PL quantity confirmation
As a IT Manager
I want to enable automatic posting of warehouse shipments after the 3PL confirms quantities
So that shipments are posted without requiring manual action from BC users
Setup:
- Open Warehouse Manager Setup → Third Party Logistics → Connectors.
- On the connector, enable Auto. Post Shipments.
- The 3PL must call the
PostShipmentaction (with a posting date) on theupdateShipmentsendpoint. BC posts the warehouse shipment immediately.
Note: Enabling auto-posting means the 3PL controls the posting date. Ensure the 3PL integration sends a valid posting date. If auto-posting is not enabled and the 3PL calls
PostShipment, BC will return an error.
US-08: Receive tracking number and carrier information from the 3PL
As a Logistics Coordinator
I want to have the 3PL return tracking numbers and carrier details to BC after shipment
So that the waybill in BC is updated with the correct carrier and tracking number for customer communication
Setup:
- The 3PL calls the
UpdateTrackingaction on theupdateShipmentsendpoint, passingtrackingNo,shippingAgent,shippingAgentService, andshippingMethod. - BC updates the shipment header with the carrier and service code.
- If a waybill already exists for the shipment, BC updates the waybill's tracking number and shipping agent. If no waybill exists, BC creates one automatically and links it to the shipment.
US-09: Handle an error reported by the 3PL on a warehouse shipment
As a Warehouse Manager
I want to see errors reported by the 3PL on a warehouse shipment
So that I can investigate and resolve the issue before retrying the send
Setup:
- The 3PL calls the
UpdateWithErrororUpdateWithErrorDetailedaction on theupdateShipmentsendpoint, passing an error message (and optionally a base64-encoded detail document). - BC sets Connector Status to Error and creates an entry in the Error Log with the error text and any detailed payload.
- Open the warehouse shipment and review the Error Log.
- To retry, use Send and choose Reset and Send Again from the error dialog. This resets the status to blank, then immediately re-queues it as Ready to Send.
US-10: Release a warehouse receipt and have it automatically queued for the 3PL
As a Warehouse Manager
I want to release a warehouse receipt for a 3PL-linked location
So that the receipt is automatically marked as Ready to Send and picked up by the 3PL
Setup:
- Ensure the warehouse receipt's location is linked to a connector.
- Open the warehouse receipt and choose Release.
- BC sets Connector Status to Ready to Send and assigns the 3PL Connector to the receipt header.
- The 3PL reads the receipt via the
getReceiptsToSendAPI endpoint.
US-11: Reset Qty. to Receive when releasing a warehouse receipt
As a Logistics Coordinator
I want to configure BC to clear Qty. to Receive values when a warehouse receipt is released
So that the 3PL fills in the actual quantities received rather than using BC's expected quantities
Setup:
- Open Warehouse Manager Setup.
- In Setup 3rd Party Behavior → Warehouse Receipt, enable Reset Qty. to Receive on Warehouse Receipts when release.
- Save.
US-12: Receive quantity confirmation from the 3PL on a warehouse receipt
As a Warehouse Manager
I want to have the 3PL confirm received quantities back to BC
So that the warehouse receipt reflects actual quantities and can be posted
Setup:
- The 3PL calls the
updateReceiptsAPI endpoint (updateReceiptLines) to write actual received quantities to the receipt lines. - The 3PL calls the
UpdateQtyUpdatedaction. BC sets Connector Status to Qty Updated. - A user can review and manually post, or it is posted automatically if auto-posting is enabled.
US-13: Auto-post warehouse receipts after 3PL quantity confirmation
As a IT Manager
I want to enable automatic posting of warehouse receipts when the 3PL confirms receipt
So that stock is updated in BC without manual posting steps
Setup:
- Open Warehouse Manager Setup → Third Party Logistics → Connectors.
- Enable Auto. Post Receipts on the connector.
- The 3PL calls the
PostReceiptaction on theupdateReceiptsendpoint with a posting date. BC posts the receipt immediately.
Note: The
PostReceiptAPI action will be blocked and return an error if Auto. Post Receipts is not enabled on the connector. This is a deliberate safety mechanism.
US-14: Apply lot number tracking from the 3PL to a purchase order receipt
As a Warehouse Manager
I want to have the 3PL return lot numbers for received goods
So that item tracking is automatically registered on the purchase order lines in BC without manual entry
Setup:
- Ensure the item is set up with an item tracking code that requires Lot Specific Tracking.
- The 3PL sends lot numbers per receipt line via the
updateReceiptLinesAPI. - When BC processes the receipt line update, it automatically creates item tracking entries on the underlying purchase order line with the lot number, quantity, and (if provided) expiration date.
- The tracking is registered and the receipt can be posted normally.
Note: Tracking is only applied if the item tracking code requires it for the relevant entry type (purchase). If the item does not use lot tracking, the lot number from the API is ignored.
US-15: Apply serial number tracking from the 3PL to a sales order shipment
As a Warehouse Manager
I want to have the 3PL return serial numbers for shipped goods
So that serial number tracking is automatically applied to the sales order lines before posting
Setup:
- Ensure the item uses an item tracking code requiring SN Specific Tracking.
- The 3PL sends serial numbers per shipment line via the
updateShipmentLinesAPI. - BC automatically creates item tracking entries on the underlying sales order line.
- The shipment can then be posted with full serial number traceability.
US-16: Apply lot tracking to an inbound transfer receipt via 3PL
As a Logistics Coordinator
I want to have lot numbers assigned to transfer order inbound lines when the 3PL confirms receipt
So that stock arriving at the receiving location is fully tracked
Setup:
- Ensure the item uses lot-specific tracking and the inbound transfer is linked to a 3PL-linked location.
- The 3PL sends lot numbers for the inbound transfer receipt lines via the API.
- BC applies item tracking to the inbound transfer line automatically.
US-17: Handle errors reported by the 3PL on a warehouse receipt
As a Warehouse Manager
I want to be notified when the 3PL reports an error processing a warehouse receipt
So that I can investigate and take corrective action
Setup:
- The 3PL calls
UpdateWithErrororUpdateWithErrorDetailedon theupdateReceiptsendpoint. - BC sets Connector Status to Error and logs the error message in the Error Log.
- Open the warehouse receipt and review the error details.
- Correct any issues in BC, then reopen and re-release the receipt to reset the connector status.
US-18: Update the partner status on a warehouse shipment from the 3PL system
As a Logistics Coordinator
I want to have the 3PL update a free-text partner status on the warehouse shipment
So that BC users can see the 3PL's own status description (e.g. "In Picking", "Dispatched") directly on the shipment
Setup:
- The 3PL calls the
UpdateStatusAtWarehouseaction on theupdateShipmentsendpoint, passing a status text. - BC writes this text to the Partner Status field on the warehouse shipment header.
- BC users can see the current 3PL status on the shipment without logging into the 3PL system.
US-19: Log activity from the 3PL against a warehouse document
As a IT Manager
I want to have the 3PL write activity log entries against warehouse shipments and receipts
So that there is a full audit trail of all integration events, not just errors
Setup:
- The 3PL calls
UpdateSendWithActivityDetailedorUpdateSendWithActivityDetailedDirectionon the shipment or receipt API endpoint, passing an activity description and optional base64-encoded payload. - BC creates an entry in the Activity Log linked to the warehouse document.
- Users can review the activity log to see the full communication history between BC and the 3PL.
US-20: Allow the 3PL to pull item master data including dimensions and packaging
As a Logistics Coordinator
I want to enable the 3PL to retrieve item data from BC, including weights, dimensions, and packaging units
So that the 3PL's WMS has accurate item information for slotting, picking, and labelling
Setup:
- On the connector, enable Sync Items.
- Ensure item dimensions (height, width, length, weight, cubage) are populated on the item cards in BC.
- In Warehouse Manager Setup, configure the global unit of measure fields if they differ from the connector-level settings.
- The 3PL calls the
getItemsAPI endpoint (v2.1) filtering by connector ID. BC returns all items associated with shipments or receipts for that connector, with dimensions converted to the connector's preferred units.
Note: The
getItemsendpoint requires a filter on the connector field. Calling it without a connector filter will return an error.
Field Reference
| Field | Where to find it | What it does | Default |
|---|---|---|---|
| Reset Qty. to Ship on Warehouse Shipments when release | Warehouse Manager Setup → Warehouse Shipments | Clears all Qty. to Ship values when a shipment is released | Off |
| Reset Qty. to Ship on Warehouse Shipments from API | Warehouse Manager Setup → Warehouse Shipments | Clears all Qty. to Ship values when the 3PL calls resetQtyToShip | Off |
| Reset Qty. to Receive on Warehouse Receipts when release | Warehouse Manager Setup → Warehouse Receipt | Clears all Qty. to Receive values when a receipt is released | Off |
| Reset Qty. to Receive on Warehouse Receipts from API | Warehouse Manager Setup → Warehouse Receipt | Clears all Qty. to Receive values when the 3PL calls resetQtyToReceive | Off |
| Calculate Customs Tariff Lines on Warehouse Shipment Release | Warehouse Manager Setup → Warehouse Shipments | Calculates customs tariff lines when a warehouse shipment is released | Off |
| Auto. Post Shipments | Connectors | Permits the 3PL to post warehouse shipments via the PostShipment API action | Off |
| Auto. Post Receipts | Connectors | Permits the 3PL to post warehouse receipts via the PostReceipt API action | Off |
| 3PL Connector | Warehouse Shipment / Receipt header | The connector assigned to this document (set automatically on release) | — |
| Connector Status | Warehouse Shipment / Receipt header | Current status in the 3PL integration lifecycle | Blank |
| Partner Status | Warehouse Shipment / Receipt header | Free-text status text written by the 3PL | — |
| Skip Tracking Update | Warehouse Shipment / Receipt line | When enabled on a line, suppresses automatic item tracking updates from the 3PL for that line | Off |
