Odoo EDI integration
Weredi imports X12 EDI into Odoo 17, 18, 19 and 20, on Odoo Online, Odoo.sh or your own server. A retailer’s 850 becomes a confirmed sales order, a supplier’s 810 a vendor bill, an 820 customer payments registered against the invoices it names, and the 810s you send become customer invoices linked to their sales order.
The trial includes the Odoo connector. No credit card.
What syncs with Odoo
Five flows, each one an Odoo record created the way Odoo itself would: orders confirmed, invoices posted, payments registered and reconciled.
| EDI document | From | Becomes in Odoo | What happens |
|---|---|---|---|
| 850 Purchase Order | Your trading partner | Sales order (confirmed) | The retailer’s order becomes a quotation with the PO number as customer reference, then is confirmed into a sales order. Products are found by internal reference or barcode. |
| 810 Invoice | Your trading partner | Vendor bill | A supplier’s EDI invoice becomes a posted vendor bill, with their invoice number as the bill reference. |
| 820 Payment Order/Remittance Advice | Your trading partner | Customer payments | A customer’s remittance registers one payment per invoice it lists, through Odoo’s Register payment, so each invoice is reconciled. |
| 810 Invoice | You | Customer invoice | The EDI invoice you send becomes a posted customer invoice, linked to the sales order so the order shows as invoiced. |
| 820 Payment Order/Remittance Advice | You | Vendor payments | A payment you send by EDI registers vendor payments against the bills it pays. |
You turn each flow on separately, per partner. Each push is logged as its own delivery with Odoo’s answer, and a refused one can be sent again from the same screen.
A new connector, set up with you
The Odoo connector shipped in November 2026 and has posted its first invoices on an Odoo 20 database. For your first partner, we run the first documents with you on your own database (version, plan, products and taxes) before the flows run on their own.
Beyond the 850, 810 and 820
Any EDI document, mapped to any Odoo field
The 5 flows above work out of the box. Every other document your partners exchange can reach Odoo too: map its fields to the ones you need, and Weredi posts the result to Odoo’s API, or to any system around it, the moment the document arrives.
Prefer not to build it? Our team sets up the mapping and the webhook for you.
Pick the documents
An automation listens for any transaction set, from any partner or only the ones you choose, inbound or outbound.
Map element to field
The mapping editor turns X12 elements into the exact JSON your target expects, with lookup tables for codes and item numbers.
TD5-05carrier_idREF-02carrier_tracking_refDeliver by webhook or API
A webhook posts it as JSON, XML or a form, signed with a bearer token, basic auth, an API key, HMAC or OAuth, and retried if the endpoint is down. Going the other way, your system sends documents out through the Weredi REST API.
How to connect EDI to Odoo
Connect Odoo
Enter your Odoo URL, database, login and an API key. Weredi detects your version and the right protocol by itself.
Match your partners
Link each trading partner to its customer and vendor in Odoo, once. Every document from that partner then lands on the right account.
Review the mapping
Each document starts from a reference mapping. Pick accounts, taxes and items from lists read live from Odoo; translate item numbers with lookup tables.
Turn on the flows
From then on, each document is pushed to Odoo the moment it arrives or is sent. Errors come back in Odoo’s own words.
What is specific to Odoo
Odoo changes between versions and every database has its own apps installed. The connector reads your database rather than assuming.
Odoo 17 to 20, detected
Odoo 19 and 20 are reached through the JSON-2 API, 17 and 18 through JSON-RPC, picked automatically. Field names that moved between versions are read from your database, and a field your database lacks is skipped, not fatal.
Products by reference or barcode
Each order line’s item number is looked up in Odoo by internal reference, then by barcode. When a retailer uses its own numbers, a lookup table translates them to yours.
Payments the way Odoo registers them
Remittances go through Odoo’s own Register payment, one payment per invoice, so they are posted and reconciled like a payment entered by hand. An early-payment discount can be written off to the account you choose.
Re-sending never duplicates
Before creating, Weredi looks for the same order, invoice or payment in Odoo. If it exists, it is reused, and confirmed or posted if it was left in draft.
What you need
- A Weredi Plus plan or the 14-day trial: integrations are part of Plus.
- Odoo 17, 18, 19 or 20 with Sales and Invoicing. On Odoo Online, the Custom plan: the external API is not on Standard or One App Free.
- An API key with the RPC scope for the user Weredi connects as. Keys last 90 days by default; Weredi can renew them when that user is allowed to.
- Internal references or barcodes on your products that match the partner’s item numbers, or a lookup table.
What Weredi handles on the EDI side
- The connection to each trading partner: AS2, SFTP or FTPS (with PGP), or a VAN mailbox.
- 997 functional acknowledgments, sent and reconciled.
- Validation of every document against the partner’s own guide before it leaves.
- The 855, 856 (with SSCC labels) and 810 built from the partner’s 850, ready to send.
- A record of every push to Odoo: what was sent, what Odoo answered, and a retry button.
Weredi Plus
The Odoo integration is in Weredi Plus
One flat price: unlimited trading partners and transactions, all six ERP connectors, mappings, lookup tables, automations and the REST API. Try it free for 14 days with your own partners.
Odoo EDI questions
Does Odoo support X12 EDI?
Odoo’s built-in EDI covers electronic invoicing formats such as UBL and Peppol, not the X12 documents North American retailers send (850, 810, 856). Weredi translates X12 and writes it into Odoo through its external API.
How can I import my company’s EDI into Odoo?
Connect Odoo in Weredi with your URL, database and an API key, match each retailer to its customer, and turn on the flows. Each 850 then becomes a confirmed sales order when it arrives, with products found by internal reference or barcode.
Which Odoo versions and plans work?
Odoo 17, 18, 19 and 20, self-hosted, on Odoo.sh or on Odoo Online. Odoo Online opens its external API on the Custom plan only, not on Standard or One App Free.
Which EDI documents does it cover?
Out of the box: purchase orders (850) in, invoices (810) in and out, and payments (820) in and out. Any other EDI document, such as an 856 into a delivery, can be mapped field by field and sent to Odoo through mapped webhooks and the Weredi REST API.
How much does the Odoo integration cost?
It is part of Weredi Plus, $999 CAD a month at a flat price with unlimited trading partners and transactions. The 14-day free trial includes it, and we run your first documents with you.
Other ERP integrations
The same EDI side, connected to a different system.
QuickBooks Online
Purchase orders become invoices, supplier EDI becomes bills, remittances become payments.
QuickBooks Online integration →
Oracle NetSuite
Invoices, vendor bills and payments through SuiteTalk REST, with no duplicates on re-send.
Oracle NetSuite integration →SAP S/4HANANew
Sales orders, supplier invoices, billing documents and payment advices through SAP’s APIs.
SAP S/4HANA integration →Xero
Sales invoices, bills and payments from EDI, in the Xero organisation you choose.
Xero integration →Sage Accounting
Sales and purchase invoices, receipts and payments from EDI, with Canadian tax regions.
Sage Accounting integration →Running something else?
Every other system connects through the Weredi REST API and webhooks. If you would rather not build it, our team will.
See all integrations →
Speak to an EDI expert today
Connect with one of our experienced EDI experts to learn how Weredi’s Modern EDI Platform can handle your company’s EDI needs.