openbooks
No licence fees. No per-seat pricing. No lock-in.

Know your numbers.
Run the whole business.

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.

  • Free and open source
  • Multi-entity & multi-currency
  • Job costing & progress billing
  • Audit-ready by default
  • Self-hosted or hosted for you
app.openbooks.dev/dashboard

Dashboard

Harbour & Co. · FY2026 · period 7 open

New
Cash
$1,284,905
+6.2% vs. June
A/R open
$412,338
18 days avg.
A/P open
$196,740
9 due this week
Net income
$208,417
+11.4% YoY
Cash positionrolling 12 periods
Recent documentsAll modules
INV-2041Meridian Foods18,420.00Posted
BILL-8817Kestrel Supply6,275.40Approved
INV-2040Halden Group52,900.00Posted
PAY-0312Payment run · EFT31,118.75Posted
EXP-0455A. Okonkwo842.15Pending
0
screens in the suite
search, filter and export on every list
0
tables of your data
a standard database you can query and back up
0
automated test suites
posting, tax, close and reconciliation
0
API endpoints
integrate anything, no extra licence
0
languages
set per company and per user
0
licence fees
open source under AGPL v3

Counted from the openbooks source — every figure here can be checked, not just claimed.

Capabilities

Everything your finance team runs on, in one place.

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.

Multi-entity accounting

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.

Faster close

Close on a schedule, not a scramble.

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.

Projects and job costing

Know the margin while the job is running.

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.

Payables and payments

Approve it once, pay it on time.

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.

Reporting and dashboards

Answers in seconds, not spreadsheets.

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.

Controls and audit trail

Audit-ready without the fire drill.

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.

Financial reporting

Insight in seconds, not spreadsheets.

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.

  • Lay statements out the way your board reads them: your groups, your subtotals, your calculated lines.
  • Export to PDF, Excel or CSV, or schedule a report to land in the right inboxes every month.
  • Build your own reports and dashboards, and save the searches your team runs every week.
app.openbooks.dev/reports/profit-and-loss
Profit & loss
FY2026 · Jan–Jul · vs. prior year
PDFXLSXCSV
AccountJul 2026Δ%
Revenue2,914,802.00+11.4%
Product revenue2,318,440.00+4.2%
Service revenue596,362.00+4.2%
Cost of salesdrill →(1,512,097.00)+4.2%
Gross profit1,402,705.00+11.4%
Operating expenses(913,208.00)+4.2%
Net income489,497.00+11.4%
Register · 5000 Cost of sales
04 JulBILL-880148,220.00
11 JulINV-2018 · COGS112,904.50
18 JulJE-108026,318.00
every line opens the source document
Banking and cash

Reconcile in minutes, not evenings.

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.

  • Automatic duplicate detection, so re-importing a statement never doubles your cash.
  • Reusable rules for bank charges, interest and recurring transfers, coded to the right account and job.
  • Sign-off locks the reconciliation and keeps the working papers with it.
app.openbooks.dev/banking/reconciliation
Reconcile · Operating account
Statement 2026-07 · 214 lines imported
Difference
1,284.00
0.00
Bank statement
02 JulACH CREDIT · MERIDIAN18,420.00
05 JulEFT DEBIT · PAYRUN 031231,118.75
09 JulCARD · KESTREL SUPPLY6,275.40
14 JulFEE · ACCOUNT SERVICE38.00
openbooks
Meridian Foods18,420.00
Payment run · EFT31,118.75
Kestrel Supply6,275.40
Bank charges (auto)38.00
212 auto-matched2 matched by ruleOFX · CSV · SFTP dropSign off →
Customisation

Make it fit how you work.

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.

  • Add a field once and it appears on the form, the list, the export and the report.
  • Read-only access for your analyst or accountant to query anything without touching the books.
  • Package a set-up and roll it out to the next entity, with a record of what was installed.
app.openbooks.dev/platform/scripts
AutomationRuns when a field ticket is approved · charges the job automatically
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})
Your own fields
on any record
Your own records
with their own screens
Analyst access
look, never touch
Governance and audit

Audit-ready,
without the fire drill.

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 disappears. A posted document can be corrected, but not made to vanish — the record keeps the before as well as the after.
  • Filed periods stay filed. Rates and rules are effective-dated, so changing something today never restates a period you have already closed.
  • Controls you can evidence. Approval limits, segregation of duties and a permanent log that no account can edit or delete.
Customer invoice · amended
INV-2041
R. Alvarez · 24 Jul 2026, 2:08pm · “qty corrected on line 2”
$17,940.00
$18,420.00
Audit record · permanent
cannot be edited
What changedBeforeAfter
Line 2 quantity1211
Invoice total18,420.0017,940.00
Job 118 billed to date212,940.00212,460.00
And what it did to the ledger
1200Accounts receivable18,420.0017,940.00
4000Contract revenue16,300.8815,876.11
2210Sales tax payable2,119.122,063.89
Period 7 open · amendment recordedPeriod 6 closed · reversal required

Nothing is edited away. A deletion leaves a tombstone; a closed month takes a reversal.

By business type

How openbooks works for your business.

The same ledger underneath, with the specialist work each industry actually bills on — included, not sold as a separate product.

Construction and trades

Bill progress claims, hold back retainage and see the margin on every job while it is still running.

  • Schedules of values
  • Change orders
  • Retainage
  • Field tickets

Professional services

Turn time and expenses into invoices, and know which clients and engagements are actually profitable.

  • Timesheets
  • Billable expenses
  • Fixed-fee & T&M
  • Utilisation

Wholesale and distribution

