Fortnox
Shopify

Fortnox + Shopify

Integrationsdokumentation och guider

Getting Started · 4How It Works · 7Features · 24Configuration · 14Limitations · 9Troubleshooting · 5FAQ · 10

Getting Started

4

Getting Started

Start with credentials, setup steps, and the key guides for this pair.

Fortnox

oauth2 · Obegränsad, så länge åtkomsten inte återkallas eller användaren ändras

5 minuter
  1. 1

    Skapa eller välj integrationsanvändaren

    Öppna Fortnox användaradministration och skapa eller välj den användare som ska användas för Junipeer-anslutningen.

  2. 2

    Lägg till nödvändiga licenser

    Säkerställ att användaren har licenser för Ordrar, Fakturor, Bokföring och Integration.

  3. 3

    Aktivera nödvändiga behörigheter

    Tilldela licenserna till användaren och slå på alla behörigheter som integrationen behöver.

  4. 4

    Anslut Fortnox i Junipeer

    I Junipeer klickar du på Fortnox-anslutningen, loggar in med den förberedda användaren och godkänner åtkomsten.

Screenshots

Swipe to browse screenshots

Shopify

api_key · Aldrig, om inte appen tas bort eller hemligheten roteras

10 minuter
  1. 1

    Hitta MyShopify-domänen

    Öppna Shopify Admin, gå till Inställningar → Domäner och kopiera adressen dinbutik.myshopify.com.

  2. 2

    Aktivera apputveckling

    Gå till Inställningar → Appar, öppna Develop apps och fortsätt till Build apps in Dev Dashboard.

  3. 3

    Skapa Junipeer-appen

    Skapa en ny app, ge den exempelvis namnet Junipeer, sätt App URL till https://app.junipeer.io och aktivera Embed app in Shopify admin.

  4. 4

    Lägg till nödvändiga scopes

    Klistra in de nödvändiga API-scopes (läs/skriv för ordrar, produkter, kunder, lager, leveranser, betalningar). Se den fullständiga Shopify Setup-guiden för den exakta scope-listan.

  5. 5

    Publicera och installera appen

    Publicera appen, installera den på rätt butik och bekräfta installationen.

  6. 6

    Kopiera uppgifterna

    Öppna Settings inne i appen och kopiera Client ID och Client Secret till Junipeer.

Screenshots

Swipe to browse screenshots

How It Works

7

How It Works

Use sync patterns and architecture notes to understand ownership and flow.

orders

EnvägsReal-time (webhook)

Orders are synced from Shopify to Fortnox when created/captured. Junipeer creates an Order in Fortnox, and an Invoice when the order is captured in Shopify.

Orders can be updated and resynced. However, once an Invoice is created in Fortnox (at capture), the invoice CANNOT be modified. This is the #1 source of customer confusion.

products

TvåvägsEvery 5 minutes

Products can be synced in either direction. Typically ERP→Shopify for price/stock updates, or Shopify→Fortnox for new product creation.

Product numbers in Fortnox have strict character rules: only letters, numbers, _ - / \ + $. No spaces.

inventory

OmvändEvery 5-15 minutes

Stock levels from Fortnox are pushed to Shopify to keep inventory accurate across channels.

If Fortnox Warehouse Module is active and stock is 0, delivered quantity will be forced to 0 by Fortnox API.

customers

EnvägsWith order sync

Customer records are created in Fortnox when their first order is synced. Subsequent orders link to the existing customer.

Customer name cannot be empty. Orders without billing address will fail with error 2000637.

refunds

EnvägsReal-time

When a refund is issued in Shopify, a Credit Invoice is created in Fortnox and linked to the original invoice.

CRITICAL: Fortnox supports only 1 credit invoice per invoice. A second refund on the same order will fail silently. This must be handled manually.

shipping methods

EnvägsWith order sync

Shipping methods from Shopify orders are mapped to Fortnox delivery methods via the shipping method mapping configuration.

If a shipping method mapping is overridden by a default setting, the specific mapping may not apply (see JUN-1388).

payouts

EnvägsDaily (recommended 23:00)

Payment provider settlement reports are matched to invoices in Fortnox. Write-offs are created for provider fees.

Requires separate payment provider connector (Shopify Payments built-in, Svea/Klarna/Adyen require additional subscription).

Features

24

Features

Check what is supported, partial, or planned before changing your setup.

bookkeeping

