Back to Blog

May 4, 2026

Odoo 19 Automatically Generates Counter-Documents When Your Companies Trade With Each Other

Odoo 19 overhauls inter-company transactions with automatic purchase order generation from sales orders, synchronized stock moves between entities, and configurable validation rules that eliminate duplicate data entry across multi-company databases.

Running multiple legal entities inside one ERP database creates an accounting headache that every multi-company controller knows intimately. Company A sells to Company B. Someone creates a sales order in A. Then someone logs into B and manually creates the matching purchase order. Then both sides generate invoices. Then both sides reconcile. Every transaction gets entered twice, checked twice, and occasionally gets out of sync. Odoo 19 eliminates the second entry entirely.

Odoo 19 inter-company transaction configuration showing automatic document synchronization between companies

One Order Creates Two Documents

The mechanics are straightforward. When you confirm a sales order from Company A to Company B, Odoo automatically generates a matching purchase order inside Company B. The product mappings carry over. The quantities match. The reference numbers link back. No human touches the second document unless they want to review it before confirmation.

This works in both directions. A purchase order created in Company B from Company A will generate a sales order in Company A. The system understands the relationship and creates the correct counterpart regardless of which side initiates the transaction.

Configurable Validation Levels

Not every organization wants fully automatic document confirmation. Some need a human checkpoint between creation and execution. Odoo 19 offers two modes: Create (generates the counterpart as a draft for manual review) and Create and Validate(generates and confirms in one step). The choice depends on your internal controls. Companies with strict segregation of duties use draft mode. Companies optimizing for speed use auto-validation.

Each inter-company relationship can be configured independently. Company A selling to Company B might auto-validate because it’s a routine supply chain flow. Company A selling to Company C might require manual approval because those transactions are infrequent and need controller review.

Stock Moves Follow the Documents

The document synchronization now extends to logistics. When Company A ships goods to Company B, the stock moves synchronize between both entities. Company A sees an outgoing shipment. Company B sees an incoming receipt. The inventory quantities update on both sides simultaneously, eliminating the lag between physical movement and system state that causes reconciliation nightmares at month-end.

This matters most for companies that share warehouse space or use internal logistics between entities. Previously, the warehouse team would ship the goods, update Company A’s system, then send a notification to Company B’s admin to process the receipt. That delay — sometimes hours, sometimes days — created inventory discrepancies that cascaded into incorrect available-to-promise calculations.

Invoice Synchronization

The same logic applies to invoicing. When Company A posts a customer invoice to Company B, a vendor bill appears in Company B’s accounting. The amounts match. The payment terms carry over. The journal entries on both sides create the exact offsetting entries that auditors expect to see in consolidated reporting.

For groups that produce consolidated financial statements, this eliminates the intercompany elimination entries that accountants manually construct each period. The transactions are already matched at creation time, so reconciliation at period-end becomes a verification step rather than a construction exercise.

The Warehouse Selection Detail

A subtle but important configuration option: when setting up inter-company purchase orders, you specify which warehouse should receive the goods in the buying company. Odoo uses this warehouse assignment to route the auto-generated purchase order to the correct receiving location. For companies with multiple warehouses per entity, this prevents goods from being directed to a central receiving dock when they should go directly to a regional facility.

Who Needs This

Any organization running more than one legal entity in a single Odoo database. Holding companies that centralize procurement. Manufacturing groups where one entity produces and another distributes. Service organizations that bill through regional entities but deliver through a central operations company. The pattern is the same: internal trade between related companies that previously required double data entry.

The time savings compound. A company processing fifty intercompany transactions per week saves fifty manual document creations, fifty cross-checks, and eliminates the error rate that comes with humans retyping the same information into a second form. That’s not a productivity improvement — it’s an entire workflow that stops existing.

Ready to experience Odoo AI?

Join hundreds of teams using DearERP to customize Odoo in minutes, not weeks. Plans start at $29/month.