Skip to main content
Glama
nubiia-dev
by nubiia-dev

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
HOLDED_API_KEYYesYour Holded API key (get it from Holded Settings > API)

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_documentsA

List all documents of a specific type with optional filters for date range, contact, payment status, approval, and sorting. Supports field filtering to reduce response size. NOTE: a document carries three INDEPENDENT and sometimes-conflicting flags — (1) the stored Paid/Pending badge status (set when the document is imported, NOT recomputed), (2) the real outstanding amount paymentsPending (the authoritative math), and (3) approval (filter with approved). A document can be badge-Paid, math-unpaid, and not-approved all at once, so check the flag you actually mean.

create_documentA

Create a new document (invoice, estimate, purchase, etc.). By default the document is approved (finalized) so it appears in the Holded UI; pass approveDoc:false to create a draft instead. Set the expense/income account at document level via expAccountId (it cascades to all lines); a per-line account is rejected because Holded ignores it. On SALES documents an auto-incrementing numbering series may OVERRIDE the requested invoiceNum — the tool re-reads the created document and returns a _warnings note if that happened. On purchases the supplier number in invoiceNum is preserved. retention (IRPF) is accepted on sales but rejected on purchases (Holded ignores it there).

get_documentB

Get a specific document by ID

get_document_paymentsA

Get the payments registered against a specific document, read directly from the document's paymentsDetail. Unlike list_payments — which is filtered to the ACTIVE fiscal year — this surfaces payments from ANY year, so use it for cross-year payment audits (e.g. an invoice dated last year that was paid this year). Returns { documentId, paymentsDetail }. Read-only.

update_documentC

Update an existing document

delete_documentC

Delete a document

pay_documentA

Register a payment for a document. IMPORTANT: this AUTO-APPROVES the document as a side effect (status 0→1) — Holded has no separate approve endpoint, and approval cannot be undone via the API. paymentmethod is the payment-method catalog id (from list_payment_methods), NOT a bank/treasury id. To link the payment to a bank account, pass bankId: the /pay endpoint can't set it, so the tool performs a second step (PUT /payments/{id}) and reports the outcome in _warnings.

send_documentC

Send a document by email

get_document_pdfC

Get the PDF of a document

ship_all_itemsC

Ship all items of a document

ship_items_by_lineC

Ship specific items by line

get_shipped_unitsC

Get shipped units by item for a document

attach_file_to_documentB

Attach a file to a document

update_document_trackingA

Update tracking information for a document

update_document_pipelineC

Update pipeline stage for a document

list_payment_methodsB

List available payment methods

list_contactsA

List all contacts with optional filters for phone, mobile, or custom ID. Supports field filtering to reduce response size.

create_contactC

Create a new contact

get_contactC

Get a specific contact by ID

update_contactC

Update an existing contact

delete_contactB

Delete a contact

list_contact_attachmentsA

Get list of attachments for a contact

get_contact_attachmentB

Get a specific attachment from a contact

list_productsB

List all products with optional pagination. Supports field filtering to reduce response size.

create_productB

Create a new product

get_productA

Get a specific product by ID

update_productC

Update an existing product

delete_productC

Delete a product

get_product_main_imageB

Get the main image of a product

list_product_imagesB

List all images of a product

get_product_secondary_imageC

Get a secondary image of a product

update_product_stockC

Update stock quantity for a product

list_treasuriesA

List all treasury accounts with pagination support. Supports field filtering to reduce response size. WARNING: the balance field is a STATIC opening figure, not a live balance derived from transactions — do NOT rely on it for reconciliation or to compute the current cash position.

create_treasuryB

Create a new treasury account

get_treasuryA

Get a specific treasury account by ID. WARNING: the balance field is a STATIC opening figure set on the account, not a live balance computed from transactions — do NOT use it for reconciliation or as the current cash position.

list_expenses_accountsA

List expenses accounts with pagination support. Supports field filtering to reduce response size. Each account has id (Holded internal id), name, and accountNum (the PGC account number, e.g. 62900000). NOTE: this endpoint only returns expense/purchase accounts (PGC group 6). Income accounts (group 7, e.g. 700/705/759) are NOT listed here — fetch the full chart via get_chart_of_accounts, or read a known account by id via get_expenses_account.

create_expenses_accountC

Create a new expenses account

get_expenses_accountA

Get a single account by its Holded id. Despite the "expenses" name, this endpoint serves ANY account (including income/group-7 accounts that list_expenses_accounts omits) when you already know its id.

