At 6:04 every morning, your third-party logistics provider sends an email. Attached is a spreadsheet listing what shipped yesterday, what arrived, and what the warehouse thinks is on the shelf.
Somebody on your team opens it, reformats a few columns, and types the numbers into your ERP. That person is, in practice, your integration layer. They work one shift, they take holidays, and they have no error handling.
Aonflow replaces that handoff with a flow. This piece walks the four exchanges that matter, the channel question that shapes everything, and how the warehouse side actually gets connected.
The 6 a.m. Spreadsheet

The file itself looks harmless. That is the problem.
It arrives daily, so your inventory is at best a day old. It arrives as a spreadsheet, so nobody validates it. It arrives by email, so there is no record of whether yesterday’s file was ever processed. Meanwhile the business runs on those numbers: customer service quotes availability from them, purchasing reorders from them, and finance values stock from them.
The failure modes are boringly consistent:
- The file arrives late — and the morning’s decisions get made on older data.
- The format changes — a column moves, and the paste silently misaligns.
- A shipment is missed — because it landed on a second tab nobody scrolls to.
- Nobody notices at all — since a missing email looks exactly like a quiet day.
Ask the person who does this what it costs and they will say twenty minutes a day. The real cost is that your ERP holds a plausible number rather than a true one, and nobody can say when it stopped being true.
The Four Flows Between an ERP and a 3PL
Strip away the file and only four exchanges matter.
- Outbound order (ERP → 3PL) — a released order becomes a pick-and-ship instruction.
- Shipment confirmation (3PL → ERP) — what actually left, with quantities and tracking.
- Receipt (3PL → ERP) — inbound stock accepted, so your ERP can value it.
- Inventory position (3PL → ERP) — a periodic statement of what the warehouse holds.
Treat these as four flows with four owners and four failure modes, rather than as “the 3PL integration.” One instructs the warehouse, two move inventory — the shipment confirmation also closes revenue-bearing orders — and one is a control.
Those four are the transactional flows. Two reference flows have to exist first: your item master must reach the provider, so an order can name a SKU their system recognizes, and inbound purchase orders or advance shipping notices must arrive, so the warehouse has a document to receive against. Returns usually need a fifth. Scope accordingly.
That last distinction — control versus feed — matters more than it looks.
What Your 3PL Can Actually Speak
This question determines the shape of everything downstream. Ask it first, and get the answer in writing.
Providers typically offer one or more of:
- A REST or SOAP API — the best case. Request and response, with acknowledgements and errors you can act on.
- EDI over a value-added network — common with larger providers and established retail supply chains.
- A file drop — CSV or fixed-width, pushed or pulled on a schedule.
- Email attachments — where you are now, and not a channel to design around.
Where the provider exposes a REST or SOAP API, Aonflow’s generic REST and SOAP connectors are the route in — they are what extend the platform’s reach beyond its dedicated connector library. Where the system is proprietary or legacy and no usable API exists, a custom connector is the route.
If your provider’s only offer is EDI or a scheduled file drop, confirm with the Aonflow team whether and how that channel can be handled before you design around it. That answer shapes the whole build, so it is worth a direct question rather than an assumption.
On your side the picture is simpler. NetSuite, Business Central, and Dynamics 365 all have dedicated connectors, so the ERP end is configuration rather than construction.
Orders Out, Confirmations Back
Define what leaves your ERP, and when.
Decide the trigger. Not every sales order should reach the warehouse the moment it is created. Most teams release on a status change, so cancelled and held orders never reach the floor.
Decide the payload. The warehouse needs the ship-to address, the service level, the lines with item codes and quantities, and any special handling. It does not need your margin.
Agree the item codes. This is where these projects most often fail. Your ERP item number and the provider’s SKU must reconcile exactly, including case and any prefix added at onboarding. Settle the match key, then route an unmatched item to an exception queue.
The return leg is the highest-value flow, because it is the one your customer feels. The confirmation tells your ERP what shipped, in what quantity, and under which tracking number. In NetSuite that lands as an item fulfillment — the transaction that records the shipment of some or all items on an order, initialized from the sales order. In Business Central, shipping is a posting step in an outbound flow that Microsoft describes as picking items from the shelves and shipping items out of the warehouse, with sales orders and outbound transfer orders among its source documents.
Handle three cases explicitly:
- Partial shipments — confirm only the lines that left; do not close the order.
- Short shipments — quantity below quantity ordered needs a decision: backorder, or cancel the remainder.
- Substitutions — a different item shipped is an exception, not a mapping problem.
Inbound deserves the same care. Microsoft describes the inbound warehouse flow as two activities: receive items at the dock and match them to a source document, then put them away and record the place. NetSuite’s Inbound Shipment Management lets you track shipments when they leave the supplier, to the receiving destination, and then into the buyer’s inventory, assigning items from multiple purchase orders to one record. Decide up front what happens on an over-receipt or a damaged-goods line, because both are common and both need a rule.
Inventory Is a Reconciliation, Not a Feed
This is the step teams most often get philosophically wrong. A periodic inventory position from your 3PL is not an instruction to overwrite your ERP. The warehouse counts what is physically present; your ERP holds the record of what you own and what it cost. Overwrite one with the other and you destroy the very discrepancy you need to see.
So run it as a control:
- Import the position into a staging area, not straight onto item records.
- Compare against your ERP quantity per item and location.
- Report the variance, with a threshold deciding what a human looks at.
- Adjust deliberately — a stock adjustment is an accounting event, so post it as one.
Before chasing a variance, check the flows rather than the shelf — an unprocessed or duplicated shipment explains a discrepancy far more often than a miscount. Agree the snapshot cut-off with the provider too, or stock that shipped after their clock and before yours looks like a loss every morning.
Set the cadence to whatever the provider genuinely supports. If they can only produce a nightly position, near real-time is not available on this flow, and saying so up front beats discovering it in month two. The data travels the other way here, but the rule does not. The ERP still holds the record, which is why the position gets reconciled rather than consumed — the same principle behind keeping Shopify orders and NetSuite inventory in step, where the ERP publishes availability and the storefront consumes it.
What Changes When the Flows Run
Once those exchanges run on a flow rather than through an inbox, the day changes shape.
- Customer service stops guessing, because availability reflects the warehouse.
- Finance stops waiting for a file before it can close anything.
- Failures become visible — a missing email looks like a quiet day, but a flow that does not run raises an alert.
- Nobody is a single point of failure for a business-critical data flow.
Take a homewares brand on Business Central with one 3PL. Orders release on approval and reach the warehouse through the provider’s API. Confirmations return and post against the originating orders, so tracking reaches customers without anyone forwarding anything. The nightly position becomes a short variance report each morning — usually empty. On the days it is not, somebody investigates a real discrepancy instead of re-typing four hundred rows.
How Aonflow Connects a 3PL to Your ERP

