Brightpearl has a standard and fairly complete integration.  The details below are a general guideline. If a specific use case is not listed below it does not mean it's not possible; it probably only means a request for that use case has not yet been made.

Items Integration

Item details are downloaded from Brightpearl to WarehouseOS.  The default filter looks for items based on the last updated date and filters for Live items that are Stock Tracked.  Custom Fields can be pulled through the integration and mapped to fields in WOS.
Order Management

A common approach to ERP integrations is to allow the ERP to automatically create a fulfillment and then push that fulfillment to a warehouse. This works well in 3PL or multi-warehouse scenarios so that each Order can be split into multiple ways and each fulfillment dictates where that Order is fulfilled.

WarehouseOS recommends against this approach and working directly against the Order. The creation of a GON indicates the Order is already picked, even though it hasn't really been started.  Instead of dictating ahead of time what the warehouse should fulfill, WarehouseOS looks at the Order directly. After the Order is picked, a Goods Out Note against the Order is created against what was actually Picked. This allows short-picked Items to be reported back to the Order correctly and additional shipments to be used to resolve any Order issues.

Order Download

Orders that are ready to be downloaded are identified by the following criteria

  • Stock Status; default is Not Fulfilled
  • Allocation Status; default is All Allocated
  • Shipping Status; default is Not Shipped
  • List of statuses that indicate order is ready to be fulfilled

Orders are pulled in based on the last date it was updated based on the established criteria.  Brightpearl doesn't provide item-level details to determine if an item is non-inventory and shouldn't be shipped.  To ignore items like Shipping or Insurance so the warehouse doesn't have to process them, a list of ignored items must be maintained in the integration.

Bundles are broken out and the bundle components are downloaded as line items.  The Bundle details are maintained so they can be grouped together for packing slips or reporting a line-level value for shipping purposes.

Order Updates

WOS doesn't currently allow orders to be updated once they are created.  Orders must be deleted and resubmitted.  But orders get locked once they are batched and an integration can't delete these orders.  This makes any attempt at an automated order update potentially inconsistent.  

Most customers have decided that manually deleting orders to ensure they can control the process is a better approach than an automation that might not always be successful.

Cancelled Orders

Orders that are put into a Cancelled status can be pulled through the standard order check and an attempt can be made to delete the order out of WarehouseOS. 


After an Order is picked in WarehouseOS, the picked details are pushed back to Brightpearl to create a Goods Out Note against the Order.  This typically happens after the order is picked and the GON is put into a Picked status.  After the order is Packed in WOS, an update to the GON is made to change the status.  If an integration between WarehouseOS and a Shipping system is setup, tracking details will be gathered and the GON set to a Shipped status and a tracking number provided.

Fulfillments are created by picked line. This allows short-picked items to be reported back to Brightpearl and remain open until they can be resolved.

Purchase Orders

PO Download

Purchase Orders that are ready to be downloaded are typically identified by a list of statuses.  POs are pulled in based on the last date it was updated as long as it fits the other established criteria.

PO Receipts

As items are received against a PO in WarehouseOS, these details will be pushed to Brightpearl to create a Goods In Note against the PO. Unlike Brightpearl, WarehouseOS does not perform receipts against a "document", but instead receipts are performed and recorded line by line. This can sometimes cause timing issues. By default WarehouseOS will push receipt details within a 15-30 minute window as lines are puaway, creating multiple GIN against a PO. This provides a more real-time approach to when inventory was brought into the system and made available, but if multiple receipts against a PO causes issues there are other approaches to take. 

GIN in Brightpearl are typically created against a PO Putaway record in WarehosueOS. This is a reflection of when Items in WOS were put on the shelf and created inventory, instead of when they were "received" at the warehouse.

PO Receipts can be pushed back to Brightpearl in these ways

  • Line-by-Line as PO Putaway is completed
    This is the default approach mentioned above. Multiple GIN in Brightpearl are created, but it provides a more real-time look at when inventory is getting to the warehouse.
  • Delayed PO Putway to consolidate records
    This is the same as the previous approach, but the time frame is expanded to only push PO Putaway every 2 to 4 hours. This allows more PO Putaway records to be consolidated into fewer GIN in Brightpearl.
  • PO Close event in WarehouseOS
    If a more controlled approach is needed, Closing the PO in WarehouseOS can trigger receipts to be pushed to Brightpearl. This approach can be combined with the Delayed approach above to provide a way to trigger receipts when the standard timing would be too slow.

