e-conomic automation
Create e-conomic draft invoices from a billing list
At month end you have a spreadsheet with a customer, hours and a rate per row, and every row has to become an invoice that carries the right customer, payment terms and layout.
Cotlet does it in your own e-conomic account with list_customers, create_customer, list_products and create_draft_invoice, called by your AI agent, an n8n workflow or a script.
Hosted · nothing to install or maintain
Can e-conomic do this on its own?
e-conomic offers this through the REST API only (checked 14 Oct 2026). POST /invoices/drafts needs currency, customer, date, layout, payment terms and recipient, and creates a draft without booking it. The API needs a registered app and a grant token per agreement, and there is no MCP server, so an agent cannot do it today without custom code.
How you do it in e-conomic today
- In e-conomic an invoice starts as a draft: you pick the customer, set the date, currency and payment terms, and add product lines.
- The draft stays editable until it is booked, and a booked invoice can no longer be edited.
- A customer that is not in the register yet has to be created first, with currency, customer group, payment terms and VAT zone filled in.
- The same fields are typed again for every row of the list, which is where a wrong payment term or a missed customer slips in.
How to create e-conomic draft invoices from a billing list
Here is this month's billing list. For each customer, create a draft invoice in e-conomic with the hours and rate I gave. Create customers that do not exist yet. Do not book anything. - 01
Match each row to a customer
The agent reads the customer register once and matches your rows by name or VAT number. A row with no match is listed for you, and create_customer runs only after you agree to the new customer.
- 02
Take terms from the customer
Currency, payment terms and VAT zone come from the customer record, so every draft for the same customer carries the same terms. The agent flags a row whose currency differs from the customer's.
- 03
Map hours to a product line
The agent finds the product that fits your description in list_products and uses its number. If nothing fits, it writes a free-text line and says so in the report.
- 04
Create drafts, never book
create_draft_invoice runs once per customer with all lines in one draft. Drafts stay editable, so this step needs no OK from you.
- 05
Check the totals
The agent adds up your list and compares it with the draft totals. A difference is reported before you open e-conomic.
What you get back
Rows in the list: 4, customers: 4
Drafts created: 3 (Nordlys ApS 118, Havn Design 119, Fjord Studio 120)
New customer needed: 1 (Birk & Co, not in the register, waiting for your OK)
Total net of drafts: DKK 3,450.00, matches the list Other ways to ask
- Create drafts from the timesheet export I paste, one draft per client, with one line per project.
- Every first of the month, copy last month's draft lines for my retainer clients into new drafts dated today.
- List the drafts from this list that have no product number on a line, but do not change them.
What e-conomic allows, and what to know first
- POST /invoices/drafts requires currency, customer, date, layout, payment terms and a recipient with name and VAT zone.
- A customer needs currency, customer group, name, payment terms and VAT zone to be created, and gets the next customer number if you give none.
- A draft invoice is editable, and e-conomic documents that a booked invoice cannot be edited any more.
- The API can return a draft template based on an existing customer, and line templates built from products.
create_customer and create_draft_invoice change only your own e-conomic data and reach no one else, so they run without asking first.
Sources: e-conomic REST API documentation · e-conomic TechTalk: new functionality in invoices · e-conomic Developer: Connect to the REST API
Call create_draft_invoice from a script
curl -X POST https://cotlet.dev/api/v1/e-conomic/customers/14/draft-invoices \
-H "Authorization: Bearer $COTLET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"date":"2026-10-31","currency":"DKK","payment_terms_number":2,"layout_number":1,"lines":[{"description":"Consulting, October","quantity":10,"unit_price":95},{"description":"Workshop day","quantity":1,"unit_price":250}]}' {
"draft_invoice_number": 118,
"customer_number": 14,
"date": "2026-10-31",
"currency": "DKK",
"lines": 2,
"total_net": 1200,
"total_vat": 300,
"total_gross": 1500,
"booked": false
} MCP: add https://cotlet.dev/mcp/v1 with the same key; the call is e_conomic_write → create_draft_invoice. Example data.
Schedule it in n8n, Make, Zapier or crone-conomic tools this automation uses
| Tool | Parameters |
|---|---|
| list_customers | name, limit, cursor |
| create_customer | name, currency, customer_group_number, payment_terms_number, vat_zone_number, email, customer_number |
| list_products | name, limit, cursor |
| create_draft_invoice | customer_number, date, currency, payment_terms_number, layout_number, lines |
Frequently asked questions
Is it safe to connect e-conomic to Cotlet?
Yes. You sign in to e-conomic yourself, in your own Cloud Browser in the EU, and we never save your password. Your agents only get e-conomic 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 e-conomic.
Free 7-day trial with 2,000 credits, no card needed. Cotlet is independent and not affiliated with e-conomic.