Run every company in one place.
Keep each entity’s books separate and reportable on their own, drill into any one of them, and consolidate across currencies — with intercompany handled for you.
openbooks is open-source accounting and business management software for growing companies. Invoicing, bills, payments, banking, projects and job costing, inventory, tax and month-end close — in one system, with real-time visibility from the group view down to a single transaction.
Harbour & Co. · FY2026 · period 7 open
Counted from the openbooks source — every figure here can be checked, not just claimed.
Built for controllers, bookkeepers, office managers and the owners who sign the cheques — with the depth a growing company needs and none of the modules you have to buy twice.
Keep each entity’s books separate and reportable on their own, drill into any one of them, and consolidate across currencies — with intercompany handled for you.
Close A/R, A/P and the general ledger module by module, with the checklist, the ordering rules and the sign-off built in. Reopen when you need to, on the record.
Costs, committed costs and billings land on the job as they happen — so job cost and the P&L are the same figures, and nobody finds out in March how February went.
Bills, purchase orders and expense claims route by amount to the right approver, then pay in a run with an EFT file — no double entry, no chasing signatures by email.
Trial balance, P&L and balance sheet with prior-year comparatives, plus your own reports and dashboards. Every figure drills back to the transaction behind it.
Approval limits, segregation of duties, dated rates so filed periods never restate, and a permanent record of every change — what it said before, and what it did to the ledger.
Trial balance, profit and loss, balance sheet, A/R and A/P aging — by month, quarter or fiscal year, with last year beside it. Click a figure to open the account, and any line to open the invoice, bill or entry behind it.
Import your statement from a bank feed or a file. openbooks removes duplicates, matches what it can automatically and applies your rules to the rest. Clear what is left beside your books and sign off at nil difference.
Track the fields your business cares about, add the record types your industry needs, lay out the forms your team fills in, and let repetitive steps run themselves. No change request, no consultant, no waiting for the next release.
1// Post a project charge when a field ticket is approved.2ob.on('fieldTicket.approve', async (ticket) => {3 const rate = await ob.rates.forCrew(ticket.crewId)4 await ob.journal.write({5 memo: `LEM ${ticket.number}`,6 lines: ob.money.split(ticket.hours * rate),7 })8})
Every posted transaction keeps a permanent record of what changed, who changed it, when and why — including what the correction did to each account. When your auditor, your bank or your board asks how a number was arrived at, you open the record and show them.
Nothing is edited away. A deletion leaves a tombstone; a closed month takes a reversal.
The same ledger underneath, with the specialist work each industry actually bills on — included, not sold as a separate product.
Bill progress claims, hold back retainage and see the margin on every job while it is still running.
Turn time and expenses into invoices, and know which clients and engagements are actually profitable.
Keep stock values and the ledger in step, from purchase order through to the cost of what you sold.
Run each company on its own books, then consolidate the group without a month of spreadsheets.
Most of them come down to the same thing: the business outgrew its bookkeeping, and the gaps got filled with spreadsheets.
Double entry — the bad kind. The same invoice keyed into an accounting package, a job-costing spreadsheet and a billing tool. Enter it once, and every one of them is current.
A close that eats the month. Module-by-module close with ordering rules and sign-off, so the first week of the month stops disappearing into reconciliations.
Margins you find out about too late. Costs land on the job as they are committed, not when the bill arrives — so a job going wrong shows up while you can still do something about it.
Reports nobody trusts. Every figure drills back to the transaction and the document behind it. Arguments end at the source record instead of at two conflicting exports.
Software that owns your data. A standard database you can query, back up and export at any time — and the option to run the whole system on your own servers.
Licence fees that scale with your team. No per-seat pricing and no module upsell. Give the warehouse, the site supervisor and your accountant an account each without doing the maths first.
Eight areas of the business, one set of books, one set of permissions. Every list can be searched, filtered and exported, and the menu is yours to arrange the way your team works.
Quote to cash, with open items that clear atomically.
Everything that leaves the building, approved before it does.
From statement drop to zero-difference sign-off.
Know the margin while the job is still running.
Quantities and values that agree with the ledger.
The month-end you can finish before the month is out.
Every figure drills straight back to the entry behind it.
The parts that make it safe to give people access.
Bring your chart of accounts, customers, vendors, open invoices and posting history across as real transactions. Then keep your current system mirrored on a schedule and compare the two after every run, until the trial balances agree to the cent. Run both in parallel for as long as you want to.
Point openbooks at your current system using your own credentials. Nothing is ever written back to it — the connection only reads.
Your chart of accounts, customers, vendors, open invoices and bills and your posting history come across as real transactions — properly posted, not dumped into a table as opening balances.
Keep the mirror running hourly, daily or weekly. After every run you get the comparison: trial balance, open A/R and A/P, and period status, account by account.
Run both side by side for a month, a quarter or a year. The day you stop is your call — and the record that the two agreed is kept.
If someone edits or deletes a transaction in the old system, the next run catches it. You decide whether openbooks keeps the original with a note of what happened, or reverses it properly — nothing is rewritten behind your back.
Give your team the access they need to work quickly, and keep the controls your accountant, your auditor and your bank expect to see.
Enforced, not configured. The rules that keep the ledger straight are enforced in the database itself, so they apply to every screen, import, automation and integration — with no setting to switch them off.
Closed means closed. Once a period is closed, corrections go through a reversal or an adjusting entry. What you reported in March still reads the same in November.
Balances that agree. Amounts are held and calculated exactly, so sub-ledgers, the general ledger and your statements never disagree by a few cents somebody has to chase.
Access you can defend. Roles, permissions and per-person limits, enforced on every action rather than hidden from the menu — and evidenced in the audit log.
$ psql openbooksopenbooks=> begin;openbooks=> insert into journal_lines (entry_id, account_id, amount)openbooks-> values ('8f3c1a…', '4000', -18419.0000);INSERT 0 1openbooks=> commit;ERROR: journal entry 8f3c1a… does not balance (sum = 1.0000)CONTEXT: PL/pgSQL function jl_check_balanced() · constraint triggerROLLBACK
Refused by the database, not by a screen — which is why the same rule holds for the application, an import, a script and anything you integrate later.
Add an entity, a currency, a tax jurisdiction or twenty more users without moving to a different edition, buying another module or renegotiating anything.
Not just the menus — the buttons, the messages, the prompts and the reports. Set for the company, and overridable by each person.
Each entity keeps its own books, balanced and reportable on its own — then consolidates for the group, with intercompany handled properly.
Rates by date, the original and your reporting amount on every line, and a period-end revaluation that posts where it should.
Rates that change on a date without rewriting last year, the jurisdictions you’re registered in, and returns that come out looking like the form.
Decide exactly who can see and do what, down to the individual — and know it’s enforced everywhere, not just hidden from the menu.
Add the site supervisor, the warehouse and your accountant without working out what it costs first. The software is free; the only thing you can pay for is having someone else run it.
Run it on your own server or cloud account.
The same system, without running servers.
openbooks is licensed under the GNU Affero General Public License v3.0. Use it, change it, run it yourself — the only condition is that improvements offered to others come back to everyone. No seat count, no module upsell, no renewal you have to negotiate.
How an invoice posts, how tax is calculated, how a period closes — none of it is a black box. Your auditor, your accountant or your IT partner can check exactly how a number is produced.
Your own server, your own cloud account, your own country. Nothing phones home. If your industry, your bank or your insurer has rules about where the data sits, you can meet them.
The licence is deliberate: anyone who offers a modified openbooks as a service has to share their changes back. The project can’t be quietly closed, sold off or repriced out from under you.
Don't want to run servers at all? openbooks is built to be hosted for you as well — the same system, the same books, and the same right to take your data and go.
Accounting and business management software for growing companies — invoicing, bills, payments, banking, projects and job costing, inventory, sales tax and month-end close, on one double-entry ledger. It is open source, so you can read it, change it and run it yourself.
Yes. openbooks is licensed under the AGPL v3. There is no licence fee, no per-seat cost and no module you have to buy separately. If you would rather not run servers, we can host it for you — that part is a service, and it is quoted.
Yes. Give them a login with the access you want them to have, or a read-only account for the numbers alone. Everything exports to PDF, Excel and CSV, and the whole ledger can be handed over as a file if your practice prefers to work outside the system.
A single company with a fresh chart of accounts can be posting the same week. Bringing history across from an existing system takes longer, and is worth doing properly — see moving your books above.
You take it. It sits in a standard PostgreSQL database you already control, and every report exports. There is no exit fee and nothing to negotiate, which is rather the point of the licence.
It is built for companies that have outgrown simple bookkeeping — several people touching the books, more than one entity or currency, jobs to cost, or an auditor to satisfy. If you invoice a handful of customers a month, it is more system than you need.
Get the complete suite, free, and run it on your own server — or talk to us about hosting it for you. Bring your books across when you are ready, and run both systems side by side until the numbers agree.