Home/Case Studies/Portfolio Ledger Across Three ERPs
Back to case studies
ERP / Accounting Case Study

One Accounting Core, Three ERPs: Odoo, Zoho Books and SAP

The accounting lives in one package with no framework in it. Odoo, Zoho Books and SAP Business One only translate its journal entries, so the same sale produces the same figures in all three.

PythonDecimalOdoo 18Zoho BooksSAP Business One
Portfolio Ledger Across Three ERPs

The Separation

Events go in: buys, sells, transfers and income. Positions and balanced double-entry journal entries come out. Each ERP gets a small adapter that writes those entries in its own format. The arithmetic is written and tested once.

Exact Amounts

Quantities and prices are Decimal values parsed from text, with a precision set per instrument: two places for a share, eight for bitcoin. A value with too many places is refused, not rounded. Positions are replayed from the events every time, by moving average or FIFO, so a corrected import corrects the history.

Cost That Is Honest

Units that arrive by transfer with no price count in the quantity but stay out of every cost figure, and each position shows how much of it has a cost on record. A sale splits into cash, the fee, the book cost of the units sold and the gain or loss, and an entry that does not balance is never sent.

How It Was Tested

69 tests cover the core, and 12 more run inside a real Odoo database. The Zoho Books and SAP adapters are tested against fakes of their APIs, not a live tenant. Importing the same statement twice adds nothing the second time.

A Note on the Images

The screens were redrawn from the project source code. Layouts, colours, icons and labels come from the code; names, addresses and amounts are sample data.

Need one set of books across several systems?

Accounting logic that lives in one place and posts to Odoo, Zoho Books, SAP or whatever comes next. Baydot builds the core and the adapters.

Book a Free Call