Upload a purchase invoice or receipt
Uploads one PDF, UBL, PNG or JPG file to Inkopen for SnelStart to read.
POST https://cotlet.dev/api/v1/snelstart/purchase-documents
write
Does what dragging a file into Inkopen does. SnelStart reads the file and lists it as a purchase with status Te controleren, with the date, amount and supplier it recognised. Recognition is not 100 percent accurate, and the purchase stays on Vraagposten until a cost account is set. The upload reaches no one and books nothing final, so it does not ask for confirmation.
Parameters
| Name | Type | Description |
|---|---|---|
| file_name string required | string | File name with extension: pdf, xml (UBL), png, jpg or jpeg. |
| file_base64 string required | string | File contents, base64 encoded. |
Request
curl -X POST https://cotlet.dev/api/v1/snelstart/purchase-documents \
-H "Authorization: Bearer $COTLET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"file_name":"Hosting invoice Oct.pdf","file_base64":"JVBERi0xLjQK..."}' result = client.call("snelstart", "upload_purchase_document", {"file_name":"Hosting invoice Oct.pdf","file_base64":"JVBERi0xLjQK..."}) const result = await cotlet.call('snelstart', 'upload_purchase_document', {"file_name":"Hosting invoice Oct.pdf","file_base64":"JVBERi0xLjQK..."}); cotlet call snelstart upload_purchase_document --data '{"file_name":"Hosting invoice Oct.pdf","file_base64":"JVBERi0xLjQK..."}' Example response
{
"purchase_id": "pur_552",
"status": "to_check",
"recognised": {
"supplier": "Hosting BV",
"date": "2026-10-12",
"amount_total": 48.4
},
"ledger_account": "Vraagposten"
}