Fortnox MCP server
io.github.jakobwennberg/fortnox·v1.0.0·41 starsMCP server for Fortnox Swedish accounting API integration
41 stars71 downloads/wk
Reviews
Write oneNobody has reviewed Fortnox yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Fortnox tools (28, 15 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
fortnox_bookkeep_invoiceBookkeep an invoice, creating the accounting entries. Once booked, the invoice cannot be edited. Args: - document_number (string): Invoice document number to bookkeep (required) - response_format ('markdown' | 'json'): Output format Returns: Confirmation of bookkeeping with the created voucher reference.
fortnox_cancel_invoicewrite actionCancel an invoice. Booked invoices will have reversal entries created. Args: - document_number (string): Invoice document number to cancel (required) - response_format ('markdown' | 'json'): Output format Returns: Confirmation of cancellation.
fortnox_create_accountwrite actionCreate a new account in the chart of accounts. Args: - account_number (number): Account number 1000-9999 (required) - description (string): Account description (required) - vat_code (string): VAT code for the account - active (boolean): Whether the account is active (default: true) - cost_center_settings ('ALLOWED' | 'MANDATORY' | 'NOTALLOWED'): Cost center settings - project_settings ('ALLOWED' |
fortnox_create_customerwrite actionfortnox_create_invoicewrite actionfortnox_create_supplierwrite actionfortnox_create_voucherwrite actionfortnox_credit_invoicewrite actionCreate a credit note for an invoice. This creates a new credit invoice referencing the original. Args: - document_number (string): Invoice document number to credit (required) - response_format ('markdown' | 'json'): Output format Returns: The created credit invoice details.
fortnox_delete_accountwrite actionDelete an account from the chart of accounts. WARNING: This action cannot be undone. The account must not have any transactions. Args: - account_number (number): Account number to delete (required) Returns: Confirmation of deletion.
fortnox_delete_customerwrite actionDelete a customer from Fortnox. WARNING: This action cannot be undone. The customer must not have any invoices or orders. Args: - customer_number (string): Customer number to delete (required) Returns: Confirmation of deletion.
fortnox_delete_supplierwrite actionDelete a supplier from Fortnox. WARNING: This action cannot be undone. The supplier must not have any invoices. Args: - supplier_number (string): Supplier number to delete (required) Returns: Confirmation of deletion.
fortnox_get_accountRetrieve detailed information about a specific account. Args: - account_number (number): The account number to retrieve (1000-9999, required) - response_format ('markdown' | 'json'): Output format Returns: Complete account details including description, VAT settings, and balances.
fortnox_get_company_infoRetrieve information about the company connected to this Fortnox account. Returns company name, organisation number, addresses, contact details, and other company information. Args: - response_format ('markdown' | 'json'): Output format Returns: Company details including name, organisation number, address, and contact information.
fortnox_get_customerRetrieve detailed information about a specific customer. Args: - customer_number (string): The customer number to retrieve (required) - response_format ('markdown' | 'json'): Output format Returns: Complete customer details including contact info, addresses, payment terms, and VAT settings.
fortnox_get_invoiceRetrieve detailed information about a specific invoice including all line items. Args: - document_number (string): The invoice document number to retrieve (required) - response_format ('markdown' | 'json'): Output format Returns: Complete invoice details including customer info, dates, amounts, line items, and payment status.
fortnox_get_supplierRetrieve detailed information about a specific supplier. Args: - supplier_number (string): The supplier number to retrieve (required) - response_format ('markdown' | 'json'): Output format Returns: Complete supplier details including contact info, addresses, bank details, and payment terms.
fortnox_get_voucherRetrieve detailed information about a specific voucher including all accounting rows. Args: - voucher_series (string): Voucher series (e.g., 'A') (required) - voucher_number (number): Voucher number within the series (required) - financial_year (number): Financial year ID (defaults to current year) - response_format ('markdown' | 'json'): Output format Returns: Complete voucher details including a
fortnox_list_accountsList accounts from the chart of accounts in Fortnox. Retrieves a paginated list of accounts with optional filtering. Args: - limit (number): Max results per page, 1-100 (default: 20) - page (number): Page number for pagination (default: 1) - search_description (string): Search accounts by description - from_account (number): Filter accounts from this number (1000-9999) - to_account (number): Filte
fortnox_list_customersfortnox_list_invoicesfortnox_list_suppliersList suppliers from Fortnox accounting system. Retrieves a paginated list of suppliers with optional filtering. Args: - limit (number): Max results per page, 1-100 (default: 20) - page (number): Page number for pagination (default: 1) - filter ('active' | 'inactive'): Filter by supplier status - search_name (string): Search suppliers by name (partial match) - response_format ('markdown' | 'json'):
fortnox_list_voucher_seriesList available voucher series in Fortnox. Voucher series are used to categorize vouchers (e.g., 'A' for manual entries, 'B' for bank, etc.). Args: - response_format ('markdown' | 'json'): Output format Returns: List of voucher series with code, description, and whether manual entries are allowed.
fortnox_list_vouchersfortnox_send_invoice_emailwrite actionSend an invoice to the customer via email. The invoice will be sent to the email address configured for the customer. Args: - document_number (string): Invoice document number to send (required) - response_format ('markdown' | 'json'): Output format Returns: Confirmation that the email was sent.
fortnox_update_accountwrite actionUpdate an existing account in the chart of accounts. Args: - account_number (number): Account number to update (required) - description (string): Account description - vat_code (string): VAT code - active (boolean): Whether the account is active - cost_center_settings ('ALLOWED' | 'MANDATORY' | 'NOTALLOWED'): Cost center settings - project_settings ('ALLOWED' | 'MANDATORY' | 'NOTALLOWED'): Project
fortnox_update_customerwrite actionUpdate an existing customer in Fortnox. Args: - customer_number (string): Customer number to update (required) - name, email, phone, address fields, etc.: Fields to update (only provided fields are changed) Returns: The updated customer details.
fortnox_update_invoicewrite actionUpdate an existing invoice in Fortnox. Only unbooked invoices can be updated. Args: - document_number (string): Invoice document number to update (required) - rows (array): Updated line items (replaces all existing rows) - Other fields: Same as create_invoice Returns: The updated invoice details.
fortnox_update_supplierwrite actionUpdate an existing supplier in Fortnox. Args: - supplier_number (string): Supplier number to update (required) - All other fields from create_supplier (only provided fields are updated) Returns: The updated supplier details.
Public scan report
scanner v0.1.10 · 2026-10-01 · same rubric, same numbers if you re-run it
- Code scan35 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitystatic API keys via environment variables6/15
- Maintenancelast push 156 days ago8/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year9/10
How Fortnox compares
Against every graded Finance MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 74/100
- higher than 48% of 1,761 Finance servers
- Tools
- 28
- the typical Finance server has 8
- Tools that change things
- 54%
- typical: 0%. Fewer write tools means less an agent can break
- GitHub stars
- 41
- more than 91% of 946 Finance servers
- Downloads a week
- 71
- more than 60% of 421 Finance servers with a package
What its tools let an agent do: 13 read · 15 change
Install Fortnox in Claude Code, Cursor or VS Code
Runs npx -y fortnox-mcp-server on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add fortnox -- npx -y fortnox-mcp-server
What the publisher says
From the Fortnox repository's README, as published. We do not edit it. Read it on GitHub
Fortnox MCP Server
An MCP (Model Context Protocol) server for integrating with the Fortnox Swedish accounting system. This server enables LLMs to interact with Fortnox for managing invoices, customers, suppliers, orders, accounts, vouchers, and provides business intelligence analytics.
Two Ways to Use
Quick Start: Remote Mode (Recommended)
The easiest way to use Fortnox MCP - no credentials needed, just authorize in your browser.
Option A: Add to Claude.ai (Web)
- Go to claude.ai
- Navigate to Settings → Integrations → Add Integration
- Enter the URL: https://fortnox-mcp.vercel.app/mcp
- Wait for it to load, then authorize access by clicking connect
Option B: Add to Claude Desktop
Open your Claude Desktop config file:
- macOS: ~/Library/Application Support/Claude/claudedesktopconfig.json
- Windows: %APPDATA%\Claude\claudedesktopconfig.json
Add this configuration:
{
"mcpServers": {
"fortnox": {
"url": "https://fortnox-mcp.vercel.app/mcp"
}
}
}Restart Claude Desktop. When you first ask Claude to do something with Fortnox, a browser window will open for you to authorize access to your Fortnox account. Once authorized, you're all set!
Quick Start: Local Mode (Self-Hosted)
For developers who want to run the server locally or use their own Fortnox app credentials.
1. Get your Fortnox credentials
- Register at Fortnox Developer Portal
- Create an application to get your Client ID and Client Secret
- Complete the OAuth2 flow to get a Refresh Token
2. Add to Claude Desktop
Open your Claude Desktop config file:
- macOS: ~/Library/Application Support/Claude/claudedesktopconfig.json
- Windows: %APPDATA%\Claude\claudedesktopconfig.json
Add this configuration:
{
"mcpServers": {
"fortnox": {
"command": "npx",
"args": ["-y", "fortnox-mcp-server"],
"env": {
"FORTNOX_CLIENT_ID": "your-client-id",
"FORTNOX_CLIENT_SECRET": "your-client-secret",
"FORTNOX_REFRESH_TOKEN": "your-refresh-token"
}
}
}
}3. Restart Claude Desktop
That's it! You can now ask Claude to manage your Fortnox invoices, customers, and more.
Features
Customer Management
- fortnoxlistcustomers - List and search customers
- fortnoxgetcustomer - Get customer details
- fortnoxcreatecustomer - Create new customer
- fortnoxupdatecustomer - Update customer
- fortnoxdeletecustomer - Delete customer
Invoice Management
- fortnoxlistinvoices - List invoices with filtering
- fortnoxgetinvoice - Get invoice details with line items
- fortnoxcreateinvoice - Create new invoice
- fortnoxupdateinvoice - Update draft invoice
- fortnoxbookkeepinvoice - Bookkeep invoice
- fortnoxcancelinvoice - Cancel invoice
- fortnoxcreditinvoice - Create credit note
- fortnoxsendinvoice_email - Send invoice by email
Supplier Management
- fortnoxlistsuppliers - List and search suppliers
- fortnoxgetsupplier - Get supplier details
- fortnoxcreatesupplier - Create new supplier
- fortnoxupdatesupplier - Update supplier
- fortnoxdeletesupplier - Delete supplier
Supplier Invoice Management
- fortnoxlistsupplier_invoices - List supplier invoices with filtering
- fortnoxgetsupplier_invoice - Get supplier invoice details
- fortnoxapprovesupplier_invoice - Approve supplier invoice for payment
- fortnoxpayablesreport - Get accounts payable aging report
Order Management
- fortnoxlistorders - List sales orders with filtering
- fortnoxlistoffers - List offers/quotes with filtering
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Fortnox: common questions
- Is Fortnox MCP server safe?
- Mostly: it is graded B (74/100). Read the Fortnox safety report
- How do I install Fortnox?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Fortnox need an API key?
- Yes. The registry entry asks for
FORTNOX_CLIENT_ID,FORTNOX_CLIENT_SECRET,FORTNOX_REFRESH_TOKEN. - Is Fortnox maintained?
- The last commit was 190 days ago (2026-04-28). The latest release is v1.0.0.
- What can I use instead of Fortnox?
- Servers from other publishers that do the same job: E Arveldaja MCP server, OpenAccountants MCP server and Norman Finance — AI Bookkeeping, Accounting & Taxes MCP server.
- How does Fortnox compare with other Finance MCP servers?
- safety score 74/100 (higher than 48% of 1,761 Finance servers); tools 28 (the typical Finance server has 8); tools that change things 54% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.
Alternatives to Fortnox
Same job from other publishers: the closest match first, then the best rated.
- E ArveldajaEstonian e-arveldaja (RIK e-Financials) accounting — invoices, bank import, reports.not reviewedEstablishedB
- OpenAccountantsOpen-source AI accounting skills verified by licensed accountants (tax, VAT, payroll).not reviewedEstablishedB
Norman Finance — AI Bookkeeping, Accounting & TaxesBookkeeping, invoices and tax workflows for European businesses, including Polish KPiR and JPK.not reviewedGrowingA- CnbOfficial ČNB exchange rates — daily & historical CZK vs EUR, USD, 30+ currencies. For accounting.not reviewedGrowingA
- BexioSwiss accounting integration for Bexio. 315 tools: invoices, contacts, projects, account balancesnot reviewedGrowingA