update_expenses_accountC

Update an existing expenses account

delete_expenses_accountC

Delete an expenses account

get_numbering_seriesA

Get numbering series for a specific document type with pagination support. Supports field filtering to reduce response size.

create_numbering_serieB

Create a new numbering serie

update_numbering_serieC

Update an existing numbering serie

delete_numbering_serieB

Delete a numbering serie

list_sales_channelsA

List all sales channels with pagination support. Supports field filtering to reduce response size.

create_sales_channelC

Create a new sales channel

get_sales_channelA

Get a specific sales channel by ID

update_sales_channelC

Update an existing sales channel

delete_sales_channelC

Delete a sales channel

list_paymentsA

List all payments with optional filters for date range. Supports field filtering to reduce response size. NOTE: this endpoint is filtered to the ACTIVE fiscal year, so payments made in a prior year do NOT appear here even if they are linked to documents. For cross-year payment audits, read a document's payments via get_document_payments (the document paymentsDetail).

create_paymentC

Create a new payment

get_paymentB

Get a specific payment by ID

update_paymentA

Update an existing payment. IMPORTANT: Holded's PUT /payments/{id} REPLACES the record rather than merging, so any field omitted from the body is blanked. To prevent that, this tool first re-reads the current payment and merges your changes over it, preserving fields you did not pass (contactId, bankId, date, ...).

delete_paymentC

Delete a payment

get_taxesA

Get all available taxes with pagination support. Supports field filtering to reduce response size. Each tax has: key (the stable identifier, e.g. "s_iva_21"/"p_iva_21" — this is the value used in a document line's taxes[]), id (mirrors key), name, amount (the percentage as a string, e.g. "21"), scope ("sales" or "purchase"), group (e.g. "iva"), and type.

list_contact_groupsA

List all contact groups with pagination support. Supports field filtering to reduce response size.

create_contact_groupC

Create a new contact group

get_contact_groupA

Get a specific contact group by ID

update_contact_groupC

Update an existing contact group

delete_contact_groupC

Delete a contact group

list_remittancesA

List all remittances with pagination support. Supports field filtering to reduce response size.

get_remittanceB

Get a specific remittance by ID

list_servicesA

List all services with optional pagination. Supports field filtering to reduce response size.

create_serviceB

Create a new service

get_serviceB

Get a specific service by ID

update_serviceB

Update an existing service

delete_serviceD

Delete a service

list_warehousesB

List all warehouses with pagination support. Supports field filtering to reduce response size.

create_warehouseC

Create a new warehouse

list_warehouse_stockA

List all products stock in a specific warehouse. Supports field filtering to reduce response size.

get_warehouseB

Get a specific warehouse by ID

update_warehouseB

Update an existing warehouse

delete_warehouseC

Delete a warehouse

list_project_timesA

List time-tracking entries across all Holded projects (Projects API). Each project includes a timeTracking[] array of entries with duration (seconds), date (Unix seconds), user, and approved (0/1). Optionally filter by date range (YYYY-MM-DD, inclusive) and approved-only, and flatten into a single entry list with hours pre-computed. Read-only.

list_project_times_by_projectA

List time-tracking entries for a single Holded project (Projects API). Returns a one-element array holding the project and its filtered timeTracking[] entries; set flatten: true to get a flat list of entries with hours pre-computed instead. Supports the same date-range and approved-only filters as list_project_times. Read-only.

get_project_timeA

Get a single time-tracking entry by project ID and time-tracking ID (Projects API). Read-only.

get_chart_of_accountsA

Get the full chart of accounts for the ACTIVE fiscal year (Accounting API). Returns every account with num (PGC number, e.g. 40000000), name, group, debit, credit, and balance. Unlike list_expenses_accounts (group-6 only), this includes all groups (assets, liabilities, income, expenses). Read-only.

get_daily_ledgerA

Get the daily ledger (journal / asientos) between two Unix timestamps (Accounting API). Returns one row per ledger line with entryNumber, line, timestamp, type (collect/payment/purchase/...), description, account (PGC num), debit, and credit. This is the authoritative source for balance-sheet and tax-return figures. Range must not exceed 1 year. Set groupByEntry to nest lines into full double-entry entries with per-entry debit/credit totals. Read-only.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/nubiia-dev/mcp-holded'

If you have feedback or need assistance with the MCP directory API, please join our Discord server