Get started with Fortnox ↔ HubSpot
A step-by-step guide to installing the integration and choosing what should sync between Fortnox and HubSpot.
Setup in HubSpot
You need the Fortnox app from the HubSpot Marketplace for the integration to work.
- Search for Fortnox in the Marketplace, or open the app page here.
- Click Install (or the equivalent install button).
- Choose the HubSpot account where you want the app, then click Choose account.
- Click Connect app to allow the Fortnox app in your HubSpot account.
- You are then redirected to Fortnox to sign in and approve access.
Setup in Fortnox
Before you continue
You also need the Fortnox to HubSpot app from the Fortnox marketplace.
To connect Fortnox, you must sign in with a user that has SysAdmin rights in Fortnox.
- Enter the username for the Fortnox account the integration should use.
- Enter the password for that Fortnox account.
- Click Godkänn behörighet to approve access.
Finish setup
When both HubSpot and Fortnox are connected, installation is complete.
If you turn on Sync Companies in App settings, Fortnox customers are imported into HubSpot on the next scheduled sync. Only customers that changed since the last run are updated.
Syncing
The integration can move data in two directions. Use App settings to choose what runs automatically.
- Fortnox → HubSpot — scheduled imports (customers, products, invoices, orders, projects).
- HubSpot → Fortnox — triggered when you change certain fields or use app cards on records.
How scheduled imports work
- Turn each import on or off under the Fortnox → HubSpot tab in app settings.
- Each run only picks up records that changed since the last sync.
- When a sync is on, its tile shows last run time, how many records were queued, and a Reset sync button to start over from the beginning.
- Sync timing is managed on our side — there is no interval setting in the app.
Fortnox → HubSpot
Fortnox customers → HubSpot companies, with an optional contact for private persons.
Syncing productsFortnox articles → HubSpot products, including multi-currency pricing.
Syncing invoicesFortnox invoices → HubSpot Invoices or Deals, with optional filters and PDF attachments.
Syncing ordersFortnox orders → HubSpot Order records, with an optional order pipeline.
Syncing projectsFortnox projects → HubSpot Projects, with optional invoice→project linking on import.
HubSpot → Fortnox
Create a Fortnox invoice from a HubSpot deal or HubSpot Invoice, with VAT, delivery, bookkeeping, and optional periodisering (invoice accrual).
Create a CompanyCreate a Fortnox customer from a HubSpot company.
Create an OfferCreate a Fortnox offer (offert) from a HubSpot quote.
Create an OrderCreate a Fortnox order from a HubSpot order.
App settings
Open the Fortnox app inside HubSpot to choose what should sync and how. Settings are split into three tabs:
- Fortnox → HubSpot — automatic imports from Fortnox
- HubSpot → Fortnox — actions when you create or update records in HubSpot
- Connection — reconnect HubSpot and Fortnox if access needs to be refreshed

