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, and the order never changes. The human approval has two documented exceptions, described under that gate.
Testing never touches the production database. The test environment gets a scrubbed copy: names, national identity numbers, addresses, account numbers and free text are pseudonymised, OCR text and logs are emptied, attachments are replaced and all keys and credentials are stripped, while amounts and the accounting structure are 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