n8n Workflow Template
Invoice Inbox: Scan to Structured Row
A delivery or invoice arrives as a photo. Your hosted ScanKit scanner cleans it, and the workflow reads the document and appends one structured row (supplier, invoice number, date, total) to your sheet or ERP.
Architecture
Phone photo
-> ScanKit hosted scanner
-> webhook
-> n8n
-> LLM extraction
-> Google Sheets / ERPPayload example
Fictional example values.multipart POST to your n8n webhook URL:
file: scan.pdf (the cleaned scan)
metadata: {
"scanner_id": 42,
"scanner_name": "Invoice Inbox",
"page_count": 1,
"timestamp": "2026-09-04T12:34:56.789Z"
}ScanKit sends the clean scan only. Extraction happens in your workflow: send the PDF to an LLM vision model and ask for the field list.
5-minute guide
- 1Create a hosted scanner at scankit.io and set your n8n webhook URL as destination.
- 2In n8n, add a Webhook node (POST, respond 200) and enable binary data for file.
- 3Add an LLM node (vision-capable model) that reads the PDF and returns JSON: {"supplier", "invoice_number", "date", "total"}.
- 4Validate: total > 0, date parseable; on failure route to a human review step.
- 5Append the row to Google Sheets or call your ERP endpoint.
- 6Test with your phone. Failed extractions land in review, not in your sheet.
Use this template
Import the n8n workflow JSON, connect your hosted scanner webhook, and adapt the placeholder endpoints to your own services.
In n8n choose Workflows, Import from File, and select this JSON.