Keep stock values and the ledger in step, from purchase order through to the cost of what you sold.

  • Inventory costing
  • Purchase orders
  • Stock counts
  • Landed cost

Multi-company groups

Run each company on its own books, then consolidate the group without a month of spreadsheets.

  • Intercompany
  • Consolidation
  • Multi-currency
  • Shared master data
What it solves

The problems finance teams call us about.

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.

Full feature list

Every module included. No upsell.

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.

Sales & receivables

Quote to cash, with open items that clear atomically.

  • Estimates & sales orders
  • Customer invoices
  • Receipts & payment application
  • Recurring billing & dunning
  • Collections worklist
  • Customer statements

Purchasing & payables

Everything that leaves the building, approved before it does.

  • Purchase orders
  • Vendor bills & credits
  • Expense reports
  • Approval routing & worklists
  • Payment runs & EFT files
  • Vendor records & terms

Banking & cash

From statement drop to zero-difference sign-off.

  • Bank feeds & statement import
  • Auto-match & reconciliation rules
  • Two-pane reconciliation workspace
  • Deposits & cash application
  • Cash timeline & forecast
  • Direct debit

Projects & job costing

Know the margin while the job is still running.

  • Project types & profitability profiles
  • Job costing & committed cost
  • Progress billing & schedules of values
  • Change orders & retainage
  • Timesheets & field tickets
  • Labor costing & bill rates

Inventory & assets

Quantities and values that agree with the ledger.

  • Items, pricing & rate cards
  • Inventory costing & movements
  • Stock counts & adjustments
  • Fixed assets register
  • Depreciation runs
  • Tax depreciation pools

Accounting & close

The month-end you can finish before the month is out.

  • Chart of accounts & dimensions
  • Journal entries & reversals
  • Per-module period close
  • Consolidation & intercompany
  • FX revaluation
  • Budgets & tax returns

Reporting & insight

Every figure drills straight back to the entry behind it.

  • Trial balance, P&L, balance sheet
  • Prior-year comparatives & Δ%
  • Custom report builder
  • Dashboards for owners and managers
  • Saved searches your team can share
  • Ad-hoc queries for your analyst

Platform & control

The parts that make it safe to give people access.

  • Roles, permissions & per-person limits
  • Your own fields & record types
  • Form layouts & menu arrangement
  • Automations & installable add-ons
  • Audit log & integration keys
  • Practice environments & data import/export
Switching

Move your books across. Prove they agree.

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.

NetSuiteOdooERPNextXeroQuickBooks OnlineQuickBooks Desktop
01

Connect

Point openbooks at your current system using your own credentials. Nothing is ever written back to it — the connection only reads.

02

Bring the books across

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.

03

Mirror and tie out

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.

04

Cut over when you’re satisfied

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.

Mirror run · nightly
completed 02:14 · synced through 23 Jul 2026
Tied out
Trial balance412 / 412 accounts
Open A/R items1,286 / 1,286
Open A/P items344 / 344
Period status84 / 84 periods

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.

Hourly
schedule
Attachments
carried over
Penny
exact
Security and control

Built to be trusted with the books.

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.

For whoever evaluates the technical side
an unbalanced entry, submitted directly to the database
$ psql openbooks
openbooks=> begin;
openbooks=> insert into journal_lines (entry_id, account_id, amount)
openbooks-> values ('8f3c1a…', '4000', -18419.0000);
INSERT 0 1
openbooks=> commit;
ERROR: journal entry 8f3c1a… does not balance (sum = 1.0000)
CONTEXT: PL/pgSQL function jl_check_balanced() · constraint trigger
ROLLBACK

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.

Scale

Grows with the business, not with your bill.

Add an entity, a currency, a tax jurisdiction or twenty more users without moving to a different edition, buying another module or renegotiating anything.

Seven languages, and every word of the system is translated
EnglishFrançaisEspañolDeutschPortuguês (BR)中文日本語EnglishFrançaisEspañolDeutschPortuguês (BR)中文日本語

Not just the menus — the buttons, the messages, the prompts and the reports. Set for the company, and overridable by each person.

More than one company

Each entity keeps its own books, balanced and reportable on its own — then consolidates for the group, with intercompany handled properly.

More than one currency

Rates by date, the original and your reporting amount on every line, and a period-end revaluation that posts where it should.

Sales tax that files

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.

People and permissions

Decide exactly who can see and do what, down to the individual — and know it’s enforced everywhere, not just hidden from the menu.

Pricing

No licence fees. No per-seat maths.

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.

Self-hostedMost companies start here
Freeforever, for any number of users

Run it on your own server or cloud account.

  • The complete suite — no modules held back
  • Unlimited users, entities and currencies
  • Your database, your backups, your country
  • Community support and the full source code
Get the source
Hosted
Talk to uswe run it, you use it

The same system, without running servers.

  • Everything in self-hosted
  • Updates, backups and monitoring handled
  • Help moving your books across
  • Export and walk away whenever you like
Start a conversation
Open source

The books are open. So is the software.

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.

Have it reviewed before you commit

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.

Run it wherever you have to

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.

It can’t be taken away from you

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.

Browse the repositoryAGPL-3.0-or-later
for whoever looks after your servers
$git cloneopenbooks
$npm install
$psql -fschema/migrations/*.sql
$npx tsxengine/src/seed-user.ts
$npm run dev-w web
ready — sign in and post your first entry

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.

FAQs

Common questions.

What is openbooks?

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.

Is it really free?

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.

Can my accountant work in it?

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.

How long does it take to get going?

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.

What happens to my data if I leave?

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.

Is it right for a small business?

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.

Ready to run on open books?

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.