With the channel settled, the ERP end is configuration; a proprietary warehouse system may still need a custom connector.
A working setup runs four flows: released ERP orders reach the warehouse; confirmations post back against the originating order with tracking; receipts post to the right source document; and the periodic inventory statement is reconciled against your ERP rather than written straight to item records.
Aonflow’s AI-assisted mapping speeds the setup, reducing integration time by more than half. It assists the person doing the mapping; a human still decides which field means what and approves the flow. Self-healing flows detect and recover flows that begin failing, so a brief outage at either end does not quietly stop the feed.
None of this replaces either system. Your ERP stays the system of record for what you own. Your provider’s warehouse system stays the record of what sits on their shelves. Aonflow moves the data between them and shows you that it moved.
Security, Monitoring, and Governance
Warehouse and order data crosses an organizational boundary here, which raises the bar — you cannot deploy a fix to the far end yourself.
Aonflow offers encryption, role-based access control, and audit trails. Data in transit moves over HTTPS, and HTTP access is available through read-only tokens. For security detail beyond this posture, ask the Aonflow team. Dashboards, execution logs, and alerts cover flow execution, so a stalled feed announces itself.
Decide in advance what escalates:
- No inbound feed by an expected time — alert. Silence is the failure mode that hurts most here.
- An unmatched item code — alert immediately; this is a data problem, not a transient one.
- Variance above your threshold — investigate before adjusting.
- A confirmation for an order your ERP does not recognize — quarantine it and review.
Then name one person on your side who owns the flow, and one contact at the provider. An integration with no named owner degrades quietly.
Frequently Asked Questions
Do I need my 3PL to build something?
Usually not, if they already expose an API. The integration work sits on your side. What you do need from them is a clear answer on the channel and the item-code convention.
Should the 3PL inventory file overwrite my ERP stock?
Not as an automatic overwrite. Load it into staging, reconcile, and post any adjustment deliberately. The warehouse reports what is physically present; your ERP holds the record of what you own. A variance report is the point, so do not erase it.
Can this run in near real-time?
It depends on the provider. An API-based flow can keep the two systems aligned in near real-time; a nightly file cannot. Match your expectation to the channel.
Conclusion — The Bottom Line
An emailed spreadsheet is not a small inefficiency. It is an undocumented, unmonitored integration with one person as the runtime.
Replacing it means defining the exchanges, configuring the ERP connector, and answering one channel question with your provider. After that the warehouse reports into your systems rather than into somebody’s inbox.
If your morning still starts with an attachment, write down the exchanges and ask your provider what they can speak. Then explore the connectors at aonflow.com, start for free, or request a walkthrough against your own stack.
Get Started with Aonflow iPaaS – Free Trial Available!
Build and deploy your integrations at zero cost. No credit card required!
