Billomat MCP by usefulapi

Read Billomat clients, invoices, offers, credit notes, reminders; create clients and draft invoices.

我該用這個嗎

品質與安全性

A
說明品質
95%
結構描述完整度
84%
命名品質
79%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

發現項目(2)

  • LOWTool 'billomat_list_recurring_invoices' name length outside 3-30 range在 billomat_list_recurring_invoices 中
  • LOWTool 'billomat_list_incoming_invoices' name length outside 3-30 range在 billomat_list_incoming_invoices 中

根據工具定義與協定合規性的自動化分析。

上下文成本

~12,199Token(工具定義)
~3.4 KB典型回應大小
顯著的注意力影響(128k 上下文的 9.53%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `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"
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本34 個工具