Folio
Two people who keep the same books on two laptops without a connection can overwrite each other’s entries.
What it is
Two people who keep the same books on two laptops without a connection can overwrite each other’s entries.
A property test runs thousands of random operations on two laptops, offline and in sync, and checks after every step that every entry balances and the trial balance sums to zero. Flawed versions of the books show that the test finds each kind of mistake.
The parts
A log that is only appended to
The books are a log of events: an entry, an invoice, a bill, a reversal, a bank file, a match and a close. Each laptop keeps the log and works out the entries, the reports and the VAT return from it, so it opens and posts with no network.
Two laptops, one order
The server keeps the one order of events and stores each event once, so an event sent again after a lost answer counts once. After a sync both laptops have the same log, so the same voucher and invoice numbers, the same trial balance and the same VAT return.
A correction never overwrites
To correct an entry, Folio posts the entry that reverses it and the corrected one, as one event. Two entries made offline both arrive, and a second reversal of the same entry is refused with the name of who reversed it first. Every check is the same code on the laptop and on the server.
The bank, matched with reasons
A bank file is read as Danish banks export it. The matcher scores each open invoice and bill by the amount, a number or a name in the text, and the date against the due date, and shows its reasons. A person confirms.