# sevDesk MCP

> sevDesk MCP Server gives your AI agent direct read and write access to sevDesk's core data. You can manage contacts, create sales orders, draft invoices, and track accounting records—all without opening a browser dashboard. It connects your LLM to CRM functions, parts catalogs, bank accounts, and the full ledger history for autonomous financial management.

## Overview
- **Category:** customer-relationship-management
- **Price:** Free
- **Tags:** invoicing, bookkeeping, ledger-management, crm-sync, voucher-tracking, smb-accounting

## Description

# **sevDesk MCP Server: Your AI Agent's Financial Copilot**

This server gives your AI agent direct read and write access to sevDesk’s core financial records. You won't need to open a browser dashboard or fight through menus; your agent handles bookkeeping tasks—from generating invoices to tracking bank balances—by talking straight to the underlying API.

### **Managing Customer & Vendor Records**

To handle client and vendor data, your agent first uses `list_contacts` to grab a complete list of every customer and supplier. If you need specifics on just one person or company, it pulls all the necessary details using `get_contact`. When a new client signs up or a new vendor drops in, your agent adds them instantly with `create_contact`, keeping your books current.

### **Generating Orders and Invoices**

The agent handles everything related to billing. To generate reports or check payment status, it uses `list_invoices` for a comprehensive list of every invoice, including the contact details. For deep dives into any single bill, `get_invoice` retrieves detailed information, showing all line items and tax breakdowns. Similarly, if you need an order's history, `list_orders` provides a full roster of sales orders placed, and `get_order` pulls every detail for one specific sale.

### **Maintaining the Product Catalog**

Need to keep track of what you sell? Your agent lists all existing parts or services using `list_parts`. If you find yourself with new inventory or a service offering, it creates a brand-new entry in the catalog via `create_part`, maintaining accurate pricing and descriptions. For checking specifics on an item already listed, it uses `get_part` to pull detailed information for any given part or service ID.

### **Auditing Accounting Data**

When you gotta reconcile numbers, your agent has the tools. It lists all bank accounts connected to the system using `list_bank_accounts`, so you always know where the dough is sitting. To understand how your company classifies money, it displays the entire chart of accounts structure with `list_accounting_types`. For internal tracking and reconciliation, the server lets your agent check incoming or outgoing physical receipts/vouchers via `list_vouchers` or pull a full data record for any credit note using `get_credit_note`, while also listing all recorded notes with `list_credit_notes`. 

### **Core Data Retrieval**

For quick overviews, the agent can list everything: it pulls comprehensive, paginated lists of contacts (`list_contacts`), invoices (`list_invoices`), orders (`list_orders`), parts (`list_parts`), and vouchers (`list_vouchers`). This gives your AI client a complete picture without ever opening a browser.

## Tools

### create_contact
Adds a new customer or supplier record to sevDesk.

### create_part
Creates a brand-new product or service entry in the catalog.

### get_contact
Retrieves all specific details about one contact ID.

### get_credit_note
Pulls the full data record for a single credit note.

### get_invoice
Gets detailed information about one invoice, including all line items and taxes.

### get_order
Retrieves the full details of a specific sales order.

### get_part
Gets detailed information for one part or service ID.

### list_accounting_types
Displays the entire chart of accounts structure used by the company.

### list_bank_accounts
Lists all bank accounts connected to the system for reference.

### list_contacts
Retrieves a complete list of every customer and supplier in sevDesk.

### list_credit_notes
Lists all recorded credit notes for auditing purposes.

### list_invoices
Provides a comprehensive list of all invoices, including contact data.

### list_orders
Displays a full list of all sales orders placed.

### list_parts
Lists every product and service available in the catalog for sale.

### list_vouchers
Pulls a list of all incoming or outgoing physical receipts/vouchers.

## Prompt Examples

**Prompt:** 
```
Extract the details of invoice #18742 and summarize its line items alongside the associated contact name.
```

**Response:** 
```
Invoking `get_invoice` using ID 18742 successfully queried the sevDesk API endpoint. The underlying contact reference resolves beautifully to the recognized entity "Stark Industries". Inspecting the associated line-item array reveals two dominant artifacts currently billed: Software Maintenance Support (15 units representing hourly increments at 120.00 each) and Cloud Expansion Licensing Cost (a flat 400.00 fee). The overall net calculation indicates 2200.00 EUR dynamically computed without outstanding adjustments. Do you wish to verify its status in `list_credit_notes` to rule out refunds?
```

**Prompt:** 
```
List all currently existing bank accounts natively integrated using the core config.
```

**Response:** 
```
Running the targeted diagnostic `list_bank_accounts` extracted exactly 2 live inlets formally structured under this tenant entity. Check account 001 maps to the primary 'Deutsche Bank GmbH' with an active balancing status indicating ready-reckoner liquidity. Setup inlet 002 flags explicitly as the secondary 'Commerzbank Corporate Node' reserve. Both objects exhibit identical local currency encodings (EUR).
```

## Capabilities

### Manage Customer Records
The agent can list, read details for, or create new customer or supplier entries.

### Generate Invoices and Orders
It retrieves full invoice line items, tax breakdowns, and order statuses needed for billing reports.

