SmartBill MCP by usefulapi
Read SmartBill series, taxes, stock, clients and products; draft and issue invoices and estimates.
Connect it
Settings → Connectors → Add custom connector
URL: https://smartbill.usefulapi.io/mcpSettings → Apps & Connectors → Advanced → Developer mode
Create connector with URL: https://smartbill.usefulapi.io/mcp{
"mcpServers": {
"smartbill": {
"url": "https://smartbill.usefulapi.io/mcp"
}
}
}claude mcp add --transport http smartbill https://smartbill.usefulapi.io/mcp{
"servers": {
"smartbill": {
"type": "http",
"url": "https://smartbill.usefulapi.io/mcp"
}
}
}23 tools, verified live
smartbill_list_seriesread-onlyList the document series configured in SmartBill Cloud with their next number. Invoice and proforma tools need a series name from here. type: f = invoice series, p = proforma, c = receipt (chitanta); omit for all. GET /series.
smartbill_list_taxesread-onlyList the VAT rates configured in the account (name and percentage). Use the name as tax_name and the percentage as tax_percentage on document lines. Works without a V3 token. GET /tax.
smartbill_get_stockread-onlyStock quantities per warehouse as of a date (needs the SmartBill stock module). Optional filters: warehouse_name (case-sensitive), product_name, product_code. No filters = all products in all warehouses. GET /stocks.
smartbill_get_invoice_payment_statusread-onlyWhether an invoice is paid and how much remains: invoiceTotalAmount, paidAmount, unpaidAmount and the paid flag. GET /invoice/paymentstatus.
smartbill_get_estimate_invoicesread-onlyWhether a proforma was invoiced and the invoices (series, number) made from it. A draft invoice shows with an empty number. GET /estimate/invoices.
smartbill_list_clientsread-onlyList clients from the SmartBill client list, optionally filtered by name (partial, case-insensitive), internal code (exact) or CIF (exact). Needs the API V3 token. Cursor paged: pass the reply's next_args as the next call's arguments. GET /v3/companies/{cif}/clients.
smartbill_get_clientread-onlyOne client by V3 id (cus_...): name, CIF, address, bank, contact, VAT-payer flag and delivery addresses. Needs the API V3 token. GET /v3/companies/{cif}/clients/{id}.
smartbill_list_suppliersread-onlyList suppliers, optionally filtered by name (partial), internal code (exact) or CIF (exact). Needs the API V3 token. Cursor paged: pass the reply's next_args as the next call's arguments. GET /v3/companies/{cif}/suppliers.
smartbill_get_supplierread-onlyOne supplier by V3 id (sup_...). Needs the API V3 token. GET /v3/companies/{cif}/suppliers/{id}.
smartbill_list_productsread-onlyList the product and service catalog (price, unit, VAT rate, currency), optionally filtered by name (whole-word match) or internal code (exact). Needs the API V3 token. Cursor paged: pass the reply's next_args as the next call's arguments. GET /v3/companies/{cif}/products.
smartbill_get_productread-onlyOne product or service by V3 id (prod_...). Needs the API V3 token. GET /v3/companies/{cif}/products/{id}.
smartbill_list_warehousesread-onlyList warehouses (name, type en gros / en detail, keeper, address). Needs the API V3 token. Cursor paged: pass the reply's next_args as the next call's arguments. GET /v3/companies/{cif}/warehouses.
smartbill_list_vat_ratesread-onlyList VAT rates with ids, name, percentage and reverse-charge flag. Filter by name (partial) or percentage (exact). Needs the API V3 token (smartbill_list_taxes does the same without it). Cursor paged: pass the reply's next_args as the next call's arguments. GET /v3/companies/{cif}/vat-rates.
smartbill_create_invoicecan modifyCreate an invoice for a client with product/service lines. By default it is saved as a DRAFT (no number) for review in SmartBill Cloud. With draft=false the invoice is ISSUED: it takes the next number of the series, cannot be deleted or edited through this server, can only be cancelled or reversed (storno), and, depending on the account's e-Factura setup, may be transmitted to ANAF. Confirm every
smartbill_create_invoice_from_estimatecan modifyCreate an invoice from an existing proforma (client and lines are copied from it). Default is a DRAFT; with draft=false the invoice is ISSUED with the next number of the series and may be transmitted to e-Factura / ANAF. Stock is not discharged. POST /invoice/v2 (useEstimateDetails).
smartbill_create_estimatecan modifyCreate a proforma (estimate) for a client with product/service lines. Default is a DRAFT (no number); with draft=false it takes the next number of the proforma series. A proforma is not a fiscal invoice. Returns series, number, documentId and links. POST /estimate/v2.
smartbill_reverse_invoicecan modifyISSUE a storno (credit) invoice that reverses an issued invoice. It takes the next number, an invoice can be reversed only once, and the storno cannot be undone; it may be transmitted to e-Factura / ANAF. Confirm the exact series and number with the user first. POST /invoice/reverse.
smartbill_cancel_invoicecan modifyCancel an existing invoice (it stays in the books as cancelled; smartbill_restore_invoice undoes it). Changes the document's fiscal status, so confirm with the user. PUT /invoice/cancel.
smartbill_restore_invoicecan modifyRestore an invoice that was cancelled, making it active again. PUT /invoice/restore.
smartbill_cancel_estimatecan modifyCancel an existing proforma (smartbill_restore_estimate undoes it). PUT /estimate/cancel.
smartbill_restore_estimatecan modifyRestore a proforma that was cancelled. PUT /estimate/restore.
smartbill_record_invoice_paymentcan modifyRecord a collection (incasare) against one or more issued invoices; client and amount are taken from the invoices. With value (single invoice only) a partial payment is recorded. type Chitanta issues a numbered RECEIPT on receipt_series (cannot be undone from this server); the other types (Card, Ordin plata, ...) record the payment without a document. It changes the invoice's paid status in the bo
smartbill_send_documentcan modifySend an issued invoice or proforma by email from SmartBill. This EMAILS A THIRD PARTY and cannot be recalled. Without `to` it goes to the client's email on the document; without subject/body_text the account's email template is used. Confirm the recipient with the user first. POST /document/send.
Alternatives in Finance & Payments
Compare →
HKEx FilingsA
Live HKEx (Hong Kong Stock Exchange) regulatory filings for AI agents.
PayRamA
Install, configure, operate and integrate self-hosted PayRam crypto payment gateways.
PreReasonA
Financial market context for AI agents: macro, rates, bonds, FX, commodities, companies and Bitcoin.
Beancount.ioA
Query, edit, and reconcile a hosted Beancount ledger: BQL, reports, files, and bank imports.
PAPayqrA
European payment QR — SPAYD (CZ/SK) & EPC/GiroCode (SEPA), plus text/WiFi/vCard. Local, free.
ADAdisA
Czech VAT-payer reliability (ADIS / nespolehlivý plátce DPH) + registered bank accounts by DIČ.