The Engine  ·  Built Audit-Ready

If you want to know
exactly how it works
this is the page.

Smart tools should be able to show their work. Here is everything under the hood — the logic, the rules, the safeguards, and the audit trail. No black boxes. No hand-waving.

Dr = Cr
Enforced on every entry
100%
Atomic — nothing half-posts
Always
Verified before it reaches the ledger
Zero
Unbalanced entries — by design
01 — The AI Flow

Out of the box: best practice.
From here, it verifies — every time.

TRiON ships with proven accounting rules already in place — Dutch double-entry, VAT regime routing, GRNI matching. Day one is already correct. What happens after that is not blind automation. Every supplier invoice is verified against the original purchase order on every run — quantities, prices, what was actually received. A deviation stops the flow. Nothing incorrect continues unnoticed.

Out of the box — what you start with

Before your first transaction, TRiON already knows: NL domestic VAT is 21% to account 4110. EU B2B is 0% reverse charge, box 3a. Goods receipts go through GRNI. Every journal entry must balance. These are not settings you configure — they are the foundation, built in and verified. You are not starting from zero. You are starting from correct.

Three-way match — on every invoice, every time

Every supplier invoice is checked against three sources simultaneously: the original purchase order, the quantities actually received, and what is being invoiced. Lines are flagged green (exact match — auto-accepted), amber (favorable deviation — still requires an explicit decision), or red (overcharge or quantity discrepancy — the flow stops entirely, a human must act before anything posts). A wrong entry from a bookkeeper does not continue. It surfaces on that invoice, before anything reaches the ledger.

Step 01
Transaction arrives
Invoice, order, goods receipt, or bank transaction enters the system. Data is parsed and structured.
Step 02
AI proposes journal entry
The system reads the transaction type, customer country, VAT number, and account setup — then proposes the correct double-entry booking.
Step 03
Human reviews & approves
Every first instance of a transaction type requires manual approval. The accounts, VAT code, and amounts are visible before anything posts.
Step 04
Flags or locks
A perfect match is auto-accepted. Any deviation — price above PO, quantity above what was received, a missing line — is flagged red or amber and held for human decision. Nothing incorrect passes through.
Step 05
Posts — when clean
Only a fully approved, balanced invoice auto-posts to the journal. Partial approvals stay in Finance as a draft. Rejections close with no payment and no ledger entry. Every outcome is logged.
What this means at audit time

Every journal entry in TRiON has an origin — either a human approval or a locked logic rule that traces back to one. You can show an auditor the exact moment a rule was established, who approved it, and every subsequent transaction that executed under it. Nothing in the ledger is unexplained.

02 — Double-Entry Integrity

Every entry is balanced.
No exceptions. No workarounds.

TRiON uses a single atomic posting function. If the debit total does not equal the credit total, the transaction is rejected in its entirety — nothing is written to the database. This is not a validation warning. It is a hard block.

Debit (Dr)
1200 · Debiteuren € 96.80
Total Debit € 96.80
=
Balanced
Credit (Cr)
8000 · Omzet Nederland € 80.00
4110 · BTW verschuldigd € 16.80
Total Credit € 96.80
Atomic — the entire entry rolls back if balance fails
Technical implementation

All journal posting goes through a single atomic function. This function validates Dr = Cr before writing a single row. There is no path in the system that allows two-step, partial, or conditional posting. Every entry either posts completely and balanced — or does not post at all.

03 — VAT Compliance

VAT regime is determined by rule,
not by the user's memory.

The most common source of VAT errors in small business accounting is manual mis-selection of the rate. TRiON determines the VAT regime automatically from the customer's country and VAT number — and locks the invoice accordingly.

Customer identified on invoice → System reads: country + VAT number
NL Domestic
Customer is Netherlands-based. VAT number present or absent — domestic rules apply.
Output VAT
21% — posted to 4110
Revenue account
8000 · Omzet NL
BTW box 1a
EU B2B
EU country + valid VAT number. Intracommunautaire levering — reverse charge applies.
Output VAT
0% — reverse charge
Revenue account
8010 · Omzet EU B2B
BTW box 3a
Non-EU Export
Customer country outside EU. No output VAT under Art. 146 VAT Directive.
Output VAT
0% — export exempt
Revenue account
8030 · Omzet non-EU
BTW box 2a
EU B2C safeguard

