How to Build Fortnox Integration With API.1

Fortnox is Sweden’s leading accounting platform, used by thousands of businesses every day. If you’re working on a fintech, SaaS, or banking solution, integrating with Fortnox isn’t a matter of if -it’s a matter of when. In this post, we’ll look at how you can streamline that process using the API.1.

This tutorial walks you through the full flow, from creating an account, to setting up an API key, to retrieving customer accounting data in a unified schema across different accounting systems.

1. Create an Account

  1. Go to https://clients.zwapgrid.com/ and register.
  2. Fill in the required details on the Get Started page.

Once your account is created, you’re ready to generate your first API key.

Note:

  • By default, new accounts start in trial mode. You will receive data from a test accounting system that mirrors the production schema. This allows you to build your integration once and use it across any supported accounting system.
  • To access live customer data, you can upgrade your plan at any time.
  • For this tutorial, we’ll use a production account, but the steps are identical when working with a trial account.

2. Create an API Key

  1. Navigate to the API Keys page in the dashboard.
  2. Click Create API Key.
  3. Provide a name, optional description, and expiration date.
  4. Save the generated token in a secure place  it will only be shown once.

You’re now ready to start using API.1.

3. Create a Consent

A consent represents the secure connection between you and your customer.When a customer grants consent, you gain access to their accounting data through the API.

To create a consent make this http request

curl -X POST "https://apione.zwapgrid.com/api/v1/consents" \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "correlation-id: YOUR_CORRELATION_ID" \
  -d '{"name": "consent name"}'

Put your API key that your previously created in x-api-key header. In the response headers, your will find the ID of the consent in location header, something like this

https://apione.zwapgrid.com/consents/api/v1/consents/df94ad33-12e7-4e72-96ce-8c645e00f15f

Where df94ad33-12e7-4e72-96ce-8c645e00f15f is the consent ID. Your will need the ID from the next step

4. Generate a One-Time Code (OTC)

A one-time code allows your customer to complete onboarding.

  • It can only be used once.
  • If the customer logs out or fails to complete onboarding, you can generate a new code.

Create a one time code by sending this http request

curl -X POST "https://apione.zwapgrid.com/api/v1/consents/<consentId>/otc" \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "correlation-id: YOUR_CORRELATION_ID"

Note that the consent ID is used in the request url

Now you can use the consent ID and the OTC to create a customer onboarding link:

https://onboarding.zwapgrid.com/consent/<consentId>otc=<otc>/fortnox

  • Adding /fortnox at the end directs the customer straight to Fortnox login.
  • If omitted, the customer can choose from all available accounting systems.
  • Your customer’s onboarding flow is simple:

    1. Click Connect.
    2. Log in to Fortnox (or another system).
    3. Done. The consent is now active and linked to their account.

    5. Retrieve Customer Data

    Once the consent is established, you can query the API for unified accounting data.

    Example: Get sales invoices

    curl 'https://apione.zwapgrid.com/accounting/api/v1/consents/<consentId>/salesinvoices' \
      --header 'x-correlation-id: <your-correlation-id>' \
      --header 'x-api-key: <your-secret-token>'

    The response will return the customer’s sales invoices. Here we are using Postman to send the request

    To fetch invoices (or other entities) from another accounting system, simply onboard the customer to that system — the API schema remains the same.

    See the full list of available entities here: Accounting API Reference.

    Conclusion

    Integrating Fortnox with your application doesn’t have to be complicated. By using the Zwapgrid API, you can handle authentication, consent, and data retrieval in a consistent way across multiple accounting platforms - not just Fortnox. This means you only build once, and your product is ready to scale to new systems without reinventing the wheel.

    Whether you’re building a fintech app, a SaaS platform, or a banking solution, this unified approach saves time, reduces integration complexity, and makes your product more adaptable to customer needs.

    If you’re ready to move beyond experiments and test data, upgrading to a production plan will let you start working with real customer data today.

    Get Started

    👉 Create an account and start with Fortnox today, and swap to other systems in minutes.

    Hamada Aljarrah
    Software Engineer At Zwapgrid
    September 9, 2025

    Want to learn more?

    Book a meeting or request a demo to discover how our API can revolutionize the way you access accounting data.

    Join us