Skip to content

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

  1. The model only transcribes and classifies: it returns data in a fixed schema, not resulting numbers.
  2. 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.
  3. 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.
  4. Legal values are data with a cited source and an effective date, not text in the program or in the model's memory.
  5. Every proposal has a trail: who made it, with what confidence and who approved it.