Billomat MCP by usefulapi

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

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
95%
Vollständigkeit des Schemas
84%
Qualität der Benennung
79%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Befunde (2)

  • LOWTool 'billomat_list_recurring_invoices' name length outside 3-30 rangein billomat_list_recurring_invoices
  • LOWTool 'billomat_list_incoming_invoices' name length outside 3-30 rangein billomat_list_incoming_invoices

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

Kontextkosten

~12,199Tokens (Tool-Definitionen)
~3.4 KBTypische Antwortgröße
Erhebliche Auswirkung auf die Aufmerksamkeit (9.53% von 128k Kontext)

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

Installieren

Installation mit einem Klick

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

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

Remote-Endpunkte

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

Was es kann

Tool-Inventar

Tools (34)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢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.

Eingabe-Schema

{
  "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).

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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).

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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"
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet34 Tools