### Maintain Catalog Parts
You can list existing parts or services and create entirely new entries in the product catalog.

### Audit Accounting Data
The agent lists your bank accounts, views available accounting types, and checks vouchers/credit notes for reconciliation.

### View Core Financial Lists
It pulls comprehensive, paginated lists of all contacts, invoices, orders, parts, and more.

## Use Cases

### A client needs a quick invoice summary.
The agent receives a query: "What's the net total on invoice #392911, and who is the attached client?" The system runs `get_invoice` to get the financials and then uses that data to reference the associated contact name. The result is an immediate, summarized answer for the user.

### The team needs to reconcile a physical payment.
A voucher arrives showing 500 EUR. Instead of filing it manually and checking the ledger later, the agent uses `list_vouchers` to see recent entries and then runs `get_credit_note` against the voucher ID to confirm if that payment was already accounted for.

### Setting up a new product line.
A sales manager doesn't know how to add a unique service. They ask the agent, "Add our new consulting package.". The agent uses `create_part` with the necessary details, making the item instantly available for use in future orders and invoices.

### Auditing account setup.
The finance team wants to check if all required banking nodes are configured. They simply ask the agent to run `list_bank_accounts`. The system returns a list, confirming details like 'Deutsche Bank GmbH' and their current status.

## Benefits

- **Automated Data Retrieval:** Instead of navigating to the invoicing tab, searching by customer name, and then downloading a PDF, you just ask your agent. The tool `get_invoice` pulls all line items, taxes, and due dates directly into your chat window for immediate review.
- **Full Lifecycle Management:** You can track an order from start to finish. First, check the sales order with `list_orders`, then use `get_order` to verify parts, and finally confirm billing by calling `get_invoice`. The agent manages this sequence automatically.
- **Zero-Click CRM Updates:** Creating a new vendor used to mean logging into another system. Now, you just ask the AI to create the contact using `create_contact`, and it handles the record creation in sevDesk for you.
- **Financial Audit Power:** Reconciling receipts is tough. With `list_vouchers` and `get_credit_note`, your agent can pull up a physical receipt, compare it against a formal credit note, and tell you if they match—all from one prompt.
- **System Transparency:** Need to know what accounts you're using? Call `list_bank_accounts`. You see exactly which bank nodes are active without having to manually check the core configuration settings.

## How It Works

The bottom line is, your AI client executes multiple required accounting actions through specific, named tools without you ever touching a dashboard.

1. Install this module directly into your MCP-compatible IDE or conversational context.
2. Inject your 32-character hexadecimal sevDesk API Token to establish a secure connection.
3. Prompt your agent with natural language instructions (e.g., "What's the total for invoice #123?").

## Frequently Asked Questions

**How do I find out what accounts are available for billing using the list_accounting_types tool?**
You run `list_accounting_types` to see every valid chart of account code. This provides a comprehensive list, ensuring your agent uses only approved accounting categories when generating new invoices or orders.

**Can I use the get_invoice tool to see old payments?**
The `get_invoice` tool pulls specific invoice data, which includes payment status. For a full audit of past adjustments and refunds, you should also run `list_credit_notes` for context.

**What is the difference between list_contacts and get_contact?**
`list_contacts` gives you a massive directory listing of every single client/supplier. Use `get_contact` when you already have an ID and need all the deep details on that one specific record.

**Do I need to use list_parts before creating a new product with create_part?**
No, you don't. The `create_part` tool allows you to bypass listing and write the new catalog entry directly using your agent.

**What happens if I use the get_invoice tool with an ID that doesn't exist?**
The AI client receives a structured error message instead of crashing. The agent reports the specific API failure (e.g., 'Invoice Not Found') so you can adjust your prompt or check the invoice number.

**Are there limits if I run list_orders repeatedly? How do I get all records?**
The system implements rate limiting to prevent overload, but it supports pagination. Your agent automatically handles this by requesting subsequent pages until the full dataset of sales orders is gathered.

**How should I manage my API token for secure connections across all tools?**
The connection requires a 32-character hexadecimal sevDesk API Token. Treat this credential like a password; never share it and ensure your AI client securely injects it into the environment.

**Can I reference a newly created contact ID when getting an order using get_order?**
Yes, you can pass the new contact's unique identifier. This allows the agent to link the recently created client record directly to existing sales orders for comprehensive reporting.

**Are API-created contacts exactly the same as UI-created ones?**
Yes contextually. When you execute the `create_contact` function natively alongside `category` parameters (`3` stands for customer, `4` for typical suppliers), sevDesk anchors these entries officially inside the identical primary table. Be clear about whether it's an email-lead versus a firm.

**Wait, does my generated API Token expire if left unused?**
No. The verified 32-character hexadecimal key token possesses an infinite lifeline inherently tied directly, securely, and stubbornly to your primary login account. It decays or dies primarily upon deliberate manual revocation (regeneration) directly executed by you inside your dashboard user settings.

**Can I fetch detailed line items from a single invoice ID using this agent?**
Absolutely. Querying `list_invoices` outputs high-level paginated arrays, but invoking the precision extractor `get_invoice` fed deliberately with a target identifier ID unveils the core metadata array detailing isolated tax mappings, due-date boundaries, and intricate line items.