SmartBill MCP by usefulapi

Read SmartBill series, taxes, stock, clients and products; draft and issue invoices and estimates.

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
99%
Vollständigkeit des Schemas
94%
Qualität der Benennung
77%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Befunde (4)

  • LOWTool 'smartbill_get_invoice_payment_status' name length outside 3-30 rangein smartbill_get_invoice_payment_status
  • LOWTool 'smartbill_get_estimate_invoices' name length outside 3-30 rangein smartbill_get_estimate_invoices
  • LOWTool 'smartbill_create_invoice_from_estimate' name length outside 3-30 rangein smartbill_create_invoice_from_estimate
  • LOWTool 'smartbill_record_invoice_payment' name length outside 3-30 rangein smartbill_record_invoice_payment

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~6,969Tokens (Tool-Definitionen)
~2.5 KBTypische Antwortgröße
Erhebliche Auswirkung auf die Aufmerksamkeit (5.44% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

{
  "mcpServers": {
    "smartbill": {
      "url": "https://smartbill.usefulapi.io/mcp"
    }
  }
}

Remote-Endpunkte

https://smartbill.usefulapi.io/mcpstreamable-http

Was es kann

Tool-Inventar

Tools (23)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢smartbill_list_series(type)

List 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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "type": {
      "description": "f = invoices, p = proformas, c = receipts; omit for all.",
      "type": "string",
      "enum": [
        "f",
        "p",
        "c"
      ]
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢smartbill_list_taxes

List 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.

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢smartbill_get_stock(date, warehouse_name, product_name, product_code)

Stock 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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "date": {
      "type": "string",
      "description": "Date yyyy-mm-dd the stock is read at."
    },
    "warehouse_name": {
      "description": "Warehouse name, case-sensitive.",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "product_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "product_code": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    }
  },
  "required": [
    "date"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢smartbill_get_invoice_payment_status(series_name, number)

Whether an invoice is paid and how much remains: invoiceTotalAmount, paidAmount, unpaidAmount and the paid flag. GET /invoice/paymentstatus.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "series_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 50,
      "description": "Document series name exactly as configured in SmartBill Cloud (smartbill_list_series lists them)."
    },
    "number": {
      "type": "string",
      "minLength": 1,
      "maxLength": 30,
      "description": "Document number as text, e.g. \"0025\" (keep leading zeros)."
    }
  },
  "required": [
    "series_name",
    "number"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢smartbill_get_estimate_invoices(series_name, number)

Whether a proforma was invoiced and the invoices (series, number) made from it. A draft invoice shows with an empty number. GET /estimate/invoices.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "series_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 50,
      "description": "Proforma series name."
    },
    "number": {
      "type": "string",
      "minLength": 1,
      "maxLength": 30,
      "description": "Proforma number as text."
    }
  },
  "required": [
    "series_name",
    "number"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢smartbill_list_clients(name, code, vat_code, limit, after, ...)

List 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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "name": {
      "description": "Part of the client name.",
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "code": {
      "description": "Exact internal client code (case-sensitive).",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "vat_code": {
      "description": "Exact client CIF.",
      "type": "string",
      "minLength": 1,
      "maxLength": 30
    },
    "limit": {
      "description": "Results per page, 1-100 (default 20).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "after": {
      "description": "Cursor: continue after this id (use next_args from the previous reply). Not together with before.",
      "type": "string",
      "pattern": "^[a-z]{2,5}_[A-Za-z0-9]{1,64}$"
    },
    "before": {
      "description": "Cursor: go back before this id (use previous_args). Not together with after.",
      "type": "string",
      "pattern": "^[a-z]{2,5}_[A-Za-z0-9]{1,64}$"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢smartbill_get_client(id)

One 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}.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^cus_[A-Za-z0-9]{1,64}$",
      "description": "The client id (cus_...), from the list tool."
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢smartbill_list_suppliers(name, code, vat_code, limit, after, ...)

List 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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "name": {
      "description": "Part of the supplier name.",
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "code": {
      "description": "Exact internal supplier code (case-sensitive).",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "vat_code": {
      "description": "Exact supplier CIF.",
      "type": "string",
      "minLength": 1,
      "maxLength": 30
    },
    "limit": {
      "description": "Results per page, 1-100 (default 20).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "after": {
      "description": "Cursor: continue after this id (use next_args from the previous reply). Not together with before.",
      "type": "string",
      "pattern": "^[a-z]{2,5}_[A-Za-z0-9]{1,64}$"
    },
    "before": {
      "description": "Cursor: go back before this id (use previous_args). Not together with after.",
      "type": "string",
      "pattern": "^[a-z]{2,5}_[A-Za-z0-9]{1,64}$"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢smartbill_get_supplier(id)

One supplier by V3 id (sup_...). Needs the API V3 token. GET /v3/companies/{cif}/suppliers/{id}.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^sup_[A-Za-z0-9]{1,64}$",
      "description": "The supplier id (sup_...), from the list tool."
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢smartbill_list_products(name, code, limit, after, before)

List 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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "name": {
      "description": "A word of the product name.",
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "code": {
      "description": "Exact product code (case-sensitive).",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "limit": {
      "description": "Results per page, 1-100 (default 20).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "after": {
      "description": "Cursor: continue after this id (use next_args from the previous reply). Not together with before.",
      "type": "string",
      "pattern": "^[a-z]{2,5}_[A-Za-z0-9]{1,64}$"
    },
    "before": {
      "description": "Cursor: go back before this id (use previous_args). Not together with after.",
      "type": "string",
      "pattern": "^[a-z]{2,5}_[A-Za-z0-9]{1,64}$"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢smartbill_get_product(id)

One product or service by V3 id (prod_...). Needs the API V3 token. GET /v3/companies/{cif}/products/{id}.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^prod_[A-Za-z0-9]{1,64}$",
      "description": "The product id (prod_...), from the list tool."
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢smartbill_list_warehouses(name, limit, after, before)

List 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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "name": {
      "description": "Part of the warehouse name.",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "limit": {
      "description": "Results per page, 1-100 (default 20).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "after": {
      "description": "Cursor: continue after this id (use next_args from the previous reply). Not together with before.",
      "type": "string",
      "pattern": "^[a-z]{2,5}_[A-Za-z0-9]{1,64}$"
    },
    "before": {
      "description": "Cursor: go back before this id (use previous_args). Not together with after.",
      "type": "string",
      "pattern": "^[a-z]{2,5}_[A-Za-z0-9]{1,64}$"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢smartbill_list_vat_rates(name, percentage, limit, after, before)

List 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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "name": {
      "description": "Part of the VAT rate name.",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "percentage": {
      "description": "Exact percentage.",
      "type": "number",
      "minimum": 0,
      "maximum": 100
    },
    "limit": {
      "description": "Results per page, 1-100 (default 20).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "after": {
      "description": "Cursor: continue after this id (use next_args from the previous reply). Not together with before.",
      "type": "string",
      "pattern": "^[a-z]{2,5}_[A-Za-z0-9]{1,64}$"
    },
    "before": {
      "description": "Cursor: go back before this id (use previous_args). Not together with after.",
      "type": "string",
      "pattern": "^[a-z]{2,5}_[A-Za-z0-9]{1,64}$"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴smartbill_create_invoice(series_name, client, products, currency, exchange_rate, ...)

Create 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 field with the user before draft=false. Returns series, number, documentId, documentUrl (needs login) and documentViewUrl (public PDF link). POST /invoice/v2.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "series_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 50,
      "description": "Document series name exactly as configured in SmartBill Cloud (smartbill_list_series lists them)."
    },
    "client": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "minLength": 1,
          "maxLength": 255,
          "description": "Client name (company or person)."
        },
        "vat_code": {
          "description": "Client CUI/CIF or foreign VAT code.",
          "type": "string",
          "maxLength": 30
        },
        "is_tax_payer": {
          "description": "Client is a VAT payer (default false: stored as non-payer).",
          "type": "boolean"
        },
        "reg_com": {
          "description": "Trade register number.",
          "type": "string",
          "maxLength": 50
        },
        "address": {
          "type": "string",
          "maxLength": 255
        },
        "city": {
          "description": "City. When county is Bucuresti this must be Sector 1 - Sector 6, or e-Factura will not validate in SPV.",
          "type": "string",
          "maxLength": 100
        },
        "county": {
          "description": "County (or region/state for foreign clients).",
          "type": "string",
          "maxLength": 100
        },
        "country": {
          "description": "Country name or usual code (default Romania).",
          "type": "string",
          "minLength": 1,
          "maxLength": 100
        },
        "email": {
          "type": "string",
          "maxLength": 254
        },
        "phone": {
          "type": "string",
          "maxLength": 50
        },
        "contact": {
          "description": "Contact person.",
          "type": "string",
          "maxLength": 100
        },
        "iban": {
          "type": "string",
          "maxLength": 50
        },
        "bank": {
          "type": "string",
          "maxLength": 100
        },
        "save_to_db": {
          "description": "Also save the client in the SmartBill client list when new (default false).",
          "type": "boolean"
        }
      },
      "required": [
        "name"
      ],
      "description": "The client the document is issued to."
    },
    "products": {
      "minItems": 1,
      "maxItems": 200,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "description": "Product or service name."
          },
          "code": {
            "description": "Product code (SKU); required when the account has \"use product code\" enabled.",
            "type": "string",
            "maxLength": 100
          },
          "description": {
            "description": "Extra description.",
            "type": "string",
            "maxLength": 1000
          },
          "is_service": {
            "description": "True for a service.",
            "type": "boolean"
          },
          "quantity": {
            "type": "number",
            "exclusiveMinimum": 0,
            "maximum": 1000000000,
            "description": "Quantity, greater than 0 (the API itself accepts 0 and negatives; this server does not)."
          },
          "unit": {
            "type": "string",
            "minLength": 1,
            "maxLength": 50,
            "description": "Unit of measure as configured in SmartBill, e.g. buc, ora, kg."
          },
          "price": {
            "type": "number",
            "minimum": 0,
            "maximum": 1000000000000,
            "description": "Unit price: WITHOUT VAT unless is_tax_included is true."
          },
          "is_tax_included": {
            "description": "The price already includes VAT (default false).",
            "type": "boolean"
          },
          "tax_name": {
            "description": "VAT rate name as in the account (smartbill_list_taxes), e.g. Normala.",
            "type": "string",
            "maxLength": 100
          },
          "tax_percentage": {
            "type": "number",
            "minimum": 0,
            "maximum": 100,
            "description": "VAT percentage of the line, e.g. 21, 11, 0."
          }
        },
        "required": [
          "name",
          "quantity",
          "unit",
          "price",
          "tax_percentage"
        ]
      },
      "description": "1-200 lines."
    },
    "currency": {
      "description": "Document currency (default RON).",
      "type": "string",
      "enum": [
        "RON",
        "EUR",
        "USD",
        "GBP",
        "CAD",
        "AUD",
        "CHF",
        "TRY",
        "CZK",
        "DKK",
        "HUF",
        "MDL",
        "SEK",
        "NOK",
        "JPY",
        "EGP",
        "PLN",
        "RUB",
        "AED",
        "BRL",
        "CNY",
        "HRK",
        "INR",
        "KRW",
        "MXN",
        "NZD",
        "RSD",
        "THB",
        "UAH",
        "XDR",
        "ZAR"
      ]
    },
    "exchange_rate": {
      "description": "Exchange rate to RON (default: SmartBill's rate for the date).",
      "type": "number",
      "exclusiveMinimum": 0,
      "maximum": 1000000
    },
    "issue_date": {
      "description": "Issue date yyyy-mm-dd (default today).",
      "type": "string"
    },
    "due_date": {
      "description": "Due date yyyy-mm-dd.",
      "type": "string"
    },
    "language": {
      "description": "Document language (default RO).",
      "type": "string",
      "enum": [
        "RO",
        "EN",
        "DE",
        "FR",
        "IT",
        "ES"
      ]
    },
    "observations": {
      "description": "Observations shown on the document.",
      "type": "string",
      "maxLength": 2000
    },
    "mentions": {
      "description": "Mentions shown on the document.",
      "type": "string",
      "maxLength": 2000
    },
    "draft": {
      "description": "Default TRUE: the document is saved as a draft without a number, to be finalized in SmartBill Cloud. Pass false ONLY when the user explicitly wants it ISSUED now: that takes the next number of the series, cannot be undone from the API, and may be transmitted to e-Factura / ANAF depending on the account setup.",
      "type": "boolean"
    }
  },
  "required": [
    "series_name",
    "client",
    "products"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴smartbill_create_invoice_from_estimate(series_name, estimate_series, estimate_number, issue_date, draft)

Create 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).

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "series_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 50,
      "description": "Invoice series to issue on."
    },
    "estimate_series": {
      "type": "string",
      "minLength": 1,
      "maxLength": 50,
      "description": "Series of the source proforma."
    },
    "estimate_number": {
      "type": "string",
      "minLength": 1,
      "maxLength": 30,
      "description": "Number of the source proforma as text."
    },
    "issue_date": {
      "description": "Issue date yyyy-mm-dd (default today).",
      "type": "string"
    },
    "draft": {
      "description": "Default TRUE: the document is saved as a draft without a number, to be finalized in SmartBill Cloud. Pass false ONLY when the user explicitly wants it ISSUED now: that takes the next number of the series, cannot be undone from the API, and may be transmitted to e-Factura / ANAF depending on the account setup.",
      "type": "boolean"
    }
  },
  "required": [
    "series_name",
    "estimate_series",
    "estimate_number"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴smartbill_create_estimate(series_name, client, products, currency, exchange_rate, ...)

Create 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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "series_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 50,
      "description": "Document series name exactly as configured in SmartBill Cloud (smartbill_list_series lists them)."
    },
    "client": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "minLength": 1,
          "maxLength": 255,
          "description": "Client name (company or person)."
        },
        "vat_code": {
          "description": "Client CUI/CIF or foreign VAT code.",
          "type": "string",
          "maxLength": 30
        },
        "is_tax_payer": {
          "description": "Client is a VAT payer (default false: stored as non-payer).",
          "type": "boolean"
        },
        "reg_com": {
          "description": "Trade register number.",
          "type": "string",
          "maxLength": 50
        },
        "address": {
          "type": "string",
          "maxLength": 255
        },
        "city": {
          "description": "City. When county is Bucuresti this must be Sector 1 - Sector 6, or e-Factura will not validate in SPV.",
          "type": "string",
          "maxLength": 100
        },
        "county": {
          "description": "County (or region/state for foreign clients).",
          "type": "string",
          "maxLength": 100
        },
        "country": {
          "description": "Country name or usual code (default Romania).",
          "type": "string",
          "minLength": 1,
          "maxLength": 100
        },
        "email": {
          "type": "string",
          "maxLength": 254
        },
        "phone": {
          "type": "string",
          "maxLength": 50
        },
        "contact": {
          "description": "Contact person.",
          "type": "string",
          "maxLength": 100
        },
        "iban": {
          "type": "string",
          "maxLength": 50
        },
        "bank": {
          "type": "string",
          "maxLength": 100
        },
        "save_to_db": {
          "description": "Also save the client in the SmartBill client list when new (default false).",
          "type": "boolean"
        }
      },
      "required": [
        "name"
      ],
      "description": "The client the document is issued to."
    },
    "products": {
      "minItems": 1,
      "maxItems": 200,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "description": "Product or service name."
          },
          "code": {
            "description": "Product code (SKU); required when the account has \"use product code\" enabled.",
            "type": "string",
            "maxLength": 100
          },
          "description": {
            "description": "Extra description.",
            "type": "string",
            "maxLength": 1000
          },
          "is_service": {
            "description": "True for a service.",
            "type": "boolean"
          },
          "quantity": {
            "type": "number",
            "exclusiveMinimum": 0,
            "maximum": 1000000000,
            "description": "Quantity, greater than 0 (the API itself accepts 0 and negatives; this server does not)."
          },
          "unit": {
            "type": "string",
            "minLength": 1,
            "maxLength": 50,
            "description": "Unit of measure as configured in SmartBill, e.g. buc, ora, kg."
          },
          "price": {
            "type": "number",
            "minimum": 0,
            "maximum": 1000000000000,
            "description": "Unit price: WITHOUT VAT unless is_tax_included is true."
          },
          "is_tax_included": {
            "description": "The price already includes VAT (default false).",
            "type": "boolean"
          },
          "tax_name": {
            "description": "VAT rate name as in the account (smartbill_list_taxes), e.g. Normala.",
            "type": "string",
            "maxLength": 100
          },
          "tax_percentage": {
            "type": "number",
            "minimum": 0,
            "maximum": 100,
            "description": "VAT percentage of the line, e.g. 21, 11, 0."
          }
        },
        "required": [
          "name",
          "quantity",
          "unit",
          "price",
          "tax_percentage"
        ]
      },
      "description": "1-200 lines."
    },
    "currency": {
      "description": "Document currency (default RON).",
      "type": "string",
      "enum": [
        "RON",
        "EUR",
        "USD",
        "GBP",
        "CAD",
        "AUD",
        "CHF",
        "TRY",
        "CZK",
        "DKK",
        "HUF",
        "MDL",
        "SEK",
        "NOK",
        "JPY",
        "EGP",
        "PLN",
        "RUB",
        "AED",
        "BRL",
        "CNY",
        "HRK",
        "INR",
        "KRW",
        "MXN",
        "NZD",
        "RSD",
        "THB",
        "UAH",
        "XDR",
        "ZAR"
      ]
    },
    "exchange_rate": {
      "description": "Exchange rate to RON (default: SmartBill's rate for the date).",
      "type": "number",
      "exclusiveMinimum": 0,
      "maximum": 1000000
    },
    "issue_date": {
      "description": "Issue date yyyy-mm-dd (default today).",
      "type": "string"
    },
    "due_date": {
      "description": "Due date yyyy-mm-dd.",
      "type": "string"
    },
    "language": {
      "description": "Document language (default RO).",
      "type": "string",
      "enum": [
        "RO",
        "EN",
        "DE",
        "FR",
        "IT",
        "ES"
      ]
    },
    "observations": {
      "description": "Observations shown on the document.",
      "type": "string",
      "maxLength": 2000
    },
    "mentions": {
      "description": "Mentions shown on the document.",
      "type": "string",
      "maxLength": 2000
    },
    "draft": {
      "description": "Default TRUE: the document is saved as a draft without a number, to be finalized in SmartBill Cloud. Pass false ONLY when the user explicitly wants it ISSUED now: that takes the next number of the series, cannot be undone from the API, and may be transmitted to e-Factura / ANAF depending on the account setup.",
      "type": "boolean"
    }
  },
  "required": [
    "series_name",
    "client",
    "products"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴smartbill_reverse_invoice(series_name, number, issue_date)

ISSUE 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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "series_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 50,
      "description": "Series of the invoice to reverse."
    },
    "number": {
      "type": "string",
      "minLength": 1,
      "maxLength": 30,
      "description": "Number of the invoice to reverse, as text."
    },
    "issue_date": {
      "description": "Date of the storno invoice yyyy-mm-dd (default today; not before the original's date).",
      "type": "string"
    }
  },
  "required": [
    "series_name",
    "number"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴smartbill_cancel_invoice(series_name, number)

Cancel 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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "series_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 50,
      "description": "Document series name exactly as configured in SmartBill Cloud (smartbill_list_series lists them)."
    },
    "number": {
      "type": "string",
      "minLength": 1,
      "maxLength": 30,
      "description": "Document number as text, e.g. \"0025\" (keep leading zeros)."
    }
  },
  "required": [
    "series_name",
    "number"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴smartbill_restore_invoice(series_name, number)

Restore an invoice that was cancelled, making it active again. PUT /invoice/restore.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "series_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 50,
      "description": "Document series name exactly as configured in SmartBill Cloud (smartbill_list_series lists them)."
    },
    "number": {
      "type": "string",
      "minLength": 1,
      "maxLength": 30,
      "description": "Document number as text, e.g. \"0025\" (keep leading zeros)."
    }
  },
  "required": [
    "series_name",
    "number"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴smartbill_cancel_estimate(series_name, number)

Cancel an existing proforma (smartbill_restore_estimate undoes it). PUT /estimate/cancel.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "series_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 50,
      "description": "Proforma series name."
    },
    "number": {
      "type": "string",
      "minLength": 1,
      "maxLength": 30,
      "description": "Proforma number as text."
    }
  },
  "required": [
    "series_name",
    "number"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴smartbill_restore_estimate(series_name, number)

Restore a proforma that was cancelled. PUT /estimate/restore.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "series_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 50,
      "description": "Proforma series name."
    },
    "number": {
      "type": "string",
      "minLength": 1,
      "maxLength": 30,
      "description": "Proforma number as text."
    }
  },
  "required": [
    "series_name",
    "number"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴smartbill_record_invoice_payment(invoices, type, receipt_series, value, issue_date, ...)

Record 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 books: confirm with the user. Fiscal receipts (Bon) are not supported. POST /payment.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "invoices": {
      "minItems": 1,
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "series_name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 50,
            "description": "Document series name exactly as configured in SmartBill Cloud (smartbill_list_series lists them)."
          },
          "number": {
            "type": "string",
            "minLength": 1,
            "maxLength": 30,
            "description": "Document number as text, e.g. \"0025\" (keep leading zeros)."
          }
        },
        "required": [
          "series_name",
          "number"
        ]
      },
      "description": "1-20 invoices the payment is for."
    },
    "type": {
      "type": "string",
      "enum": [
        "Chitanta",
        "Card",
        "Card online",
        "CEC",
        "Bilet ordin",
        "Ordin plata",
        "Mandat postal",
        "Extras de cont",
        "Ramburs",
        "Alta incasare"
      ],
      "description": "Payment type. Chitanta = a numbered receipt (needs receipt_series); the others create no document."
    },
    "receipt_series": {
      "description": "Receipt series; required for type Chitanta (smartbill_list_series with type c).",
      "type": "string",
      "minLength": 1,
      "maxLength": 50
    },
    "value": {
      "description": "Partial amount, for a single invoice only; omit to collect the invoice's full amount.",
      "type": "number",
      "exclusiveMinimum": 0,
      "maximum": 1000000000000
    },
    "issue_date": {
      "description": "Payment date yyyy-mm-dd (default today).",
      "type": "string"
    },
    "is_cash": {
      "description": "Mark the collection as cash (typically for Chitanta).",
      "type": "boolean"
    },
    "text": {
      "description": "Description of the payment.",
      "type": "string",
      "maxLength": 500
    }
  },
  "required": [
    "invoices",
    "type"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴smartbill_send_document(type, series_name, number, to, cc, ...)

Send 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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "enum": [
        "factura",
        "proforma"
      ],
      "description": "factura = invoice, proforma = proforma."
    },
    "series_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 50,
      "description": "Document series name exactly as configured in SmartBill Cloud (smartbill_list_series lists them)."
    },
    "number": {
      "type": "string",
      "minLength": 1,
      "maxLength": 30,
      "description": "Document number as text, e.g. \"0025\" (keep leading zeros)."
    },
    "to": {
      "description": "Recipient (default: the client's email on the document).",
      "type": "string",
      "maxLength": 254,
      "pattern": "^[^\\s@,;<>\"]+@[^\\s@,;<>\"]+\\.[^\\s@,;<>\"]+$"
    },
    "cc": {
      "description": "CC addresses, comma separated.",
      "type": "string",
      "maxLength": 500
    },
    "bcc": {
      "description": "BCC addresses, comma separated.",
      "type": "string",
      "maxLength": 500
    },
    "subject": {
      "description": "Email subject, plain text (default: the account template).",
      "type": "string",
      "minLength": 1,
      "maxLength": 300
    },
    "body_text": {
      "description": "Email body, plain text (default: the account template).",
      "type": "string",
      "minLength": 1,
      "maxLength": 5000
    }
  },
  "required": [
    "type",
    "series_name",
    "number"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet23 Tools