Fortnox automation
Create and send Fortnox invoices from a list
Your billing list sits in a sheet or a time tracker, and at month end someone retypes each line into Fortnox, picks the customer, checks the dates, books the invoice and sends it.
Cotlet does it in your own Fortnox account with list_customers, create_customer, create_invoice, bookkeep_invoice and send_invoice, called by your AI agent, an n8n workflow or a script.
Hosted · nothing to install or maintain
Can Fortnox do this on its own?
Fortnox has a public API for customers and invoices (checked 14 Oct 2026), and its Fortnox Fakturering product creates, books and sends recurring invoices automatically at a chosen interval. That fits fixed amounts every period. It does not read a list with different hours or amounts each month, and the API needs a registered integration and the right licence before a script can use it.
How you do it in Fortnox today
- Open Meny - Fakturering and click Skapa faktura at the top right, then pick the customer; Fortnox fills in the customer details from the customer register.
- Check invoice date and due date under the invoice details, add each line by article number or name with quantity, unit price and any discount, and click Förhandsgranska to see the PDF.
- Click Spara to keep the invoice editable, or Bokför, after which the invoice can no longer be changed.
- Under Faktureringssätt pick how it goes out (for example Fakturaservice or Utan Fakturatjänster), then click Skicka; Fortnox marks the invoice as printed.
- Repeat for every customer, and check the Misslyckade filter in the invoice list for sends that failed, for example because of an invalid email address.
How to create and send Fortnox invoices from a list
Here is this month's billing list. For each customer, create the invoice in Fortnox with the hours and rate I gave, book it, and send it by email. Create customers that do not exist yet. - 01
Match each line to a customer
Your agent calls list_customers for every name in the list and matches on customer number or exact name. A name with no match is not guessed: it is created with create_customer only when the list holds enough details, otherwise it goes on the "needs you" list.
- 02
Save the invoice first
create_invoice saves the invoice with the dates and lines you gave. A saved Fortnox invoice can still be changed, so the agent re-reads the totals against your list before anything is final.
- 03
Book only what matches
bookkeep_invoice runs for invoices whose total equals the list. A booked invoice can no longer be adjusted in Fortnox, so a mismatch stays saved and is reported.
- 04
Send by the customer's delivery method
send_invoice uses the method you named, email by default. E-invoice only works when it has been activated in Fortnox settings, so the agent falls back to email and says so.
- 05
Report failures
After the run the agent lists invoices with failed delivery, so a wrong email address is fixed the same day. Each write waits for your OK by default until you switch confirmation off.
What you get back
Billing list: 6 customers
Created and booked 5 invoices, e.g. 2381 Nordlys Design AB: 15,000 SEK
New customer created: 1 (Fjord Studio AB)
Sent by email: 5
Left for you 1: Bergman Konsult has no email on file Other ways to ask
- Create the invoices from this CSV but do not book or send them; I will check them in Fortnox first.
- Every month on the 1st, invoice each customer in the list for the retainer and send by e-invoice where that is set.
- Create an invoice for each paid order in this export and book it.
- Bill last week's tracked hours per customer and show me the totals before saving anything.
What Fortnox allows, and what to know first
- Fortnox lets you save an invoice and edit it later, but a booked invoice cannot be adjusted any more.
- Fortnox marks invoice number, OCR number and voucher number with a star while they are preliminary, until the invoice is saved or booked.
- Fortnox offers four invoicing methods, Utan Fakturatjänster, Fakturaservice, Flexibel Fakturaservice and Sälj fakturor, and Fakturaservice sends the invoice with automatic reminders.
- E-invoice must first be activated under Inställningar - Fakturering - Digitalt flöde - e-faktura before an invoice can go out that way.
- Failed deliveries, such as an invalid email address, show up in the invoice list under the Misslyckade filter.
create_invoice, bookkeep_invoice and send_invoice ask for your OK by default. To run it on a schedule without you, switch confirmation off for those tools in your dashboard.
Sources: Fortnox Support: Skapa faktura - kundfaktura · Fortnox Support: Kom igång med e-faktura · Fortnox Fakturering · Fortnox Developer: Scopes
Call create_invoice from a script
curl -X POST https://cotlet.dev/api/v1/fortnox/customers/1042/invoices \
-H "Authorization: Bearer $COTLET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"invoice_date":"2026-10-14","due_date":"2026-11-13","rows":[{"description":"Consulting, October","quantity":10,"unit_price":1200}]}' {
"invoice_number": "2381",
"customer_number": "1042",
"customer": "Nordlys Design AB",
"state": "saved",
"sent": false,
"invoice_date": "2026-10-14",
"due_date": "2026-11-13",
"net": 12000,
"vat": 3000,
"total": 15000,
"currency": "SEK"
} MCP: add https://cotlet.dev/mcp/v1 with the same key; the call is fortnox_write → create_invoice. Example data.
Schedule it in n8n, Make, Zapier or cronFortnox tools this automation uses
| Tool | Parameters |
|---|---|
| list_customers | search, limit, cursor |
| create_customer | name, email, organisation_number, delivery_method |
| create_invoice | customer_number, invoice_date, due_date, rows, comments |
| bookkeep_invoice | invoice_number |
| send_invoice | invoice_number, method |
Frequently asked questions
Is it safe to connect Fortnox to Cotlet?
Yes. You sign in to Fortnox yourself, in your own Cloud Browser in the EU, and we never save your password. Your agents only get Fortnox 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 Fortnox.
Free 7-day trial with 2,000 credits, no card needed. Cotlet is independent and not affiliated with Fortnox.