Connectors · Accounting & finance
Fortnox MCP server for AI agents.
actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Fortnox and the rest of your systems. It gives your agent 410 Fortnox actions (159 reads, 194 writes and 57 that wait for a confirmation) and holds the Fortnox credential itself, so the agent never does. It paces Fortnox's limits and records every call. Connecting Fortnox needs your own Fortnox OAuth app and one admin sign-in.
100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.
claude mcp add --transport http actionlake https://connect.actionlake.com/mcpdo { action: "fortnox.invoices.list", intent: "check which Fortnox account is connected"}# Retrieve a list of invoices · read · 1 upstream call- 410actionsin one signed file
- 159readlook, never change
- 194writecreate and update
- 57wait for a yesdestructive, confirmed first
Set up
Connect Fortnox in three steps.
- 01
Add actionlake to Claude.
Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
https://connect.actionlake.com/mcp - 02
Connect Fortnox.
OAuth 2.0, authorization code. You register your own OAuth app with Fortnox, an admin signs in once, and you paste the app's client id and secret and the tokens from that sign-in; actionlake renews the access token from then on. actionlake stores what you paste write-only, sealed under your tenant's key.
Before the first sign-in, Fortnox needs an OAuth app of your own, registered in its developer portal. actionlake has no Fortnox app to lend you.
access_tokenAccess token from one sign-in with your own OAuth apprefresh_tokenRefresh token from the same sign-in; the access token is renewed from itclient_idFortnox integration Client ID, from the Fortnox Developer Portal (developer.fortnox.se) app registration, with the…client_secretFortnox integration Client Secret, from the same app registration
account { op: "connections.requirements", service: "fortnox" } # free: exactly what to paste, and what is found for you - 03
Make the first call. Check before a write.
Ask in plain words; Claude picks the action. Before anything changes,
checkvalidates the call and prices it, for free.do { action: "fortnox.invoices.list" }# retrieve a list of invoices · read · 1 upstream callcheck { action: "fortnox.invoices.create", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent
Fortnox at a glance
- Sign-in
- OAuth 2.0, authorization code. You register your own OAuth app with Fortnox, an admin signs in once, and you paste the app's client id and secret and the tokens from that sign-in; actionlake renews the access token from then on.
- You provide
access_tokenrefresh_tokenclient_idclient_secret- Limits we pace to
- 25 calls per 5 seconds, per connection
- API covered
- Fortnox API v3 plus the /api warehouse, time, recurring-billing and file-attachment services (OpenAPI 3.0.3)
api.fortnox.se - Built from
- Fortnox's documentation, read 23 October 2026apps.fortnox.sefortnox.se
- Service file
- Version 1.0.0, signed (Ed25519)
- Cached reads
- 159 of 159 reads, for up to 5 minutes; a write clears what it affects
- Shared entities
- 12, so ask can line Fortnox up with your other systems
- Data
- Processed and stored in Sydney, Australia. No US region yet
Capabilities
What an AI agent can do in Fortnox.
410 actions in 89 areas. Every one carries its effect, so a key can allow the reads and hold the rest.
- 159readlook, never change
- 194writecreate and update
- 57destructivewait for a confirmation
Warehouse purchaseorders
144 read · 9 write · 1 destructive
List Purchase Orders · Create Purchase Order · Get Purchase Order · Update Purchase Order
Assets
123 read · 8 write · 1 destructive
Create an Asset · Retrieve a list of assets · Retrieve a single asset · Update an Asset
Invoices
122 read · 9 write · 1 destructive
Retrieve a list of invoices · Create an invoice · Retrieve a single invoice · Update an invoice
Invoices V2
122 read · 9 write · 1 destructive
Create an invoice · Credit an invoice · Send an invoice as e-invoice · Send an invoice as email
Offers
92 read · 6 write · 1 destructive
Retrieve a list of offers · Create an offer · Retrieve a single offer · Update an offer
Offers V2
92 read · 6 write · 1 destructive
Create an offer · Create invoice out of given offer · Create order out of given offer · Send given offer as email
Supplierinvoices
92 read · 6 write · 1 destructive
Retrieve a list of supplier invoices · Create a supplier invoice · Retrieve a single supplier invoice · Update a supplier invoice
Warehouse stocktaking
93 read · 4 write · 2 destructive
Add rows by filter · Create stock taking · List stock takings · Get candidate rows
81 more areas · 324 actions
- Orders 8
- Orders V2 8
- Prices 8
- Warehouse incominggoods 8
- Warehouse productionorders 8
- Contracts 7
- Noxfinansinvoices 7
- Absencetransactions 6
- Articles V2 6
- Attachments 6
- Attendancetransactions 6
- Invoicepayments 6
- Supplierinvoicepayments 6
- Warehouse inbound deliveries 6
- Warehouse outbound deliveries 6
- Warehouse stockpoints 6
- Accounts 5
- Articles 5
- Articleurlconnections 5
- Assets types 5
- Contractaccruals 5
- Costcenters 5
- Currencies 5
- Customerreferences 5
- Customers 5
- Invoiceaccruals 5
- Modesofpayments 5
- Projects 5
- Recurrings 5
- Salarytransactions 5
- Supplierinvoiceaccruals 5
- Taxreductions 5
- Termsofpayments 5
- Units 5
- Vouchers 5
- Warehouse stocktransfer 5
- Wayofdeliveries 5
- Articlefileconnections 4
- Contracttemplates 4
- Employees 4
- Labels 4
- Pricelists 4
- Supplierinvoiceexternalurlconnections 4
- Supplierinvoicefileconnections 4
- Suppliers 4
- Termsofdeliveries 4
- Voucherfileconnections 4
- Voucherseries 4
- Warehouse custom inbound documents 4
- Warehouse custom outbound documents 4
- Warehouse stocktaking rows 4
- Archive 3
- Assetfileconnections 3
- Emailsenders 3
- Expenses 3
- Financialyears 3
- Predefinedaccounts 3
- Predefinedvoucherseries 3
- Recurring invoice requests 3
- Scheduletimes 3
- Supplierinvoice comments 3
- Warehouse custom document types 3
- Inbox 2
- Recurring deviations 2
- Warehouse stock locations 2
- Accountcharts 1
- Company settings 1
- Companyinformation 1
- Developer ratings 1
- Developer sales 1
- Developer users 1
- Euvatlimitregulation 1
- Locked period 1
- Me 1
- Printtemplates 1
- Time article registrations 1
- Time registrations 1
- Vacationdebtbasis 1
- Warehouse deliveries 1
- Warehouse stock balance 1
- Warehouse tenant 1
Top actions
The Fortnox API, shaped for agents.
The ids your agent types, what each does, and the one name it shares with other systems. 96 of Fortnox's 96 action names are shared with at least one other connector, so an agent learns them once.
| Action | What it does | Effect | Same name in |
|---|---|---|---|
fortnox.invoices.listRetrieve a list of invoices | Retrieve a list of invoices. | read | finance.invoice.list101 connectors |
fortnox.invoicepayments.listRetrieve a list of invoice payments | Retrieve a list of invoice payments. | read | finance.payment.list75 connectors |
fortnox.offers.listRetrieve a list of offers | Retrieve a list of offers. | read | finance.quote.list52 connectors |
fortnox.accounts.listList all accounts | List all accounts. | read | finance.ledger_account.list36 connectors |
fortnox.supplierinvoices.listRetrieve a list of supplier invoices | Retrieve a list of supplier invoices. | read | finance.bill.list31 connectors |
fortnox.articles.listRetrieve a list of articles | Retrieve a list of articles. | read | commerce.product.list112 connectors |
fortnox.orders.listRetrieve a list of orders | Retrieve a list of orders. | read | commerce.order.list82 connectors |
fortnox.invoices.createCreate an invoice | Create an invoice. | write | finance.invoice.create74 connectors |
fortnox.invoicepayments.createCreate an invoice payment | Create an invoice payment. | write | finance.payment.create67 connectors |
fortnox.customers.listRetrieve a list of customers | Retrieve a list of customers. | read | crm.company.list162 connectors |
fortnox.offers.createCreate an offer | Create an offer. | write | finance.quote.create52 connectors |
fortnox.invoicepayments.deleteRemove an invoice payment | Remove an invoice payment. | destructive | finance.payment.delete37 connectors |
Try it
Prompts to paste into Claude.
Each one names the Fortnox actions it will call, so you know what it reads and what it changes before you send it.
- Readread
Which Fortnox invoices are more than 30 days overdue? Group them by customer with the total owed.
calls
fortnox.invoices.list - Writewrite
Create an invoice in Fortnox. Show me exactly what you will send before you save it.
calls
fortnox.invoices.create - Across systemsread
For each customer, how many invoices are in Fortnox and how many tickets in ConnectWise PSA?
calls
fortnox.invoices.listconnectwise_manage.tickets.list
Across your systems
Fortnox, joined to the rest of your business.
One ask fetches from Fortnox and another system, joins the rows on the same customer on our side, and hands your agent the answer, not every row.
For each customer, how many invoices are in Fortnox and how many tickets in ConnectWise PSA?
fortnox.invoices.list+connectwise_manage.tickets.list, oncrm.company· ConnectWise PSAFor each customer, how many invoices are in Fortnox and how many tickets in HubSpot CRM?
fortnox.invoices.list+hubspot_crm.tickets.list, oncrm.company· HubSpot CRM
crm.company 227identity.current_user 142work.project 116commerce.product 109finance.invoice 91commerce.order 86hr.employee 63finance.payment 53ask { intent: "for each customer, how many invoices are in Fortnox and how many tickets in ConnectWise PSA", steps: [ { action: "fortnox.invoices.list", as: "inv", input: {}, limit: 100, max_pages: 5 }, { action: "connectwise_manage.tickets.list", as: "tix", input: {}, limit: 100, max_pages: 5 }, { join: { left: "inv", right: "tix", on: "crm.company", group_by: "inv.company_name", select: ["inv.company_name", "count(inv.id) as invoices", "count(tix.id) as tickets"] } } ]}Governance for Fortnox
Destructive actions wait for a yes.
57 Fortnox actions are destructive. The first 10:
- Remove an invoice payment
fortnox.invoicepayments.delete - Deletes an account
fortnox.accounts.delete - Delete an article
fortnox.articles.delete - Delete a customer
fortnox.customers.delete - Remove a project
fortnox.projects.delete - Remove a mode of payment
fortnox.modesofpayments.delete - Remove a currency
fortnox.currencies.delete - Remove a cost center
fortnox.costcenters.delete - Remove a term of payment
fortnox.termsofpayments.delete - Delete or Void an Asset
fortnox.assets.delete
A destructive action runs only with confirm: true. Under the human policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.
Remove an invoice payment?
intent: the user asked me to remove an invoice payment
account { op: "keys.create", name: "fortnox-agent", allowed_actions: ["fortnox.*"], cap_calls: 2000, confirm_policy: "human_for_writes", approval_rules: [ { match: "fortnox.invoicepayments.delete", approver: "[email protected]" }, { match: "fortnox.accounts.delete", approver: "[email protected]" }, { match: "fortnox.articles.delete", approver: "[email protected]" } ]}Cost
What Fortnox costs on actionlake.
Every Fortnox action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call Fortnox refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
- 1upstream call per actionall 410 Fortnox actions
- 410actions pageeach page of a long list is one call
- 159reads can be cacheda cache hit costs nothing
- 100,000calls a month, freepaid plans from US$49 a month for 250,000
Action index
Every Fortnox action.
410 actions by area: the id your agent calls, what it does, and its effect.
Warehouse purchaseorders14
fortnox.warehouse_purchaseorders.createCreate Purchase Orderwritefortnox.warehouse_purchaseorders.getGet Purchase Orderreadfortnox.warehouse_purchaseorders.listList Purchase Ordersreadfortnox.warehouse_purchaseorders.updateUpdate Purchase Orderwritefortnox.warehouse_purchaseorders.completeManually complete Purchase Orderwritefortnox.warehouse_purchaseorders.dropship_completeManually complete dropship orderwrite- and 8 more in this area
Assets12
fortnox.assets.createCreate an Assetwritefortnox.assets.getRetrieve a single assetreadfortnox.assets.listRetrieve a list of assetsreadfortnox.assets.updateUpdate an Assetwritefortnox.assets.change_opening_balanceChange manual OB value of an Assetwritefortnox.assets.deleteDelete or Void an Assetdestructive- and 6 more in this area
Invoices12
fortnox.invoices.createCreate an invoicewritefortnox.invoices.getRetrieve a single invoicereadfortnox.invoices.listRetrieve a list of invoicesreadfortnox.invoices.updateUpdate an invoicewritefortnox.invoices.bookkeepBookkeep an invoicewritefortnox.invoices.cancelCancel an invoicedestructive- and 6 more in this area
Invoices V212
fortnox.invoices_v2.createCreate an invoicewritefortnox.invoices_v2.creditCredit an invoicewritefortnox.invoices_v2.einvoiceSend an invoice as e-invoicewritefortnox.invoices_v2.emailSend an invoice as emailwritefortnox.invoices_v2.bookkeepBookkeep an invoicewritefortnox.invoices_v2.cancelCancel an invoicedestructive- and 6 more in this area
Offers9
fortnox.offers.createCreate an offerwritefortnox.offers.getRetrieve a single offerreadfortnox.offers.listRetrieve a list of offersreadfortnox.offers.updateUpdate an offerwritefortnox.offers.cancelCancels given offerdestructivefortnox.offers.createinvoiceCreate invoice out of given offerwrite- and 3 more in this area
Offers V29
fortnox.offers_v2.createCreate an offerwritefortnox.offers_v2.createinvoiceCreate invoice out of given offerwritefortnox.offers_v2.createorderCreate order out of given offerwritefortnox.offers_v2.emailSend given offer as emailwritefortnox.offers_v2.cancelCancels given offerdestructivefortnox.offers_v2.externalprintSet given offer as sentwrite- and 3 more in this area
Supplierinvoices9
fortnox.supplierinvoices.createCreate a supplier invoicewritefortnox.supplierinvoices.getRetrieve a single supplier invoicereadfortnox.supplierinvoices.listRetrieve a list of supplier invoicesreadfortnox.supplierinvoices.updateUpdate a supplier invoicewritefortnox.supplierinvoices.approve_bookkeepApproval of bookkeep of given supplier invoicewritefortnox.supplierinvoices.approve_paymentApproval of payment of given supplier invoicewrite- and 3 more in this area
Warehouse stocktaking9
fortnox.warehouse_stocktaking.add_rowsAdd rows by filterwritefortnox.warehouse_stocktaking.createCreate stock takingwritefortnox.warehouse_stocktaking.listList stock takingsreadfortnox.warehouse_stocktaking.list_candidatesGet candidate rowsreadfortnox.warehouse_stocktaking.deleteDelete Stock Taking documentdestructivefortnox.warehouse_stocktaking.getGet Stock Taking documentread- and 3 more in this area
Orders8
fortnox.orders.createCreate a new orderwritefortnox.orders.getRetrieve a single orderreadfortnox.orders.listRetrieve a list of ordersreadfortnox.orders.updateUpdate an orderwritefortnox.orders.cancelCancels given orderdestructivefortnox.orders.createinvoiceCreate invoice out of given orderwrite- and 2 more in this area
Orders V28
fortnox.orders_v2.createCreate a new orderwritefortnox.orders_v2.createinvoiceCreate invoice out of given orderwritefortnox.orders_v2.emailSend given order as emailwritefortnox.orders_v2.listRetrieve a list of ordersreadfortnox.orders_v2.cancelCancels given orderdestructivefortnox.orders_v2.externalprintSet given order as sentwrite- and 2 more in this area
Prices8
fortnox.prices.createCreate a pricewritefortnox.prices.getRetrieve the first price for the specified articlereadfortnox.prices.get_by_quantityRetrieve a price for a specified articlereadfortnox.prices.list_for_articleRetrieve a list of articles with all their prices in the specified price listreadfortnox.prices.deleteDelete a single pricedestructivefortnox.prices.get_defaultRetrieve a list of pricesread- and 2 more in this area
Warehouse incominggoods8
fortnox.warehouse_incominggoods.completeComplete Incoming Goods documentwritefortnox.warehouse_incominggoods.createCreate Incoming Goods documentwritefortnox.warehouse_incominggoods.getGet Incoming Goods documentreadfortnox.warehouse_incominggoods.listList Incoming Goods Documentsreadfortnox.warehouse_incominggoods.patchPartial update Incoming Goods documentwritefortnox.warehouse_incominggoods.releaseRelease Incoming Goods documentwrite- and 2 more in this area
Warehouse productionorders8
fortnox.warehouse_productionorders.createCreate a new production orderwritefortnox.warehouse_productionorders.getGet Production Order documentreadfortnox.warehouse_productionorders.listList production ordersreadfortnox.warehouse_productionorders.updateUpdate a production orderwritefortnox.warehouse_productionorders.get_bill_of_materialsGet the package items (Bill Of Materials, BOMs) for a production articlereadfortnox.warehouse_productionorders.patchUpdate the note of a production orderwrite- and 2 more in this area
Contracts7
fortnox.contracts.createCreate a contractwritefortnox.contracts.createinvoiceCreate invoice from contractwritefortnox.contracts.finishSet a contract as finishedwritefortnox.contracts.listRetrieve a list of contractsreadfortnox.contracts.getRetrieve a single contractreadfortnox.contracts.increaseinvoicecountIncreases the invoice count without creating an invoicewrite- and 1 more in this area
Noxfinansinvoices7
fortnox.noxfinansinvoices.createSend an invoice with Fortnox Finanswritefortnox.noxfinansinvoices.getRetrieve a single invoice paymentreadfortnox.noxfinansinvoices.pauseAction Pausewritefortnox.noxfinansinvoices.report_paymentAction Report Paymentwritefortnox.noxfinansinvoices.stopAction Stopwritefortnox.noxfinansinvoices.take_feesAction Take Feeswrite- and 1 more in this area
Absencetransactions6
fortnox.absencetransactions.createCreate a new absence transactionwritefortnox.absencetransactions.getRetrieve a specific absence transactionreadfortnox.absencetransactions.listLists all absence transactionsreadfortnox.absencetransactions.list_by_date_codeRetrieve absence transactionsreadfortnox.absencetransactions.deleteDelete an absence transactiondestructivefortnox.absencetransactions.updateUpdate a single absence transactionwrite
Articles V26
fortnox.articles_v2.calculate_bundle_pricesCalculate the prices of all included articles in a bundlereadfortnox.articles_v2.createCreate an articlewritefortnox.articles_v2.getRetrieve an articlereadfortnox.articles_v2.listRetrieve a list of articlesreadfortnox.articles_v2.deleteDelete an articledestructivefortnox.articles_v2.updateUpdate an articlewrite
Attachments6
fortnox.attachments.countList number of attachmentsreadfortnox.attachments.createAttach files to one or more entitieswritefortnox.attachments.listGet attached files on an entityreadfortnox.attachments.validate_included_on_sendValidates a list of attachments that will be included on sendwritefortnox.attachments.deleteDetach filedestructivefortnox.attachments.updateUpdate attachmentwrite
Attendancetransactions6
fortnox.attendancetransactions.createCreate a new attendance transactionwritefortnox.attendancetransactions.getRetrieve a specific attendance transactionreadfortnox.attendancetransactions.listLists all attendance transactionsreadfortnox.attendancetransactions.list_by_date_codeRetrieve attendance transactionsreadfortnox.attendancetransactions.deleteDelete an attendance transactiondestructivefortnox.attendancetransactions.updateUpdate a single attendance transactionwrite
Invoicepayments6
fortnox.invoicepayments.createCreate an invoice paymentwritefortnox.invoicepayments.getRetrieve a single invoice paymentreadfortnox.invoicepayments.listRetrieve a list of invoice paymentsreadfortnox.invoicepayments.updateUpdate an invoice paymentwritefortnox.invoicepayments.bookkeepBookkeep an invoice paymentwritefortnox.invoicepayments.deleteRemove an invoice paymentdestructive
Supplierinvoicepayments6
fortnox.supplierinvoicepayments.bookkeepBookkeep a supplier invoice paymentwritefortnox.supplierinvoicepayments.createCreate a supplier invoice paymentwritefortnox.supplierinvoicepayments.getRetrieve a single supplier invoice paymentreadfortnox.supplierinvoicepayments.listRetrieve a list of supplier invoice paymentsreadfortnox.supplierinvoicepayments.deleteRemove a supplier invoice paymentdestructivefortnox.supplierinvoicepayments.updateUpdate a supplier invoice paymentwrite
Warehouse inbound deliveries6
fortnox.warehouse_inbound_deliveries.createCreate manual inbound documentwritefortnox.warehouse_inbound_deliveries.getGet manual inbound documentreadfortnox.warehouse_inbound_deliveries.releaseRelease manual inbound documentwritefortnox.warehouse_inbound_deliveries.updateUpdate manual inbound documentwritefortnox.warehouse_inbound_deliveries.update_noteUpdate note on manual inbound documentwritefortnox.warehouse_inbound_deliveries.voidVoid manual inbound documentdestructive
Warehouse outbound deliveries6
fortnox.warehouse_outbound_deliveries.createCreate manual outbound documentwritefortnox.warehouse_outbound_deliveries.getGet manual outbound documentreadfortnox.warehouse_outbound_deliveries.releaseRelease manual outbound documentwritefortnox.warehouse_outbound_deliveries.updateUpdate manual outbound documentwritefortnox.warehouse_outbound_deliveries.update_noteUpdate note on manual outbound documentwritefortnox.warehouse_outbound_deliveries.voidVoid manual outbound documentdestructive
Warehouse stockpoints6
fortnox.warehouse_stockpoints.createCreate stock pointwritefortnox.warehouse_stockpoints.getGet stock pointreadfortnox.warehouse_stockpoints.listList stock pointsreadfortnox.warehouse_stockpoints.updateUpdate stock pointwritefortnox.warehouse_stockpoints.deleteDelete stock pointdestructivefortnox.warehouse_stockpoints.list_by_idsGet stock pointsread
Accounts5
fortnox.accounts.createCreate an accountwritefortnox.accounts.getRetrieve an accountreadfortnox.accounts.listList all accountsreadfortnox.accounts.updateUpdate an accountwritefortnox.accounts.deleteDeletes an accountdestructive
Articles5
fortnox.articles.createCreate an articlewritefortnox.articles.getRetrieve an articlereadfortnox.articles.listRetrieve a list of articlesreadfortnox.articles.updateUpdate an articlewritefortnox.articles.deleteDelete an articledestructive
Articleurlconnections5
fortnox.articleurlconnections.createCreate an article url connectionwritefortnox.articleurlconnections.getRetrieve a single article url connectionreadfortnox.articleurlconnections.listRetrieve a list of article url connectionsreadfortnox.articleurlconnections.updateUpdate an article url connectionwritefortnox.articleurlconnections.deleteRemove an article url connectiondestructive
Assets types5
fortnox.assets_types.createCreate an asset typewritefortnox.assets_types.getRetrieve an asset typereadfortnox.assets_types.listRetrieve a list of asset typesreadfortnox.assets_types.updateUpdate an asset typewritefortnox.assets_types.deleteDelete an asset typedestructive
Contractaccruals5
fortnox.contractaccruals.createCreate a contract accrualwritefortnox.contractaccruals.getRetrieve a single contract accrualreadfortnox.contractaccruals.listRetrieve a list of contract accrualsreadfortnox.contractaccruals.updateUpdate a contract accrualwritefortnox.contractaccruals.deleteRemove a contract accrualdestructive
Costcenters5
fortnox.costcenters.createCreate a cost centerwritefortnox.costcenters.getRetrieve a single cost centerreadfortnox.costcenters.listRetrieve a list of cost centersreadfortnox.costcenters.updateUpdate a cost centerwritefortnox.costcenters.deleteRemove a cost centerdestructive
Currencies 5Customerreferences 5Customers 5Invoiceaccruals 5Modesofpayments 5Projects 5Recurrings 5Salarytransactions 5Supplierinvoiceaccruals 5Taxreductions 5Termsofpayments 5Units 5Vouchers 5Warehouse stocktransfer 5Wayofdeliveries 5Articlefileconnections 4Contracttemplates 4Employees 4Labels 4Pricelists 4Supplierinvoiceexternalurlconnections 4Supplierinvoicefileconnections 4Suppliers 4Termsofdeliveries 4Voucherfileconnections 4Voucherseries 4Warehouse custom inbound documents 4Warehouse custom outbound documents 4Warehouse stocktaking rows 4Archive 3Assetfileconnections 3Emailsenders 3Expenses 3Financialyears 3Predefinedaccounts 3Predefinedvoucherseries 3Recurring invoice requests 3Scheduletimes 3Supplierinvoice comments 3Warehouse custom document types 3Inbox 2Recurring deviations 2Warehouse stock locations 2Accountcharts 1Company settings 1Companyinformation 1Developer ratings 1Developer sales 1Developer users 1Euvatlimitregulation 1Locked period 1Me 1Printtemplates 1Time article registrations 1Time registrations 1Vacationdebtbasis 1Warehouse deliveries 1Warehouse stock balance 1Warehouse tenant 1
This index shows a sample of each area. All 410 actions, with their inputs and prices, are in the catalogue, which a free sandbox key can search.
Questions
The Fortnox MCP server, answered.
Is there a Fortnox MCP server for Claude?
Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 410 Fortnox actions across warehouse purchaseorders, assets, invoices and invoices V2, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Fortnox.
What do I need to connect Fortnox?
Your own Fortnox OAuth app, registered with Fortnox (its client id and client secret), and the access and refresh tokens from one admin sign-in. actionlake has no Fortnox app of its own, so this is not a one-step consent. actionlake renews the access token as it expires. The free call account { op: "connections.requirements", service: "fortnox" } lists exactly what to paste.
Can an AI agent delete or change things in Fortnox?
Only if its key allows it, and only with an explicit confirmation. 57 Fortnox actions are destructive, including remove an invoice payment, deletes an account and delete an article. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.
Will an AI agent use up my Fortnox API limit?
actionlake paces every call to the limits in the Fortnox service file: 25 calls per 5 seconds per connection. Repeated reads are answered from cache (159 Fortnox actions can be), which never reaches Fortnox.
What does a Fortnox action cost?
One upstream call, the only unit actionlake bills. A list that pages bills one call per page (410 Fortnox actions page). Cache hits, searches, dry runs and calls Fortnox refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
Which Fortnox API does it cover?
The Fortnox API v3 plus the /api warehouse, time, recurring-billing and file-attachment services (OpenAPI 3.0.3) at api.fortnox.se. It is built from Fortnox's documentation as read on 23 October 2026. 410 actions in 89 areas, each one in the signed service file (version 1.0.0).
Can I combine Fortnox with my other systems?
Yes. ask joins Fortnox to ConnectWise PSA or HubSpot CRM on the same customer and returns the answer rather than every row. Fortnox maps crm.company, which 227 other connectors also map.
Does actionlake keep my Fortnox data, and where?
actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Fortnox credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.
Which AI clients can use it?
Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.
Give your agent Fortnox today.
Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.