Your customer's file format shouldn't cost you a headcount.
Every new retail account arrives with a routing guide, a labeling spec, a certification cycle, and a deadline. We map it, test it, ship it, and monitor it — so onboarding a trading partner stops being the reason your team works Saturday.
EDI is old. That's the good news.
X12 hasn't fundamentally changed in decades, which means the problem is never mystery technology — it's the accumulated specificity. This partner wants the ASN within an hour of shipment. That one rejects a carton-level segment the first one requires. A third deducts a chargeback if the SSCC label sits two inches off center.
Nobody is confused by the standard. They're buried in the exceptions. We handle the exceptions — the mapping, the validation before the file leaves, the acknowledgement tracking, and the alert when something silently stops flowing at 2am.
And it isn't always X12. If your partners speak in PIP numbers instead of transaction sets — a 3A4 for the order, a 3B2 for the advance shipment, a 4B2 coming back on receipt — that's RosettaNet, and it's the same job in a different envelope. Both are below, because plenty of operations run both at once.
What we handle
- X12 and EDIFACT mapping, both directions, including partner-specific quirks
- RosettaNet PIPs — 3A4, 3B2, 4B2 and the rest — over RNIF or ebMS
- AS2, SFTP, FTPS, VAN interconnects, and REST/webhook APIs
- Trading-partner onboarding, testing, and certification support
- Routing-guide and labeling compliance validation before transmission
- 997 acknowledgement tracking and unacknowledged-file alerting
- Chargeback investigation, root-cause analysis, and prevention
- Migration off legacy translators and homegrown scripts, run in parallel
- Monitoring, retries, and escalation you don't have to babysit
Validate before you send
Catching a bad ASN in your own pipeline costs nothing. Catching it via a retail deduction costs the margin on the order.
API where you can
When a partner offers REST or webhooks, we take it — easier to debug, faster to change, and no per-character fees.
Parallel cutovers
Old and new paths run side by side on real traffic until output matches. No flag day, no week of uncertainty about who sent the invoice.
Documented, not tribal
Every mapping ships with its spec, test files, and runbook. If we get hit by a bus, your next engineer can still read it.
The transaction sets we map most
Order-to-cash plus the warehouse and freight sets that 3PL operations live on. If your partner needs something not listed, it's the same work.
| Set | Document | Direction | What it does |
|---|---|---|---|
| 850 | Purchase Order | Inbound | Your customer or retailer orders goods. |
| 855 | PO Acknowledgement | Outbound | Confirm, change, or reject that order. |
| 860 / 865 | PO Change & Change Ack | Both | Handle revisions without re-keying the order. |
| 856 | Advance Ship Notice (ASN) | Outbound | What shipped, in which carton, under which SSCC label. |
| 810 | Invoice | Outbound | Bill the customer directly from the shipment. |
| 846 | Inventory Inquiry / Advice | Outbound | Publish on-hand and available-to-promise. |
| 940 / 945 | Warehouse Shipping Order & Advice | In / Out | The 3PL backbone: ship this — here is what we shipped. |
| 943 / 944 | Warehouse Transfer Ship & Receipt | Out / In | Inbound transfers into a 3PL facility. |
| 947 | Warehouse Inventory Adjustment | Outbound | Damage, shrink, and count corrections. |
| 204 / 990 | Load Tender & Response | Out / In | Tender freight and get an accept or decline back. |
| 214 | Shipment Status | Inbound | Carrier milestones feeding tracking and ETAs. |
| 210 | Freight Invoice | Inbound | Carrier billing, for audit and settlement. |
| 997 | Functional Acknowledgement | Both | Proof a file arrived — the first thing a partner checks. |
PIPs, for partners who count in 3A4s
High-tech, electronics, and semiconductor supply chains standardized on RosettaNet instead of X12. Same order-to-cash story, numbered by cluster, segment, and process — and carried over RNIF or ebMS rather than a VAN.
| PIP | Process | Direction | What it does |
|---|---|---|---|
| 3A4 | Request Purchase Order | Inbound | The PO itself — the X12 850 of the RosettaNet world. |
| 3A7 | Notify of Purchase Order Update | Outbound | Accept, change, or reject line by line. |
| 3A8 | Request Purchase Order Change | Inbound | Buyer-initiated revisions after the PO lands. |
| 3A9 | Request Purchase Order Cancellation | Inbound | Pull the order before it ships. |
| 3A6 | Distribute Order Status | Outbound | Where each line stands, on request or on schedule. |
| 3B2 | Notify of Advance Shipment | Outbound | The ASN — carton, quantity, and shipment detail. |
| 3B3 | Distribute Shipment Status | Both | In-transit milestones and exceptions. |
| 3B11 | Notify of Shipping Order | Inbound | Instruction to a 3PL or warehouse to ship. |
| 3B13 | Notify of Shipping Order Confirmation | Outbound | The warehouse confirms what actually went out. |
| 3B18 | Notify of Shipping Documentation | Outbound | Packing lists and export paperwork for the shipment. |
| 3C3 | Notify of Invoice | Outbound | Billing, straight off the confirmed shipment. |
| 3C6 | Notify of Remittance Advice | Inbound | What the buyer paid, and against which invoices. |
| 4B2 | Notify of Shipment Receipt | Inbound | Confirmation the goods landed — closes the loop on 3B2. |
| 4C1 | Distribute Inventory Report | Outbound | On-hand and in-transit positions per location. |
| 4A5 | Notify of Forecast Reply | Outbound | Commitment against a customer's demand forecast. |
| 2A1 | Distribute New Product Information | Both | Item master and product data sync. |
| 0A1 | Notification of Failure | Both | The framework-level failure signal — RosettaNet's 997. |
Directions shown from the seller or 3PL side; they invert when you're the buyer. Your partner's implementation guide is always the final word on which PIPs and versions apply.
What the four weeks actually look like
-
1
Collect the spec
Implementation guide, routing guide, labeling rules, connection details, and sample files. We chase the gaps with the partner so you don't have to.
-
2
Map & validate
Build both directions, wire the transport, and validate against the guide — including the rules that only show up as deductions later.
-
3
Test & certify
Run their test cycle to completion. This is usually the long pole, and it moves on the partner's clock, not ours.
-
4
Go live & monitor
Cut over, watch the first real orders end to end, then hand off with alerting on every feed and a runbook for the exceptions.
However they want it delivered
Straight answers
Do you work in RosettaNet PIPs as well as X12?
Yes. If your partners talk in PIP numbers — 3A4 for the order, 3B2 for the advance shipment, 4B2 for the receipt — that is a different envelope and framework, not a different problem. We map PIPs over RNIF or ebMS the same way we map X12 over AS2, and plenty of operations run both side by side because their high-tech customers and their retail customers each picked a standard.
What do you need from us to start an EDI project?
Your partner's implementation guide and routing guide, sample files if you have them, credentials or a connection endpoint, and a contact who can approve test results. If a guide is missing, we will request it from the partner with you.
Can we skip EDI and just use APIs?
Where the partner supports it, yes — and it is usually cheaper and faster to debug. But large retailers still mandate X12 over AS2 or a VAN, so in practice most operations run both. We build the same order flow either way.
How do you prevent retail chargebacks?
Validate against the routing guide before the file goes out, not after the deduction arrives: label placement and SSCC accuracy, ASN timing windows, carton-level detail, and required qualifiers. Then we trace any deduction back to its cause.
What happens when a transmission fails at 2am?
An alert fires to a channel you actually watch, with the partner, document type, and reason attached — plus a retry policy for the transient failures. The goal is that you hear it from monitoring, never from your customer.
Can you migrate us off an old translator or homegrown script?
Yes, and carefully. We run the old and new paths in parallel, compare output on real traffic until it matches, then cut over partner by partner. No flag day, no week where nobody is sure which system sent the invoice.
Got a routing guide you'd rather not read?
Send it over. We'll tell you what it really requires and what it takes to be compliant — free.