After the GIN are created, the PO is then retrieved from Brightpearl to check the status of the PO.  The PO will be updated into either a Partial status or a Complete status based on the receipt status of the all the lines on the PO.  The statuses used as Partial or Complete are set as part of the integration and there is no default status provided.

Inventory Management and Adjustments

Brightpearl has the ability to track inventory at the Location level. That is one of the core functions within WarehouseOS. WarehouseOS recommends turning off Location tracking on any Warehouse that will be connected to WarehouseOS. It can be left on in other Brightpearl Warehouses. This allows inventory to be managed in Brightpearl at a global level (the warehouse has 100 of this item), and to be tracked in detail in WarehouseOS (there are 2 locations with 50 each). An integration to keep Brightpearl Location and WOS Location in sync would require many transactions and sync timing could become problematic.

Inventory Adjustments

Puts and Pulls performed in WarehouseOS can be pushed to Brightpearl to create an Stock Corrections. Reason Codes used in WarehouseOS can be passed to Brightpearl

Cycle Counts performed within WarehouseOS, that result in adjustments to inventory, can be pushed to Brightpearl. This creates an Inventory Adjustment just like a Put or Pull. The Reason Code is typically sent as "Cycle Count".

When an inventory adjustment in WarehouseOS would result in subtracting more inventory than Brightpearl has available, 2 optional flows are followed.

  • If stock is locked by allocated orders, orders will be unallocated.
    • Only enough orders are unallocated to release enough stock to delete all the inventory necessary
    • Orders are unallocated starting with the newest orders
  • If there is still not enough stock for the full quantity to be deleted, the adjusted quantity is changed to bring Brightpearl to 0
    • If WarehouseOS deleted 10 units, but even after unallocating orders Brightpearl only has 8, a subtraction for 8 will be made to bring Brightpearl to 0.

Inventory Transfers

When Brightpearl Warehouses are related to WarehouseOS Areas, a move between Areas can be sent to Brightpearl to report in that change to inventory.  Moves that change Areas in WarehouseOS are pushed to Brightpearl.  Moves that are within the same Area in WarehouseOS are ignored in the integration layer.

The process will complete the multiple steps necessary in Brightpearl to complete the full process

  1. Source Warehouse is checked to ensure there is enough inventory to be transfered
    1. If Source Warehouse does not have enough inventory, a Stock Correction is performed to add just enough so the full Qty can be moved
    2. This is done because the inventory was moved in WOS, this step allows that full quantity to be moved into the Destination Warehouse even if there wasn't initially enough inventory in Brightpearl to perform that transfer.
  2. A Stock transfer is created
  3. An External Transfer, a special version of a Goods Out Note, is created
  4. The Goods Out Note is marked as Shipped
    1. This step removes the items from the Source Warehouse and adds them to a Quanrantine location in the Destination Warehouse
  5. Each item on the GON is released from Quarantine in the Destination Warehouse

Inventory Reconciliation

Inventory levels in Brightpearl can be exported and compared to WarehouseOS in a custom Inventory Discrepancy Report. This can help identify issues where transactions weren't synced or differences in the systems occur. 

Transfer Orders

Transfer Orders in Brightpearl are a special version of the Goods Out Note The Transfer has to take two steps to be completed.  1) Ship the items on the GON and 2) Release the items from quarantine in the destination warehouse.  These functions are performed in WarehouseOS by creating an order to be picked and a PO to be received.

Outbound Transfers

An External Transfer is a GON that must be picked and shipped.  If the Source Warehouse of the Transfer is the site using WarehouseOS, the GON is sent to WarehouseOS as an order to be picked and shipped.  When the GON is downloaded to WOS, it gets marked as Printed.  When the Order is packed in WOS, the GON is marked as Shipped and tracking number provided, if part of the integration.

If the GON can't be fully picked, resulting in a Short-Pick, then the GON can't be updated.  Instead, the original GON is deleted and a GON that matches the picked quantity is created.  This typically happens after the order is Picked in WarehouseOS. The GON then waits for the order to be Packed to be set to a Shipped status.

Inbound Transfers

After a Transfer is shipped, the items are moved to a Quarantine location in the Destination Warehouse and wait to be released.  If the Destination Warehouse of the Transfer is the site using WarehouseOS, the GON is sent to WarehosueOS as a PO to be received.  Instead of creating a GIN like the typical PO process, Transfers are identified and the items released from Quarantine.  The timing of these releases follow the same timing established for the rest of the PO Putaway processes within WarehouseOS.