Upload receipt

Upload a receipt file as a draft in Belege and return what the recognition found.

POST https://cotlet.dev/api/v1/sevdesk/receipts

write

Uploads a PDF, PNG or JPG from a URL to Belege as a draft, the same as dragging the file into the overview. sevdesk then tries to fill date, amount, receipt number, supplier and category, and the response shows what it found. The upload stays a draft: nothing is booked and nobody is notified, so it runs without asking first. Check the category and tax rule in sevdesk before you finish it.

Parameters

Parameters: upload_receipt
NameTypeDescription
file_url string required string Public or signed URL of a PDF, PNG or JPG file.
kind enum required enum expense (Ausgabe) or income (Einnahme).

Request

cURL
curl -X POST https://cotlet.dev/api/v1/sevdesk/receipts \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"file_url":"https://files.example.com/receipts/cloud-hosting-2026-10.pdf","kind":"expense"}'
Python
result = client.call("sevdesk", "upload_receipt", {"file_url":"https://files.example.com/receipts/cloud-hosting-2026-10.pdf","kind":"expense"})
Node.js
const result = await cotlet.call('sevdesk', 'upload_receipt', {"file_url":"https://files.example.com/receipts/cloud-hosting-2026-10.pdf","kind":"expense"});
CLI
cotlet call sevdesk upload_receipt --data '{"file_url":"https://files.example.com/receipts/cloud-hosting-2026-10.pdf","kind":"expense"}'

Example response

JSON

{
  "voucher_id": "77120418",
  "kind": "expense",
  "status": "draft",
  "recognized": {
    "supplier": "Nordhost Cloud GmbH",
    "receipt_number": "NH-2026-1012",
    "receipt_date": "2026-10-12",
    "total_gross": 39,
    "currency": "EUR",
    "category": null
  }
}

Sign in once. Your agent does the rest.

Sign up and add the apps you need. Free 7-day trial with 2,000 credits, no card needed.