[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 and bills to Dext in bulk

> Upload a folder of receipts and supplier bills to the Dext Costs inbox, set the document owner and see which items need review. Hosted, no upkeep.

Source: https://cotlet.dev/integrations/dext-api-mcp-server/upload-receipts-and-bills

A week of receipts piles up as PDFs and phone photos, and each one has to be dropped into Dext's Add documents panel with the right owner and file format.

Cotlet does it in your own Dext account with list\_document\_owners, upload\_document and list\_items, called by your AI agent, an n8n workflow or a script.

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

Hosted · nothing to install or maintain

## Can Dext do this on its own?

Dext accepts documents by upload, email, mobile app, Dropbox and supplier Fetch connections, but offers no public API to upload (checked 14 Oct 2026). The Zapier app has Submit Receipts and Submit Sales Invoices actions that take an image.

## How you do it in Dext today

1. Select Add documents in the top corner of Dext and open the Costs or Sales tab.
2. Pick a Document owner from the dropdown, or None for costs such as rent.
3. Choose a file format: One document per file, One document per page (PDF only) or Auto-splitting (PDF only).
4. Drag the files into the upload area or select Select files, and wait while items show in Processing before they move to the Inbox.
5. Check the Inbox for items that did not arrive: Dext may have removed a file as a duplicate.

## How to upload receipts and bills to Dext in bulk

Prompt

```
Upload these PDFs and JPGs to the Dext Costs inbox with me as document owner, then tell me which items landed in To review.
```

1. 01  
### Pick the owner once  
list\_document\_owners returns the users you can assign. Your agent matches the owner you named and stops if the name is ambiguous, because the owner is set per upload.
2. 02  
### Respect file limits  
Before each upload the agent checks size and type against Dext's web limits (6MB for images and PDFs, 100MB for ZIP) and lists files it skipped instead of failing the whole run.
3. 03  
### Choose the split mode  
A single receipt goes as one document per file. A scanned PDF with many receipts goes as one document per page, or auto-splitting when pages vary.
4. 04  
### Upload and wait  
upload\_document sends each file to Costs or Sales. It reaches no one and an item can be archived, so it does not wait for your OK.
5. 05  
### Report what arrived  
After extraction the agent calls list\_items for To review, so you see which uploads need a missing category, supplier or total.

### What you get back

Example data

```
Files given: 14
Uploaded 12 to Costs, owner: Dana Reyes
Skipped 2 (over 6MB): scan-0412.pdf, scan-0413.pdf
In Processing: 3
To review: 4 (missing category: 3, missing total: 1)
```

### Other ways to ask

- Upload this ZIP of supplier bills to Costs with no document owner and tell me when extraction finishes.
- Every Friday, upload the new invoices in my Sales folder to the Sales inbox, one document per page.
- Upload these 20 photos, then list only the items that came out in To review.

## What Dext allows, and what to know first

- Dext's web upload limits are 6MB for images and PDFs, 100MB for ZIP files and 40MB for auto-splitting PDFs.
- Dext extracts uploads in Processing first and moves them to the Inbox afterwards; auto-splitting can take up to 1 hour.
- Dext may remove an upload it recognises as a duplicate cost document, so a missing item is not always an upload error.
- Costs and Sales are separate inboxes, and the document owner is chosen per upload or set to None.

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

Sources: [Dext Help: How to upload costs and sales documents](https://help.dext.com/en/s/article/how-to-upload-costs-sales-documents) · [Dext Help: How to submit documents via email](https://help.dext.com/en/articles/416754-how-to-submit-documents-to-dext-via-email) · [Dext on Zapier](https://zapier.com/apps/dext/integrations)

## Call upload\_document from a script

curl

```
curl -X POST https://cotlet.dev/api/v1/dext/documents \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"inbox":"costs","file_url":"https://files.example.com/receipts/office-supplies-0412.pdf","document_owner":"Dana Reyes","mode":"one_per_file"}'
```

Example response

```
{
"item_id": "it_7f3b02",
"inbox": "costs",
"status": "processing",
"document_owner": "Dana Reyes"
}
```

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

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

## Dext tools this automation uses

__Cotlet Dext tools used to upload receipts and bills to Dext in bulk__
| Tool | Parameters |
| ---------------------- | ------------------------------------------------------------ |
| list\_document\_owners | none |
| upload\_document | inbox, file\_url, document\_owner, mode |
| list\_items | inbox, status, supplier, date\_from, date\_to, limit, cursor |

[All 10 Dext tools with descriptions](https://cotlet.dev/integrations/dext-api-mcp-server.md#tools)

## Frequently asked questions

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

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

- [Fix Dext items stuck in To review](https://cotlet.dev/integrations/dext-api-mcp-server/fix-items-in-to-review.md)
- [Publish ready Dext items to your accounting software](https://cotlet.dev/integrations/dext-api-mcp-server/publish-ready-items.md)
- [Dext API and MCP server: every tool](https://cotlet.dev/integrations/dext-api-mcp-server.md)
- [All use cases](https://cotlet.dev/use-cases.md)

## Give your agent access to Dext.

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

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

---

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.
