fortnox-mcp-server
# Fortnox MCP Server
Connect AI agents to **Fortnox** — Sweden's largest cloud accounting platform (612,000+ customers).
Manage invoices, customers, suppliers, accounting entries, orders, and more through the Model Context Protocol.
## Tools (20)
| Category | Tools | Description |
|----------|-------|-------------|
| **Invoices** | `list_invoices`, `get_invoice`, `create_invoice`, `send_invoice`, `get_invoice_payments` | Create, send, and track invoices |
| **Customers** | `list_customers`, `get_customer`, `create_customer` | Manage your customer database |
| **Suppliers** | `list_supplier_invoices`, `get_supplier`, `create_supplier_invoice` | Track bills and expenses |
| **Accounting** | `list_vouchers`, `create_voucher`, `get_accounts`, `get_financial_year` | Journal entries and chart of accounts |
| **Reports** | `get_company_info`, `list_projects`, `list_cost_centers` | Company info and cost tracking |
| **Orders** | `list_orders`, `create_offer` | Sales orders and quotes |
## Quick Start
### 1. Get a Fortnox Access Token
Sign up as a developer at [developer.fortnox.se](https://www.fortnox.se/developer) and create an integration to get your OAuth2 credentials.
### 2. Configure in Claude Desktop
Add to your `claude_desktop_config.json`:
```json
{
"mcpServers": {
"fortnox": {
"command": "npx",
"args": ["-y", "fortnox-mcp-server"],
"env": {
"FORTNOX_ACCESS_TOKEN": "your-access-token-here"
}
}
}
}
```
### 3. Start Using
Ask Claude things like:
- "List all unpaid invoices"
- "Create an invoice for customer 1001 with 10 hours of consulting at 1500 SEK/hr"
- "Show me the chart of accounts"
- "What supplier invoices are overdue?"
- "Create a quote for Acme AB"
## Install from Source
```bash
git clone https://github.com/viggojohansson/fortnox-mcp-server.git
cd fortnox-mcp-server
npm install
npm run build
```
Then configure Claude Desktop to point to the local build:
```json
{
"mcpServers": {
"fortnox": {
"command": "node",
"args": ["/path/to/fortnox-mcp-server/dist/index.js"],
"env": {
"FORTNOX_ACCESS_TOKEN": "your-access-token-here"
}
}
}
}
```
## Environment Variables
| Variable | Required | Description |
|----------|----------|-------------|
| `FORTNOX_ACCESS_TOKEN` | Yes | OAuth2 access token from Fortnox |
## API Reference
This server wraps the [Fortnox REST API v3](https://api.fortnox.se/apidocs). Rate limit: 25 requests per 5 seconds.
## License
MIT
TDQS
Scored across 20 tools
Every tool targets a distinct resource-action combination. Invoices, customers, suppliers, accounting entries, projects, cost centers, orders, and offers are clearly separated with no overlap.
All tools use a consistent verb_noun pattern in snake_case (e.g., get_invoice, list_customers, create_voucher). Variations like 'get_accounts' vs 'get_customer' follow the same pattern.
20 tools cover a broad ERP domain (invoicing, customers, suppliers, accounting, projects, orders, offers) without being excessive. Each tool earns its place.
Core operations are present (create, read, list for key entities), but notable gaps exist: no update or delete for invoices, customers, suppliers, or orders. Offers lack list/get/update. The surface is functional but incomplete for full lifecycle management.