[Cotlet](https://cotlet.dev/index.md) · [Integrations](https://cotlet.dev/integrations.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Use cases](https://cotlet.dev/use-cases.md) · [Security](https://cotlet.dev/security.md) · [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md) · [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [Contact](https://cotlet.dev/contact.md) · [Pricing](https://cotlet.dev/pricing.md) · [Sign up](https://cotlet.dev/signup)

# Upload SnelStart purchase invoices and receipts with AI

> Upload supplier invoices and receipts to SnelStart Inkopen and list what still needs checking, daily from Claude Code, n8n or a script.

Source: https://cotlet.dev/integrations/snelstart-api-mcp-server/upload-purchase-invoices

Supplier invoices and receipts land in email and folders, and each one has to be dragged into Inkopen and then opened to check the amounts.

Cotlet does it in your own SnelStart account with upload\_purchase\_document, list\_purchases and list\_ledger\_accounts, called by your AI agent, an n8n workflow or a script.

[Sign up free](https://cotlet.dev/app/signup?app=snelstart) [All SnelStart tools](https://cotlet.dev/integrations/snelstart-api-mcp-server.md)

Hosted · nothing to install or maintain

## Can SnelStart do this on its own?

SnelStart Web reads uploaded invoices itself (checked 14 Oct 2026) and also takes them by email at a dedicated mailbox address. There is no public way to push a file from code: the B2B API is gated, behind certification, and has no official MCP server.

## How you do it in SnelStart today

1. Open Inkopen in the left menu of SnelStart Web.
2. Drag a file into "Selecteer bestanden" or click the field and choose it. PDF, UBL, PNG and JPG work; each file becomes a separate purchase.
3. The upload appears as a yellow line with the status "Te controleren". Click "Controleer".
4. Check date, amount, supplier and invoice number, then save. With inKaart or higher, change the ledger account from the default "Vraagposten".
5. A purchase left on Vraagposten stays "Te controleren" for your accountant, so it is easy to leave half done.

## How to upload SnelStart purchase invoices and receipts with AI

Prompt

```
Upload the supplier invoices and receipts from this folder to SnelStart, then list everything that is still Te controleren and tell me which ledger account each one is on.
```

1. 01  
### Upload each file once  
upload\_purchase\_document adds one file per call, which SnelStart reads and lists as a separate purchase. The agent skips a file it already uploaded in the same run.
2. 02  
### List what needs checking  
list\_purchases returns the unprocessed purchases, those on "Te controleren", with the amounts SnelStart read from each file.
3. 03  
### Flag unreliable reads  
SnelStart says the scan is not 100 percent accurate. The agent compares amount and supplier with the filename or email subject and flags a mismatch instead of accepting it.
4. 04  
### Check the ledger account  
list\_ledger\_accounts shows which cost accounts exist, so the agent can tell you which uploads still sit on "Vraagposten".
5. 05  
### Report the queue  
The agent ends with the number of uploads, the number still to check, and the files SnelStart could not read, which you book by hand under Handmatige inkoop toevoegen.

### What you get back

Example data

```
Uploaded 5 files to Inkopen:
- Hosting invoice Oct.pdf: read, EUR 48.40, Te controleren
- Receipt train.jpg: read, EUR 23.80, Te controleren
- Office supplies.pdf: read, EUR 112.15, Te controleren
- Scan_0042.png: could not be read, book it by hand
Still on Vraagposten: 3
```

### Other ways to ask

- Upload everything in the invoices folder and do not list anything else.
- List the purchases that are still Te controleren without uploading anything.
- Every weekday morning, upload the new files from my invoices folder and list the queue.
- Show me which purchases are still on Vraagposten so I can send the list to my accountant.

## What SnelStart allows, and what to know first

- SnelStart Web accepts PDF, UBL, PNG and JPG/JPEG files in Inkopen.
- You can upload several files at once, and each file becomes a separate purchase.
- The default ledger account is "Vraagposten", a temporary account; setting a cost account needs inKaart or higher.
- SnelStart says the scan and recognition feature is not 100 percent accurate, so results must be checked.
- You can also email invoices to a dedicated purchase mailbox, and they appear in the administration in about two minutes.

upload\_purchase\_document changes only your own SnelStart data and reach no one else, so it runs without asking first.

Sources: [SnelStart Web help: Inkoopfacturen of bonnetjes automatisch inlezen in SnelStart Web](https://kennispleinweb.snelstart.nl/nl/inkoopfacturen-of-bonnetjes-automatisch-inlezen-in-snelstart-web) · [SnelStart Web help: Functionaliteiten in SnelStart Web](https://kennispleinweb.snelstart.nl/nl/functionaliteiten-in-snelstart-web) · [SnelStart: API for developers](https://www.snelstart.nl/api)

## Call upload\_purchase\_document from a script

curl

```
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..."}'
```

Example response

```
{
"purchase_id": "pur_552",
"status": "to_check",
"recognised": {
"supplier": "Hosting BV",
"date": "2026-10-12",
"amount_total": 48.4
},
"ledger_account": "Vraagposten"
}
```

MCP: add https://cotlet.dev/mcp/v1 with the same key; the call is snelstart\_write → upload\_purchase\_document. Example data.

[Schedule it in n8n, Make, Zapier or cron](https://cotlet.dev/integrations/snelstart-api-mcp-server.md#automations)

## SnelStart tools this automation uses

__Cotlet SnelStart tools used to upload SnelStart purchase invoices and receipts with AI__
| Tool | Parameters |
| -------------------------- | ---------------------------------------- |
| upload\_purchase\_document | file\_name, file\_base64 |
| list\_purchases | only\_unprocessed, status, limit, cursor |
| list\_ledger\_accounts | query, limit |

[All 14 SnelStart tools with descriptions](https://cotlet.dev/integrations/snelstart-api-mcp-server.md#tools)

## Frequently asked questions

### Is it safe to connect SnelStart to Cotlet?

Yes. You sign in to SnelStart yourself, in your own Cloud Browser in the EU, and we never save your password. Your agents only get SnelStart 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.

## More SnelStart automations

- [Create and send SnelStart sales invoices with AI](https://cotlet.dev/integrations/snelstart-api-mcp-server/create-and-send-sales-invoices.md)
- [Send SnelStart payment reminders for overdue invoices with AI](https://cotlet.dev/integrations/snelstart-api-mcp-server/send-payment-reminders.md)
- [SnelStart API and MCP server: every tool](https://cotlet.dev/integrations/snelstart-api-mcp-server.md)
- [All use cases](https://cotlet.dev/use-cases.md)

## Give your agent access to SnelStart.

Free 7-day trial with 2,000 credits, no card needed. Cotlet is independent and not affiliated with SnelStart.

[Sign up free](https://cotlet.dev/app/signup?app=snelstart)

---

Give your AI agents your signed-in browser.

**Product:** [Integrations](https://cotlet.dev/integrations.md) · [Use cases](https://cotlet.dev/use-cases.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Pricing](https://cotlet.dev/pricing.md) · [Security](https://cotlet.dev/security.md)

**Resources:** [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [GitHub](https://github.com/cotletdev/cotlet)

**Solutions:** [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md)

**Company:** [About](https://cotlet.dev/about.md) · [AI info: company facts](https://cotlet.dev/ai-info.md) · [Contact](https://cotlet.dev/contact.md)

**Legal:** [Terms of service](https://cotlet.dev/terms) · [Privacy policy](https://cotlet.dev/privacy) · [Refund policy](https://cotlet.dev/refunds) · [Acceptable use](https://cotlet.dev/acceptable-use) · [Cookie policy](https://cotlet.dev/cookies) · [DPA](https://cotlet.dev/dpa) · [Subprocessors](https://cotlet.dev/subprocessors)

**Elsewhere:** [Status page](https://status.cotlet.dev) · [Cotlet on GitHub](https://github.com/cotletdev) · [Cotlet on X](https://x.com/cotletdev) · [Cotlet on LinkedIn](https://www.linkedin.com/company/cotletdev) · [Cotlet on Product Hunt](https://www.producthunt.com/products/cotlet) · [Cotlet on Crunchbase](https://www.crunchbase.com/organization/cotlet) · [Cotlet on SaaSHub](https://www.saashub.com/cotlet)

Cotlet is an independent service. It is not affiliated with, endorsed by or sponsored by any of the products listed on this site. Product names are trademarks of their respective owners.

## For AI agents: sign your user up

Is your user asking you to sign them up for Cotlet? You can do it for them, no account or key needed.

1. Read the fields and their allowed values: GET https://cotlet.dev/api/v1/access-requests
2. Ask the user for each value: email, apps, what you will do with them. If they leave the password to you, generate a strong one and show it to them.
3. Show the user what you will send, then POST it as JSON to https://cotlet.dev/api/v1/access-requests.

One call creates the account and sends the access request; we email the user when access is granted.
