Fintrum Inc. ยท internal accounting system

Books that can be checked, not just kept

A double-entry accounting system for a Quebec corporation running proprietary options trading alongside software revenue. Built because generic bookkeeping handles neither the trading book nor GST/QST recovery correctly, and getting input tax attribution right has cash value from the first return.

Accounts
106
Tax rules
25
Tests
450
Fiscal year
Mayโ€“Apr
Base currency
CAD

This is a private system. The books, the working papers and the tax positions are behind a sign-in. What follows describes how it is built, not what it holds.

What it does

Integrity in the database

An entry cannot post unless it balances and has at least one line โ€” an entry with no lines trivially sums to zero, which is the easy bug. Once posted it cannot be edited, deleted or un-posted by any code path. Corrections are reversing entries only, and posted entries are chained by SHA-256 so tampering shows even if the triggers were dropped.

GST/QST that reports per component

QST is computed on the pre-GST base, not compounded. Rates carry validity dates โ€” Nova Scotia moved 15% to 14% inside the first fiscal year, so a rate change is a data edit, not a code change. Zero-rated and exempt stay distinct: both charge no tax, but only zero-rated preserves recovery, and merging them forfeits refunds quietly.

Trading segmented, deliberately

Trading results sit in their own block rather than folded into revenue. It is not cosmetic โ€” a statement reading as mostly investment income invites the specified investment business question. Both presentations produce identical net income, and a test asserts it.

Foreign currency held, not converted

Translation measures every transaction in CAD for reporting; conversion is an actual exchange. USD costs are paid from USD cash and only the residual is ever converted. Realized FX books on settlement; unrealized on revaluation, and only monetary balances are retranslated.

Reconciled, not asserted

The first fiscal year ties to the previous system month by month. Twelve accounts agree to the cent; six differ for recorded reasons and must net to zero between themselves โ€” which is what a presentation difference looks like, as against a difference in the numbers.

Filed returns kept as fact

A working paper says what a return should say. The system separately records what it did say, item by item, and reports the difference per component rather than netting it โ€” because two errors in opposite directions nearly cancel, and netting would hide both.

How it is used

A command-line tool over a service layer, so a web interface is a second adapter rather than a rewrite. Amounts entered are pre-tax; the tax is computed.

$ fintrum tax check 1000 --supply SERVICE_CONSULTING --country US --non-resident
Base            : 1,000.00 CAD
Treatment       : ZERO_RATED
Rule            : Export โ€” advisory/consulting/professional services to a non-resident
Authority       : ETA Sch VI Pt V s.23
Total tax       : 0.00 CAD

Every determination names the rule that fired and its authority. Section 7 zero-rates services to non-residents but expressly excludes consulting, so the answer arrives under s.23 instead โ€” and in an examination the citation is the part that matters, not the number.

Sign in

The books, the generated walkthrough, the tax positions and the ruling requests are private.