05 · Statutory Compliance
Filings you can audit.
The VAT module produces the Slovak return and control statement, shows the ledger evidence behind every figure, and flags what does not tie. Submission stays with a person.
Platform description
Statutory compliance
The Slovak VAT module produces the return and the control statement, shows the ledger evidence behind every figure and flags what does not tie. It stops short of submission on purpose: a person uploads the completed file to the tax portal. The system draws the same boundary around its AI.
The return is presented as a four-face deck: the declaration, the box grid, the evidence and the control statement.
- The box engine reproduces seventeen filter sets from the original system and has no database, clock or culture dependency.
- It records its evidence as it computes. Because the evidence is captured during the calculation, the drawer of transactions behind a box cannot disagree with the number printed above it.
- Rate codes change by year, derived totals follow the statutory order, and every box is rounded to two decimal places before anything is derived from it.
The control statement is built from the return's own rows, with no second query, so the two documents cannot drift apart. Sections are mapped from each ledger line's own analysis attribute, and empty sections stay visible at zero.
Both filings are written as XML by hand, because the exact conventions the portal expects are not published as a schema anywhere.
- An unused box is an empty element, never a zero.
- The control statement's root element is derived from the period.
- Each section carries its own attribute set.
The specification was six real accepted filings and the original system's own writer, with the current build's output as a control. A rejected return produced two permanent rules, now kept in one place: which figures negate on which transaction types, and that rounding happens before derivation.
Around the two filings sit the supporting listings, a printed form for each document and a VAT code editor. The listings are grouped by control statement section at line level, so an invoice spanning two sections appears under both.
The editor is the only write in the entire module. It moves one ledger line's analysis or section code inside a transaction that rolls back unless exactly one row changes, and it refuses outright once the period's return has been filed.