Create a Fortnox Order from a HubSpot Order
Enable HubSpot order to Fortnox order in App settings, then either use the Fortnox order app card on the HubSpot Order record (or on a linked Deal) — see Order — Fortnox order and Deal — Fortnox order — or trigger via workflow when Create order in Fortnox is set to Yes — see Automations in HubSpot.
When a Fortnox order is created, the app maps order line items and the associated company to Fortnox (same row logic as deal → invoice and quote → offer). The Fortnox order number is written to the HubSpot order for idempotency. When the order is linked to exactly one deal, that number is also copied to the deal (for optional invoice from existing Fortnox order).
Line items on HubSpot Orders
HubSpot does not allow adding line items to orders created manually in the Orders UI; line items can only be set when an order is created via integration/API or rolled up from a Deal. To make this flow usable for manually created orders, the integration falls back to the order's associated Deal: if the order has no line items but is associated with exactly one Deal, the app uses that Deal's line items (and its company, if the order has none associated). If 0 or more than 1 Deals are associated, the run fails with “Order has no line items.”
Typical requirements
- App setting: HubSpot order to Fortnox order is enabled.
- Order: Has line items or is associated to exactly one Deal that has line items; currencies consistent; no recurring billing on line items.
- Company: Order's associated company (or, via the deal-fallback, the Deal's company) has Fortnox ID (
fortnox_id) set. - Idempotency: If
order_number_in_fortnoxis already set on the Order, the create is skipped.
Mappings:
| Field HubSpot | Direction | Field Fortnox | Notes |
|---|---|---|---|
| Order: hs_currency_code | -> | Currency | Must exist in Fortnox |
| Company: fortnox_id | -> | CustomerNumber | From the Order's associated primary company (or the fallback Deal's company) |
| Order: description | -> | Remarks | Optional |
| Contact: firstname lastname | -> | YourReference | Default; first associated contact. Overridden by Order: fortnox_your_reference when set. |
| Order: hubspot_owner_id (firstname lastname) | -> | OurReference | |
| Company: fortnox_cost_center | -> | CostCenter | Stripped when the Fortnox token lacks the costcenter scope |
| Order: fortnox_invoice_email (else Company: billing_email) | -> | EmailInformation.EmailAddressTo | Subject defaults to Order {no} bifogas. Skipped if neither is set or value is not a valid email. |
| Order: fortnox_terms_of_payment | -> | TermsOfPayment | Optional (Betalningsvillkor) |
| Order: fortnox_your_order_number | -> | YourOrderNumber | Optional (PO Number) |
| Order: fortnox_way_of_delivery | -> | WayOfDelivery | Optional (Leveranssätt) |
| Order: fortnox_terms_of_delivery | -> | TermsOfDelivery | Optional (Leveransvillkor) |
| Order: fortnox_delivery_date | -> | DeliveryDate | Optional (Leveransdatum, YYYY-MM-DD) |
| Order: fortnox_billing_address_street / city / postal_code / country (else Company: address / city / zip / country) | -> | Address1 / City / ZipCode / Country | Faktureringsadress. Empty fields are omitted so Fortnox copies from the customer record. |
| Order: hs_shipping_address_street / city / postal_code / country | -> | DeliveryAddress1 / DeliveryCity / DeliveryZipCode / DeliveryCountry | Leveransadress. Empty fields are omitted. |
| Line item: hs_sku | -> | OrderRows[].ArticleNumber | |
| Line item: name | -> | OrderRows[].Description | |
| Line item: quantity | -> | OrderRows[].DeliveredQuantity | |
| Line item: price | -> | OrderRows[].Price | |
| Line item: discount or hs_discount_percentage | -> | OrderRows[].Discount + DiscountType | |
| Line item: tax | -> | OrderRows[].VAT | Falls back to the Fortnox article's VAT when missing on the line item |
| Order: order_number_in_fortnox | <- | Order.DocumentNumber | Written on the HubSpot Order after Fortnox returns the created order |
| Deal: order_number_in_fortnox | <- | Order.DocumentNumber | When the HubSpot order is associated with exactly one deal — used by optional invoice from existing Fortnox order |