[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)

# Create and send Fortnox invoices from a list

> Create Fortnox invoices from a billing list, book them and send them by email, adding missing customers. Runs from Claude Code, n8n or a script.

Source: https://cotlet.dev/integrations/fortnox-api-mcp-server/create-and-send-invoices

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.

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

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

1. 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.
2. 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.
3. Click Spara to keep the invoice editable, or Bokför, after which the invoice can no longer be changed.
4. Under Faktureringssätt pick how it goes out (for example Fakturaservice or Utan Fakturatjänster), then click Skicka; Fortnox marks the invoice as printed.
5. 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

Prompt

```
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.
```

1. 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.
2. 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.
3. 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.
4. 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.
5. 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

Example data

```
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](https://support.fortnox.se/produkthjalp/fakturering/skapa-faktura-kundfaktura) · [Fortnox Support: Kom igång med e-faktura](https://support.fortnox.se/produkthjalp/fakturering/kom-igang-med-e-faktura) · [Fortnox Fakturering](https://www.fortnox.se/program/fortnox-fakturering/) · [Fortnox Developer: Scopes](https://www.fortnox.se/developer/guides-and-good-to-know/scopes)

## Call create\_invoice from a script

curl

```
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}]}'
```

Example response

```
{
"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 cron](https://cotlet.dev/integrations/fortnox-api-mcp-server.md#automations)

## Fortnox tools this automation uses

__Cotlet Fortnox tools used to create and send Fortnox invoices from a list__
| 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 |

[All 11 Fortnox tools with descriptions](https://cotlet.dev/integrations/fortnox-api-mcp-server.md#tools)

## 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.

## More Fortnox automations

- [Register Fortnox customer payments automatically](https://cotlet.dev/integrations/fortnox-api-mcp-server/register-invoice-payments.md)
- [Book recurring Fortnox journal entries as vouchers](https://cotlet.dev/integrations/fortnox-api-mcp-server/book-journal-entries.md)
- [Fortnox API and MCP server: every tool](https://cotlet.dev/integrations/fortnox-api-mcp-server.md)
- [All use cases](https://cotlet.dev/use-cases.md)

## 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.

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

---

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.