OSS (EU One-Stop-Shop)

Per-country sales account mapping for cross-border B2C sales.

✓ Stöds

VOEC (Norway)

Norwegian VAT on e-commerce supported via account mapping.

✓ Stöds

VAT rate mapping

Multiple VAT rates per country supported. Must be configured in Fortnox.

✓ Stöds

configuration

Custom mapper / rule builder

Advanced field mapping and business rules via the rule builder.

✓ Stöds

Shipping method mapping

Map Shopify shipping methods to Fortnox delivery methods.

✓ Stöds

Payment method mapping

Map Shopify payment methods to Fortnox payment terms.

✓ Stöds

inventory

Stock level sync

Inventory quantities synced from Fortnox to Shopify.

✓ Stöds

Multi-location inventory

Supported for basic scenarios. Complex multi-warehouse may need custom config.

~ Delvis

orders

Order sync (Shopify→Fortnox)

Orders created in Shopify are automatically synced to Fortnox as Orders + Invoices.

✓ Stöds

Invoice creation on capture

Invoice is created when payment is captured in Shopify.

✓ Stöds

Order updates & resync

Orders can be updated and resynced. However, once an invoice is created/booked in Fortnox, the invoice cannot be modified.

✓ Stöds

B2B order handling

B2B orders detected via company name or VAT/org number. Do NOT use Shopify tags for B2B detection.

✓ Stöds

Multi-currency orders

Orders in any currency are supported. Currency must be configured in Fortnox first.

✓ Stöds

Historical order backfill

Past orders can be synced using order IDs or date ranges via Export Many.

✓ Stöds

payments

Shopify Payments reconciliation

Built into the Shopify connector. No additional subscription needed.

✓ Stöds

Klarna reconciliation

Requires separate Klarna connector subscription.

✓ Stöds

Adyen reconciliation

Requires separate Adyen connector + webhook setup.

✓ Stöds

Svea reconciliation

Requires separate Svea connector subscription.

✓ Stöds

products

Product sync (bidirectional)

Products can be synced Shopify→Fortnox or Fortnox→Shopify.

✓ Stöds

Price sync

Product prices synced between systems.

✓ Stöds

Product creation

New products auto-created in target system.

✓ Stöds

refunds

Single refund per order

First refund creates a credit invoice linked to the original.

✓ Stöds

Multiple refunds per order

Fortnox only supports 1 credit invoice per invoice. Second refund fails.

✗ Stöds inte

Partial refunds

Partial refund amounts are supported on the first refund.

✓ Stöds

Configuration

14

Configuration

Use the structured settings reference to validate each sync group.

inventory

set_out_of_stockboolean

Set out of stock when 0

Mark product as out of stock in Shopify when Fortnox stock reaches 0.

Standard: true

Set to false if you use backorders in Shopify.

orders

sales_account_mappingjson

Sales account mapping (OSS)

Map EU countries to specific sales accounts for OSS compliance. Use 3000-series accounts.

Standard: {}

Do NOT use 2000-series (VAT) accounts. Use 3000-series (sales) accounts.

shopify_order_statusesstring

Shopify order statuses to sync

Filter which order statuses to import. Leave empty for all orders.

Setting specific statuses may exclude valid orders if your payment provider uses non-standard status flows.

order_prefixstring

Order number prefix

Prefix added to order numbers in Fortnox (e.g. "SH-")

add_vat_on_rowsboolean

Add VAT on order rows

Whether to include VAT on individual order row amounts.

Standard: true

Setting this to false when prices include tax will cause incorrect invoice totals.

vat_includedboolean

VAT included in order rows

Whether prices from Shopify include tax. Must match your Shopify tax settings.

Standard: true

order_number_fieldselect

Add order number to Fortnox

Which Fortnox field to store the Shopify order number in. Used for payout matching.

Standard: your_order_number

default_terms_of_paymentselect

Default terms of payment

Fortnox payment terms for orders (e.g. 30 days). Can be overridden per payment method.

Standard: 30

payment_method_mappingjson

Map payment methods

Map Shopify payment gateway names to Fortnox payment method codes.

Standard: {}

shipping_method_mappingjson

Map shipping methods

Map Shopify shipping methods to Fortnox delivery methods.

Standard: {}

Default shipping method may override specific mappings if not configured correctly (JUN-1388).

payouts

payout_accountstring

Payout booking account

Fortnox account for payment provider payouts (typically 19xx series).

