StabisoDocs

Purchasing and stock

Bill capture

Upload a vendor's bill as a PDF, a photo or an e-invoice, and the ERP reads it, finds the vendor (or proposes a new one), checks the VAT, and makes the bill for a person to approve. Nothing is booked until you create the bill.

Where: Purchasing → Vendor Bills → Upload a bill. The API is agents (bill-capture/read and bill-capture); the technical detail is in the agents guide.

How it works

  1. Drop one or several files (PDF, PNG, JPEG or WebP up to 20 MB, or an e-invoice XML). Each file is read as soon as it is chosen.
    • An e-invoice (XRechnung, or a PDF with ZUGFeRD / Factur-X data inside) is read from its data, with no AI involved.
    • Any other file is read by an AI model: vendor, invoice number, our order number, dates, currency, lines, VAT and totals, with the words on the bill it based each value on.
  2. Review what was read, one file at a time, in three steps: what was read, the vendor, the bill.
  3. Vendor. The vendor is found by its VAT number, IBAN or name. If it is new, the ERP proposes it from what the bill says, and you create it (Create vendor); where its country has a public register (VIES for the EU, the Swiss UID register, HMRC), Check in the register confirms the VAT number and shows the registered name and address. If the number you chose already belongs to a vendor, Use this vendor takes that one instead. Going Back changes the vendor you just created rather than making a second one.
  4. Check the accounts, then create the bill. For a PDF or image, each line has an account picker showing its code and name, with the model's reason. Choose by what was purchased; a vendor's earlier accounts are hints, not defaults. You can correct a suggestion before creating the bill, and going Back keeps your choices. If no account fits, add the appropriate account to the chart. Missing or invalid suggestions never silently become a default account: creating the bill waits for a valid choice for every line. The original reading stays stored unchanged, and the reviewed choices are recorded with the bill. The VAT of every line is worked out again from the reference data, not copied from the bill. The bill goes to Approvals with warnings where the printed VAT differs, the totals don't add up, the bill asks for payment to an IBAN that is not the vendor's, or the reading is uncertain. Approving it posts it. A bill that names one of our purchase orders is matched to it.

Rules worth knowing

  • A person always decides. Bill capture prepares; a person approves the bill, and a new vendor is a draft until the approval policy activates it (often a second person). A draft vendor's bill stays a draft until then.
  • The same file twice is refused, unless its earlier bill was rejected or voided.
  • The same invoice twice. An invoice number the supplier already has a bill for is refused, also when that bill is on another vendor record with the same VAT number or IBAN. A bill with the same vendor, amount and date as another bill waits for a second person, who sees which bill it may duplicate.
  • When the model is slow. The screen counts the seconds and says from 30 seconds that it is slower than usual. A model that does not answer within 45 seconds hands over to a backup model, which reads with little thinking so that it answers in time; if no answer has come two minutes after the file was sent, the read stops and Read again is offered. You can always enter the bill by hand instead.
  • When the AI does not answer at all (the AI provider is slow for a few minutes), nothing is read, stored or booked, and the read answers status waiting with retry_after_seconds instead of an error. The screen says so, counts down and sends the file again by itself, up to three times in all; then the file stays in the list with Read again.

Which models read bills, and how the operator chooses them, is in AI usage and ADR-0035.

Stabiso, the Enterprise System of Record · generated from the code and its guides · release 20b7dd5b0c4d