AI reading of supplier documents (quotes, delivery notes, invoices)
Register your Gemini key on the AI settings tab, prepare fields for the original, transaction date, amount, counterparty and received date, then map them on the Document reading tab with the line item table, the input deadline rule and three-way matching. Users check and correct the AI's candidates before saving; nothing is saved automatically or stored on PRING's servers.
Steps
1. Register the Gemini API key on the AI settings tab
Reading uses your own Google AI (Gemini) API key, the same key as AI mapping. Register it on the AI settings tab and choose the model. Pages read count towards your plan's usage.
2. Prepare the fields in the receiving app
In the invoice app, for example, add an attachment field for the original (required), transaction date (date, required), amount (number, required), counterparty (single-line text, LOOKUP or drop-down, required) and received date (date, required). Optionally add document number, tax, order number, registration number, due date, a line item table (item code, name, quantity, unit price, amount), storage type (scanned or electronic), input date and reading info (multi-line text).
3. Map the fields on the Document reading tab
Open the Document reading tab, enable it, choose the document type (quote, delivery note or invoice), the original attachment field, the field for each read item, the line item table and its columns, and the fields for received date, input date, storage type and reading info. Transaction date, amount and counterparty are required, and one field cannot be used for two items.
4. Set the input deadline and image size
For scanned documents choose Promptly or Promptly after the business cycle (1 to 62 days). The confirmation screen warns when the deadline is near. The default image size (A4 and so on) is used to check scan resolution.
5. Set up three-way matching (delivery notes and invoices)
If the order number is a LOOKUP, the read order number finds the order record and fills it in. Enable Three-way matching and choose the order app's line columns (item code, quantity, unit price, amount, total) and the delivery app (order number field, line item code and quantity). Quantities, unit prices and amounts that differ from the order or delivery are flagged on the confirmation screen; you can set a tolerance.
6. Save and update the app
Save validates the settings (field types, required items, duplicates) and stops on problems. The settings are merged with the others. Press Update app in kintone to apply.
7. Check the user flow
The list screen shows Ingest document and the detail screen of a record with an original shows Read document. After choosing the file, how it was received (scanned or electronic) and the received date, the AI's candidates appear on the confirmation screen; low-confidence items are coloured and marked Check, so users correct them and press Create record or Save to record. Saving writes the original's SHA-256 and the corrections to the audit log.
Frequently asked questions
Scanned documents are rejected (422)
Scanned images must pass the intake checks: at least 200 dpi and 24-bit colour (or the required gradation) for the configured paper size. Images below that resolution are not accepted. For documents received electronically (an invoice PDF, for example) choose Electronic.
Are originals or results kept on PRING's servers?
No. The file is passed to the AI only for the duration of reading; the original stays in your kintone attachment field and the result in the record. The receipt proof (an Ed25519 signature) and the reading info are kept in the record's reading info field and the audit log for later verification.
Could the AI save something by itself?
No. Candidates always go to the confirmation screen and are written to kintone only when the user presses Create record or Save to record. Items changed from the AI's candidate are recorded as corrections in the reading info and the audit log.
What about quotes with no amount?
The amount is required, so enter 0. The save button stays disabled while it is empty.