Macct holds your bookkeeping, your invoices and your payroll — so how we change the system matters as much as what the system does. This page describes, honestly and without jargon, the road every change travels before it reaches production: a separate test environment, a human review, and an automated test suite that has to stay green.
Whether it is a new feature, a bug fix or a one-line text correction, the same four gates apply. None of them can be skipped, and the order never changes.
Testing never touches production data. The test environment gets a scrubbed copy: contact details are anonymised and all keys and credentials are stripped, while the accounting structure is kept intact — because a change that works on toy data and fails on real-world bookkeeping is exactly the kind of failure we test to catch.
Changes to the database itself follow the same discipline. Every schema change is a numbered, versioned migration that is dry-run against a copy of the database before it is allowed anywhere near production. Your ledger is never converted by hand, and never in the blind.
Tests catch mistakes before a change ships. Continuous checks catch anything that slips past — and they run on a schedule, whether anyone is watching or not.
Every night
Customer and supplier balances are reconciled against the general ledger, and every stored currency amount is re-checked against the rate it was booked with. A discrepancy raises an alarm the same night — not at year-end.
Daily and weekly
Backups are taken daily and stored off-site in a second data centre. And because an untested backup is only a hope, a full restore is performed from them on a schedule — a backup does not count until it has been brought back to life.
Every week
A canary run creates a fresh company and takes it through the whole journey — opening balance, invoices, purchases, payroll, reports, year-end — and cross-checks every result against the ledger before tearing it all down again.
You should not have to take our word for any of this. Every version of Macct carries a visible version number with its change log, one entry per release, readable from inside the app. The rules we enforce are listed openly, section by section, with the statutory references — and every rate we calculate with carries its source, so you can check us rather than trust us.
The rules, section by section · How the rates are kept current · The legal requirements, one by one
We will not tell you that mistakes cannot happen. Software is built by people, and people make mistakes — including us. What this whole page describes is the machinery that exists because of that fact: mistakes are made in the test environment instead of in your accounts, caught by a review or a test instead of by you, and when one does slip through, it is found by a nightly check, traced to the exact change that caused it, and rolled back. That is the promise — not perfection, but a short distance between a mistake and its discovery.
If you are an accountant or an auditor and want more detail about how changes are controlled, write to us — we answer these questions gladly. firmapost@macct.no