Skip to main content

Introduction

Fortnox is the leading cloud accounting and business software in Sweden and one of the largest in the Nordics, widely used by SMEs and accounting firms. The Chift Fortnox connector exposes Fortnox’s bookkeeping features through Chift’s unified Accounting API (journals, chart of accounts, ledger/bank accounts, journal & financial entries).
Production optionsAs an integrator (Chift’s client), you first create your own Fortnox developer account and Fortnox app (Client ID / Client Secret). Developing and testing is free.To move to production, you must choose between two options:

Private App

Can be used with external production accounts. The application won’t be listed on the Fortnox Marketplace and can only be activated externally (i.e. distributed and activated directly by you for your own customers).No additional requirement — deploy your integration for your own customers.

Public Marketplace App

Listed on the Fortnox Marketplace, making your integration discoverable by all Fortnox users.Requires an App Partner agreement + Fortnox certification of your app. Fortnox operates a revenue-share model on Marketplace apps (partner receives 75%).
For up-to-date pricing and partner conditions, see the Fortnox Developer program.

Configure Fortnox

Prerequisites

  • A Fortnox developer account (fortnox.se/developer).
  • Your own Fortnox app — its Client ID and Client Secret. Developing and testing is free.
  • For production, one of:
    • Private App — no additional requirement.
    • Public Marketplace App — an App Partner agreement and Fortnox certification of your app.

Activation process

Follow these three steps to connect your own Fortnox app to Chift.
1

Register as a Fortnox developer

Before you can make any Fortnox API calls, register as a developer at fortnox.se/developer. This gives you access to the Developer Portal, where you create your integration and receive your Client ID and Client Secret.
Fortnox Developer Portal – OAuth Client ID configuration
See Create a developer account & sandbox below for a step-by-step walkthrough of the registration flow.
2

Create your integration

Once registered, create an integration record. This is where you configure your redirect URI, define your requested scopes, and optionally submit for a Fortnox Marketplace listing.Set the redirect URI to:
Fortnox Developer Portal – Redirect URI and Permissions
The scopes enabled on your Fortnox integration must exactly match the scopes requested in your OAuth app’s authorization flow. Any mismatch will cause the authorization to fail with 2000663: Har inte behörighet för scope. See the Fortnox scopes documentation.
Common scopes for bookkeeping: companyinformation, invoice, supplierinvoice, customer, supplier, bookkeeping, payment, settings, costcenter, project, inbox, connectfile.
Further documentation is coming to explain which scopes to enable depending on your Chift use case.
3

Activate the connector on Chift

In your Chift back office, open the Fortnox connector and toggle activation. You will be prompted to paste your Client ID and Client Secret. End users are then redirected to Fortnox to authorize access via OAuth2.
This walkthrough covers the full Fortnox developer registration flow. The path is the same for Swedish and non-Swedish companies — the only differences are:
  • Companies registered outside Sweden must tick the My company is registered outside of Sweden box on the registration form (step 3), which removes the Swedish organization number field.
  • Users without BankID or Freja eID+ (typically foreign citizens) cannot obtain their Fortnox ID automatically and must call Fortnox support to verify their identity at the end of the flow (step 10).
1

Start the registration

Go to fortnox.se/developer and click Register now.
Fortnox developer landing page with the Register now button
2

Indicate you are not yet a customer

On the “Are you already a Fortnox customer?” screen, click No, I do not have a company in Fortnox.
Fortnox screen asking whether you are already a customer
3

Fill in the developer account form

On the Create a developer account form, keep the Business tab selected. If your company is registered outside Sweden, tick My company is registered outside of Sweden — this removes the Organization number field. Swedish companies leave the box unchecked and fill in their Swedish organization number.Fill in your company name, contact details, and email, confirm the “I am human” check, then click Create account.
Create a developer account form with the outside-Sweden option checked
4

Confirm your email

You land on a Thank you for your registration page asking you to confirm your email address.
Thank you for your registration page prompting email confirmation
5

Click the confirmation link

Open the confirmation email from Fortnox and click the confirmation link.
Fortnox email confirmation message
6

Registration is finalized manually (non-Swedish companies only)

For a company registered outside Sweden, the confirmation page explains that Fortnox support will finalize your registration manually — there is no self-service “create your Fortnox ID” step at this stage. Swedish companies proceed directly to the next step.
Email confirmed page explaining Fortnox support will finalize the registration
7

Expect a manual-handling email (non-Swedish companies only)

Shortly after, non-Swedish companies receive an automated email stating that their order is being handled manually. This is the expected behavior for non-Swedish companies, not an error — no action is required at this point.
Automated email stating the registration is being processed manually
8

