Connecting Your Webshop to Fortnox
By CodexierPublished 6 min read
A webshop generates hundreds of small transactions a month, and each one has to end up in the books with the right VAT and the right payment method. Typing them in is slow and error-prone; syncing everything blindly fills Fortnox with noise your accountant then has to untangle. This guide shows what should flow from the shop to Fortnox, how payouts and fees should be handled, and how to choose between a ready-made connector and a custom integration.
What should sync and what should not
| Data | Sync? | How |
|---|---|---|
| Paid orders | Yes | One invoice per order, or one daily summary voucher per payment method |
| Customers | Only for B2B invoicing | Consumer orders can use a generic customer per channel |
| Refunds | Yes | Credit notes linked to the original order |
| Payouts from Klarna, Stripe, Swish | Yes | One payment per payout, matched against the orders it covers |
| Provider fees | Yes | Booked as a cost when the payout arrives |
| Products and stock | Usually no | Keep stock in the shop; Fortnox is not your inventory system unless you sell from it |
| Unpaid and abandoned carts | No | They are not transactions |
Orders, payouts and fees
The mistake that causes the most reconciliation pain is treating the order as the payment. A customer pays Klarna; Klarna pays you a week later, minus its fee, in a batch that covers dozens of orders. Book the order as revenue when it is completed, book the payout as a settlement of those orders when it arrives, and book the difference as a fee. That gives you correct revenue, a correct bank balance and a visible cost of payments.
- Choose per-order invoices if you need to see every order in Fortnox, or daily summaries per payment method if volume is high and you rarely look up single orders.
- Create one settlement account per payment provider, so payouts land in a place where they can be matched.
- Let the integration read payout reports from each provider and mark the covered orders as paid in one step.
- Book fees automatically from the same report; do not wait for a monthly invoice from the provider to discover them.
- Handle refunds through credit notes so the original order stays intact and the audit trail holds.
VAT and multiple currencies
Swedish shops carry three VAT rates on products alone, and selling to other EU countries adds the One Stop Shop scheme with the buyer's country rate. The shop already knows the rate for every line; the integration must carry it across unchanged rather than recalculating.
Domestic sales
Map each shop tax class to the matching Fortnox VAT code. Shipping is taxed at the rate of the goods, which the integration must respect.
EU consumer sales
Over the EU-wide threshold you report through OSS. The integration should tag the destination country and rate on each order so the quarterly OSS return can be built from Fortnox.
Exports outside the EU
Zero-rated, with the country and customs reference stored on the order for the documentation Skatteverket may ask for.
Foreign currencies
Book in SEK at the rate on the order date, and let the payout booking absorb the difference as exchange gain or loss.
Ready-made connectors vs custom
Shopify and WooCommerce both have several connectors to Fortnox, ranging from simple order-to-invoice apps to accounting middleware that handles payouts and fees. They are the right first choice for a shop with a standard flow. Custom integration through the Fortnox API makes sense when the connector's rules do not match yours: bundles that must split into components, B2B pricing with invoice terms, multiple warehouses, or a subscription model with recurring invoices.
- Start with the connector's trial on a copy of your Fortnox company, not the live one.
- Test the three awkward cases: a refund, a payout covering orders from two months, and an order with mixed VAT rates.
- Move to custom code only when you can name the rule the connector cannot follow; that rule becomes the specification.
- We build custom flows through our custom e-commerce features service and tune existing ones through integration optimisation.
Testing with your accountant
An integration that books things wrong is worse than no integration, because the errors arrive quietly and in volume. Run one full month in parallel: the integration books into a test company while the accountant books the old way, then compare. Look at revenue per VAT rate, the balance on each settlement account after payouts, and the fee total against the provider's statements. When they match, switch. Keep the accountant in the loop when you change payment providers or add a country, since both change the mapping.
When you do not need this: a shop with a few dozen orders a month can be booked by hand from a monthly export in less time than the integration takes to configure and check. The break-even is when the monthly bookkeeping starts to take days or the reconciliation stops matching. If you are past that point, book a free 15-minute call and bring your platform, payment providers and order volume; our note on Shopify's monthly costs covers the fees side if you are still choosing a platform.
Frequently asked questions
Should every order become an invoice in Fortnox?
Only if you need order-level visibility in the accounts. Many consumer shops book one summary voucher per day and payment method instead, which keeps Fortnox readable. B2B orders with invoice payment should always be individual invoices.
How do Klarna payouts get matched?
The integration reads Klarna's settlement report, marks the orders in that report as paid against a Klarna settlement account, and books the fee line as a cost. The bank transaction then matches the settlement account balance.
Does the integration handle OSS for EU sales?
It should tag each order with destination country and VAT rate so the OSS return can be compiled. The return itself is filed with Skatteverket, and your accountant usually prepares it from the tagged data.
Can stock be managed in Fortnox instead of the shop?
It can, but it is rarely the right choice for a webshop, because the shop needs live stock at checkout. Keep stock in the shop or in a dedicated inventory system and treat Fortnox as the ledger.
Bookkeeping falling behind the orders?
Tell us your platform, payment providers and monthly order count. In fifteen minutes we tell you whether a connector will do, or what a custom integration would cover.
Book a free 15-minute call