Invoicing in HubSpot
Choose whether Fortnox invoices in HubSpot are represented as Deals or native HubSpot Invoice records. This portal-wide default applies to both directions unless you override a direction below.
- Portal default (Deal vs HubSpot Invoice)
-
Top-level tile Invoicing in HubSpot — toggle Import as HubSpot Invoice (instead of Deal).
- On: default object type is HubSpot Invoice.
- Off: default object type is Deal.
- Per-direction overrides
-
On the Fortnox → HubSpot and HubSpot → Fortnox invoice tiles, use Object type for this direction to keep the portal default or override import/create independently.
Example: import Fortnox invoices as HubSpot Invoices, but create Fortnox invoices from Deals — or the reverse.
Fortnox → HubSpot
Turn these on to keep HubSpot up to date with data from Fortnox. Each enabled sync runs in the background and only processes changes since the last run.
- Sync Companies
-
Imports Fortnox customers as HubSpot companies.
When enabled, the tile shows when the sync last ran, how many records were queued, and a Reset sync option.
- Exclude inactive customers
-
Under Sync Companies.
When on, customers marked inactive in Fortnox are skipped. When off, inactive customers are included like any other.
- Create contact for private persons
-
Under Sync Companies.
Private customers in Fortnox are always synced as HubSpot companies. Turn this on to also create or update a HubSpot contact and link it to that company.
- Uses the email address from Fortnox (Email, not invoice email).
- Name, phone, and address are copied to the contact.
- If Fortnox has no email, only the company is synced — no contact is created.
- Company import filters
-
Under Sync Companies. Optional rules to limit which Fortnox customers are imported (for example by cost center or customer type).
Leave filters off to import all customers — same behaviour as before.
- Sync Products
-
Imports Fortnox articles as HubSpot products.
When enabled, the tile shows last run, queued records, and Reset sync.
- Auto-enable missing HubSpot currencies
-
Under Sync Products.
If a Fortnox price list uses a currency that is not yet enabled in HubSpot, the app can add it automatically using Fortnox exchange rates. When off, those prices are skipped.
- Exclude inactive articles
-
Under Sync Products.
When on, Fortnox articles marked inactive or expired are skipped and not synced to HubSpot. When off, all articles are imported — their status is still mapped to the HubSpot product Status field either way.
- Fortnox invoice to HubSpot
-
Imports Fortnox invoices into HubSpot on a schedule.
- Default: invoices sync as Deals in the Fortnox invoice pipeline (created on first enable).
- Alternative: turn on Import as HubSpot Invoice under Invoicing in HubSpot to sync to native HubSpot Invoice records instead.
- Import as HubSpot Invoice (instead of Deal)
-
Portal default under Invoicing in HubSpot; per-direction override available on this tile when import should differ from the default.
- On: sync to native HubSpot Invoice records.
- Off (default): sync to Deals in the Fortnox invoice pipeline.
- Invoice import filters & options
-
Under Fortnox invoice to HubSpot. Optional rules for which invoices to import, plus:
- Amount includes VAT — off by default (amounts exclude VAT).
- Update existing deal — deal import only; update a matching deal instead of creating a new one.
- Link HubSpot Invoice to existing deal — connect imported invoices to deals that match on order number.
- Link only — associate invoice and deal without updating deal fields.
- Exclude cancelled invoices
-
Under Fortnox invoice to HubSpot.
When on, cancelled Fortnox invoices are skipped and not synced to HubSpot (as either a Deal or an Invoice). When off, all invoices are imported.
- Fortnox orders to HubSpot orders
-
Imports Fortnox orders as HubSpot Order records.
Orders can be linked to deals when Fortnox carries a HubSpot deal reference (for example after an offer was created from a quote).
- Exclude cancelled orders
-
Under Fortnox orders to HubSpot orders.
When on, cancelled Fortnox orders are skipped and not synced to HubSpot. When off, all orders are imported.
- Fortnox order pipeline (HubSpot Orders)
-
Optional. Creates a Fortnox order pipeline in HubSpot and sets each imported order’s stage from Fortnox status (open, shipped, delivered, cancelled, and so on).
- Sync projects
-
Imports Fortnox projects as HubSpot Project records.
Requires the HubSpot Projects object in your portal and re-authentication for project OAuth scopes on both Fortnox and HubSpot. When enabled, the tile shows last run, queued records, and Reset sync.
HubSpot → Fortnox
These settings allow users to create or update records in Fortnox from HubSpot. Most flows are triggered by setting a Yes/No field on the record, or by using an app card in the sidebar.
- HubSpot deal to Fortnox invoice
-
Lets users create Fortnox invoices from HubSpot deals when the effective HubSpot → Fortnox create object type is Deal.
Workflow required
For automatic creation, set up a HubSpot workflow (or similar automation) that reacts when Create invoice in Fortnox is set to Yes on a deal. See Automations in HubSpot and Deal card requirements.
- HubSpot invoice to Fortnox invoice
-
Lets users create Fortnox invoices from native HubSpot Invoice records when the effective HubSpot → Fortnox create object type is HubSpot Invoice.
- Trigger via the Fortnox invoice app card on invoice records, or a workflow on Create Fortnox invoice from this HubSpot invoice (
create_fortnox_invoice_from_invoice_object). - Requires exactly one associated company with a Fortnox ID, line items in a single currency, and the same validation rules as deal create.
- Trigger via the Fortnox invoice app card on invoice records, or a workflow on Create Fortnox invoice from this HubSpot invoice (
- Invoice from existing Fortnox order when linked
-
Under HubSpot deal to Fortnox invoice.
When a deal is linked to a Fortnox order, invoice creation uses Fortnox Fakturera order instead of creating a separate invoice.
- Sync Fortnox invoice row values to line items
-
Under HubSpot deal to Fortnox invoice.
After an invoice is created in Fortnox, writes row-level VAT and totals back to the deal’s line items in HubSpot. Does not change prices or tax on the line items themselves.
- Periodiseringskonto (Fortnox)
-
Under HubSpot deal to Fortnox invoice (visible when that toggle is on).
Portal-wide BAS account used for Fortnox invoice accrual (periodisering) when Fortnox accrual period is set on a deal or HubSpot Invoice. Choose from your Fortnox chart of accounts (
bookkeepingscope) and click Save accrual account. Default at runtime is 2990 until saved.How periodisering works · Release notes (July 15, 2026) · July 16 fixes
- Invoice template mapping
-
Under HubSpot deal to Fortnox invoice (visible when that toggle is on).
Map free-text HubSpot names to Fortnox print templates (loaded from Fortnox). Saving updates the company select property
fortnox_invoice_templatewith those names. When an invoice (or customer) is created, the company's selected name is resolved to FortnoxPrintTemplate/DefaultTemplates.Invoice.- Use for region- or customer-type layouts (e.g. EU, US, collection agency).
- Requires Fortnox print (Utskrift) scope — re-authenticate under Connection if templates do not load.
- Deal/invoice Följesedel (
fortnox_print_template = ps) always overrides the company mapping.
- HubSpot company to Fortnox customer
-
Lets users create Fortnox customers from HubSpot companies (via workflow or the company app card).
- HubSpot quote to Fortnox offer
-
Creates Fortnox offers when Create offer in Fortnox is set to Yes on a quote, or when users click Create Fortnox offer on the deal app card.
Requires a HubSpot automation for the property path — or use the Fortnox offer app card on deals. See Create offer from quote.
- HubSpot order to Fortnox order
-
Creates Fortnox orders when Create order in Fortnox is set to Yes on a HubSpot order, or when users click Create Fortnox order on the order or deal app card.
- If the order has no line items but one linked deal, the deal’s line items are used.
Connection
- Re-authenticate HubSpot and Fortnox
-
Use this if access has expired or after the app has been updated with new permissions.
Re-authentication refreshes the connection and ensures all required fields exist in HubSpot for companies, deals, quotes, orders, invoices, line items, and projects. The Connection tab shows what is connected and which fields are in place.
OAuth opens in a new browser tab. When finished, use the link on the completion page to return to Fortnox app settings in HubSpot, then click Refresh status on the Connection tab.

Automations in HubSpot
Several HubSpot → Fortnox actions run when a specific field is set to Yes. In practice you set this up with a HubSpot workflow (or CRM subscription) that watches the field and notifies the app.
Typical fields to watch:
- Company — Create customer in Fortnox
- Deal — Create invoice in Fortnox
- Invoice — Create Fortnox invoice from this HubSpot invoice
- Quote — Create offer in Fortnox
- Order — Create order in Fortnox
The corresponding app setting must also be turned on (see App settings). If nothing happens, check that the workflow fired and that the field value is Yes, not just checked in the UI in an unexpected way.
Technical details for developers
Target URL:
POST https://<your-app-domain>/hubspot_event_subscriptions
HubSpot may send modern object.propertyChange events or older event type names — the app accepts both. Release notes (March 20, 2026).
The integration provides HubSpot app cards (UI extensions) in the record sidebar for quick Fortnox actions.
How to add the cards
- Open a company, deal, invoice, or order record in HubSpot.
- Customize the right sidebar (record layout).
- In the Apps section, add the Fortnox cards you need (see table below).
| Record type | App card name | What it does |
|---|---|---|
| Company | Fortnox customer | Create a Fortnox customer from the company, or show that it is already linked. |
| Deal | Fortnox invoice | Create a Fortnox invoice from the deal, or show the linked invoice number. Available when create object type is Deal. |
| Invoice | Fortnox invoice from invoice (preview) | Preview app card — create a Fortnox invoice from the HubSpot Invoice record, or show the linked Fortnox invoice number. Add under Settings → Objects → Invoices → Preview (not the record sidebar). Available when create object type is HubSpot Invoice. |
| Deal | Fortnox offer | Trigger a Fortnox offer (offert) from the quote linked to the deal. |
| Deal | Fortnox order | Validate and create a Fortnox order from the HubSpot order linked to this deal (exactly one order required). |
| Order | Fortnox order | Validate requirements and create a Fortnox order from this HubSpot order. |
Release notes (May 11, 2026) — first app cards (customer & invoice on deals). The Fortnox offer card on deals and Fortnox order card on deals and orders were added later — see Release notes (July 2, 2026). The Fortnox invoice card on HubSpot Invoice records was added in Release notes (July 14, 2026).
Shows whether the company is linked to Fortnox and lets you create a customer with one click.
The card shows Already linked to Fortnox when a Fortnox customer number exists. Otherwise, use Create Fortnox customer when:
- HubSpot company to Fortnox customer is enabled in app settings.
- The company has an organisation number (Organization number from Fortnox) but no Fortnox ID yet.
- No customer with the same organisation number already exists in Fortnox.
Shows the Fortnox invoice number when the deal is linked, or lets you create an invoice from the deal.
When no invoice exists yet, use Create Fortnox invoice when:
- HubSpot deal to Fortnox invoice is enabled.
- The portal create object type is Deal (see Invoicing in HubSpot).
- The deal has no invoice number in Fortnox yet.
- The deal currency exists in Fortnox and the deal is linked to a primary company with a Fortnox ID (
fortnox_id). - The deal has at least one line item; all line items share the same currency and are not recurring.
- Products with SKU must exist as articles in Fortnox; VAT on line items must match a Fortnox VAT rate (VAT setup).
Credit invoices: set Fortnox kreditfaktura to Yes and enter the invoice to credit. Bookkeep after create applies only to new invoices from line items, not credits. Periodisering (fortnox_accrual_period) also applies only to new invoices — see Invoice accrual.
If Invoice from existing Fortnox order when linked is on and a Fortnox order is linked, creation uses Fakturera order instead — see Invoice from Fortnox order.
Shows the Fortnox invoice number when the HubSpot Invoice is linked, or lets you create an invoice in Fortnox from the HubSpot Invoice record. This card is a preview app card — add it under Settings → Objects → Invoices → Preview, not on the invoice record sidebar.
When no Fortnox invoice exists yet, use Create Fortnox invoice when:
- HubSpot invoice to Fortnox invoice is enabled.
- The portal create object type is HubSpot Invoice (see Invoicing in HubSpot).
- The HubSpot Invoice has no Invoice number in Fortnox yet.
- Exactly one associated company has a Fortnox ID.
- Line items exist in a single currency; products with SKU must exist in Fortnox.
Optional workflow: set Create Fortnox invoice from this HubSpot invoice to Yes. See Create from HubSpot Invoice.
Creates a Fortnox offer (offert) from the quote associated with the deal. The offer number is saved on the quote record, not on the deal.
The card shows when an offer already exists for the linked quote. Otherwise, use Create Fortnox offer when:
- HubSpot quote to Fortnox offer is enabled in app settings.
- The deal is associated with at least one quote (if several quotes are linked, one must be marked as primary).
- The quote does not already have a Fortnox offer document number.
- The quote has line items and the linked company has a Fortnox customer ID — same general rules as Create offer from quote.
This is an alternative to setting Create offer in Fortnox on the quote via workflow. Both paths queue the same background job.
Validates that the HubSpot order meets Fortnox requirements, then creates the order in Fortnox when you click Create Fortnox order. The card shows a checklist (line items, company Fortnox ID, currency, SKUs, etc.) and highlights the first blocking field if something is missing.
The card shows Order already created in Fortnox when order_number_in_fortnox is set. Otherwise, requirements include:
- HubSpot order to Fortnox order is enabled in app settings.
- Exactly one associated company with Fortnox ID (
fortnox_id). - At least one line item on the order, or exactly one linked deal that has line items (deal fallback).
- Consistent currency across line items; no recurring billing; SKUs that exist in Fortnox (when set).
This is an alternative to setting Create order in Fortnox via workflow. Both paths use the same create logic.
Same create flow as on the order record, but opened from the deal sidebar. The card checks that exactly one HubSpot order is linked to the deal, validates that order’s requirements, and creates the Fortnox order from it.
If no order is linked, or the deal has no line items (and the order has none either), the checklist explains what is missing — for example that products must be on the deal or that a HubSpot order must be created and associated first.
See also Create order from order for field mappings and the deal line-item fallback.