Koppla Fortnox till WooCommerce — order och faktura utan handpåläggning
En koppling mellan WooCommerce och Fortnox gör att varje order i webbutiken automatiskt blir kund och fakturaunderlag i bokföringen. Ni slipper knappa in order för hand, artiklar och lager hålls i synk, och moms hamnar på rätt konto. WooCommerce körs i er egen WordPress, så integrationen bygger på butikens REST API och webhooks.
Snabböversikt
Kort svar: En integration mellan WooCommerce och Fortnox skapar automatiskt kund, order och fakturaunderlag i bokföringen när något säljs i webbutiken — plus synk av artiklar, lager, betalstatus och moms, så att ingen behöver mata in order manuellt.
Så kommer ni igång:
- Kartlägg flödet: vad ska hända när en order läggs, betalas, skickas respektive returneras?
- Koppla WooCommerce (REST API + webhooks) mot Fortnox API och mappa artiklar, betalsätt och momssatser.
- Kör testorder med Klarna/Swish/Stripe, stäm av mot bokföringen och sätt sedan flödet i drift.
GDPR: order innehåller personuppgifter (namn, adress, e-post) — teckna PUB-avtal, minimera vad som synkas och kör gärna mellanlagret i EU eller Sverige.
Vad innebär en koppling mellan WooCommerce och Fortnox?
Kopplingen betyder att er webbutik i WooCommerce och ert bokföringssystem Fortnox delar data automatiskt. När en kund handlar skapas kunden och ett fakturaunderlag (eller en faktura) i Fortnox utan att någon skriver av ordern för hand. Samma information — artiklar, priser, moms och betalning — flyttas från butiken till bokföringen av sig själv.
WooCommerce är ett insticksprogram till WordPress som ni driftar själva, till skillnad från en molnplattform som Shopify. Det ger er full kontroll, men betyder också att integrationen sker via butikens egna REST API och webhooks. Fortnox har i sin tur ett öppet API för kunder, artiklar, ordrar och fakturor. Ett mellanled kopplar ihop de två — antingen en färdig konnektor eller ett eget flöde i ett verktyg som n8n eller Make.
Orderflödet — från kassa till bokförd faktura
Kärnan i kopplingen är orderflödet. När en order går igenom i WooCommerce skickar butiken en webhook, och mellanledet skapar rätt poster i Fortnox. Ett typiskt flöde ser ut så här:
- Kunden slutför köpet i WooCommerce → en order skapas med orderstatus.
- Webhook skickas till mellanledet, som slår upp eller skapar kunden i Fortnox.
- Orderraderna matchas mot artiklar i Fortnox och ett fakturaunderlag skapas.
- När ordern markeras betald sätts rätt betalstatus och konto i bokföringen.
Poängen är att en säljhändelse i butiken utlöser rätt bokföringspost automatiskt. Ni bestämmer själva om varje order ska bli en färdig faktura direkt, eller bara ett underlag som någon godkänner innan det bokförs. Det här är samma princip som i vår pillarguide om systemintegration — ni kopplar ihop det ni redan har istället för att byta system.
Artikel- och lagersynk
För att fakturaraderna ska bli rätt måste artiklarna i WooCommerce och Fortnox hänga ihop. Det görs vanligen via artikelnummer (SKU) som nyckel, så att en produkt i butiken pekar på rätt artikel i bokföringen. Utan den mappningen blir det fel konto, fel moms eller dubbletter i artikelregistret.
Lagersaldo kan synkas åt båda hållen beroende på var ni vill ha "sanningen". Vanliga upplägg:
- Artiklar matchas på SKU mellan WooCommerce och Fortnox.
- Nya produkter i butiken skapas som artiklar i Fortnox automatiskt.
- Lagersaldo uppdateras när en order dras eller en inleverans registreras.
- Priser och benämningar hålls konsekventa så att fakturan speglar butiken.
Bestäm i förväg vilket system som äger lagersaldot. Att låta både butik och bokföring skriva okontrollerat till samma saldo är den vanligaste källan till felaktiga lager.
Betalstatus, moms och avstämning
En order är inte färdig förrän betalningen är hanterad. WooCommerce arbetar ofta med betallösningar som Klarna, Swish och Stripe, och varje betalsätt behöver hamna rätt i bokföringen. Kopplingen mappar betalsätt till konto och sätter fakturan som betald när betalningen är bekräftad — annars ligger den kvar som obetald och kan följas upp.
Moms är den detalj som oftast ställer till det, särskilt vid försäljning till andra EU-länder eller utanför EU. Momssatser i WooCommerce måste motsvara rätt momskod och konto i Fortnox.
| Betalsätt | Hur det bekräftas | Att tänka på i Fortnox |
|---|---|---|
| Klarna | Callback när betalning godkänns; utbetalning i klump senare | Skilj på betald order och utbetald summa; avgifter bokförs separat |
| Swish | Direkt bekräftelse vid genomförd betalning | Enkel avstämning; matcha mot rätt likvidkonto |
| Stripe | Webhook vid lyckad betalning; avgift dras vid utbetalning | Bokför bruttobelopp och avgift var för sig för korrekt moms |
Stäm av regelbundet: antal ordrar i butiken ska motsvara antal underlag i Fortnox, och inbetalningarna ska gå att matcha mot fakturorna. Ett bra flöde loggar varje order så att ni kan spåra en enskild affär hela vägen.
Returer och kreditnotor
Returer måste hanteras lika automatiskt som köp, annars stämmer inte bokföringen. När en order helt eller delvis krediteras i WooCommerce (en refund) bör en kreditnota skapas i Fortnox på motsvarande belopp, med rätt moms återförd. Delreturer kräver att bara de returnerade raderna krediteras.
- Refund i WooCommerce → kreditnota i Fortnox med samma artikelrader.
- Delåterbetalning → kreditera endast de returnerade artiklarna, inte hela ordern.
- Lagersaldo justeras tillbaka när varan kommer i retur.
- Återbetald moms förs tillbaka på rätt konto.
Genom att koppla ihop returer med bokföringen slipper ni manuella kreditnotor och risken att en återbetalning bokförs fel eller glöms bort.
Bygga kopplingen och hålla datan säker
Enkla behov kan täckas av en färdig konnektor, men många svenska butiker har regler som inte passar en standardmodul: särskilda konton, blandade momssatser, eller flöden där order ska godkännas innan de bokförs. Då bygger ni ett eget flöde som lyssnar på WooCommerce-webhooks och anropar Fortnox API med er egen logik. Det ger kontroll och gör flödet lätt att utöka — samma tanke som när ni ska automatisera företaget i stort.
Eftersom en order innehåller personuppgifter gäller GDPR. Kartlägg vad som faktiskt behöver synkas, teckna personuppgiftsbiträdesavtal med leverantörer och undvik att skicka mer data än nödvändigt. Ett mellanled som kan köras i EU eller self-hostas i Sverige gör att kunddatan stannar där ni vill ha den. Vill ni att vi tittar på just era system? Hör av er så går vi igenom flödet tillsammans.
Vill ni se hur det här ser ut i praktiken? Utforska våra lösningar, se case och plattformar vi byggt, eller få tre kostnadsfria förslag.