Should NOT be the same as your bank account. Use a separate interim account (e.g. 1940 for Klarna).

products

create_productsboolean

Create new products

Automatically create products that dont exist in the target system.

Standard: true

update_productsboolean

Update existing products

Update product data for already existing products.

Standard: true

fields_to_updatejson

Fields to update

Which product fields should be updated during sync.

Standard: ["price", "name", "description"]

Limitations

9

Limitations

Review the important constraints and workarounds before troubleshooting.

medium

Shopify tags unreliable for B2B detection

Using Shopify tags to classify B2B vs B2C orders is unreliable. Tags can be modified, removed, or inconsistent.

Påverkan: Use company name or VAT/org number for B2B classification instead.

medium

Date differences: order date vs booking date

Shopify uses order creation date. Fortnox uses booking date (when invoice is created). These can differ by days.

Påverkan: Revenue reports between Shopify and Fortnox may not match for the same period. This is expected behavior, not a bug.

medium

Prohibited characters in Fortnox product numbers

Fortnox product numbers only allow: letters, numbers, _ - / \ + $. No spaces. Max 200 characters.

Påverkan: Products with special characters or spaces in SKU will fail to sync. Clean data in the source system.

medium

Currency must be pre-configured in Fortnox

All currencies used in orders must be added to Fortnox before syncing. Enable automatic exchange rate updates.

Påverkan: Orders in unconfigured currencies will fail with "Could not find currency" error.

medium

VAT rates must be configured in Fortnox

Only 25%, 12%, 6% are included by default. Additional rates (e.g. for other EU countries via OSS) must be added manually.

Påverkan: Orders with unconfigured VAT rates fail with "Kunde inte hämta/hitta moms" error.

high

Fortnox 500 invoice line limit

Fortnox API limits invoices to 500 line items. Orders with more than 500 products will fail.

Påverkan: Very large B2B orders may need to be split or handled manually.

high

Fortnox warehouse module forces 0 quantity

When the Fortnox Warehouse Module is active, items with 0 or negative stock cannot have delivered quantity > 0 via API. Fortnox forces it to 0.

Påverkan: Invoice line totals become 0. Solutions: disable warehouse module, ensure positive stock, or allow negative balances.

critical

Invoices cannot be modified after booking

Once an invoice is created and booked in Fortnox, it cannot be updated or modified via the API. Orders can be updated and resynced, but invoices are final. To correct a booked invoice, create a credit invoice and re-invoice.

Påverkan: Customers who edit orders in Shopify after invoicing expect Fortnox to update. The order can be resynced, but the booked invoice remains unchanged. This is the #1 source of support tickets.

critical

Only 1 refund per order supported

Fortnox only allows one credit invoice per invoice. A second refund attempt on the same order will fail silently.

Påverkan: Multiple partial refunds require manual credit invoice creation in Fortnox.

Troubleshooting

5

Troubleshooting

Follow symptom, cause, and resolution guidance for common failure cases.

medium

Revenue mismatch between Shopify and Fortnox

Symptom

  • Monthly revenue totals differ
  • Some orders counted in different months

Orsak

Shopify uses order creation date, Fortnox uses invoice/booking date. Orders placed late in the month may be invoiced the next month.

Lösning

This is expected behavior. Compare using invoice dates in Fortnox, not order dates. Also check shipping amounts, rounding, and refund timing.

Var den här artikeln till hjälp?

medium

Product sync fails — prohibited characters

Symptom

  • Specific products fail to sync
  • Error mentions invalid product number

Orsak

Product SKUs in Shopify contain characters not allowed in Fortnox (spaces, special characters).

Lösning

Clean product SKUs in Shopify. Allowed: letters, numbers, _ - / \ + $. No spaces. Max 200 chars. Then resync.

SHOPIFY_PRODUCT_CHARS

Var den här artikeln till hjälp?

high

Orders stuck — VAT rate not found

Symptom

  • Orders fail with "Kunde inte hämta/hitta moms"
  • Only some orders fail (specific countries/rates)

Orsak

Missing VAT rate in Fortnox. Default rates are 25%, 12%, 6%. EU OSS requires additional rates per country.

Lösning

Add missing VAT rates in Fortnox → Settings → Accounting → VAT → Create new.

FORTNOX_VAT_NOT_FOUND

Var den här artikeln till hjälp?

high

Invoice amounts are 0

