sevdesk automation · runs daily
Digitize receipts in sevdesk and mark them paid
The receipts pile up in a folder or an inbox, and each one needs to be uploaded to Belege, checked, and later tied to the bank transaction that paid it.
Cotlet does it in your own sevdesk account with upload_receipt, list_vouchers, list_payment_accounts, list_bank_transactions and mark_voucher_paid, called by your AI agent, an n8n workflow or a script.
Hosted · nothing to install or maintain
Can sevdesk do this on its own?
sevdesk takes receipts by form, drag-and-drop, app and the Autobox email address, and recognizes the data on upload (checked 14 Oct 2026). The API offers uploadTempFile and saveVoucher on the Buchhaltung Pro plan. Nothing in sevdesk walks a folder for you or asks before it marks a receipt as paid.
How you do it in sevdesk today
- Go to Belege and click Ausgabe erfassen, or use the arrow next to it and choose Einnahme erfassen.
- Upload the file on the left. sevdesk starts the automatic receipt recognition and tries to fill date, amount, receipt number, supplier and category.
- Check the fields on the right, choose the Kategorie (booking account) and the Umsatzsteuerregelung, and save.
- Drag a whole folder into the Belege overview instead if you only want drafts: sevdesk saves each file as a draft, marked with a small blue dot until you check it.
- Later, open the receipt and click Als bezahlt markieren, choose the payment account and click the matching transaction.
How to digitize receipts in sevdesk and mark them paid
Upload the new supplier receipts from my receipts folder to sevdesk as expenses. Then, for each receipt from last month that matches a bank transaction on my business account, mark it as paid. - 01
Upload each file once
upload_receipt sends the PDF, PNG or JPG from its URL and saves a draft receipt. The agent reads back what the recognition filled in, so a wrong amount or supplier is flagged for you.
- 02
Leave drafts as drafts
The agent does not finish or book the upload. The category and the tax rule are the part where an accountant should have the last word, so the report lists them as "check".
- 03
Find what is still unpaid
list_vouchers with status unpaid and the month you named gives the receipts that wait for a payment. The agent skips receipts that are already paid.
- 04
Match to the bank
list_payment_accounts finds the account and list_bank_transactions returns its unbooked transactions. A receipt is matched only when amount and date agree and one transaction fits; two possible matches stay open.
- 05
Mark paid after your OK
mark_voucher_paid links the receipt and the transaction, as clicking the transaction does in sevdesk. Each call waits for your OK by default, because it records a payment.
What you get back
New receipts uploaded: 6 (all drafts)
Recognized well 5, check 1: "Cloud hosting Oct" shows 48.30 EUR, PDF says 48.80 EUR
Unpaid receipts from September: 9
Marked paid 7, linked to the transaction (e.g. Cloud hosting Sep 39.00 EUR)
Left open 2: two transactions of 25.00 EUR fit Other ways to ask
- Upload everything in this folder as expenses and stop. I will check the categories in sevdesk myself.
- Mark receipts as paid only when the supplier name appears in the bank transaction text.
- Every Friday, list unpaid receipts older than 30 days and send me the list.
- Upload the customer payment slips as income (Einnahme) and leave them as drafts.
What sevdesk allows, and what to know first
- sevdesk accepts PDF (one or several pages), PNG and JPG files for receipts.
- The recognition tries to fill date, amount, receipt number, supplier and category, and sevdesk says it learns with every receipt uploaded.
- The tax mode Brutto or Netto is chosen per receipt, not per position.
- Receipts sent by email to the Autobox address work only from the email address you registered with in sevdesk.
- If no bank transaction is available, sevdesk books the payment on a Verrechnungskonto with the payment date you enter.
mark_voucher_paid asks for your OK by default. To run it daily without you, switch confirmation off for that tool in your dashboard.
Sources: sevdesk Help: Belege erfassen · sevdesk Help: Beleg als bezahlt markieren · sevdesk Help: Zahlungskonten · sevdesk Help: Übersicht der Zahlungskonten
Call upload_receipt from a script
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"}' {
"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
}
} MCP: add https://cotlet.dev/mcp/v1 with the same key; the call is sevdesk_write → upload_receipt. Example data.
Schedule it in n8n, Make, Zapier or cronsevdesk tools this automation uses
| Tool | Parameters |
|---|---|
| upload_receipt | file_url, kind |
| list_vouchers | status, kind, from_date, to_date, search, limit, cursor |
| list_payment_accounts | none |
| list_bank_transactions | payment_account_id, unbooked_only, from_date, to_date, limit, cursor |
| mark_voucher_paid | voucher_id, payment_account_id, transaction_id, paid_on |
Frequently asked questions
Is it safe to connect sevdesk to Cotlet?
Yes. You sign in to sevdesk yourself, in your own Cloud Browser in the EU, and we never save your password. Your agents only get sevdesk once you enable it, every background request is listed, and the browser profile is stored encrypted with AES-256-GCM, the cipher 1Password uses for its vaults. The AI model never sees a login, posts and messages wait for your OK, and Disable for agents cuts access in one click. Independent scanners grade cotlet.dev A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory; live results are on https://cotlet.dev/security.
Give your agent access to sevdesk.
Free 7-day trial with 2,000 credits, no card needed. Cotlet is independent and not affiliated with sevdesk.