---
title: Fortnox API Integration on Truto
slug: fortnox
category: Accounting
canonical: "https://truto.one/integrations/detail/fortnox/"
---

# Fortnox API Integration on Truto



**Category:** Accounting  
**Status:** Beta

## MCP-ready AI tools

Truto exposes 13 tools for Fortnox that AI agents can call directly.

- **list_all_fortnox_companyinformation** — Retrieve the Fortnox company information for the connected account. Returns: Address, City, CompanyName, CountryCode, DatabaseNumber, OrganizationNumber, VisitAddress, VisitCity, VisitCountryCode, VisitZipCode, ZipCode. Takes no parameters.
- **list_all_fortnox_me** — Get the Fortnox user information tied to the access token used for the request. Returns a single me record with the user details associated with the used access token.
- **get_single_fortnox_customer_by_id** — Get a single Fortnox customer by its customer number. Returns the full customer record including CustomerNumber, Name, Email, OrganisationNumber, Active, and address details. Required: id (customer number).
- **list_all_fortnox_customers** — List Fortnox customers sorted by customer number, lowest number first. Returns each customer's CustomerNumber, Name, Email, OrganisationNumber, Active, and address details. Filterable by active/inactive status, customernumber, name, city, email, and phone.
- **create_a_fortnox_customer** — Create a customer in Fortnox. Returns the created customer including CustomerNumber, Name, Email, OrganisationNumber, and Active. Requires name.
- **update_a_fortnox_customer_by_id** — Update a Fortnox customer identified by its customer number. Returns the updated customer including CustomerNumber, Name, Email, OrganisationNumber, and Active. Required: id (customer number).
- **get_single_fortnox_article_by_id** — Get a single Fortnox article by its unique article number. Returns the article record with its id (the article number) plus article-specific detail fields. Required: id (article number).
- **list_all_fortnox_articles** — List Fortnox articles, sorted by article number with the lowest number appearing first. Returns a collection of article records, each with its id (the article number) plus article-specific detail fields.
- **get_single_fortnox_supplier_by_id** — Get a single supplier in Fortnox by id. Returns the full supplier object including SupplierNumber, Name, Active, Email, City, CountryCode, and VATNumber. Required: id (the supplier's SupplierNumber).
- **list_all_fortnox_suppliers** — List suppliers in Fortnox. Returns each supplier's SupplierNumber, Name, Active, Email, and City.
- **create_a_fortnox_invoice** — Create an invoice in Fortnox for a customer. Returns the created invoice including InvoiceNumber, CustomerNumber, InvoiceDate, and InvoiceRows. Required: customer_number, invoice_date, invoice_rows.
- **get_single_fortnox_invoice_by_id** — Get a single Fortnox invoice by id (the invoice number). Returns: InvoiceNumber, CustomerNumber, InvoiceDate, InvoiceRows. Required: id.
- **list_all_fortnox_invoices** — List invoices in Fortnox. Returns invoices with InvoiceNumber, CustomerNumber, InvoiceDate, and InvoiceRows on each record.

## How it works

1. **Link your customer's Fortnox account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach Fortnox.** The Proxy API is a 1-to-1 mapping of the Fortnox API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **Automate Quote-to-Cash for Nordic SMBs** — CRM and CPQ platforms selling into Sweden can turn closed-won deals into Fortnox invoices instantly, eliminating manual re-entry between sales and finance teams.
- **Push E-commerce and POS Orders into Accounting** — E-commerce and point-of-sale products can sync daily orders into Fortnox as invoices, mapping SKUs to Fortnox Articles so revenue lands correctly in the books.
- **Bill Field Service Jobs Without Double Entry** — Field service and project management SaaS can convert logged hours and consumed materials into itemized Fortnox invoices the moment a job is marked complete.
- **Categorize Expenses Against the Real Vendor Ledger** — Spend management and AP automation tools can fetch the connected company's Fortnox suppliers so employees categorize expenses against the exact supplier records finance already uses.
- **Serve Accounting Agencies Managing Multiple Clients** — Because most Swedish SMBs are supported by external bookkeepers, verifying the connected legal entity via company information lets your product safely route data to the correct client tenant.

## What you can build

- **One-click customer creation from your app** — Detect whether a customer already exists in Fortnox by listing customers, and either create a new record or update the existing one with fresh billing details.
- **Automated invoice generation from deals, orders, or jobs** — Build multi-line Fortnox invoices programmatically, populating InvoiceRows with quantities, descriptions, and prices tied to your users' workflows.
- **Article-aware line item mapping** — Let users map their internal products or services to Fortnox Articles so every invoice line references the correct SKU and revenue account.
- **Supplier picker for expense categorization** — Surface the connected company's Fortnox supplier list inside your UI so employees or AP workflows tag expenses against real SupplierNumbers.
- **Multi-entity tenant verification** — Use Fortnox company information to display the connected OrganizationNumber and DatabaseNumber, so accountants managing multiple clients always know which entity they're syncing to.
- **Invoice status lookups and receipts in-app** — Fetch a specific invoice by ID to display its status, number, and details inside your product so users don't have to switch to Fortnox to confirm a push succeeded.

## FAQs

### How does authentication with Fortnox work through Truto?

Truto handles the full Fortnox OAuth flow, including token exchange and refresh. Your end users connect their Fortnox account through a Truto-managed link, and you make API calls without ever touching credentials or refresh tokens.

### Can I support customers who use external bookkeepers managing multiple companies?

Yes. Each Fortnox connection corresponds to a single company tenant. You can call list_all_fortnox_companyinformation to confirm the OrganizationNumber and DatabaseNumber of the connected entity, which is essential when an accountant manages several client companies.

### What Fortnox resources are supported today?

The current inventory covers Customers (list, get, create, update), Articles (list, get), Suppliers (list, get), Invoices (list, get, create), the authenticated user (me), and company information. If you need additional resources like vouchers, orders, or supplier invoices, Truto can add them on request.

### How do I keep customer data in sync between my app and Fortnox?

Use list_all_fortnox_customers to detect existing records, create_a_fortnox_customer for new ones, and update_a_fortnox_customer_by_id to keep billing details current. Truto normalizes pagination so you can iterate the full customer list reliably.

### How does invoice creation handle line items and product mapping?

create_a_fortnox_invoice accepts InvoiceRows where each row can reference an existing Fortnox Article. Use list_all_fortnox_articles or get_single_fortnox_article_by_id to resolve the correct ArticleNumber before building the payload so invoices post cleanly into the ledger.

### How does Truto handle Fortnox rate limits and API quirks?

Truto abstracts Fortnox's per-token rate limits, request retries, and response normalization. You get consistent JSON responses and standardized error handling, so you don't have to build custom backoff or parsing logic for Fortnox specifically.

## Related reading

- [Connect Fortnox to ChatGPT: Manage Invoicing and Customer Data](https://truto.one/blog/connect-fortnox-to-chatgpt-manage-invoicing-and-customer-data/) — Learn how to connect Fortnox to ChatGPT using an auto-generated MCP server to automate invoicing, customer management, and ERP workflows.
- [Connect Fortnox to Claude: Track Suppliers, Sales and Inventory](https://truto.one/blog/connect-fortnox-to-claude-track-suppliers-sales-and-inventory/) — Learn how to connect Fortnox to claude using Truto. Step-by-step guide to tool calling, API quirks, and autonomous workflows.
- [Connect Fortnox to AI Agents: Automate Billing and ERP Tasks](https://truto.one/blog/connect-fortnox-to-ai-agents-automate-billing-and-erp-tasks/) — A complete engineering guide to connecting Fortnox to AI agents. Learn how to fetch AI-ready tools, handle financial API quirks, and build autonomous workflows.
