Skip to content

Accounting · Beta

Fortnox
API integration

Ship Accounting features without building the integration. Full Fortnox API access via Proxy and 10+ MCP-ready tools for AI agents — extend models and mappings to fit your product.

Built for specific customer use cases. Issues are resolved quickly.

Talk to us
Fortnox

Use Cases

Why integrate with Fortnox

Common scenarios for SaaS companies building Fortnox integrations for their customers.

01

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.

02

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.

03

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.

04

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.

05

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

Ship these features with Truto + Fortnox

Concrete product features your team can ship faster by leveraging Truto’s Fortnox integration instead of building from scratch.

01

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.

02

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.

03

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.

04

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.

05

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.

06

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.

SuperAI

Fortnox AI agent tools

Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.

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.

Why Truto

Why use Truto’s MCP server for Fortnox

Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 750+ integrations.

01

Auto-generated, always up to date

Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.

02

Fine-grained access control

Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.

03

Multi-tenant by design

Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.

04

Works with every MCP client

Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.

05

Built-in auth, rate limits, and error handling

Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.

06

Expiring and auditable servers

Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.

How It Works

From zero to integrated

Go live with Fortnox in under an hour. No boilerplate, no maintenance burden.

01

Link your customer’s Fortnox account

Use Truto’s frontend SDK to connect your customer’s Fortnox account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.

02

We handle authentication

Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.

03

Call our API, we call Fortnox

Truto’s Proxy API is a 1-to-1 mapping of the Fortnox API. You call us, we call Fortnox, and pass the response back in the same cycle.

04

Unified response format

Every response follows a single format across all integrations. We translate Fortnox’s pagination into unified cursor-based pagination. Data is always in the result attribute.

FAQs

Common questions about Fortnox on Truto

Authentication, rate limits, data freshness, and everything else you need to know before you integrate.

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.

Fortnox

Get Fortnox integrated into your app

Our team understands what it takes to make a Fortnox integration successful. A short, crisp 30 minute call with folks who understand the problem.