Skip to main content

How it works

Recognition reads a document from two sources: the AT QR code, when the document carries one, and the document itself, read by AI. The two are not equivalent — the QR code is authoritative, the AI is a reader.

The AT QR code is the authoritative source​

Portuguese invoices carry a QR code defined by the AT (Autoridade Tributária, the Portuguese Tax Authority). When that QR code is present, everything it carries is taken from it and not second-guessed:

  • the supplier's and the customer's tax ids
  • the document number
  • the document date
  • the ATCUD
  • the document type
  • the totals
  • the VAT split, per rate

These figures match what the supplier declared to the AT, because the QR code is generated from that declaration. That is why a document with a QR code is both faster and safer to recognise than one without.

What the AI reads​

Everything the QR code does not carry is read from the document itself by AI:

  • the supplier's name
  • the supplier's address
  • the due date
  • the payment reference

On a document without a QR code, the AI reads the whole document. See Recognition tiers for how much of the document each tier reads.

Rules that decide what you get​

One PDF with several invoices​

Only the first invoice in the file is recognised. You are told that the file contains more than one document and asked to split it — upload each invoice as its own file.

The same document twice​

An original and its duplicate are recognised once. Uploading both does not create two expenses.

A document number that already exists​

If an invoice with the same number already exists for that supplier, the number is left empty on the new expense. That is deliberate: an empty document number is the flag that tells you to look at the row and decide whether this really is a new document.

A document that cannot be recognised​

Some documents are not supplier invoices at all — a municipal fine, for example, carries no supplier tax id. When there is nothing to recognise, you get a clear message saying so and you fill the expense in by hand.

Failures cost nothing. No credit is spent on a recognition that does not produce a result — see Queues and credits.