Outsourcing fulfilment moves the boxes out of your building but not the paperwork. The 3PL has its own portal, its own file layouts and its own idea of what an item code looks like. So somebody on your team exports orders into whatever shape the warehouse wants, then later opens the confirmation report and keys Deliveries into SAP Business One one at a time, pasting tracking numbers into a note field where customer service will never find them.
The damage shows up in three places. Invoicing lags, because you cannot bill what has not been confirmed shipped. Stock in SAP Business One drifts from stock in the warehouse, because adjustments, damages and cycle counts arrive as spreadsheets that get applied late or not at all. And customer service cannot answer 'where is my order' without emailing the 3PL. By the time anyone reconciles, the variance is large enough to be an argument rather than a correction.
ECOSIRE builds a bi-directional integration between SAP Business One and your third-party logistics provider or outsourced warehouse. It is build-to-order — we build against your 3PL's actual specification, your item and warehouse conventions, and your invoicing policy. We do not ship a pre-built connector for a named provider, because two 3PLs almost never send the same file.
Outbound: what the warehouse needs from you
Sales Orders (object type 17) are released to the 3PL as fulfilment requests, filtered by the rules you set — warehouse code, shipping method, customer, order status, hold flags, or credit check outcome. Only what should ship goes out, so the warehouse is not picking orders your finance team has stopped.
Inbound purchasing is handled the same way: Purchase Orders (object type 22) are pushed as receipt advice or ASNs so the warehouse knows what is arriving, from whom, and against which reference. Item master data is synchronised from Item Master Data (OITM) — barcodes, unit-of-measure groups, pack configurations, weights and dimensions, and whether the item is batch or serial managed. When you add an item in SAP, the warehouse gets it without a phone call.
Inbound: what SAP needs back
Shipment confirmations are posted as SAP Business One Deliveries (object type 15) with BaseEntry and BaseLine links to the originating Sales Order, so partial shipments create multiple Deliveries and the unshipped balance stays open rather than being silently closed. Carrier, service level and tracking number are written to User-Defined Fields on the Delivery header and lines, which makes them available to customer service screens, dispatch emails and your web store without anyone copying a string out of a portal.
Where your policy is to invoice on despatch, the confirmed Delivery can drive an A/R Invoice (object type 13) automatically, with the freight the 3PL actually charged recovered into the document's additional expenses rather than guessed. Receipt confirmations from the warehouse post as Goods Receipt POs (object type 20) against the original purchase order, including short and over receipts flagged for review.
Batch and serial numbers matter here, and they are where most homegrown integrations break. Allocations returned by the 3PL are applied through the document line batch and serial collections, so traceability holds end to end. Where a warehouse is bin-enabled, receipts and issues carry bin allocations rather than dumping everything into the default bin.
Stock truth and reconciliation
Adjustments, damages, write-offs and cycle-count results are posted as the correct SAP Business One inventory documents — Inventory Postings, Goods Receipts or Goods Issues — against dedicated adjustment accounts agreed with your controller, so the general ledger explains the movement instead of absorbing it. Returns received by the 3PL post as Returns (object type 16) and, where you allow it, A/R Credit Memos.
On top of that, a scheduled reconciliation job compares the 3PL's stock snapshot to warehouse on-hand and committed quantities in SAP Business One and produces a variance report per item, warehouse and batch. Variance gets found on a schedule instead of at year-end count.
Reliability, not best effort
Every message in both directions is queued in a User-Defined Table with an idempotency key built from the 3PL's own reference, so a re-sent confirmation cannot create a second Delivery. Failures retry with backoff and then land in a User-Defined Object exception console inside SAP Business One, showing the payload, the error, and a replay action. Nothing depends on somebody noticing a silent failure.
Transport is built to whatever your provider actually offers: SFTP or file-share drops with CSV, fixed-width or XML layouts; a REST or SOAP API; or a webhook endpoint we host for their callbacks. Field mapping is documented as a workbook you own, not buried in code.
Architecture and compatibility
Built as an SAP Business One add-on plus an integration service: Service Layer (REST) for document creation and master data, DI API where an object is not fully exposed, and UDFs, UDTs and UDOs for tracking data, queueing, mapping and the exception console. Compatible with SAP Business One 10.0 on Microsoft SQL Server and on SAP HANA, on-premise or hosted. Multi-warehouse and multi-company database setups are supported, with mapping per warehouse (OWHS) so an in-house warehouse and a 3PL warehouse can coexist in one company.
Who it is for
Brands and distributors that have outsourced some or all fulfilment and are still re-keying confirmations; businesses running a hybrid model with one own warehouse and one or more 3PLs; companies whose customer service team currently asks the warehouse for tracking numbers; and finance teams that cannot close because despatches are unconfirmed and stock variances are unexplained.
How delivery works
A scoping call, then we ask for your 3PL's interface specification and sample files or API credentials for their test environment. From that we produce a field-level mapping proposal and a fixed written quotation with lead time stated — typically one working week from acceptance, driven mainly by how clean the provider's interface is. We build, then install into your test company database and run a full cycle against the 3PL's test environment: order out, confirmation back, receipt, adjustment, return, reconciliation. Once you and the warehouse agree the results, we install into production with a cutover plan and a defined catch-up for in-flight orders. You receive source code, the mapping workbook, and a post-go-live support window stated in the quotation.
What this is not
It is not a warehouse management system, and it does not replace your 3PL's platform. It also cannot invent capability the provider does not expose — if your 3PL will only send a daily CSV, you get accurate daily synchronisation, not real-time, and we will say that plainly at scoping rather than after the build.