Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Property Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Accounting
  3. Inter-Company Rules v 19.0
  4. Sales Conditions FAQ

Inter-Company Rules

by ERP Heritage https://www.erpheritage.com.au/
Odoo
v 19.0 Third Party 22
Download for v 19.0 Deploy on Odoo.sh
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Invoicing (account)
• Discuss (mail)
Community Apps Dependencies Show
Accounting Suite Base
Lines of code 3324
Technical Name eh_account_intercompany
LicenseLGPL-3
Websitehttps://www.erpheritage.com.au/
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Invoicing (account)
• Discuss (mail)
Community Apps Dependencies Show
Accounting Suite Base
Lines of code 3324
Technical Name eh_account_intercompany
LicenseLGPL-3
Websitehttps://www.erpheritage.com.au/
ERP Heritage ERP Heritage · Odoo Accounting Suite
Multi Entity

Inter-Company Rules

Auto-mirror sale on company A to purchase on company B with full chatter trail.

Odoo 19 Community v19.0.1.0.1 LGPL-3 Accounting/Accounting Original work
ERP Heritage reporting dashboard
Auto-mirror
sudo + with_company
Chatter trail both sides
No silent fallback
BUILT FOR
Group accounting teams managing 2+ legal entities
SAVES YOU
Per-transaction mirror-entry data entry across companies
REPLACES
Manual mirror entries, one-off scripts, paid IC add-ons

Day in the life

AU sub invoices NZ sub. Mirror entries auto-generated.

The AU Pty Ltd posts a customer invoice for AUD 50k to NZ Holdings Ltd. The IC rule fires: a corresponding vendor bill is created in the NZ company in the matching currency at the day's rate. Both sides are linked to the source invoice via eh_ic_mirror. Period-end, the consolidation entity (eh_account_consolidation) pulls both sides; the IC elimination journal cancels them out so the consolidated TB shows neither leg. Multi-company aware throughout; the rule supports per-company-pair routing for groups with more than two entities.

Overview

What this module does, in one read.

Inter-company rules for Odoo 19 Community. When a sale is posted on company A and the customer is a sister company, the mirror purchase is created on company B atomically; chatter trail captures the link on both sides.

No silent fallback: if the mirror cannot be created the original post fails with the explicit reason rather than silently leaving the sister company without the matching purchase.

eh_account_baseaccount
ERP Heritage
Module
eh_account_intercompany
VERSION
19.0.1.0.1
LICENCE
LGPL-3
CATEGORY
Accounting/Accounting
SUITE
24 modules

Capabilities

Eight things this module gives you, with no padding.

CAPABILITY 01

Auto-mirror

Sale on A becomes purchase on B (and vice versa for purchase to sale) atomically on post.

CAPABILITY 02

sudo + with_company

The mirror is created under the destination company context with sudo so the operator does not need cross-company permissions.

CAPABILITY 03

Chatter trail

Both sides record the linkage in chatter; an auditor can trace the matching pair from either side.

CAPABILITY 04

No silent fallback

Missing journals, missing products, missing partners surface explicit messages; the original post fails clean.

CAPABILITY 05

Per-company configuration

Rules are per source company; a deployment encodes A and B separately so the rule is explicit.

CAPABILITY 06

Plays with reconciliation

The mirror invoices reconcile through the standard accounts-receivable / accounts-payable flow.

CAPABILITY 07

Multi-company aware

Rules and mirrors all sit under company scope.

CAPABILITY 08

Tested invariants

Regression tests cover the success path, the missing-journal path, and the partner-on-both-sides edge case.

Compared

How this module stacks up.

FEATURE
MANUAL
PAID ADD-ON
THIS MODULE
Mirror entry creation
Hand-keyed twice
Yes
Rule-driven auto-mirror with linkage
Multi-currency
Manual rate maths
Yes
Day-rate conversion at post
Linkage
Free-text reference
Yes
eh_ic_mirror m2m; both sides reachable from either
Consolidation hand-off
Spreadsheet elimination
Yes
Plays with eh_account_consolidation elimination journals
Per-pair routing
No
Sometimes
Configurable rules per (sender, receiver, journal)
0
Double-entry effort
One side automatically creates the other.
∞
Company pairs
Rule scales to N-company groups.
1
Source of truth
eh_ic_mirror linkage; both sides reachable from the JE chatter.

Workflow

Configure once. Operate. Audit. Report.

Four steps, the same across every ERP Heritage module so a finance team learns the suite once.

1

Configure

Settings > Accounting > ERP Heritage. Multi-company, multi-currency, journals, accounts. One-time setup, persisted on the company record.

2

Operate

The user works inside the standard Odoo accounting flow. The module surfaces only the controls relevant to its scope.

3

Audit

Every action that changes accounting state writes an audit row. The audit log is append-only at the framework level.

4

Report

Reports flow through the same reproducible audit pipeline, with cache invalidation by per-company move version.

Why Heritage

Where this module leads, where it matches, what we are honest about.

Where it leads
  • Atomic mirror with sudo + with_company on post
  • Explicit failure when mirror config is incomplete
  • Audit linkage on both sides
Where it matches
  • Sale-to-purchase auto mirror
  • Per-source-company rules
  • Standard reconciliation handover
Honest about
  • No automatic transfer pricing layer
  • No multi-currency conversion built into the mirror
  • One mirror per source move

The full ERP Heritage Accounting Suite (26 modules)

