Why a language model should not calculate taxes and salaries on its own
Expert knowledge. Content verified: 31 October 2026.
A language model predicts the most likely sequence of words; it does not perform calculations. For describing an invoice that is an advantage, for calculating contributions it is a flaw: the same case can give two different results, and the error carries no warning.
Where the model is strong
- Reading an invoice from a photo or PDF and turning it into fields.
- Classifying line items to a ledger account based on the description.
- Explaining why a proposal looks the way it does.
- Conversation: an answer to a question about a screen, a deadline or a regulation with the source named.
Where the model should not decide
- Amounts: tax, VAT, social security contributions, advances, depreciation, rounding and exchange differences.
- Dates that follow from regulations, such as settlement deadlines.
- Legal values: rates, thresholds and limits that change with the law.
How to separate them
- The model only transcribes and classifies: it returns data in a fixed schema, not resulting numbers.
- All amounts are calculated by ordinary code with tests that compare results against official examples and calculators. Money is whole numbers in grosze, without fractions.
- Code checks the model's output: the total read from the scan must match the total calculated from the line items, and the VAT rate must be one of the allowed ones. A mismatch goes to a person, not to the ledger.
- Legal values are data with a cited source and an effective date, not text in the program or in the model's memory.
- Every proposal has a trail: who made it, with what confidence and who approved it.