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. Accounting Suite Base v 19.0
  4. Sales Conditions FAQ

Accounting Suite Base

by ERP Heritage https://www.erpheritage.com.au/
Odoo
v 19.0 Third Party 12
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)
Lines of code 2866
Technical Name eh_account_base
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)
Lines of code 2866
Technical Name eh_account_base
LicenseLGPL-3
Websitehttps://www.erpheritage.com.au/
ERP Heritage ERP Heritage · Odoo Accounting Suite
Engine

Accounting Suite Base

Reproducible report audit log. Move-version cache. Parameterised SQL builder. The shared engine that powers every other module in the ERP Heritage accounting suite.

Odoo 19 Community v19.0.1.0.3 LGPL-3 Accounting/Accounting Original work
ERP Heritage reporting dashboard
541+ tests
Zero vendor lock-in
LGPL-3
Multi-company native
BUILT FOR
Every ERP Heritage suite installation
SAVES YOU
Re-implementing a reproducible report engine from scratch
REPLACES
Fragmented logging + audit trails across one-off modules

Day in the life

An auditor asks: who ran the P&L on May 4 with which filters?

The reproducible report audit log has the answer in one query. Every render is recorded as an eh.account.report.execution row: who, when, parameters used, runtime, and a SHA-256 hash of the rendered output. The auditor re-runs from the stored options snapshot and gets a byte-identical result. The per-company eh_move_version counter bumps on every account.move state change, so cached report results are served on cache hit and recomputed the moment the underlying ledger changes. No stale numbers; no missing audit trail.

Overview

What this module does, in one read.

eh_account_base is the engine. It auto-installs as a dependency of any ERP Heritage accounting module so you do not need to install it manually.

It ships three core capabilities the rest of the suite relies on: a structured report execution audit log; a precise cache invalidation pipeline based on a per-company move version counter; and a multi-company aware SQL builder used on the hot path of every report.

account
ERP Heritage
Module
eh_account_base
VERSION
19.0.1.0.3
LICENCE
LGPL-3
CATEGORY
Accounting/Accounting
SUITE
24 modules

Capabilities

Eight things this module gives you, with no padding.

CAPABILITY 01

Reproducible audit log

Every report render writes an eh.account.report.execution row with options snapshot, user, runtime, and a SHA-256 of the result. Re-run the exact report from any audit row on demand.

CAPABILITY 02

Move-version cache

A per-company move version counter is incremented atomically on every account.move post or unlink. Cache lookups carry the counter so a hit means no posting since the cached payload was generated.

CAPABILITY 03

Parameterised SQL builder

A fluent query composer that emits multi-company scoped SQL, accepts analytic plan and account filters, and never interpolates user input into raw SQL.

CAPABILITY 04

Privilege groups

Three groups (User, Manager, Auditor) so a deployment can grant suite access to one cohort without granting standard accounting access.

CAPABILITY 05

Originator constraint check

res.company gains an eh_move_version field maintained by SQL UPDATE; nothing in the suite reads or writes it directly except the cache infrastructure.

CAPABILITY 06

Currency-aware payloads

Report payloads carry a currency block per scope so monetary values render with the correct symbol and decimal places in PDF, XLSX, and the OWL viewer.

CAPABILITY 07

Auto-install on dependency

Listed in the manifest of every other EH module so it appears once when the user installs any of them, never twice.

CAPABILITY 08

No vendor lock-in

No activation key, no online phone-home, no opaque server. The whole codebase is on disk and inspectable.

Compared

How this module stacks up.

FEATURE
MANUAL
PAID ADD-ON
THIS MODULE
Reproducible reporting
Hope the data has not changed
Sometimes
Audit log + SHA-256 hash + options snapshot
Cache invalidation
Time-based TTL
Sometimes
Per-company move-version counter
SQL builder
Inline strings
ORM-only
Parameterised; testable without Odoo
Privilege model
Direct upstream groups
Mixed
Suite-namespaced groups with implication chain
256
Bits of audit hash
SHA-256 of every rendered report output.
26
Modules served
Auto-installs as a dependency of every suite module.
1
Source of truth
Single audit log for every report run across the suite.

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
  • Reproducible report audit log per render
  • Cache invalidation by atomic move-version counter
  • Privilege-group ACL separation from upstream
Where it matches
  • Multi-company scoping on every report query
  • Currency rendering on every monetary cell
  • Standard Odoo ORM and chatter idioms
Honest about
  • Does not ship reports itself (those land in the dynamic-reports modules)
  • No UI of its own beyond the audit log list
  • Engine module: depend on it from your own EH-style addons

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