Billy · Blog SIF-06/2026

An AI copilot on every screen, but the code verifies every number

The rule we apply in Billy: the AI proposes, the system checks. How we separate interpretation and verification so you can use AI in your bookkeeping without having to review every total.

The first time I tried an invoicing program with AI — I won't say which — it felt strange. I described an invoice out loud, the AI generated it in three seconds, it came out well laid out. And I stared at the total wondering: do I trust this number?

An invoicing program isn't a chatbot. It's a place where every number has legal consequences: withholdings, input VAT, output VAT, taxable base, deductions. If your program makes up an IRPF withholding of 15 % when it should be 7 %, that isn't a minor bug. It's a tax offence you discover after you've already issued the invoice.

This post covers how we've solved that problem in Billy without giving up on AI. The short answer: we separate interpretation and verification. The long answer follows.

The rule: AI proposes, code checks

In Billy there are two very clear layers:

  • Interpretation (AI): reading a supplier PDF, understanding what you mean when you type "€300 for Marta's website, plus VAT", enriching a client's fiscal data from their tax ID. All of this is "variable": there are many reasonable ways to solve it and no single right answer.
  • Verification (deterministic code): checking that base + VAT − withholding = total; that correlative numbering has no gaps; that the VeriFactu hash chain links properly; that amounts add up in integer cents (never floats). All of this is "invariant": there is exactly one right answer and we know it.

The AI never writes directly to the database. Its output always goes through strict schema validation and arithmetic recomputation. If the numbers don't match, the proposal is rejected. No tolerances ("if the difference is under 1 cent, let it pass"); those tolerances are where fraud begins.

A copilot on every screen, not a chatbot off to the side

The second decision: the AI lives inside the product, not in a separate window. A standalone chatbot forces you to copy-paste context ("how much did I invoice Acme in April? — wait, let me open another tab"). An integrated copilot already knows where you are.

Every screen in Billy carries a side panel with the copilot ready:

  • On Invoices: drafts, per-client summaries, tag-based analysis.
  • On Inbox: it explains why a supplier invoice is blocked ("missing tax ID") and suggests how to resolve it.
  • On Bank: it tells you which movements it couldn't reconcile and why.
  • On Contacts: it enriches new clients automatically from their tax ID (VIES, official registries, their own website).

And an explicit rule: the copilot only creates drafts. It never approves, never numbers, never sends. Approving and sending stays with you. It's a product decision, not a technical limitation: AI is good at proposing, and you are the final person responsible for what goes out with your tax ID on it.

Open models, no lock-in on one provider

Billy doesn't depend on a single AI provider. The layer that calls the model is designed to work with any API compatible with the industry's most common standard, and we choose the provider based on price-quality at any given moment. If today's provider triples its price or if a ten-times-better model appears tomorrow, Billy doesn't have to be rebuilt.

This matters for two reasons: price (we can pick the best cost-per-quality at any point) and independence (no one has a kill switch over us).

What this changes in your day-to-day

If you're coming from Excel or an older program, the first thing you'll notice is how much less you type. In Billy, most of your supplier invoices come in on their own: you forward the hosting bill, the Meta ad receipt, the Amazon fulfilment invoice to your Billy mailbox and they arrive ready to accept.

If you're coming from a modern AI-powered program, the difference is in how often you re-check the numbers. In Billy you don't re-check the arithmetic; you only confirm the interpretation, in one click.

What matters isn't that the AI is fast. What matters is that you can trust what it produces without re-reading it.

Summary

  • Billy's AI proposes. Code checks.
  • No AI output is stored without schema validation and arithmetic recomputation.
  • The copilot lives inside the product, on every screen — not in a separate window.
  • The copilot only creates drafts. Approving and sending is your decision.
  • The AI layer is provider-agnostic. No single vendor has a kill switch on us.

Try it with your next supplier invoice: forward it to your Billy mailbox and see for yourself what the system checks before accepting it. Free, no card.