[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 receipts to Bokio automatically

> Send receipts from a folder or an inbox to Bokio as uploads with a clear description, skip duplicates and see what is still waiting to be booked.

Source: https://cotlet.dev/integrations/bokio-api-mcp-server/upload-receipts

Receipts pile up as photos and PDFs in a folder or in your inbox, and each one has to be added to Bokio by hand before the books can be closed.

Cotlet does it in your own Bokio account with list\_uploads and upload\_receipt, called by your AI agent, an n8n workflow or a script.

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

Hosted · nothing to install or maintain

## Can Bokio do this on its own?

Bokio's API has an uploads endpoint that takes a PDF, JPEG or PNG with an optional description and, since the 5 Oct 2026 changelog, can link an upload to a journal entry (checked 14 Oct 2026). A private integration token or a public integration with the uploads scope is required, and the API only uploads: booking the receipt is a separate step.

## How you do it in Bokio today

1. Click Skapa Ny and choose Ladda upp.
2. Select the receipts and invoices on your computer and click Öppna.
3. Bokio takes you to the Uppladdat page, which lists every uploaded file.
4. Book each file from there or from the Att göra page, or delete a file that was uploaded by mistake.

## How to upload receipts to Bokio automatically

Prompt

```
Take the PDF and photo receipts from this folder and upload each one to Bokio with the shop name and date as the description. Tell me which ones were already there.
```

1. 01  
### Read what is already uploaded  
list\_uploads returns the files already in Bokio with their descriptions, so the agent can skip a receipt it has uploaded before.
2. 02  
### Check type and size  
Only PDF, PNG and JPEG are accepted. The agent also checks that each PDF is within the 4 MB Bokio's help gives for multi-file uploads and reports the files it skipped.
3. 03  
### Describe each file  
The agent reads the receipt and passes a description such as shop name and date to upload\_receipt. Without one Bokio uses the file name.
4. 04  
### Upload one file per call  
upload\_receipt sends one file at a time. The upload appears on the Uppladdat page, ready for you to book.
5. 05  
### Report the queue  
At the end the agent lists the uploads that are still unbooked, so you know what is waiting for you.

### What you get back

Example data

```
Receipts found in folder: 5
Uploaded 4:
- Clas Ohlson 2026-10-09 (jpeg)
- Telia October invoice (pdf)
Skipped 1: already uploaded as "Elgiganten 2026-10-02"
Waiting to be booked in Bokio: 4
```

### Other ways to ask

- Every evening, upload the receipt attachments from this mailbox and label them with the sender and date.
- Upload these three PDFs and link each one to the journal entry with the same amount.
- List the files I uploaded this month that have not been booked yet.

## What Bokio allows, and what to know first

- Bokio accepts PDF, PNG and JPEG for uploads, and PDFs must not exceed 4 MB each in a multi-file upload.
- Files you upload land on the Uppladdat page and on the Att göra page until they are booked.
- In a multi-file upload you cannot group files that belong to the same voucher; add those when you book the voucher.
- Bokio's API takes one file per request, and an upload can be attached to a journal entry by its ID.

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

Sources: [Bokio Help: Ladda upp flera underlag samtidigt](https://www.bokio.se/hjalp/bokforing/att-bokfora-i-bokio/ladda-upp-flera-underlag-samtidigt/) · [Bokio API docs: Add an upload](https://docs.bokio.se/reference/add-upload) · [Bokio API docs: Changelog 2026-10-05](https://docs.bokio.se/changelog/2026-10-05)

## Call upload\_receipt from a script

curl

```
curl -X POST https://cotlet.dev/api/v1/bokio/receipts \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"file_url":"https://files.example.com/receipts/clas-ohlson-2026-10-09.jpg","description":"Clas Ohlson 2026-10-09"}'
```

Example response

```
{
"upload_id": "d41c8e07-5a2b-4f93-8c60-3e1b9a7d2f54",
"description": "Clas Ohlson 2026-10-09",
"content_type": "image/jpeg",
"journal_entry_id": null
}
```

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

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

## Bokio tools this automation uses

__Cotlet Bokio tools used to upload receipts to Bokio automatically__
| Tool | Parameters |
| --------------- | ------------------------------------------ |
| list\_uploads | page, page\_size |
| upload\_receipt | file\_url, description, journal\_entry\_id |

[All 13 Bokio tools with descriptions](https://cotlet.dev/integrations/bokio-api-mcp-server.md#tools)

## Frequently asked questions

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

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

- [Create and send Bokio invoices from a list of jobs](https://cotlet.dev/integrations/bokio-api-mcp-server/create-and-send-invoices.md)
- [Record customer payments on Bokio invoices](https://cotlet.dev/integrations/bokio-api-mcp-server/record-invoice-payments.md)
- [Bokio API and MCP server: every tool](https://cotlet.dev/integrations/bokio-api-mcp-server.md)
- [All use cases](https://cotlet.dev/use-cases.md)

## Give your agent access to Bokio.

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

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

---

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.