Accounting Suite Base Engine: audit log, cache, SQL builder, privilege groups
Dynamic Account Reports P&L, BS, TB, GL, Aged R/P, Cash Flow, Partner Ledger
Dynamic Reports Pro Builder, scheduling, forecasting, saved views
Bank Reconciliation Pro Reconciliation widget plus user-defined rules engine
Collections Workbench Workbench plus follow-up letter engine, broken-promise cron
Fixed Assets and Leases Assets, IFRS 16 leases, multi-book, AU tax depreciation
Post Dated Cheques Cheque registers, bounce / replace flow
FX Period End Revaluation IAS 21 revaluation, IFRS 9 hedge accounting (CFH/FVH/NIH)
Recurring Invoices Pro Cadence-driven recurring invoices
Period Close Workflow Period close checklist and sign-off
Year-End Closing Year-end closing wizard, reversal and lock
Multi Version Budget Pro Multi-version budgets, encumbrance, PO overrun block
Vendor Bill Automation Bill intake, three-way match, LLM extractor stubs
Bank Statement Import CSV / OFX / CAMT.053 / MT940 + Plaid / Basiq stubs
Batch Payment Batch AR / AP runs, per-partner aggregation
Inter-Company Rules Auto-mirror invoices and bills between companies
SEPA Credit Transfer PAIN.001.001.03 + .09 SEPA Credit Transfer generator
SEPA Direct Debit PAIN.008 plus mandate lifecycle
Peppol eInvoicing UBL 2.1 BIS 3.0 + ANZ/MY/DE/FR country profiles
AU BAS Reporting Australian Business Activity Statement, ABN validator
Approval Workflow Multi-step approval, atomic step pointer
Customer Credit Limit Hard credit limit gate, manager override audit
Customer Portal Extra Statement download, AR balance card on portal home
Financial Dashboard Cash, AR, AP, P&L plus optional KPI tiles
Group Consolidation Multi-entity roll-up, IC elimination, IAS 21 CTA, NCI
AI Agent Layer JE anomaly, variance commentary, collections next-action

Engineering

Ten engineering rules we hold ourselves to.

No silent fallbacks.Missing config, missing accounts, malformed input each surface explicit messages naming the bad field.

Tests cover the bug, not just the feature.Every defect found in review has a regression test attached to the fix, kept in the repository.

Plain Python where possible.Algorithms that do not need the ORM live under tools/ with unit tests that run without Odoo.

Atomic counters via SQL.Concurrent counters use UPDATE col = col + 1, never read-modify-write loops.

Per-record savepoints in cron loops.A single bad record never freezes the batch; failing rows are recorded, the rest of the batch keeps moving.

Schema-first XML output.PAIN.001 and PAIN.008 generators target the published namespace; tests parse output back and assert structure.

ValidationError versus UserError.Constraint failures raise ValidationError; action failures raise UserError with a remedy.

Privilege groups, not direct upstream references.ACL CSVs reference suite-specific groups; the post-migration script promotes upstream-only users.

Append-only audit logs.Approval log, override log, reconciliation audit, mandate amendment log all override write and unlink at the model level.

Originality from public spec.Every standard implementation is built from the published technical specification, not from another vendor codebase.

ERP Heritage
The standard we hold: every shipped capability is original code from a public technical specification, with regression tests, with a documented engineering rule for the invariant the code preserves, and with no vendor names in code or user-facing docs. From the suite contributing process

Frequently asked questions

Honest answers to the questions a buyer asks.

Does this run on Odoo 19 Community?

Yes. Every module is built and tested against Odoo 19 Community. No Enterprise dependency anywhere in the stack.

What is the licence?

LGPL-3, the same licence as Odoo Community. You can read the source, modify it, and ship it inside your own Odoo deployment without restriction.

Will this conflict with another accounting addon I already use?

Probably not. The modules add new models in their own namespace (eh.*) and inherit standard models without overriding behaviour silently. If your existing addon also extends the same standard model, ordinary Odoo inheritance rules apply.

Are the engineering principles documented?

Yes. The contributing process and ten engineering rules are kept in the repository so a reviewer can verify the code holds itself to them.

Is there a test suite?

Yes. Every module ships its own integration tests; the engine module ships a full unit test suite for the SQL builder, cache, and report orchestrator.

How do I get support?

Reach the team via info@erpheritage.com.au. Training, deployment, and custom extension work is handled by ERP Heritage directly.

ERP Heritage

Built by ERP Heritage

ERP Heritage builds enterprise-grade accounting software for the Odoo community. Our suite covers the operational accounting cycle end to end: invoice intake, posting, reconciliation, reporting, period close, payment runs, customer portal, multi-step approvals, and year-end. Every module ships with explicit licensing posture, documented engineering principles, comprehensive tests, and a clear differentiation story.

Global Odoo CommunityOdoo PartnerLGPL-3 to the community24 cohesive modulesOriginal work

Ready to deploy?

Install this module, run the test suite, and inspect the structured audit log. For training, deployment, or a custom extension, reach our team.

Install from the Odoo Apps Store info@erpheritage.com.au
Get in touch

Talk to ERP Heritage about Odoo implementation, customisation, training, or support.

End-to-end engagement across the Odoo platform: implementation, customisation, reimplementation, functional and technical training, ongoing support, integration planning, and scoped extensions. One team, one response within a business day.

Email
info@erpheritage.com.au
Phone
+61 469 095 910
Web
www.erpheritage.com.au
Implementation
Functional discovery, fit-gap, scoping, sample tenant, go-live plan.
Customisation
Custom modules, reports, integrations, localisations, reimplementation.
Training & support
Functional and technical training, hand-over docs, ongoing support.
ERP Heritage · erpheritage.com.au
Engineered for the global Odoo Community

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author, please use the developer contact information. They can usually be found in the description.
Please choose a rating from 1 to 5 for this module.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with