Invoicing & freelance CRM
Dubsado
Projects, proposals, contracts and invoices for creative businesses.
14 endpoints
ERPNext's API covers invoices and payments, but it takes an API key and secret for each site and code you write and host. Sign in to ERPNext once in your own Cloud Browser, and your AI agent does the work there for you. The same tools work over MCP for agents and as a REST API for scripts.
Not affiliated with ERPNext.
| What you need | ERPNext's API | GitHub MCP server | Cotlet |
|---|---|---|---|
| Use without an API key or code | No | Partly | Yes, 13 tools |
| Acts as you, signed in 24/7 | No | No | Yes, Cloud Browser |
| Fixed for you when ERPNext changes | N/A | No | Yes, tested every 6h |
| Runs with your laptop off | N/A | No | Yes, hosted |
Checked Oct 14, 2026. Sources: Frappe Docs: REST API · Frappe Docs: Docstatus · ERPNext Docs: Sales Invoice · ERPNext Docs: Payment Entry
AI agents connect over MCP, scripts call the REST API. Both reach the same 13 tools with one API key.
Add Cotlet to your agent once. ERPNext and every other app you connect show up as its tools.
claude mcp add --transport http cotlet \
https://cotlet.dev/mcp/v1 \
--header "Authorization: Bearer $COTLET_API_KEY" {
"mcpServers": {
"cotlet": {
"url": "https://cotlet.dev/mcp/v1",
"headers": {
"Authorization": "Bearer ${COTLET_API_KEY}"
}
}
}
} # ~/.codex/config.toml
[mcp_servers.cotlet]
url = "https://cotlet.dev/mcp/v1"
bearer_token_env_var = "COTLET_API_KEY" Paste the snippet for your client. The same server and key serve every app you connect, so you do this once.
Every tool is an endpoint under /api/v1/erpnext with its own method and path, such as POST /api/v1/erpnext/sales-invoice/submit, with the same API key. Our open-source repo has ready scripts to start from.
13 tools on your own ERPNext account. Agents call them as operations of the MCP tools erpnext_read and erpnext_write; scripts call each one at its own REST endpoint, with the same inputs and answers.
| Tool | What it does | Access |
|---|---|---|
| list_customers | Customers with type, group and territory, filtered by name. | read |
| list_items | Items you sell, with code, name, group and unit. | read |
| get_stock_balance | Quantity and stock value of one item in one warehouse on a date. | read |
| list_sales_invoices | Sales invoices with status, due date, total and outstanding amount. | read |
| get_sales_invoice | One sales invoice with its lines, taxes, totals and status. | read |
| list_overdue_invoices | Invoices with the Overdue status, oldest due date first, with days overdue. | read |
| list_payment_entries | Payment entries with party, amount, date, reference and state. | read |
| create_customer | Creates a customer with type, group and territory. | write |
| create_sales_invoice | Saves a draft sales invoice with item lines, dates and a tax template. | write |
| submit_sales_invoice | Submits a draft sales invoice so it posts to the ledger. | writeasks first |
| create_payment_entry | Saves a draft Receive payment entry allocated to one or more invoices. | writeasks first |
| submit_payment_entry | Submits a draft payment entry so it posts to the General Ledger. | writeasks first |
| cancel_sales_invoice | Cancels a submitted sales invoice and reverses its ledger entries. | writeasks first |
Scroll the table for all 13 tools.
You sign in yourself in your own Cloud Browser, we never save your password, and anything that reaches your readers waits for your OK. The browser profile is encrypted in the EU. Independent scanners grade cotlet.dev A+.
One price for both: a tool call costs the same over MCP or REST. Free 7-day trial with 2,000 credits, no card needed. Then one-time credit packs, no subscription, valid 12 months. Most calls use 25 credits, and your Cloud Browser uses 50 credits a day while ERPNext is enabled for agents, so 20 calls a day come to 550 credits.
| Credits | Price, one time | Calls at 25 credits | Per 1,000 credits |
|---|---|---|---|
| 5,000 | $29 | 200 | $5.80 |
| 15,000 | $79 | 600 | $5.27 |
| 32,000 | $149 | 1,280 | $4.66 |
| 60,000 | $249 | 2,400 | $4.15 |
Only successful calls use credits; failed calls and timeouts cost nothing. At a balance of 0 calls pause, never a surprise charge. Authenticate with the Authorization: Bearer header.
Yes. ERPNext has a full REST API (checked 14 Oct 2026): any record, including customers, sales invoices and payment entries, can be listed, created, updated and deleted, and whitelisted methods can be called. It has no official MCP server, and every site needs its own URL plus an API key and secret, a session login or an OAuth token before a script can call it.
Sign up free, open ERPNext under Integrations in the console and press Request access. Your free trial starts with your account, no card needed.
No, only the way in. Cotlet builds each integration as a REST API and puts an MCP server on top, so both have the same 13 tools, the same inputs and answers, one API key and one price. AI agents such as Claude, ChatGPT or Cursor use MCP; scripts, cron jobs and HTTP steps in n8n, Make or Zapier use the REST API.
Your own Chrome that Cotlet runs for you in the EU, around the clock. You open it from the console, sign in to ERPNext yourself and press Enable for agents. Your agent's calls go through it, from its IP with its cookies, so ERPNext sees the browser you signed in with. Password saving is off and the profile is stored encrypted with AES-256-GCM.
Not on anything that reaches other people: submit_sales_invoice, create_payment_entry, submit_payment_entry, cancel_sales_invoice wait for your OK by default. You can switch that off per tool for scheduled runs.
No. ERPNext does not let you edit submitted or cancelled documents. Your agent cancels the invoice with cancel_sales_invoice and creates a new draft, after you have handled linked payments, returns and stock transactions as the Sales Invoice guide says.
Only what that user can do. ERPNext checks the roles of the signed-in user, for the official API and for the browser alike, so a user who may create drafts but not submit gets an error from submit_sales_invoice. Sign in as the user whose rights you want the agent to have.
Pick one if you want the code on your own computer and do not mind the upkeep: you install it, sign it in and fix it when ERPNext changes. Pick Cotlet if you want it hosted and kept working for you.
Yes. Add https://cotlet.dev/mcp/v1 in n8n's MCP Client node, or call the REST endpoints from an HTTP step in Make or Zapier.
Cotlet is run by Take Group, a Polish software company working since 2019. Take Group runs about 3,200 websites on its own systems and has its own DevOps team for infrastructure security. We built and used integrations like this inside the company for years before opening them as Cotlet.
No. Cotlet is independent and not affiliated with ERPNext.
Free 7-day trial with 2,000 credits, no card needed.
May we use Google Analytics to see which pages help people? It sets cookies only if you accept. No ads, and we never sell data. Cookie policy