Odoo-focused EDI integrator
Odoo EDI integration for retail suppliers
We map, test, launch and monitor the Odoo side of the EDI route your customer requires, so orders, acknowledgments, ship notices, invoices and inventory feeds move without retyping.
What your customer sends
ISA*00* *00* *ZZ*RETAILERIDGS*PO*RETAILER*VENDOR*20260812*0842*1*X*005010ST*850*0001BEG*00*SA*4500291837**20260812REF*DP*038DTM*002*20260826N1*ST*STORE 4471*UL*0000000004715PO1*1*48*CA*18.40**UP*000000000017PO1*2*24*CA*31.75**UP*000000000024CTT*2SE*9*0001
What lands in your Odoo
- Customer
- Source document
- Order date
- Delivery date
- Line 1
- Line 2
An animated illustration. On the left, a raw ANSI X12 850 purchase order as a retailer transmits it. On the right, the same order as a readable Odoo sales order with customer, source document, dates and two lines. Between them, the retailer's implementation guideline doing the mapping.
An EDI integrator connects a trading partner's document exchange to the ERP records that run orders, inventory, shipping and finance. For Odoo users, that means separating three things often called EDI. Odoo's documentation uses EDI broadly and calls electronic invoicing one application. It also supports an Odoo-to-Odoo order import and publishes a direct integration to one retail EDI network. Retail EDI beyond that is ANSI X12 exchanged with a specific trading partner over AS2, SFTP or the platform your customer names. That last connection is the work covered here.
Two ways this lands on your desk
A letter arrived with a deadline on it
It came from the customer you cannot afford to argue with. It names documents by number, sets a date, and uses the word compliance in a way that sounds like it has consequences attached. You forwarded it to two people. One of them replied asking what an 856 is. The date has not moved since.
Nobody in the building has done this before. That is the normal situation, and it is why the letter feels heavier than it reads.
Somebody is retyping every order
The orders land in a portal. Someone opens the portal, reads the order, and types it into Odoo. Then they go back and type the shipment. Then the invoice. They are careful about it. They are also human, and in March a quantity went in wrong, and the deduction came back four months later with a code beside it that nobody could explain.
The portal was supposed to be the end of this problem. It moved the problem to a keyboard.
What you buy from us is the working link to your customer: mapped to their guideline, taken through their certification cycle, and supported in your timezone.
The connector comes with it. A connector on its own has never passed a certification cycle, and it never will, because a certification cycle is run by a person against a guideline.
What passes a certification cycle is one retailer's implementation guideline read line by line, your Odoo producing exactly what that guideline demands, and somebody staying on the phone through their test rounds until they sign you off. The same somebody is reachable at nine on a Tuesday when an order has not arrived.
What we connect Odoo to
Each one carries what Odoo already ships in that area, so you can see where the work actually is.
Your Odoo
on your hosting
Every one of these was chosen by somebody other than you.
A diagram showing your Odoo in the middle. On one side, the EDI platforms and direct links a customer can mandate: SPS Commerce, TrueCommerce, Rithum, and AS2 and SFTP. On the other, the storefronts and carriers an order already passes through: Shopify, WooCommerce, BigCommerce, ShipStation and Freightcom.
Retail EDI and trading partners
The documents a retailer or distributor mandates. Purchase orders arriving, acknowledgements and ship notices going back, invoices going out, over AS2, SFTP or the EDI platform your customer named.
Why not what Odoo already ships
Odoo uses the word EDI more broadly than this page once did, and its own EDI means electronic invoicing plus an Odoo to Odoo order import over UBL. It also publishes a direct integration to one retail network. What its documentation carries nowhere is ANSI X12, AS2, or trading-partner setup for anything else, and that is the requirement a retail mandate actually names.
Marketplaces and online stores
- Shopify
- WooCommerce
- BigCommerce
Orders, products, stock levels and fulfilment moving between the storefront and Odoo.
Why not what Odoo already ships
Odoo ships storefront connectors of its own, and the ones documented in 19.3 are Amazon, Lazada, Shopee and Gelato, the last of those for print on demand. A store running on Shopify, WooCommerce or BigCommerce sits outside that list.
Shipping, carriers and 3PL
- ShipStation
- Freightcom
Rates on the order, labels and tracking on the delivery, and the handoff to whoever is actually packing the box.
Why not what Odoo already ships
Odoo covers the common North American carriers natively, so a supplier whose negotiated rates and carrier accounts already live in Odoo may need none of this. Worth checking before anybody scopes it, because the carrier side and the retail EDI side get conflated on scoping calls.
Finance and accounting
The ledger end. Bookkeeping, payments and the reconciliation nobody enjoys.
Run from solvync.comWhy not what Odoo already ships
Odoo ships a great deal here already. The deciding question is whether your ledger still agrees with your bank and your filings at the end of the month, and that is an accounting engagement before it is a connector.
The system you are about to name
The one that is missing from the four above. Somebody tells us what they have been mandated to connect to, we go and look at what exists for it, and we say plainly whether we would put our name on running it.
Why not what Odoo already ships
Odoo's own list of what it connects to is published and finite, so the first thing we do is check whether your system is already on it. When it is, we tell you, and the job becomes configuration.
Two ways to buy this
You are already on the platform. Odoo is the part that is still manual.
A connector moves those documents between the two systems you already pay for, in both directions, with no keyboard in the middle. Your platform subscription stays exactly where it is, and this route changes only what happens after the document arrives. Your platform and Odoo each publish answers of their own, and where they stop is the part nobody wants to own: which fields your order lands on, what your item numbers have to look like against your customer's, when the ship notice goes, and what happens the morning a document arrives malformed.
Without a connector, a document arrives at your EDI platform and somebody types it into Odoo. With one, the same document reaches Odoo as an order with no keyboard in the middle and the platform subscription unchanged.
SPS Commerce
The largest of the three networks by installed base. What is left on your side is the same question as the others: where the order lands in Odoo, and what your item numbers have to look like against your customer's.
TrueCommerce
Orders, order changes, acknowledgments, ASNs and invoices, moving both ways while the platform holds the partner connectivity.
Rithum / CommerceHub
Marketplace and dropship orders into Odoo, with acknowledgment, shipment and tracking, cancellation, inventory and invoice returning.
You were told to do EDI. Nobody said you had to rent it forever.
A direct link exchanges ANSI X12 files straight with your customer over AS2, SFTP or FTP, sent and received by Odoo, with no per-document meter running in between. It suits a supplier with a small number of trading partners and a controller who has read what a per-document charge does at volume. It also puts the partner onboarding work on your side of the table, and that work is the thing we do. The trade is real, it goes one way for some suppliers and the other way for others, and we will tell you which side of it you are on before you spend anything.
Without a platform in between, the document travels from your customer to your Odoo over AS2 or SFTP directly, and the order is created there.
AS2
Certificates, encryption and signed receipts, connecting your Odoo directly to their gateway.
SFTP or FTP
Scheduled drops and pickups on their server, for the partners who run exactly that.
The documents themselves
Their orders and order changes come in. Acknowledgments, ASNs and invoices go back. Your Odoo returns a functional acknowledgment on everything it receives.
For the controller
Where this shows up in your receivables
You can size this yourself before you talk to anybody
Pull three months of remittance advices from the customer that mandated you. Total the deduction lines whose reason codes refer to document timing, document accuracy, labelling or routing. Multiply by four. That figure is yours, and it came from your own customer.
- 01
It arrives late and unexplained
A deduction arrives as a short payment with a reason code beside it, on a remittance advice, months after the shipment it refers to. Nobody calls first to argue about it. By then the person who packed that order has forgotten it and the order itself is closed in Odoo.
- 02
Then it repeats
So the invoice sits open for an amount nobody can explain. Somebody writes it off, or somebody spends an afternoon reconstructing a shipment from four months ago to dispute a figure smaller than the afternoon costs. Both of those are the same decision, and it repeats every cycle while the cause stays in place.
- 03
The cause is upstream and it is mechanical
A document that went out late, or that did not match what shipped, produces a code. Fix the document and the code stops.
The documents, in the language your building already uses
Each one carries a number because a computer has to route it. Here is what each number means when it lands on your desk.
Your customer
sends it
850Your Odoo
receives it
Inbound. Their order
850
Inbound to you
Purchase Order
Their order
Line items, quantities, prices, the ship-to location and the date they expect it. Everything downstream is checked against this document, so a mapping fault here becomes a deduction on every order that follows.
856
Outbound from you
Advance Ship Notice
What is on the truck
It has to be accurate to the carton, and it has to arrive before the truck does. An ASN that arrives late, or that does not match what came off the trailer, is a deduction. That is the mechanism, and it is why this one gets built first.
855
Outbound from you
Order Acknowledgment
What you can actually ship
Where you accept a line, reject it, or change the quantity or the date, in their format and inside their window. Doing this properly is what stops a shortage becoming a chargeback later.
810
Outbound from you
Invoice
The bill
It has to reconcile against their purchase order and against your own ASN. When it does not, it sits unpaid in a queue nobody in your building can see, and the first you hear of it is the remittance advice.
What we do and what we do not do
Every trading partner is its own piece of work. Two suppliers on the same platform, sending the same four documents to two different customers, are two different mappings, because each customer sets its own parameters and changes them when it feels like it. That is a fact about EDI, and it is why a wall of retailer logos would tell you nothing.
What already exists
- Connectors that move orders, acknowledgments, shipments and invoices between Odoo and an EDI platform, in both directions.
- A direct route that exchanges ANSI X12 over AS2, SFTP or FTP straight from Odoo, with no platform in between.
- The document types above, running in both directions on the routes that carry them.
- An Odoo Ready Partner doing the Odoo half of the work, which is where most of the sharp edges live.
What has to be built for your customer
- The mapping to their implementation guideline: their segment order, their qualifiers, their labelling and packaging rules, their tolerances.
- Whatever that guideline asks for that no other partner has asked for. This happens, and it is ordinary.
- Their certification cycle, which runs on their process and their calendar.
- Any document they mandate that sits outside the set above.
Here is what you get before you spend anything: which route your customer runs on, and what their guideline asks for. Sometimes that readout says a platform subscription is the cheaper path for you, and it says so, because the software licence was never where our money was.
No retailer works out of the box. Believing one does is how EDI projects fall apart in month three, with a deadline already spent.
The EDI Requirement Check
Tell us who mandated you and where you stand today. You get back a plain readout: which documents that customer typically asks for, whether you need a platform or can go direct, what has to change inside Odoo, and what the scope depends on.
The readout is free and it commits you to nothing. Scoping the work itself comes after it and it is paid, so you will know what the next step costs before you take it.
Inside two business days, Monday to Friday, Mountain Time. Where your customer is one we have not mapped before, the readout says exactly that.
If somebody has handed you a different system and told you your Odoo has to talk to it, the name on its own is enough. Put it in the first field and leave the second blank. Same person, same two business days.
If you would sooner just talk, book a 30-minute call. Same person, same three questions.
Book a 30-minute callBefore you talk to anybody
What we would check if we were you
The EDI line is new, so the reference list is empty. Here is what we put in front of you instead. These four checks can change the recommended route or stop the work before you spend money on the wrong approach.
- 01
If you run Odoo Online, none of this can be installed
Odoo Online is incompatible with custom modules and Apps Store modules, so a third-party connector cannot go on it. A hosting move may come before any of this, and that is a separate project with its own cost. Which hosting you are on is the first question on any call, because it decides whether there is a project here at all.
Check it: Odoo documentation, Odoo Online
- 02
If your shipping already works, none of this touches it
Odoo covers the common North American carriers natively, so a supplier whose negotiated rates already live in Odoo needs nothing from us on that side. Retail EDI is a separate obligation to a separate party, and the two get conflated on sales calls.
Check it: Odoo documentation, third-party shippers
- 03
Fit follows the EDI programme
A compact team can still have a demanding EDI programme when several retailers, 856 ship notices, casepacks, cross-border mappings or high order volume are involved. A larger operation can have one simple trading-partner flow. We evaluate the partners, required documents, volume, data readiness, exception handling and Odoo hosting before recommending a connector or a lighter route.
Check it: Our written fit criteria
- 04
Keeping the platform you were told to buy is sometimes cheaper
Where your customer mandated a platform, staying on it is sometimes the cheaper total. The readout says so plainly when that is the case, because a number arrived at before the work starts is one you can still act on.
Check it: Our readout, in writing
Each line names the documentation or written decision rule behind it. You can review those sources before anybody speaks to us.
- Entity
- Solvync Inc.
- Partner tier
- Odoo Ready Partner
- Office
- Calgary, Alberta
- Working hours
- Mountain Time
erpintegrators.com is a product line of Solvync Inc., an Odoo consultancy in Calgary, Alberta. Same company, same people, same phone number. Registered office at 431B 41st Avenue NE, Calgary, Alberta T2E 2N4. The consultancy is at solvync.com if you want to look us over first.
The work is done on Mountain Time. When your customer's certification analyst calls at nine in the morning, somebody here is already awake for it. When an ASN fails on a Thursday afternoon, your file gets looked at on Thursday afternoon.
The engagement is signed by the firm. The delivery bench flexes with contractors under written agreement when a project needs a second pair of hands, and the scope says who does what before you sign it.
Questions people ask on the first call
A connector moves those documents between the two systems you already pay for, in both directions, with no keyboard in the middle. Your platform subscription stays exactly where it is, and this route changes only what happens after the document arrives.
Your platform and Odoo each publish answers of their own, and where they stop is the part nobody wants to own: which fields your order lands on, what your item numbers have to look like against your customer's, when the ship notice goes out, and what happens the morning a document arrives malformed.
They are different mechanisms and only one of them answers a retail mandate. Electronic invoicing is built for tax authorities and for business to business billing, and it moves one document. An Odoo to Odoo order import moves orders between two companies who both run Odoo. Neither of those speaks ANSI X12 to a named trading partner.
What your customer is asking for is a specific set of X12 transactions, usually the order, the acknowledgment, the ship notice and the invoice, exchanged the way their guideline says. If somebody has told you Odoo already does EDI, the question worth settling first is which of those three they meant, because the answer changes what you need and what it costs.
It depends on one thing before anything else: how your Odoo is hosted. Odoo Online, the odoo.com hosted edition, is documented as incompatible with custom modules and with modules from the Odoo Apps Store, so an EDI connector cannot be installed there. Odoo.sh and self-hosted Odoo both take it.
If you are on Odoo Online today, a migration to Odoo.sh or your own hosting comes first, and we will say that on the call before anyone talks about scope. The connectors are published for Odoo 19.0, which is what we have confirmed. Tell us your exact version and where it runs and you get a yes or no, in writing, before a quote exists.
Ask us after the readout and you get a date with the assumptions written beside it. Ask us before, and any date we give you is invented. The three things that decide it are which route you are on, how many documents they mandate, and how long their certification cycle takes, and the last one belongs to them. What we can tell you now is that the certification cycle runs on their calendar and cannot be compressed from this side, so the earliest useful move is finding out what their guideline actually requires.
We do not publish a price, because a price for a mapping to a guideline nobody has read yet would be fiction. Four things set it: which customer mandated you, which route you are on, how many documents they require, and how much of the underlying data your Odoo already holds. Once those four answers exist you get a range with its assumptions written next to it, and the assumptions matter more than the range does.
The mapping and the configuration live in your Odoo database, which is yours, on hosting you control. The documentation of what was mapped and why is handed to you as part of the work. Ask us this question on the call, because it is the right question to ask a small firm. Listen for a specific answer.