Skip to Content
Q&A

Automating Intercompany Billing

Sale from Company A to Company B → automatically recorded as a purchase on Company B's side. One click, no duplicate work.

Back to all Q&A
April 2, 2026 by
Automating Intercompany Billing
DAADit Group, Nick

Entity A supplies hours to entity B. Sounds straightforward, until the bookkeeping starts: a customer invoice at A, the same invoice entered manually as a vendor bill at B, and at the end of the quarter two amounts that don't quite match. Anyone running several entities in a single Odoo database can automate this double bookkeeping entirely.

How to switch on Inter-Company Transactions

Go to Settings → General Settings, select the right company at the top right and find the Inter-Company Transactions section. This setting is per company, so repeat this for every entity that takes part. Then choose the rule 'Automatically create invoices/orders in counter-company'. You decide how far the automation goes:

  • Synchronise invoices only: a customer invoice from A becomes a draft vendor bill at B.
  • Synchronise orders too: when A confirms a sales order to B, Odoo immediately creates a purchase order on B's side, plus the corresponding invoice and bill.

Prices come from a shared pricelist, so both sides are guaranteed to book the same amount. No retyping, no €0.01 differences that nobody can explain.

Journals and general ledger accounts: sort them out in advance

This is where it goes wrong in practice. For each type of entry, define which journal and which general ledger accounts are used on the receiving side. If you don't, intercompany entries land on the default account — and your accountant gets a headache at consolidation. If necessary, create a separate 'Intercompany' journal per entity; then you can easily filter those flows out when eliminating.

Praktijkvoorbeeld

A holding with an operating company and a property entity used to book rent and recharged hours back and forth manually every month: around two hours of work, every month. After activating intercompany synchronisation, the operating company confirms one sales order and both sides are immediately correct. The month-end close became a day shorter.

Finally

Practical tip: test the flow with a single order on a staging environment first and check that the bill lands on the right account at the counterparty before you go live. Want to talk through your intercompany setup? Contact DAADit Group — we have done this more often than we care to admit.

Company A supplies hours to company B. Sounds simple, until the bookkeeping starts: a sales invoice at A, the same invoice manually re-entered as a vendor bill at B, and at quarter-end two amounts that almost match. If you run multiple legal entities in one Odoo database, you can automate this duplicate work entirely.

How to enable Inter-Company Transactions

Go to Settings → General Settings, pick the right company in the top-right selector and find the Inter-Company Transactions section. The setting is per company, so repeat it for every entity involved. Then choose the rule 'Automatically create invoices/orders in counter-company'. You decide how far the automation goes:

  • Synchronise invoices only: a sales invoice from A becomes a draft vendor bill at B.
  • Synchronise orders too: when A confirms a sales order to B, Odoo immediately creates a purchase order on B's side, plus the matching invoice and bill.

Prices come from a shared price list, so both sides are guaranteed to book the same amount. No retyping, no unexplainable one-cent differences.

Journals and ledger accounts: sort them out first

This is where things go wrong in practice. Define per booking type which journal and which general ledger accounts are used on the receiving side. Skip this and intercompany entries land on the default account — and your accountant gets a headache during consolidation. Consider a dedicated 'Intercompany' journal per entity; it makes filtering these flows during elimination trivial.

A real-world example

A holding with an operating company and a real-estate entity used to book rent and recharged hours back and forth by hand: about two hours of work, every month. After enabling intercompany synchronisation, the operating company confirms one sales order and both sides are correct instantly. Month-end closing got a full day shorter.

Wrapping up

Practical tip: test the flow with a single order on a staging environment first, and check that the counter-company's bill lands on the correct account before going live. Want a second pair of eyes on your intercompany setup? Contact DAADit Group — we have done this more often than we care to admit.

Question not answered?

Our Odoo consultants are happy to think along with you. Book a no-obligation intro call.

Book an appointment
Multi-company consolidation in Odoo
3 corporations, 1 Odoo: consolidated reporting without Excel spreadsheets.