Start creating your Fortnox ID

When you receive the activation email, click Activate. You land on Connect … to your Fortnox ID. If you do not already have a Fortnox ID, click Create Fortnox ID › instead of signing in.
Sign-in screen to connect to a Fortnox ID
Create Fortnox ID – verify your identity screen
9

Verify your identity

Fortnox offers two e-identification methods: BankID (requires a Swedish personal identity number) or Freja eID+ (accepts foreign nationals via passport, but needs a separate app). If you have neither, click I cannot use e-identification › and confirm. You can continue, but you will need to contact Fortnox support at the end of the flow to verify your Fortnox ID.
Verify your identity screen with the option to skip e-identification
10

Enter your personal information

Set a password (12+ characters) and choose your Fortnox UI language, then continue.
Personal information step with password and language fields
11

Confirm your email address

Confirm the email address used for your Fortnox ID (you can change it here), then continue.
Contact information – email confirmation step
12

Add your mobile number

Enter a real mobile number — Fortnox sends a one-time SMS verification code valid for 20 minutes. Non-Swedish numbers are supported with the country code (e.g. +32 for Belgium).
Contact information – mobile number step
13

Review the privacy policy

This step is informational — continue.
Privacy policy step
14

Accept the terms of use

Review the Terms of use for Fortnox ID and click Accept.
Terms of use for Fortnox ID step
15

Save your recovery code

Fortnox generates a one-time account-recovery code (used to regain access if you lose your mobile number). Treat it as a sensitive credential — store it in a password manager, never in shared documentation. Check the confirmation box and continue.
Save recovery code step
16

Contact Fortnox support to verify your ID

This step appears only if you skipped e-identification. Call Fortnox support at 0470-78 50 00 and ask them to verify your Fortnox ID.
Without BankID or Freja eID+, this step cannot be completed online — verifying your Fortnox ID requires a phone call to Fortnox support. Fortnox acknowledges this gap for foreign citizens in its customer-verification FAQ; there is currently no committed timeline for a self-service alternative.
Contact support step showing the Fortnox support phone number
17

Return to the activation email

Once your Fortnox ID is created and verified, go back to the original activation email and continue from there. This links your new Fortnox ID and finishes the sandbox registration.

Test Fortnox

Create up to 30 test companies from the Test environments tab of the Fortnox Developer Portal. Test companies behave like real Fortnox companies (same rate limits apply), come with the standard BAS chart of accounts and no pre-filled data.

Connect Fortnox

To activate a connection with Fortnox, users will have to go through the following steps:

Rate limits

  • 300 requests / minute per Client ID + tenant (i.e. per access token), enforced via a sliding window of 5 seconds25 requests / 5 s.
  • Exceeding the limit returns HTTP 429 (Too Many Requests); bursts are throttled until the average falls back under the limit.
  • The limit scales per tenant: each connected Fortnox company has its own access token and therefore its own 300 req/min budget.

Technical limitations & specificities

  • Single company currency — SEK. Fortnox accounts have no per-account currency. On a bank account, the currency is informational (surfaced in the account name), not enforced. On entries, a currency ≠ company currency requires an exchange_rate (otherwise ERROR_CURRENCY_NOT_ALLOWED), and amounts are converted to the company currency.
  • Account & journal types are derived, not stored. journal_type and ledger account type are derived from the BAS number ranges / predefined series. A type sent on create is not stored — it’s ignored, or validated for consistency (an account type inconsistent with the number range is rejected).
  • Third-party accounts (customer/supplier/employee) on entries. Fortnox has no native journal ↔ account link and supplier objects carry no dedicated ledger account, so third-party lines must specify force_general_account (otherwise a clear “not supported” error is returned).
  • Format constraints: ledger account number = numeric, 1000–9999; journal (VoucherSeries) code = 1–10 chars, digits / UPPERCASE only.
  • posted is always true for entries — Fortnox posts vouchers immediately (the posted input has no effect).
  • Financial entries (bank/cash operations): items contain only the counterpart line(s) with a signed amount (+ = into the bank, = out); the bank ledger account is passed via the mandatory query param financial_counterpart_account, and the connector adds the balancing bank line (net of the amounts).
  • Chart-of-accounts type filter exposes only 6 of the 10 possible account types (bank, cash, income, expense, other_expense, vat) — receivable, payable, other_financial, other are returned in responses but cannot be filtered.
  • Bank account number range (1920–1999). In the Swedish BAS chart of accounts, the range 1920–1999 is reserved for bank and cash accounts (Kassa och bank). Accounts created via POST /accounting/bank-accounts on the Fortnox connector will be allocated within this range.

Coverage