# Holded MCP

> Holded MCP connects your AI client directly to your accounting and business records in Spain and Latin America. Manage everything from generating invoices and tracking payments to handling inventory counts—all through natural conversation. Get full control of your ERP workflows without navigating complex menus.

## Overview
- **Category:** erp-operations
- **Price:** Free
- **Tags:** invoicing, accounting, inventory-management, business-management, sales-orders, purchase-tracking

## Description

You can use this MCP to take over core parts of your business operations, making your AI agent function like a dedicated bookkeeper or administrator. Instead of logging into the Holded portal and clicking through tabs for every task, you just talk to your agent. It reads your customer list, checks what's owed, manages inventory counts, and even drafts sales orders and purchase tracking records.

Your agent handles everything from setting up a new contact record to listing all recent payments or retrieving specific financial reports. This centralization means you don't have to jump between multiple systems just to figure out a customer’s balance. It's like having an expert embedded right into your conversation flow, giving you immediate access to data that used to be buried deep in complex ERP menus. For the best catalog of tools and integrations, check out Vinkius.

## Tools

### create_invoice
Generates a brand-new invoice for a specified client and set of goods.

### list_contacts
Retrieves a list of all saved clients and contacts in the system.

### list_credit_notes
Lists all credit notes issued through Holded.

### list_expenses
Retrieves a list of recorded business expenses for review.

### list_invoices
Lists all finalized sales invoices that have been issued.

### list_payments
Pulls a list of recent payments received or processed.

### list_products
Retrieves the current inventory list and stock details for all products.

### list_purchase_invoices
Lists invoices received from your suppliers.

### list_purchase_orders
Retrieves a list of purchase orders sent to vendors.

### list_quotes
Shows all sales quotes that have been generated but not yet converted into an invoice.

### list_sales_orders
Lists all formal sales orders placed by customers.

### list_webhooks
Shows a list of active webhook configurations for the account.

## Prompt Examples

**Prompt:** 
```
List all my unpaid sales invoices from Holded.
```

**Response:** 
```
I've retrieved 8 unpaid invoices. The largest one is for 'Global Tech Solutions' (€1,200.00) and is 5 days overdue. Would you like to see the full list or the details for this specific invoice?
```

**Prompt:** 
```
Create a new contact 'John Doe' as a lead with email 'john@example.com'.
```

**Response:** 
```
Contact 'John Doe' has been successfully created as a Lead in your Holded CRM (ID: 654321). I've also mapped their email address. What's the next step for this lead?
```

**Prompt:** 
```
Show me the last 5 business expenses.
```

**Response:** 
```
Fetching recent expenses... Here are the last 5: 'Office Supplies' (€45.00), 'Software Subscription' (€29.99), 'Travel' (€120.00), 'Utilities' (€85.50), and 'Marketing' (€200.00). Total for these entries is €480.49.
```

## Capabilities

### Manage Customer Data
Retrieve or list existing contacts and client information from your CRM.

### Create Sales Documents
Generate new invoices using specific contact details and product items.

### Track Financial History
Fetch lists of past sales invoices, credit notes, payments, and expenses for auditing.

### Manage Purchasing Records
Monitor supplier relationships by listing purchase orders and associated purchase invoices.

### Check Inventory Levels
List all available products to confirm current stock levels in your warehouse.

## Use Cases

### The month-end financial audit
An accountant needs to know how much money is owed. They ask their agent to list all sales invoices and then follow up by listing the payments received last week, getting a complete picture of receivables without opening two separate reports.

### Handling an urgent customer billing request
A business owner needs to bill a client immediately. They use `list_contacts` first to verify the ID, then tell their agent to create an invoice for them using `create_invoice`, getting it done in three natural steps.

### Verifying stock before a big sale
An operations manager needs to confirm if they have enough items. They ask the agent to list products, check the quantities, and then use that data to draft sales orders for the team.

### Reviewing vendor payments
A finance controller wants to reconcile accounts payable. They instruct their agent to list purchase invoices from three months ago and compare them against any existing purchase orders using `list_purchase_orders`.

## Benefits

- Stop manually checking statuses. You can list all sales invoices or check for overdue payments with a single prompt, getting immediate financial status updates.
- Streamline the initial sale process. Instead of drafting quotes in one spot and then creating an invoice later, you can manage everything from listing quotes to finally calling `create_invoice` right through your agent.
- Keep track of money coming in and out. You don't have to jump between different screens to verify financial health; simply list payments or view recorded business expenses.
- Manage the supply chain without logging into inventory software. Use `list_products` to get an instant count of stock, ensuring you know what you can sell right now.
- Simplify purchasing records. You can check supplier relationships by listing purchase orders and comparing them against received invoices using `list_purchase_invoices`.

## How It Works

The bottom line is that once it's connected, you just talk to your agent; it handles the complex backend calls for you.

1. Subscribe to this MCP on Vinkius.
2. Generate an API Key within your Holded settings (Settings > Developers).
3. Connect the key to your preferred AI client. Your agent can then access all accounting and CRM functions.

## Frequently Asked Questions

**How do I create an invoice using Holded MCP?**
You tell your agent to generate a new invoice, specifying the contact and items. The `create_invoice` tool handles generating the document with all the required fields.

**What is the difference between list_invoices and list_sales_orders in Holded MCP?**
`list_sales_orders` shows pending orders that haven't been billed yet. `list_invoices` shows the final billing documents, meaning payment should be due soon.

**Can I list payments using Holded MCP?**
Yes. The `list_payments` tool lets your agent pull a record of all recent money transfers and transactions recorded in the system.

**Does Holded MCP help with inventory? **
It does. You can use the `list_products` tool to instantly check stock levels for any item without visiting the dedicated inventory dashboard.

**When I run `list_contacts`, what specific data points does my agent receive about each contact?**
The tool returns core CRM details like name, email, phone number, and associated ID. You can also find linked records for their invoices or expenses within the same API call.

**How should I handle rate limits when querying `list_purchase_invoices` repeatedly?**
The MCP handles standard API rate limiting, but if you run many queries in a short time span, your agent will receive an explicit error code. You'll need to implement a small delay or batch your requests.

**If I use `list_webhooks`, can the MCP help me monitor for real-time changes across my accounts?**
The tool lists existing webhooks, but it doesn't trigger them. To get real-time updates, you must configure your AI client to listen for events fired by Holded itself.

**When calling `list_credit_notes`, what do I need to know about the required date range parameters?**
You must specify a valid start and end date for accurate results. If the date range overlaps with no recorded notes, the tool simply returns an empty list, which is expected behavior.

**Where do I find my API Key?**
You can generate your API key inside your Holded account under **Settings** > **Developers**.

**Does the integration support inventory management?**
Yes, you can list and manage products, variants, and stock levels using the `list_products` and related tools.

**Can I create invoices automatically with my AI agent?**
Yes, the server includes tools to create sales invoices, quotes, and credit notes by providing the necessary customer and item details.