50% off your first 3 months*
EDI X12Odoo

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.

New connector · first documents run with our teamAPI key · Odoo 17 to 20Included in Weredi Plus
Start 14-day free trial

The trial includes the Odoo connector. No credit card.

Example · 850 purchase order → Odoo sales order (sale.order)Mapping
ISA*00*…*ZZ*RETAILER*ZZ*SUPPLIER*…~
ST*850*0001~
BEG*00*SA*4500123456**20261104~
PO1*1*24*CA*18.50**IN*CT-88214*UP*062345000127~
PID*F****Cedar planter, large~
ISA-06partner_idmatched once
BEG-03client_order_ref4500123456
BEG-05date_order2026-11-04
PO1-07order_line.product_codeCT-88214
PO1-02order_line.product_uom_qty24
The customer comes from the partner, matched once. Products are found by internal reference or barcode; every other field is editable in the mapping editor.
Any document
5 ready flows, the rest by mapping
0 CSV files
Pushed through Odoo’s external API
Unlimited
Trading partners and transactions
FR · EN
Built and supported in Montréal

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 documentFromBecomes in OdooWhat happens
850 Purchase OrderYour trading partnerSales 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 InvoiceYour trading partnerVendor billA supplier’s EDI invoice becomes a posted vendor bill, with their invoice number as the bill reference.
820 Payment Order/Remittance AdviceYour trading partnerCustomer paymentsA customer’s remittance registers one payment per invoice it lists, through Odoo’s Register payment, so each invoice is reconciled.
810 InvoiceYouCustomer invoiceThe EDI invoice you send becomes a posted customer invoice, linked to the sales order so the order shows as invoiced.
820 Payment Order/Remittance AdviceYouVendor paymentsA payment you send by EDI registers vendor payments against the bills it pays.
850 → Sales order (confirmed) · from your partner
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 → Vendor bill · from your partner
A supplier’s EDI invoice becomes a posted vendor bill, with their invoice number as the bill reference.
820 → Customer payments · from your partner
A customer’s remittance registers one payment per invoice it lists, through Odoo’s Register payment, so each invoice is reconciled.
810 → Customer invoice · from you
The EDI invoice you send becomes a posted customer invoice, linked to the sales order so the order shows as invoiced.
820 → Vendor payments · from you
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.

855856860846852812824214EDIFACTand the rest

Prefer not to build it? Our team sets up the mapping and the webhook for you.

  1. Pick the documents

    An automation listens for any transaction set, from any partner or only the ones you choose, inbound or outbound.

  2. 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_ref
  3. Deliver 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

  1. Connect Odoo

    Enter your Odoo URL, database, login and an API key. Weredi detects your version and the right protocol by itself.

  2. 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.

  3. 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.

  4. 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.

$999 CAD / month
No credit card · Cancel anytime

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.

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.

Start free
Weredi
+1 877-WEREDI-1 (+1 877-937-3341)
Weredi is a high-performing global supply chain network that provides fully integrated, end-to-end supply chain visibility and management.
Weredi™ is a trademark of Weredi, Inc. All other names, logos, and brands appearing on this site are the property of their respective owners (including “X12,” a trademark of X12 Incorporated). Neither Weredi, Inc. nor its products or services are endorsed by, sponsored by, or affiliated with these third parties. Any use of third-party names, logos, or brands is solely for identification and does not imply endorsement, sponsorship, or affiliation.
*New Weredi and Weredi Plus accounts on monthly billing, applied automatically at checkout. Annual billing includes 2 months free instead. Enterprise plans are quoted separately.
© Weredi, Inc. 2023, All rights reserved | Sitemap | Legal & Privacy | System status | Log in