Invoicing EU consumers (B2C without a VAT number) requires OSS registration. TRiON blocks the invoice from saving if this combination is detected, displays a hard error, and prevents any posting. This is not a warning — it is a compliance gate. EU B2C cannot go through until OSS is registered and activated.

04 — Goods Receipt Matching

Stock and invoices are matched.
The gap between them is tracked.

When goods arrive, inventory increases. But the supplier invoice arrives separately — sometimes days later. TRiON implements the GRNI two-step, the same principle your auditor expects from any properly run operation.

Step 1 — Goods arrive
Purchase order received
1600 · Voorraad Dr
1550 · GRNI* Cr
Stock is on the shelf. Invoice not yet received. The liability is parked in the GRNI suspense account.
GRNI suspense account
1550 · Goederen ontvangen,
factuur verwacht
Open balance visible Pending
Every unmatched goods receipt shows here. Finance can see exactly which POs are awaiting invoices at any moment.
Step 2 — Invoice arrives
Supplier invoice matched
1550 · GRNI Dr
4000 · Crediteuren Cr
GRNI clears. Creditor liability is established. The balance sheet now correctly reflects what is owed to the supplier.

* GRNI = Goods Received Not Invoiced — standard accrual accounting practice

Why this matters at year-end

The GRNI account tells you immediately what stock you hold for which no invoice has been received. This accrual is essential for correct year-end balance sheets and prevents the most common small-business inventory error: stock on the shelf that isn't reflected in the accounts payable.

05 — Audit Trail

Every entry is logged.
Every balance is verified.

The journal is immutable. Entries cannot be edited after posting — only reversed via credit note, which itself creates a new auditable entry. Here is what the live ledger looks like.

Timestamp Reference Type Debit Credit Balance
2026-04-01 09:14 INV-2026-0001 sales · 1a € 96.80 € 96.80 0.00
2026-04-01 10:02 INV-2026-0002 sales · 3a € 96.80 € 96.80 0.00
2026-04-01 11:47 PO-2026-67721 goods_receipt € 440.00 € 440.00 0.00
2026-04-01 14:23 INV-TEST-COST sales · 1a € 96.80 € 96.80 0.00
Independent verification

An external accountant or auditor can verify the ledger directly — every entry, every balance, every audit trail. The expected result: zero unbalanced entries, zero orphaned journal headers. We are not asking you to take our word for it.

06 — Core Principles

The architecture decisions
behind the compliance.

These are not features. They are design constraints that cannot be worked around — by users, or by us.

01
Single posting path
There is one function through which all journal entries are created: post_journal(). No module can bypass it. This means every entry, regardless of origin, goes through the same balance validation and VAT-code tagging. No exceptions are possible by design.
02
Human-in-the-loop first
The first instance of any new transaction type requires human approval. The system proposes — you confirm. Only after confirmation does logic lock and automation begin. There is no scenario in which the system begins automating a booking you have never seen.
03
Compliance gates, not warnings
EU B2C without OSS registration does not produce a warning — it blocks the invoice from saving. A missing cost price does not produce a warning on approval — it blocks approval entirely and requires a typed override reason. These are hard controls, not advisory alerts.
04
Legal responsibility stays with you
TRiON automates the execution of accounting rules. The business owner retains full legal responsibility for all tax filings, declarations, and financial statements. TRiON is the engine. You are the signatory. This is explicit in our Terms of Service — not buried in it.
On legal responsibility — stated directly.

We want to be completely clear on this, because it matters more in financial software than in any other category.

TRiON is a tool that automates the execution of accounting rules you define and approve. It does not file VAT returns on your behalf. It does not replace your accountant's advisory role. It does not take legal responsibility for your filings.

What it does: it ensures that the data going into those filings is complete, balanced, correctly classified by regime, and traceable to its source. It removes the human error in execution — not the human judgment in oversight.

VAT filings — prepared by TRiON, submitted by you or your accountant
Journal entries — proposed by AI, approved by a human before first execution
Compliance rules — enforced by the system, verified by your auditor
Year-end close — supported by TRiON's reports, signed off by you
Questions answered?
Let's build something.

This is what's under the hood. If something is missing or you want to go deeper on any part of the architecture, we'd rather have that conversation directly than leave a gap.

← Back to TRiON Talk to us directly →