Billomat MCP by usefulapi
Read Billomat clients, invoices, offers, credit notes, reminders; create clients and draft invoices.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (2)
- LOWen billomat_list_recurring_invoices
- LOWen billomat_list_incoming_invoices
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"billomat": {
"url": "https://billomat.usefulapi.io/mcp"
}
}
}Puntos de conexión remotos
https://billomat.usefulapi.io/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (34)
🟢billomat_get_current_user
Show the Billomat user the API key belongs to (name, email, role and rights). Use it to check which rights the key has.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢billomat_get_company
Show the own company data of the Billomat account (name, address, bank details, tax numbers, currency).
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢billomat_list_clients(name, client_number, email, first_name, last_name, ...)
List the clients (customers) of the account, filtered by name, number, email, contact person, country, note or tags. Paged.
Esquema de entrada
{
"type": "object",
"properties": {
"name": {
"description": "Company / name (case-insensitive).",
"type": "string",
"maxLength": 500
},
"client_number": {
"description": "Client number.",
"type": "string",
"maxLength": 500
},
"email": {
"description": "Email address.",
"type": "string",
"maxLength": 500
},
"first_name": {
"description": "First name of the contact person.",
"type": "string",
"maxLength": 500
},
"last_name": {
"description": "Last name of the contact person.",
"type": "string",
"maxLength": 500
},
"country_code": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"description": "ISO 3166 alpha-2 country code, e.g. DE, AT, CH."
},
"note": {
"description": "Search in the note.",
"type": "string",
"maxLength": 500
},
"invoice_id": {
"description": "Comma-separated invoice ids: the clients of these invoices.",
"type": "string",
"pattern": "^[1-9]\\d{0,15}(,[1-9]\\d{0,15})*$"
},
"tags": {
"description": "Comma-separated tags (Schlagworte).",
"type": "string",
"maxLength": 500
},
"order_by": {
"description": "Sort order: field name plus ASC or DESC, several separated by commas, e.g. \"date DESC\" (default ascending).",
"type": "string",
"pattern": "^[a-z_]+( (ASC|DESC))?(,[a-z_]+( (ASC|DESC))?)*$"
},
"page": {
"description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-1000 (default 100).",
"type": "integer",
"minimum": 1,
"maximum": 1000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢billomat_get_client(id)
Get one client with address, contact person, bank details, payment terms and revenue.
Esquema de entrada
{
"type": "object",
"properties": {
"id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[1-9]\\d{0,15}$"
}
],
"description": "The client id (from billomat_list_clients)."
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢billomat_list_articles(article_number, title, description, currency_code, unit_id, ...)
List the articles (products and services) with prices, units and tax. Paged.
Esquema de entrada
{
"type": "object",
"properties": {
"article_number": {
"description": "Article number.",
"type": "string",
"maxLength": 500
},
"title": {
"description": "Title (case-insensitive).",
"type": "string",
"maxLength": 500
},
"description": {
"description": "Search in the description.",
"type": "string",
"maxLength": 500
},
"currency_code": {
"type": "string",
"pattern": "^[A-Za-z]{3}$",
"description": "ISO currency code, e.g. EUR (account default when omitted)."
},
"unit_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[1-9]\\d{0,15}$"
}
],
"description": "Only articles with this unit (from billomat_list_units)."
},
"supplier_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[1-9]\\d{0,15}$"
}
],
"description": "Only articles of this supplier."
},
"tags": {
"description": "Comma-separated tags (Schlagworte).",
"type": "string",
"maxLength": 500
},
"order_by": {
"description": "Sort order: field name plus ASC or DESC, several separated by commas, e.g. \"date DESC\" (default ascending).",
"type": "string",
"pattern": "^[a-z_]+( (ASC|DESC))?(,[a-z_]+( (ASC|DESC))?)*$"
},
"page": {
"description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-1000 (default 100).",
"type": "integer",
"minimum": 1,
"maximum": 1000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢billomat_get_article(id)
Get one article with its prices, unit, tax and supplier.
Esquema de entrada
{
"type": "object",
"properties": {
"id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[1-9]\\d{0,15}$"
}
],
"description": "The article id (from billomat_list_articles)."
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢billomat_list_suppliers(name, email, first_name, last_name, country_code, ...)
List the suppliers of the account, filtered by name, email, contact person, country, note or tags. Paged.
Esquema de entrada
{
"type": "object",
"properties": {
"name": {
"description": "Company / name.",
"type": "string",
"maxLength": 500
},
"email": {
"description": "Email address.",
"type": "string",
"maxLength": 500
},
"first_name": {
"description": "First name of the contact person.",
"type": "string",
"maxLength": 500
},
"last_name": {
"description": "Last name of the contact person.",
"type": "string",
"maxLength": 500
},
"country_code": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"description": "ISO 3166 alpha-2 country code, e.g. DE, AT, CH."
},
"client_number": {
"description": "Your customer number at the supplier.",
"type": "string",
"maxLength": 500
},
"note": {
"description": "Search in the note.",
"type": "string",
"maxLength": 500
},
"tags": {
"description": "Comma-separated tags (Schlagworte).",
"type": "string",
"maxLength": 500
},
"order_by": {
"description": "Sort order: field name plus ASC or DESC, several separated by commas, e.g. \"date DESC\" (default ascending).",
"type": "string",
"pattern": "^[a-z_]+( (ASC|DESC))?(,[a-z_]+( (ASC|DESC))?)*$"
},
"page": {
"description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-1000 (default 100).",
"type": "integer",
"minimum": 1,
"maximum": 1000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢billomat_get_supplier(id)
Get one supplier with address and bank details.
Esquema de entrada
{
"type": "object",
"properties": {
"id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[1-9]\\d{0,15}$"
}
],
"description": "The supplier id (from billomat_list_suppliers)."
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢billomat_list_invoices(client_id, contact_id, from, to, label, ...)
List invoices (Rechnungen), filtered by client, status (DRAFT, OPEN, PAID, OVERDUE, CANCELED), number, date range, text or tags. Paged; each invoice carries totals and the open amount.
Esquema de entrada
{
"type": "object",
"properties": {
"client_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[1-9]\\d{0,15}$"
}
],
"description": "Only documents of this client (from billomat_list_clients)."
},
"contact_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[1-9]\\d{0,15}$"
}
],
"description": "Only documents of this client contact."
},
"from": {
"description": "Documents dated on or after this day (yyyy-mm-dd).",
"type": "string"
},
"to": {
"description": "Documents dated on or before this day (yyyy-mm-dd).",
"type": "string"
},
"label": {
"description": "Free-text search in the label.",
"type": "string",
"maxLength": 500
},
"intro": {
"description": "Free-text search in the introduction text.",
"type": "string",
"maxLength": 500
},
"note": {
"description": "Free-text search in the note.",
"type": "string",
"maxLength": 500
},
"tags": {
"description": "Comma-separated tags (Schlagworte).",
"type": "string",
"maxLength": 500
},
"article_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[1-9]\\d{0,15}$"
}
],
"description": "Only documents containing this article."
},
"invoice_number": {
"description": "Invoice number (case-insensitive).",
"type": "string",
"maxLength": 500
},
"status": {
"description": "Status filter: DRAFT, OPEN, PAID, OVERDUE, CANCELED; several separated by commas.",
"type": "string",
"pattern": "^[A-Z_]+(,[A-Z_]+)*$"
},
"payment_type": {
"description": "Payment type(s), e.g. CASH, BANK_TRANSFER, PAYPAL; several separated by commas.",
"type": "string",
"pattern": "^[A-Z_]+(,[A-Z_]+)*$"
},
"order_by": {
"description": "Sort order: field name plus ASC or DESC, several separated by commas, e.g. \"date DESC\" (default ascending).",
"type": "string",
"pattern": "^[a-z_]+( (ASC|DESC))?(,[a-z_]+( (ASC|DESC))?)*$"
},
"page": {
"description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-1000 (default 100).",
"type": "integer",
"minimum": 1,
"maximum": 1000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢billomat_invoice_totals(group_by, client_id, contact_id, from, to, ...)
Invoice totals grouped by client, status, day, week, month or year (for example group_by=client,year). Takes the same filters as billomat_list_invoices. Read-only.
Esquema de entrada
{
"type": "object",
"properties": {
"group_by": {
"type": "string",
"pattern": "^(client|status|day|week|month|year)(,(client|status|day|week|month|year))*$",
"description": "Grouping: client, status, day, week, month, year; several separated by commas (the order sets the aggregation)."
},
"client_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[1-9]\\d{0,15}$"
}
],
"description": "Only documents of this client (from billomat_list_clients)."
},
"contact_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[1-9]\\d{0,15}$"
}
],
"description": "Only documents of this client contact."
},
"from": {
"description": "Documents dated on or after this day (yyyy-mm-dd).",
"type": "string"
},
"to": {
"description": "Documents dated on or before this day (yyyy-mm-dd).",
"type": "string"
},
"label": {
"description": "Free-text search in the label.",
"type": "string",
"maxLength": 500
},
"intro": {
"description": "Free-text search in the introduction text.",
"type": "string",
"maxLength": 500
},
"note": {
"description": "Free-text search in the note.",
"type": "string",
"maxLength": 500
},
"tags": {
"description": "Comma-separated tags (Schlagworte).",
"type": "string",
"maxLength": 500
},
"article_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[1-9]\\d{0,15}$"
}
],
"description": "Only documents containing this article."
},
"invoice_number": {
"description": "Invoice number (case-insensitive).",
"type": "string",
"maxLength": 500
},
"status": {
"description": "Status filter: DRAFT, OPEN, PAID, OVERDUE, CANCELED; several separated by commas.",
"type": "string",
"pattern": "^[A-Z_]+(,[A-Z_]+)*$"
},
"payment_type": {
"description": "Payment type(s), e.g. CASH, BANK_TRANSFER, PAYPAL; several separated by commas.",
"type": "string",
"pattern": "^[A-Z_]+(,[A-Z_]+)*$"
}
},
"required": [
"group_by"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢billomat_get_invoice(id)
Get one invoice (status, totals, dates, client, payment terms). Its line items come from billomat_list_invoice_items.
Esquema de entrada
{
"type": "object",
"properties": {
"id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[1-9]\\d{0,15}$"
}
],
"description": "The invoice id (from billomat_list_invoices)."
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢billomat_list_invoice_items(invoice_id, page, per_page)
List the line items (positions) of one invoice.
Esquema de entrada
{
"type": "object",
"properties": {
"invoice_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[1-9]\\d{0,15}$"
}
],
"description": "The invoice id."
},
"page": {
"description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-1000 (default 100).",
"type": "integer",
"minimum": 1,
"maximum": 1000
}
},
"required": [
"invoice_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢billomat_list_invoice_payments(invoice_id, from, to, type, user_id, ...)
List the payments that were recorded on invoices (read-only), optionally for one invoice, a date range or payment types.
Esquema de entrada
{
"type": "object",
"properties": {
"invoice_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[1-9]\\d{0,15}$"
}
],
"description": "Only payments of this invoice."
},
"from": {
"description": "Payments on or after this day (yyyy-mm-dd).",
"type": "string"
},
"to": {
"description": "Payments on or before this day (yyyy-mm-dd).",
"type": "string"
},
"type": {
"description": "Payment type(s), e.g. CASH, BANK_TRANSFER, PAYPAL; several separated by commas.",
"type": "string",
"pattern": "^[A-Z_]+(,[A-Z_]+)*$"
},
"user_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[1-9]\\d{0,15}$"
}
],
"description": "Only payments recorded by this user."
},
"order_by": {
"description": "Sort order: field name plus ASC or DESC, several separated by commas, e.g. \"date DESC\" (default ascending).",
"type": "string",
"pattern": "^[a-z_]+( (ASC|DESC))?(,[a-z_]+( (ASC|DESC))?)*$"
},
"page": {
"description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-1000 (default 100).",
"type": "integer",
"minimum": 1,
"maximum": 1000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢billomat_list_recurring_invoices(client_id, contact_id, name, payment_type, cycle, ...)
List recurring invoices (Abo-Rechnungen): name, cycle (DAILY, WEEKLY, MONTHLY, YEARLY), client and next run. Paged.
Esquema de entrada
{
"type": "object",
"properties": {
"client_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[1-9]\\d{0,15}$"
}
],
"description": "Only documents of this client (from billomat_list_clients)."
},
"contact_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[1-9]\\d{0,15}$"
}
],
"description": "Only documents of this client contact."
},
"name": {
"description": "Name of the recurring invoice.",
"type": "string",
"maxLength": 500
},
"payment_type": {
"description": "Payment type(s), e.g. CASH, BANK_TRANSFER, PAYPAL; several separated by commas.",
"type": "string",
"pattern": "^[A-Z_]+(,[A-Z_]+)*$"
},
"cycle": {
"description": "Interval.",
"type": "string",
"enum": [
"DAILY",
"WEEKLY",
"MONTHLY",
"YEARLY"
]
},
"label": {
"description": "Free-text search in the label.",
"type": "string",
"maxLength": 500
},
"intro": {
"description": "Free-text search in the introduction text.",
"type": "string",
"maxLength": 500
},
"note": {
"description": "Free-text search in the note.",
"type": "string",
"maxLength": 500
},
"tags": {
"description": "Comma-separated tags (Schlagworte).",
"type": "string",
"maxLength": 500
},
"order_by": {
"description": "Sort order: field name plus ASC or DESC, several separated by commas, e.g. \"date DESC\" (default ascending).",
"type": "string",
"pattern": "^[a-z_]+( (ASC|DESC))?(,[a-z_]+( (ASC|DESC))?)*$"
},
"page": {
"description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-1000 (default 100).",
"type": "integer",
"minimum": 1,
"maximum": 1000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢billomat_list_offers(client_id, contact_id, from, to, label, ...)
List offers (Angebote), filtered by client, status (DRAFT, OPEN, WON, LOST, CANCELED, CLEARED), number, date range or text. Paged.
Esquema de entrada
{
"type": "object",
"properties": {
"client_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[1-9]\\d{0,15}$"
}
],
"description": "Only documents of this client (from billomat_list_clients)."
},
"contact_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[1-9]\\d{0,15}$"
}
],
"description": "Only documents of this client contact."
},
"from": {
"description": "Documents dated on or after this day (yyyy-mm-dd).",
"type": "string"
},
"to": {
"description": "Documents dated on or before this day (yyyy-mm-dd).",
"type": "string"
},
"label": {
"description": "Free-text search in the label.",
"type": "string",
"maxLength": 500
},
"intro": {
"description": "Free-text search in the introduction text.",
"type": "string",
"maxLength": 500
},
"note": {
"description": "Free-text search in the note.",
"type": "string",
"maxLength": 500
},
"tags": {
"description": "Comma-separated tags (Schlagworte).",
"type": "string",
"maxLength": 500
},
"article_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[1-9]\\d{0,15}$"
}
],
"description": "Only documents containing this article."
},
"offer_number": {
"description": "Offer number (partial, case-insensitive).",
"type": "string",
"maxLength": 500
},
"status": {
"description": "Status filter: DRAFT, OPEN, WON, LOST, CANCELED, CLEARED; several separated by commas.",
"type": "string",
"pattern": "^[A-Z_]+(,[A-Z_]+)*$"
},
"order_by": {
"description": "Sort order: field name plus ASC or DESC, several separated by commas, e.g. \"date DESC\" (default ascending).",
"type": "string",
"pattern": "^[a-z_]+( (ASC|DESC))?(,[a-z_]+( (ASC|DESC))?)*$"
},
"page": {
"description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-1000 (default 100).",
"type": "integer",
"minimum": 1,
"maximum": 1000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢billomat_get_offer(id)
Get one offer (status, totals, validity, client).
Esquema de entrada
{
"type": "object",
"properties": {
"id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[1-9]\\d{0,15}$"
}
],
"description": "The offer id (from billomat_list_offers)."
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢billomat_list_confirmations(client_id, contact_id, from, to, label, ...)
List order confirmations (Auftragsbestaetigungen), filtered by client, status (DRAFT, COMPLETED, CANCELED, CLEARED), number, date range or text. Paged.
Esquema de entrada
{
"type": "object",
"properties": {
"client_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[1-9]\\d{0,15}$"
}
],
"description": "Only documents of this client (from billomat_list_clients)."
},
"contact_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[1-9]\\d{0,15}$"
}
],
"description": "Only documents of this client contact."
},
"from": {
"description": "Documents dated on or after this day (yyyy-mm-dd).",
"type": "string"
},
"to": {
"description": "Documents dated on or before this day (yyyy-mm-dd).",
"type": "string"
},
"label": {
"description": "Free-text search in the label.",
"type": "string",
"maxLength": 500
},
"intro": {
"description": "Free-text search in the introduction text.",
"type": "string",
"maxLength": 500
},
"note": {
"description": "Free-text search in the note.",
"type": "string",
"maxLength": 500
},
"tags": {
"description": "Comma-separated tags (Schlagworte).",
"type": "string",
"maxLength": 500
},
"article_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[1-9]\\d{0,15}$"
}
],
"description": "Only documents containing this article."
},
"confirmation_number": {
"description": "Confirmation number (partial, case-insensitive).",
"type": "string",
"maxLength": 500
},
"status": {
"description": "Status filter: DRAFT, COMPLETED, CANCELED, CLEARED; several separated by commas.",
"type": "string",
"pattern": "^[A-Z_]+(,[A-Z_]+)*$"
},
"order_by": {
"description": "Sort order: field name plus ASC or DESC, several separated by commas, e.g. \"date DESC\" (default ascending).",
"type": "string",
"pattern": "^[a-z_]+( (ASC|DESC))?(,[a-z_]+( (ASC|DESC))?)*$"
},
"page": {
"description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-1000 (default 100).",
"type": "integer",
"minimum": 1,
"maximum": 1000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢billomat_get_confirmation(id)
Get one order confirmation.
Esquema de entrada
{
"type": "object",
"properties": {
"id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[1-9]\\d{0,15}$"
}
],
"description": "The confirmation id (from billomat_list_confirmations)."
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢billomat_list_delivery_notes(client_id, contact_id, from, to, label, ...)
List delivery notes (Lieferscheine), filtered by client, status (DRAFT, CREATED), number, date range or text. Paged.
Esquema de entrada
{
"type": "object",
"properties": {
"client_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[1-9]\\d{0,15}$"
}
],
"description": "Only documents of this client (from billomat_list_clients)."
},
"contact_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[1-9]\\d{0,15}$"
}
],
"description": "Only documents of this client contact."
},
"from": {
"description": "Documents dated on or after this day (yyyy-mm-dd).",
"type": "string"
},
"to": {
"description": "Documents dated on or before this day (yyyy-mm-dd).",
"type": "string"
},
"label": {
"description": "Free-text search in the label.",
"type": "string",
"maxLength": 500
},
"intro": {
"description": "Free-text search in the introduction text.",
"type": "string",
"maxLength": 500
},
"note": {
"description": "Free-text search in the note.",
"type": "string",
"maxLength": 500
},
"tags": {
"description": "Comma-separated tags (Schlagworte).",
"type": "string",
"maxLength": 500
},
"article_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[1-9]\\d{0,15}$"
}
],
"description": "Only documents containing this article."
},
"delivery_note_number": {
"description": "Delivery note number (case-insensitive).",
"type": "string",
"maxLength": 500
},
"status": {
"description": "Status filter: DRAFT, CREATED; several separated by commas.",
"type": "string",
"pattern": "^[A-Z_]+(,[A-Z_]+)*$"
},
"order_by": {
"description": "Sort order: field name plus ASC or DESC, several separated by commas, e.g. \"date DESC\" (default ascending).",
"type": "string",
"pattern": "^[a-z_]+( (ASC|DESC))?(,[a-z_]+( (ASC|DESC))?)*$"
},
"page": {
"description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-1000 (default 100).",
"type": "integer",
"minimum": 1,
"maximum": 1000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢billomat_get_delivery_note(id)
Get one delivery note.
Esquema de entrada
{
"type": "object",
"properties": {
"id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[1-9]\\d{0,15}$"
}
],
"description": "The delivery note id (from billomat_list_delivery_notes)."
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢billomat_list_credit_notes(client_id, contact_id, from, to, label, ...)
List credit notes (Gutschriften), filtered by client, status (DRAFT, OPEN, PAID), date range or text. Paged.
Esquema de entrada
{
"type": "object",
"properties": {
"client_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[1-9]\\d{0,15}$"
}
],
"description": "Only documents of this client (from billomat_list_clients)."
},
"contact_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[1-9]\\d{0,15}$"
}
],
"description": "Only documents of this client contact."
},
"from": {
"description": "Documents dated on or after this day (yyyy-mm-dd).",
"type": "string"
},
"to": {
"description": "Documents dated on or before this day (yyyy-mm-dd).",
"type": "string"
},
"label": {
"description": "Free-text search in the label.",
"type": "string",
"maxLength": 500
},
"intro": {
"description": "Free-text search in the introduction text.",
"type": "string",
"maxLength": 500
},
"note": {
"description": "Free-text search in the note.",
"type": "string",
"maxLength": 500
},
"tags": {
"description": "Comma-separated tags (Schlagworte).",
"type": "string",
"maxLength": 500
},
"article_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[1-9]\\d{0,15}$"
}
],
"description": "Only documents containing this article."
},
"credit_note_number": {
"description": "Credit note number (case-insensitive).",
"type": "string",
"maxLength": 500
},
"status": {
"description": "Status filter: DRAFT, OPEN, PAID; several separated by commas.",
"type": "string",
"pattern": "^[A-Z_]+(,[A-Z_]+)*$"
},
"order_by": {
"description": "Sort order: field name plus ASC or DESC, several separated by commas, e.g. \"date DESC\" (default ascending).",
"type": "string",
"pattern": "^[a-z_]+( (ASC|DESC))?(,[a-z_]+( (ASC|DESC))?)*$"
},
"page": {
"description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-1000 (default 100).",
"type": "integer",
"minimum": 1,
"maximum": 1000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢billomat_get_credit_note(id)
Get one credit note.
Esquema de entrada
{
"type": "object",
"properties": {
"id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[1-9]\\d{0,15}$"
}
],
"description": "The credit note id (from billomat_list_credit_notes)."
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢billomat_list_reminders(client_id, contact_id, invoice_number, status, from, ...)
List payment reminders (Mahnungen), filtered by client, status (DRAFT, OPEN, OVERDUE, PAID, CANCELED), invoice number, date range or text. Paged.
Esquema de entrada
{
"type": "object",
"properties": {
"client_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[1-9]\\d{0,15}$"
}
],
"description": "Only documents of this client (from billomat_list_clients)."
},
"contact_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[1-9]\\d{0,15}$"
}
],
"description": "Only documents of this client contact."
},
"invoice_number": {
"description": "Number of the reminded invoice (case-insensitive).",
"type": "string",
"maxLength": 500
},
"status": {
"description": "Status filter: DRAFT, OPEN, PAID, OVERDUE, CANCELED; several separated by commas.",
"type": "string",
"pattern": "^[A-Z_]+(,[A-Z_]+)*$"
},
"from": {
"description": "Documents dated on or after this day (yyyy-mm-dd).",
"type": "string"
},
"to": {
"description": "Documents dated on or before this day (yyyy-mm-dd).",
"type": "string"
},
"label": {
"description": "Free-text search in the label.",
"type": "string",
"maxLength": 500
},
"subject": {
"description": "Free-text search in the subject.",
"type": "string",
"maxLength": 500
},
"intro": {
"description": "Free-text search in the introduction text.",
"type": "string",
"maxLength": 500
},
"note": {
"description": "Free-text search in the note.",
"type": "string",
"maxLength": 500
},
"tags": {
"description": "Comma-separated tags (Schlagworte).",
"type": "string",
"maxLength": 500
},
"article_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[1-9]\\d{0,15}$"
}
],
"description": "Only documents containing this article."
},
"order_by": {
"description": "Sort order: field name plus ASC or DESC, several separated by commas, e.g. \"date DESC\" (default ascending).",
"type": "string",
"pattern": "^[a-z_]+( (ASC|DESC))?(,[a-z_]+( (ASC|DESC))?)*$"
},
"page": {
"description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-1000 (default 100).",
"type": "integer",
"minimum": 1,
"maximum": 1000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢billomat_get_reminder(id)
Get one payment reminder.
Esquema de entrada
{
"type": "object",
"properties": {
"id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[1-9]\\d{0,15}$"
}
],
"description": "The reminder id (from billomat_list_reminders)."
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢billomat_list_incoming_invoices(supplier_id, incoming_number, status, from, to, ...)
List incoming invoices (Eingangsrechnungen, from suppliers), filtered by supplier, status (OPEN, PAID, OVERDUE), number, date range, note or tags. Paged.
Esquema de entrada
{
"type": "object",
"properties": {
"supplier_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[1-9]\\d{0,15}$"
}
],
"description": "Only incoming invoices of this supplier."
},
"incoming_number": {
"description": "Incoming invoice number.",
"type": "string",
"maxLength": 500
},
"status": {
"description": "Status filter: OPEN, PAID, OVERDUE; several separated by commas.",
"type": "string",
"pattern": "^[A-Z_]+(,[A-Z_]+)*$"
},
"from": {
"description": "Dated on or after this day (yyyy-mm-dd).",
"type": "string"
},
"to": {
"description": "Dated on or before this day (yyyy-mm-dd).",
"type": "string"
},
"note": {
"description": "Free-text search in the note.",
"type": "string",
"maxLength": 500
},
"tags": {
"description": "Comma-separated tags (Schlagworte).",
"type": "string",
"maxLength": 500
},
"order_by": {
"description": "Sort order: field name plus ASC or DESC, several separated by commas, e.g. \"date DESC\" (default ascending).",
"type": "string",
"pattern": "^[a-z_]+( (ASC|DESC))?(,[a-z_]+( (ASC|DESC))?)*$"
},
"page": {
"description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-1000 (default 100).",
"type": "integer",
"minimum": 1,
"maximum": 1000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢billomat_get_incoming_invoice(id)
Get one incoming invoice with amounts and open amount.
Esquema de entrada
{
"type": "object",
"properties": {
"id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[1-9]\\d{0,15}$"
}
],
"description": "The incoming invoice id (from billomat_list_incoming_invoices)."
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢billomat_list_taxes(order_by, page, per_page)
List the tax rates (Steuersaetze) of the account, with the default one.
Esquema de entrada
{
"type": "object",
"properties": {
"order_by": {
"description": "Sort order: field name plus ASC or DESC, several separated by commas, e.g. \"date DESC\" (default ascending).",
"type": "string",
"pattern": "^[a-z_]+( (ASC|DESC))?(,[a-z_]+( (ASC|DESC))?)*$"
},
"page": {
"description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-1000 (default 100).",
"type": "integer",
"minimum": 1,
"maximum": 1000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢billomat_list_units(name, order_by, page, per_page)
List the units (Einheiten) used for article and item quantities, optionally filtered by name.
Esquema de entrada
{
"type": "object",
"properties": {
"name": {
"description": "Unit name (substring, case-insensitive).",
"type": "string",
"maxLength": 500
},
"order_by": {
"description": "Sort order: field name plus ASC or DESC, several separated by commas, e.g. \"date DESC\" (default ascending).",
"type": "string",
"pattern": "^[a-z_]+( (ASC|DESC))?(,[a-z_]+( (ASC|DESC))?)*$"
},
"page": {
"description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-1000 (default 100).",
"type": "integer",
"minimum": 1,
"maximum": 1000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴billomat_create_client(name, street, zip, city, state, ...)
WRITE: create a new client (customer) in Billomat. Billomat assigns the client number. Nothing is sent to the client. Check billomat_list_clients first to avoid duplicates.
Esquema de entrada
{
"type": "object",
"properties": {
"name": {
"description": "Company name.",
"type": "string",
"minLength": 1,
"maxLength": 255
},
"street": {
"description": "Street and number.",
"type": "string",
"maxLength": 255
},
"zip": {
"description": "ZIP code.",
"type": "string",
"maxLength": 20
},
"city": {
"description": "City.",
"type": "string",
"maxLength": 255
},
"state": {
"description": "State / region.",
"type": "string",
"maxLength": 255
},
"country_code": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"description": "ISO 3166 alpha-2 country code, e.g. DE, AT, CH."
},
"first_name": {
"description": "First name of the contact person.",
"type": "string",
"maxLength": 255
},
"last_name": {
"description": "Last name of the contact person.",
"type": "string",
"maxLength": 255
},
"salutation": {
"description": "Salutation, e.g. Herr, Frau.",
"type": "string",
"maxLength": 255
},
"phone": {
"description": "Phone.",
"type": "string",
"maxLength": 100
},
"mobile": {
"description": "Mobile phone.",
"type": "string",
"maxLength": 100
},
"email": {
"description": "Email address.",
"type": "string",
"maxLength": 255
},
"www": {
"description": "Website (without http).",
"type": "string",
"maxLength": 255
},
"tax_number": {
"description": "Tax number.",
"type": "string",
"maxLength": 100
},
"vat_number": {
"description": "VAT ID.",
"type": "string",
"maxLength": 100
},
"note": {
"description": "Internal note.",
"type": "string",
"maxLength": 2000
},
"currency_code": {
"type": "string",
"pattern": "^[A-Za-z]{3}$",
"description": "ISO currency code, e.g. EUR (account default when omitted)."
},
"locale": {
"description": "Locale of the documents, e.g. de-DE.",
"type": "string",
"maxLength": 20
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴billomat_update_client(id, name, street, zip, city, ...)
WRITE: change fields of an existing client (only the fields you pass are changed; everything else stays). Read the client first with billomat_get_client. Nothing is sent to the client.
Esquema de entrada
{
"type": "object",
"properties": {
"id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[1-9]\\d{0,15}$"
}
],
"description": "The client id."
},
"name": {
"description": "Company name.",
"type": "string",
"minLength": 1,
"maxLength": 255
},
"street": {
"description": "Street and number.",
"type": "string",
"maxLength": 255
},
"zip": {
"description": "ZIP code.",
"type": "string",
"maxLength": 20
},
"city": {
"description": "City.",
"type": "string",
"maxLength": 255
},
"state": {
"description": "State / region.",
"type": "string",
"maxLength": 255
},
"country_code": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"description": "ISO 3166 alpha-2 country code, e.g. DE, AT, CH."
},
"first_name": {
"description": "First name of the contact person.",
"type": "string",
"maxLength": 255
},
"last_name": {
"description": "Last name of the contact person.",
"type": "string",
"maxLength": 255
},
"salutation": {
"description": "Salutation, e.g. Herr, Frau.",
"type": "string",
"maxLength": 255
},
"phone": {
"description": "Phone.",
"type": "string",
"maxLength": 100
},
"mobile": {
"description": "Mobile phone.",
"type": "string",
"maxLength": 100
},
"email": {
"description": "Email address.",
"type": "string",
"maxLength": 255
},
"www": {
"description": "Website (without http).",
"type": "string",
"maxLength": 255
},
"tax_number": {
"description": "Tax number.",
"type": "string",
"maxLength": 100
},
"vat_number": {
"description": "VAT ID.",
"type": "string",
"maxLength": 100
},
"note": {
"description": "Internal note.",
"type": "string",
"maxLength": 2000
},
"currency_code": {
"type": "string",
"pattern": "^[A-Za-z]{3}$",
"description": "ISO currency code, e.g. EUR (account default when omitted)."
},
"locale": {
"description": "Locale of the documents, e.g. de-DE.",
"type": "string",
"maxLength": 20
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴billomat_create_article(title, description, sales_price, currency_code, unit_id, ...)
WRITE: create a new article (product or service) with a price. Billomat assigns the article number.
Esquema de entrada
{
"type": "object",
"properties": {
"title": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"description": "Article title."
},
"description": {
"description": "Description.",
"type": "string",
"maxLength": 5000
},
"sales_price": {
"description": "Sales price (net or gross as the account is set up).",
"type": "number",
"minimum": 0,
"maximum": 1000000000000
},
"currency_code": {
"type": "string",
"pattern": "^[A-Za-z]{3}$",
"description": "ISO currency code, e.g. EUR (account default when omitted)."
},
"unit_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[1-9]\\d{0,15}$"
}
],
"description": "Unit id (from billomat_list_units)."
},
"tax_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[1-9]\\d{0,15}$"
}
],
"description": "Tax rate id (from billomat_list_taxes)."
},
"purchase_price": {
"description": "Purchase price.",
"type": "number",
"minimum": 0,
"maximum": 1000000000000
},
"type": {
"description": "PRODUCT or SERVICE.",
"type": "string",
"enum": [
"PRODUCT",
"SERVICE"
]
}
},
"required": [
"title"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴billomat_create_draft_invoice(client_id, contact_id, date, title, label, ...)
WRITE: create an invoice as a DRAFT (Entwurf) for a client, with optional line items. The invoice is NOT completed, has no number yet and is NOT sent; review and complete it in Billomat. Nothing is charged.
Esquema de entrada
{
"type": "object",
"properties": {
"client_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[1-9]\\d{0,15}$"
}
],
"description": "The client id (from billomat_list_clients)."
},
"contact_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[1-9]\\d{0,15}$"
}
],
"description": "A contact of that client."
},
"date": {
"description": "Document date (yyyy-mm-dd; today when omitted).",
"type": "string"
},
"title": {
"description": "Document title.",
"type": "string",
"maxLength": 255
},
"label": {
"description": "Label / subject.",
"type": "string",
"maxLength": 255
},
"intro": {
"description": "Introduction text.",
"type": "string",
"maxLength": 5000
},
"note": {
"description": "Closing note.",
"type": "string",
"maxLength": 5000
},
"currency_code": {
"type": "string",
"pattern": "^[A-Za-z]{3}$",
"description": "ISO currency code, e.g. EUR (account default when omitted)."
},
"net_gross": {
"description": "Whether prices are net or gross.",
"type": "string",
"enum": [
"NET",
"GROSS"
]
},
"items": {
"description": "Line items (up to 200). More can be added to the draft later.",
"maxItems": 200,
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"description": "Item title (required unless article_id is given).",
"type": "string",
"minLength": 1,
"maxLength": 255
},
"description": {
"description": "Item description.",
"type": "string",
"maxLength": 5000
},
"quantity": {
"description": "Quantity (required unless article_id is given).",
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
"unit": {
"description": "Unit, e.g. Stunde, Stueck, hour.",
"type": "string",
"maxLength": 100
},
"unit_price": {
"description": "Unit price, net or gross as net_gross of the document (required unless article_id is given).",
"type": "number",
"minimum": -1000000000000,
"maximum": 1000000000000
},
"tax_name": {
"description": "Tax name; with tax_rate overrides the standard tax of the account.",
"type": "string",
"maxLength": 100
},
"tax_rate": {
"description": "Tax rate in percent; the account's standard rate when omitted.",
"type": "number",
"minimum": 0,
"maximum": 100
},
"article_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[1-9]\\d{0,15}$"
}
],
"description": "An article id (from billomat_list_articles): title, unit, price and tax missing here are taken from the article."
},
"type": {
"description": "PRODUCT or SERVICE.",
"type": "string",
"enum": [
"PRODUCT",
"SERVICE"
]
},
"optional": {
"description": "Offers only: mark the item as optional (its price is left out of the total).",
"type": "boolean"
},
"reduction": {
"description": "Discount: absolute (10) or percent (10%).",
"type": "string",
"pattern": "^\\d+(\\.\\d+)?%?$"
}
}
}
},
"due_days": {
"description": "Days until payment is due.",
"type": "integer",
"minimum": 0,
"maximum": 3650
}
},
"required": [
"client_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴billomat_add_invoice_item(invoice_id, title, description, quantity, unit, ...)
WRITE: add one line item to an invoice that is still a DRAFT (Billomat refuses it for any other status). Does not complete or send the invoice.
Esquema de entrada
{
"type": "object",
"properties": {
"invoice_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[1-9]\\d{0,15}$"
}
],
"description": "The draft invoice id."
},
"title": {
"description": "Item title (required unless article_id is given).",
"type": "string",
"minLength": 1,
"maxLength": 255
},
"description": {
"description": "Item description.",
"type": "string",
"maxLength": 5000
},
"quantity": {
"description": "Quantity (required unless article_id is given).",
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
"unit": {
"description": "Unit, e.g. Stunde, Stueck, hour.",
"type": "string",
"maxLength": 100
},
"unit_price": {
"description": "Unit price, net or gross as net_gross of the document (required unless article_id is given).",
"type": "number",
"minimum": -1000000000000,
"maximum": 1000000000000
},
"tax_name": {
"description": "Tax name; with tax_rate overrides the standard tax of the account.",
"type": "string",
"maxLength": 100
},
"tax_rate": {
"description": "Tax rate in percent; the account's standard rate when omitted.",
"type": "number",
"minimum": 0,
"maximum": 100
},
"article_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[1-9]\\d{0,15}$"
}
],
"description": "An article id (from billomat_list_articles): title, unit, price and tax missing here are taken from the article."
},
"type": {
"description": "PRODUCT or SERVICE.",
"type": "string",
"enum": [
"PRODUCT",
"SERVICE"
]
},
"optional": {
"description": "Offers only: mark the item as optional (its price is left out of the total).",
"type": "boolean"
},
"reduction": {
"description": "Discount: absolute (10) or percent (10%).",
"type": "string",
"pattern": "^\\d+(\\.\\d+)?%?$"
}
},
"required": [
"invoice_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴billomat_create_draft_offer(client_id, contact_id, date, title, label, ...)
WRITE: create an offer (Angebot) as a DRAFT for a client, with optional line items. The offer is NOT completed, has no number yet and is NOT sent; review and complete it in Billomat.
Esquema de entrada
{
"type": "object",
"properties": {
"client_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[1-9]\\d{0,15}$"
}
],
"description": "The client id (from billomat_list_clients)."
},
"contact_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[1-9]\\d{0,15}$"
}
],
"description": "A contact of that client."
},
"date": {
"description": "Document date (yyyy-mm-dd; today when omitted).",
"type": "string"
},
"title": {
"description": "Document title.",
"type": "string",
"maxLength": 255
},
"label": {
"description": "Label / subject.",
"type": "string",
"maxLength": 255
},
"intro": {
"description": "Introduction text.",
"type": "string",
"maxLength": 5000
},
"note": {
"description": "Closing note.",
"type": "string",
"maxLength": 5000
},
"currency_code": {
"type": "string",
"pattern": "^[A-Za-z]{3}$",
"description": "ISO currency code, e.g. EUR (account default when omitted)."
},
"net_gross": {
"description": "Whether prices are net or gross.",
"type": "string",
"enum": [
"NET",
"GROSS"
]
},
"items": {
"description": "Line items (up to 200). More can be added to the draft later.",
"maxItems": 200,
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"description": "Item title (required unless article_id is given).",
"type": "string",
"minLength": 1,
"maxLength": 255
},
"description": {
"description": "Item description.",
"type": "string",
"maxLength": 5000
},
"quantity": {
"description": "Quantity (required unless article_id is given).",
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
"unit": {
"description": "Unit, e.g. Stunde, Stueck, hour.",
"type": "string",
"maxLength": 100
},
"unit_price": {
"description": "Unit price, net or gross as net_gross of the document (required unless article_id is given).",
"type": "number",
"minimum": -1000000000000,
"maximum": 1000000000000
},
"tax_name": {
"description": "Tax name; with tax_rate overrides the standard tax of the account.",
"type": "string",
"maxLength": 100
},
"tax_rate": {
"description": "Tax rate in percent; the account's standard rate when omitted.",
"type": "number",
"minimum": 0,
"maximum": 100
},
"article_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[1-9]\\d{0,15}$"
}
],
"description": "An article id (from billomat_list_articles): title, unit, price and tax missing here are taken from the article."
},
"type": {
"description": "PRODUCT or SERVICE.",
"type": "string",
"enum": [
"PRODUCT",
"SERVICE"
]
},
"optional": {
"description": "Offers only: mark the item as optional (its price is left out of the total).",
"type": "boolean"
},
"reduction": {
"description": "Discount: absolute (10) or percent (10%).",
"type": "string",
"pattern": "^\\d+(\\.\\d+)?%?$"
}
}
}
},
"validity_days": {
"description": "Days the offer stays valid.",
"type": "integer",
"minimum": 0,
"maximum": 3650
}
},
"required": [
"client_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Comunidad
Evidencia