Fortnox logo Fortnox automation · runs daily

Register Fortnox customer payments automatically

Money lands in the bank account, and someone has to find each invoice in Fortnox, type the amount and the payment date, and register it, one invoice at a time.

Cotlet does it in your own Fortnox account with list_invoices, get_invoice and register_payment, 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 matches payments by itself when a bank connection is set up, and invoices sent with Fakturaservice are marked paid when the money arrives (checked 14 Oct 2026). The API has an Invoice Payments resource under the payment scope. What neither does is read a payment list from your own system, such as a payment processor export, and register it against invoices with the rows that fail to match reported back.

How you do it in Fortnox today

  1. With a bank connection and bookkeeping in Fortnox, incoming payments are matched to the right invoice and booked automatically; rows that do not match by themselves have to be matched manually.
  2. For one invoice in the older view, open it, click Hantera and then Registrera inbetalning; in the new view the same function is under Fler alternativ.
  3. For many, go to Meny - Fakturering - Inbetalningar, fill in the payment date in Betaldatum, search the invoice in the Faktura field by customer number, customer name, invoice number or OCR number, type the amount in Betalt SEK and click Lägg till.
  4. For a partial payment, enter only the amount that arrived, and add the invoice again for the next payment.
  5. Finally book the payments from the list.

How to register Fortnox customer payments automatically

Prompt

Here are yesterday's incoming payments. Find the matching unpaid invoice in Fortnox by invoice number or OCR, register the payment, and list anything that does not match.
  1. 01

    Collect open invoices

    list_invoices runs with status unpaid and, when your list names a customer, that customer number, so the agent only compares payments with invoices that are still open.

  2. 02

    Match by reference, then by amount

    A payment is matched on invoice number or OCR number first. Only if there is no reference does the agent match on customer plus exact amount, and only when exactly one open invoice fits.

  3. 03

    Read the invoice before paying it

    get_invoice shows the remaining amount, so a short payment is registered as a partial payment instead of closing the invoice, and an overpayment is not registered at all.

  4. 04

    Register the payment

    register_payment records the amount and the payment date you gave, not today's date, so the books match the bank statement. Each call asks for your OK by default.

  5. 05

    Leave the rest for you

    Payments with no match, two possible matches or an amount above the open balance are listed with the reason, never forced onto an invoice.

What you get back

Example data

Payments in the list: 9
Registered 7, e.g. invoice 2377 Nordlys Design AB: 15,000 SEK, now fully paid
Partial: 1 (invoice 2379, 5,000 of 12,500 SEK, 7,500 SEK left)
Left for you 1: 3,200 SEK from "Berg AB" matches two open invoices

Other ways to ask

  • Every morning, register payments from the bank export in this folder and show me what did not match.
  • Only match payments by OCR number and list everything else without registering it.
  • List invoices that were paid late last month with the days late, but register nothing.

What Fortnox allows, and what to know first

  • Fortnox registers a payment with a payment date you choose, which is the date it is booked against.
  • A partial payment keeps the invoice open for the next payment: enter only the amount that arrived.
  • Invoices sent with Fakturaservice are marked as paid in Fortnox when the money has arrived, so they need no manual registration.
  • With a bank file, a row that is not matched automatically has to be matched by hand.
  • The API's payment scope covers Invoice Payments and needs a Fortnox licence for Bokföring, Order or Kundfaktura.

register_payment asks for your OK by default. To run it daily without you, switch confirmation off for that tool in your dashboard.

Sources: Fortnox Support: Manuell registrering av betalningar · Fortnox Support: Registrera betalda kundfakturor · Fortnox Support: Skicka fakturan med Fakturaservice · Fortnox Developer: Scopes

Call register_payment from a script

curl

curl -X POST https://cotlet.dev/api/v1/fortnox/invoices/2377/payments \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"amount":15000,"payment_date":"2026-10-13"}'

Example response

{
  "invoice_number": "2377",
  "paid_amount": 15000,
  "payment_date": "2026-10-13",
  "balance": 0,
  "status": "fully paid",
  "currency": "SEK"
}

MCP: add https://cotlet.dev/mcp/v1 with the same key; the call is fortnox_write → register_payment. Example data.

Schedule it in n8n, Make, Zapier or cron

Fortnox tools this automation uses

Cotlet Fortnox tools used to register Fortnox customer payments automatically
Tool Parameters
list_invoices status, customer_number, due_before, limit, cursor
get_invoice invoice_number
register_payment invoice_number, amount, payment_date
All 11 Fortnox tools with descriptions

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.