Billomat MCP by usefulapi
Read Billomat clients, invoices, offers, credit notes, reminders; create clients and draft invoices.
使うべきか
品質と安全性
検出事項(2)
- LOWbillomat_list_recurring_invoices 内
- LOWbillomat_list_incoming_invoices 内
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"billomat": {
"url": "https://billomat.usefulapi.io/mcp"
}
}
}リモートエンドポイント
https://billomat.usefulapi.io/mcpstreamable-httpできること
ツール一覧
ツール(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.
入力スキーマ
{
"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).
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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).
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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"
}コミュニティ
エビデンス