Symptom

  • Invoice line totals show 0 SEK
  • Products show as delivered quantity 0

Orsak

Fortnox Warehouse Module is active and product stock is 0 or negative. The API cannot set delivered quantity > 0.

Lösning

Either: 1) Disable Fortnox Warehouse Module, 2) Ensure all products have positive stock, 3) Enable "Allow negative stock balances" in Fortnox → Settings → Inventory.

Var den här artikeln till hjälp?

critical

All orders failing — permission error

Symptom

  • No orders sync at all
  • Error: "Lacks authorization for cost centers"

Orsak

The Fortnox integration user lacks required licenses or the token has expired.

Lösning

1. Check the integration user has Orders, Invoices, Accounting, Integration licenses. 2. Re-authenticate in Junipeer → Connect Systems → Fortnox.

FORTNOX_COST_CENTER_AUTH

Var den här artikeln till hjälp?

FAQ

10

FAQ

Quick answers to the most common questions for this connector pair.

Varför syns inte mina ordrar i Fortnox?

Kontrollera: 1) Är integrationen aktiv och ordersynkflödet igång? 2) Matchar orderstatusen dina filterinställningar? 3) Kontrollera Junipeer-loggarna för fel. 4) Säkerställ att Fortnox-integrationsanvändaren har alla nödvändiga behörigheter.

Var den här artikeln till hjälp?

Kan jag redigera en order efter att den har synkats?

Ja, ordrar kan uppdateras och synkas om. Däremot kan en faktura som skapats och bokförts i Fortnox inte ändras. För att korrigera en bokförd faktura behöver du skapa en kreditfaktura och fakturera om. Därför är det viktigt att verifiera orderuppgifter innan fakturan skapas.

Var den här artikeln till hjälp?

Varför stämmer inte mina intäktssiffror mellan Shopify och Fortnox?

Detta beror vanligtvis på datumskillnader. Shopify använder orderns skapandedatum, Fortnox använder bokförings-/fakturadatum. Dessa kan skilja sig med dagar. Kontrollera även: fraktinkludering, avrundningsskillnader och tidpunkt för återbetalningar.

Var den här artikeln till hjälp?

Hur hanterar jag flera återbetalningar på samma order?

Fortnox stöder bara 1 kreditfaktura per faktura. Om du behöver göra en andra återbetalning, skapa kreditfakturan manuellt i Fortnox. Delåterbetalningar stöds på den första återbetalningen.

Var den här artikeln till hjälp?

Stöder ni flera valutor?

Ja. Alla valutor stöds så länge de är konfigurerade i Fortnox (Inställningar → Valuta). Aktivera automatiska valutakursuppdateringar.

Var den här artikeln till hjälp?

Hur synkar jag historiska ordrar?

Gå till Flöden → Exportera många. Ange Shopify order-ID:n eller ställ in ett datumintervall. Obs: använd det långa order-ID:t från Shopifys URL-fält, inte det korta ordernumret.

Var den här artikeln till hjälp?

Vad händer när en betalningsleverantör gör en utbetalning?

Junipeer matchar varje utbetalningsrad mot motsvarande faktura i Fortnox och markerar den som betald. Leverantörsavgifter bokförs som avskrivningar. Detta kräver att ordernumret lagras i ett matchbart fält (se inställningen "Lägg till ordernummer i Fortnox").

Var den här artikeln till hjälp?

Hur ställer jag in OSS (EU One-Stop-Shop) moms?

I Junipeer-inställningarna, gå till Försäljningskontomappning. Skapa en post per EU-land med rätt 3000-seriens försäljningskonto. Se till att motsvarande momssatser är konfigurerade i Fortnox. Se vår OSS-guide för detaljer.

Var den här artikeln till hjälp?

Varför är levererat antal 0 på mina fakturor?

Detta händer när Fortnox Lagermodul är aktiv och produktlagret är 0 eller negativt. Lösningar: 1) Inaktivera lagermodulen, 2) Säkerställ positiva lagersaldon, 3) Tillåt negativa lagersaldon i Fortnox-inställningarna.

Var den här artikeln till hjälp?

Hur identifierar jag B2B-ordrar?

Använd företagsnamn eller moms-/organisationsnummer, inte Shopify-taggar. Taggar är opålitliga för B2B-klassificering. Konfigurera B2B-klassificeringsregler i den anpassade mapparen / regelbyggaren.

Var den här artikeln till hjälp?