bexio MCP by usefulapi
Read bexio contacts, invoices, quotes, bills, projects and journal; log time, draft invoices.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (8)
- HIGH
- MEDIUMen bexio_list_bills
- LOWen bexio_list_users
- LOWen bexio_get_quote
- LOWen bexio_get_order
- LOWen bexio_list_taxes
- LOWen bexio_list_bills
- INFOen bexio_list_bills
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"bexio": {
"url": "https://bexio.usefulapi.io/mcp"
}
}
}Puntos de conexión remotos
https://bexio.usefulapi.io/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (28)
🟢bexio_get_company_profile
The bexio company's profile: name, address, legal form, VAT (MWST) and UID numbers, contact details. Each bexio account has one profile.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢bexio_get_current_user
The signed-in bexio user (id, name, email, superadmin/accountant flags). Its id is the default user_id of new records.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢bexio_list_users(limit, offset)
The company's bexio users (id, name, email). Use an id as user_id or owner of contacts, documents and timesheets.
Esquema de entrada
{
"type": "object",
"properties": {
"limit": {
"description": "Results per page, 1-2000 (default 50).",
"type": "integer",
"minimum": 1,
"maximum": 2000
},
"offset": {
"description": "Records to skip (default 0). Use next_offset from the previous reply.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢bexio_list_contacts(name, first_name, email, nr, city, ...)
List or search contacts (customers, suppliers, persons, companies). Without filters it pages through all contacts; with filters it uses bexio's contact search (all filters must match). name_1 is the company name or a person's last name, name_2 a person's first name.
Esquema de entrada
{
"type": "object",
"properties": {
"name": {
"description": "name_1 (company name or last name) contains this text.",
"type": "string",
"minLength": 1,
"maxLength": 255
},
"first_name": {
"description": "name_2 (a person's first name or a company's name addition) contains this text.",
"type": "string",
"minLength": 1,
"maxLength": 255
},
"email": {
"description": "Main email contains this text.",
"type": "string",
"minLength": 1,
"maxLength": 255
},
"nr": {
"description": "Contact number equals this.",
"type": "string",
"minLength": 1,
"maxLength": 50
},
"city": {
"description": "City contains this text.",
"type": "string",
"minLength": 1,
"maxLength": 255
},
"postcode": {
"description": "Postcode equals this.",
"type": "string",
"minLength": 1,
"maxLength": 20
},
"contact_type": {
"description": "Only companies or only persons.",
"type": "string",
"enum": [
"company",
"person"
]
},
"updated_since": {
"description": "Changed on or after this date, yyyy-mm-dd.",
"type": "string"
},
"archived": {
"description": "true = archived contacts only (default: active contacts).",
"type": "boolean"
},
"order_by": {
"description": "Sort field (default id).",
"type": "string",
"enum": [
"id",
"nr",
"name_1",
"updated_at"
]
},
"descending": {
"description": "Sort descending (default ascending).",
"type": "boolean"
},
"limit": {
"description": "Results per page, 1-2000 (default 50).",
"type": "integer",
"minimum": 1,
"maximum": 2000
},
"offset": {
"description": "Records to skip (default 0). Use next_offset from the previous reply.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢bexio_get_contact(contact_id, archived)
One contact with its address, emails, phones, language, groups and remarks.
Esquema de entrada
{
"type": "object",
"properties": {
"contact_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 2147483647,
"description": "The contact id (from bexio_list_contacts)."
},
"archived": {
"description": "true when the contact is archived.",
"type": "boolean"
}
},
"required": [
"contact_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢bexio_list_invoices(status, contact_id, user_id, document_nr, title, ...)
List or search sales invoices (number, contact, totals, open amount, dates, status). Statuses: draft, pending (issued, open), paid, partial (partially paid), canceled, unpaid (overdue reminder state). Without filters it pages through all invoices; with filters all must match.
Esquema de entrada
{
"type": "object",
"properties": {
"status": {
"description": "Only invoices with one of these statuses.",
"minItems": 1,
"maxItems": 6,
"type": "array",
"items": {
"type": "string",
"enum": [
"draft",
"pending",
"paid",
"partial",
"canceled",
"unpaid"
]
}
},
"contact_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 2147483647,
"description": "Only documents for this contact (from bexio_list_contacts)."
},
"user_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 2147483647,
"description": "Only documents owned by this bexio user (from bexio_list_users)."
},
"document_nr": {
"description": "Document number contains this text (e.g. RE-00012).",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"title": {
"description": "Title contains this text.",
"type": "string",
"minLength": 1,
"maxLength": 255
},
"valid_from_after": {
"description": "Document date (is_valid_from) on or after this date, yyyy-mm-dd.",
"type": "string"
},
"valid_from_before": {
"description": "Document date (is_valid_from) on or before this date, yyyy-mm-dd.",
"type": "string"
},
"updated_since": {
"description": "Changed on or after this date, yyyy-mm-dd.",
"type": "string"
},
"order_by": {
"description": "Sort field (default id).",
"type": "string",
"enum": [
"id",
"total",
"total_net",
"total_gross",
"updated_at"
]
},
"descending": {
"description": "Sort descending (default ascending).",
"type": "boolean"
},
"limit": {
"description": "Results per page, 1-2000 (default 50).",
"type": "integer",
"minimum": 1,
"maximum": 2000
},
"offset": {
"description": "Records to skip (default 0). Use next_offset from the previous reply.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢bexio_get_invoice(invoice_id)
One invoice with its positions (line items), taxes, totals, received payments and remaining amount.
Esquema de entrada
{
"type": "object",
"properties": {
"invoice_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 2147483647,
"description": "The invoice id (from bexio_list_invoices)."
}
},
"required": [
"invoice_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢bexio_list_invoice_payments(invoice_id, limit, offset)
The payments recorded on one invoice (date, amount, bank account, cash discount).
Esquema de entrada
{
"type": "object",
"properties": {
"invoice_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 2147483647,
"description": "The invoice id (from bexio_list_invoices)."
},
"limit": {
"description": "Results per page, 1-2000 (default 50).",
"type": "integer",
"minimum": 1,
"maximum": 2000
},
"offset": {
"description": "Records to skip (default 0). Use next_offset from the previous reply.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
}
},
"required": [
"invoice_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢bexio_list_quotes(status, contact_id, user_id, document_nr, title, ...)
List or search quotes (Offerten): number, contact, totals, validity, status (draft, pending, confirmed, declined). With filters all must match.
Esquema de entrada
{
"type": "object",
"properties": {
"status": {
"description": "Only quotes with one of these statuses.",
"minItems": 1,
"maxItems": 4,
"type": "array",
"items": {
"type": "string",
"enum": [
"draft",
"pending",
"confirmed",
"declined"
]
}
},
"contact_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 2147483647,
"description": "Only documents for this contact (from bexio_list_contacts)."
},
"user_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 2147483647,
"description": "Only documents owned by this bexio user (from bexio_list_users)."
},
"document_nr": {
"description": "Document number contains this text (e.g. RE-00012).",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"title": {
"description": "Title contains this text.",
"type": "string",
"minLength": 1,
"maxLength": 255
},
"valid_from_after": {
"description": "Document date (is_valid_from) on or after this date, yyyy-mm-dd.",
"type": "string"
},
"valid_from_before": {
"description": "Document date (is_valid_from) on or before this date, yyyy-mm-dd.",
"type": "string"
},
"updated_since": {
"description": "Changed on or after this date, yyyy-mm-dd.",
"type": "string"
},
"order_by": {
"description": "Sort field (default id).",
"type": "string",
"enum": [
"id",
"total",
"total_net",
"total_gross",
"updated_at"
]
},
"descending": {
"description": "Sort descending (default ascending).",
"type": "boolean"
},
"limit": {
"description": "Results per page, 1-2000 (default 50).",
"type": "integer",
"minimum": 1,
"maximum": 2000
},
"offset": {
"description": "Records to skip (default 0). Use next_offset from the previous reply.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢bexio_get_quote(quote_id)
One quote with its positions, taxes and totals.
Esquema de entrada
{
"type": "object",
"properties": {
"quote_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 2147483647,
"description": "The quote id (from bexio_list_quotes)."
}
},
"required": [
"quote_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢bexio_list_orders(status, contact_id, user_id, document_nr, title, ...)
List or search sales orders (Aufträge): number, contact, totals, recurring flag, status (pending, done, partial, canceled). With filters all must match.
Esquema de entrada
{
"type": "object",
"properties": {
"status": {
"description": "Only orders with one of these statuses.",
"minItems": 1,
"maxItems": 4,
"type": "array",
"items": {
"type": "string",
"enum": [
"pending",
"done",
"partial",
"canceled"
]
}
},
"contact_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 2147483647,
"description": "Only documents for this contact (from bexio_list_contacts)."
},
"user_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 2147483647,
"description": "Only documents owned by this bexio user (from bexio_list_users)."
},
"document_nr": {
"description": "Document number contains this text (e.g. RE-00012).",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"title": {
"description": "Title contains this text.",
"type": "string",
"minLength": 1,
"maxLength": 255
},
"valid_from_after": {
"description": "Document date (is_valid_from) on or after this date, yyyy-mm-dd.",
"type": "string"
},
"valid_from_before": {
"description": "Document date (is_valid_from) on or before this date, yyyy-mm-dd.",
"type": "string"
},
"updated_since": {
"description": "Changed on or after this date, yyyy-mm-dd.",
"type": "string"
},
"order_by": {
"description": "Sort field (default id).",
"type": "string",
"enum": [
"id",
"total",
"total_net",
"total_gross",
"updated_at"
]
},
"descending": {
"description": "Sort descending (default ascending).",
"type": "boolean"
},
"limit": {
"description": "Results per page, 1-2000 (default 50).",
"type": "integer",
"minimum": 1,
"maximum": 2000
},
"offset": {
"description": "Records to skip (default 0). Use next_offset from the previous reply.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢bexio_get_order(order_id)
One sales order with its positions, taxes and totals.
Esquema de entrada
{
"type": "object",
"properties": {
"order_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 2147483647,
"description": "The order id (from bexio_list_orders)."
}
},
"required": [
"order_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢bexio_list_articles(name, code, order_by, descending, limit, ...)
List or search items / products (Artikel): code, name, sale and purchase price, tax, unit, stock levels. Use an id as article_id in a draft invoice.
Esquema de entrada
{
"type": "object",
"properties": {
"name": {
"description": "Item name (intern_name) contains this text.",
"type": "string",
"minLength": 1,
"maxLength": 255
},
"code": {
"description": "Item code (intern_code) contains this text.",
"type": "string",
"minLength": 1,
"maxLength": 255
},
"order_by": {
"description": "Sort field (default id).",
"type": "string",
"enum": [
"id",
"intern_name"
]
},
"descending": {
"description": "Sort descending (default ascending).",
"type": "boolean"
},
"limit": {
"description": "Results per page, 1-2000 (default 50).",
"type": "integer",
"minimum": 1,
"maximum": 2000
},
"offset": {
"description": "Records to skip (default 0). Use next_offset from the previous reply.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢bexio_list_projects(name, contact_id, state_id, order_by, descending, ...)
List or search projects: number, name, contact, state, type, dates, budget. With filters all must match.
Esquema de entrada
{
"type": "object",
"properties": {
"name": {
"description": "Project name contains this text.",
"type": "string",
"minLength": 1,
"maxLength": 255
},
"contact_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 2147483647,
"description": "Only projects of this contact."
},
"state_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 2147483647,
"description": "Only projects in this state (pr_state_id as returned on a project)."
},
"order_by": {
"description": "Sort field (default id).",
"type": "string",
"enum": [
"id",
"name"
]
},
"descending": {
"description": "Sort descending (default ascending).",
"type": "boolean"
},
"limit": {
"description": "Results per page, 1-2000 (default 50).",
"type": "integer",
"minimum": 1,
"maximum": 2000
},
"offset": {
"description": "Records to skip (default 0). Use next_offset from the previous reply.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢bexio_get_project(project_id)
One project with its contact, state, type, dates, invoicing and budget settings.
Esquema de entrada
{
"type": "object",
"properties": {
"project_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 2147483647,
"description": "The project id (from bexio_list_projects)."
}
},
"required": [
"project_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢bexio_list_timesheets(user_id, contact_id, project_id, business_activity_id, status_id, ...)
List or search time tracking entries: date, duration, text, user, contact, project, business activity, billable flag. With filters all must match.
Esquema de entrada
{
"type": "object",
"properties": {
"user_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 2147483647,
"description": "Only entries of this bexio user."
},
"contact_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 2147483647,
"description": "Only entries for this contact."
},
"project_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 2147483647,
"description": "Only entries on this project."
},
"business_activity_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 2147483647,
"description": "Only entries of this business activity (client_service_id, from bexio_list_business_activities)."
},
"status_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 2147483647,
"description": "Only entries with this timesheet status id."
},
"order_by": {
"description": "Sort field (default id).",
"type": "string",
"enum": [
"id",
"date"
]
},
"descending": {
"description": "Sort descending (default ascending).",
"type": "boolean"
},
"limit": {
"description": "Results per page, 1-2000 (default 50).",
"type": "integer",
"minimum": 1,
"maximum": 2000
},
"offset": {
"description": "Records to skip (default 0). Use next_offset from the previous reply.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢bexio_list_business_activities(order_by, descending, limit, offset)
Business activities (Tätigkeiten) for time tracking: id, name, billable default, hourly rate. A timesheet needs one.
Esquema de entrada
{
"type": "object",
"properties": {
"order_by": {
"description": "Sort field (default id).",
"type": "string",
"enum": [
"id",
"name"
]
},
"descending": {
"description": "Sort descending (default ascending).",
"type": "boolean"
},
"limit": {
"description": "Results per page, 1-2000 (default 50).",
"type": "integer",
"minimum": 1,
"maximum": 2000
},
"offset": {
"description": "Records to skip (default 0). Use next_offset from the previous reply.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢bexio_list_accounts(limit, offset)
The chart of accounts: account number, name, type (1 earning, 2 expenditure, 3 active/asset, 4 passive/liability, 5 complete/closing), default tax, active/locked flags.
Esquema de entrada
{
"type": "object",
"properties": {
"limit": {
"description": "Results per page, 1-2000 (default 50).",
"type": "integer",
"minimum": 1,
"maximum": 2000
},
"offset": {
"description": "Records to skip (default 0). Use next_offset from the previous reply.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢bexio_list_journal(from, to, account_uuid, limit, offset)
Accounting journal bookings: date, debit and credit account ids, description, amount, currency, base-currency amount, and the source document (ref_class, ref_id).
Esquema de entrada
{
"type": "object",
"properties": {
"from": {
"description": "Bookings on or after this date, yyyy-mm-dd.",
"type": "string"
},
"to": {
"description": "Bookings up to this date, yyyy-mm-dd.",
"type": "string"
},
"account_uuid": {
"description": "Only bookings on this account (its uuid from bexio_list_accounts).",
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"limit": {
"description": "Results per page, 1-2000 (default 50).",
"type": "integer",
"minimum": 1,
"maximum": 2000
},
"offset": {
"description": "Records to skip (default 0). Use next_offset from the previous reply.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢bexio_list_taxes(scope, types, date, limit, offset)
VAT (MWST) tax codes: id, code, rate, type (sales_tax, pre_tax, ...), validity. For a draft invoice use an active sales tax (types sales_tax, scope active).
Esquema de entrada
{
"type": "object",
"properties": {
"scope": {
"description": "Only active or inactive taxes.",
"type": "string",
"enum": [
"active",
"inactive"
]
},
"types": {
"description": "Only sales taxes or input (pre) taxes.",
"type": "string",
"enum": [
"sales_tax",
"pre_tax"
]
},
"date": {
"description": "Only taxes active on this date, yyyy-mm-dd.",
"type": "string"
},
"limit": {
"description": "Results per page, 1-2000 (default 50).",
"type": "integer",
"minimum": 1,
"maximum": 2000
},
"offset": {
"description": "Records to skip (default 0). Use next_offset from the previous reply.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢bexio_list_bank_accounts(limit, offset)
The company's bank accounts shown in bexio banking: name, bank, IBAN / QR-IBAN, currency, linked ledger account, QR-invoice mode.
Esquema de entrada
{
"type": "object",
"properties": {
"limit": {
"description": "Results per page, 1-2000 (default 50).",
"type": "integer",
"minimum": 1,
"maximum": 2000
},
"offset": {
"description": "Records to skip (default 0). Use next_offset from the previous reply.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢bexio_list_currencies(with_exchange_rate, date, limit, offset)
Currencies set up in bexio (id, code such as CHF or EUR, rounding), optionally with the exchange rate valid on a date. Use an id as currency_id.
Esquema de entrada
{
"type": "object",
"properties": {
"with_exchange_rate": {
"description": "Embed each currency's exchange rate.",
"type": "boolean"
},
"date": {
"description": "Validity date of the embedded exchange rate, yyyy-mm-dd.",
"type": "string"
},
"limit": {
"description": "Results per page, 1-2000 (default 50).",
"type": "integer",
"minimum": 1,
"maximum": 2000
},
"offset": {
"description": "Records to skip (default 0). Use next_offset from the previous reply.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢bexio_list_business_years(limit, offset)
Accounting business (fiscal) years: start, end, status (open, locked, closed).
Esquema de entrada
{
"type": "object",
"properties": {
"limit": {
"description": "Results per page, 1-2000 (default 50).",
"type": "integer",
"minimum": 1,
"maximum": 2000
},
"offset": {
"description": "Records to skip (default 0). Use next_offset from the previous reply.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢bexio_list_bills(status, search, vendor, supplier_id, bill_date_from, ...)
Supplier bills (Kreditoren / purchase bills): document number, vendor, title, status, gross/net, pending amount, bill and due date, overdue flag. status: DRAFTS, TODO (booked, not fully paid), PAID, OVERDUE.
Esquema de entrada
{
"type": "object",
"properties": {
"status": {
"description": "Bill status filter.",
"type": "string",
"enum": [
"DRAFTS",
"TODO",
"PAID",
"OVERDUE"
]
},
"search": {
"description": "Free-text search over vendor, vendor reference, currency, document number and title (3-255 characters).",
"type": "string",
"minLength": 3,
"maxLength": 255
},
"vendor": {
"description": "Vendor name contains this text.",
"type": "string",
"minLength": 1,
"maxLength": 255
},
"supplier_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 2147483647,
"description": "Only bills of this supplier contact."
},
"bill_date_from": {
"description": "Bill date on or after, yyyy-mm-dd.",
"type": "string"
},
"bill_date_to": {
"description": "Bill date on or before, yyyy-mm-dd.",
"type": "string"
},
"due_date_from": {
"description": "Due date on or after, yyyy-mm-dd.",
"type": "string"
},
"due_date_to": {
"description": "Due date on or before, yyyy-mm-dd.",
"type": "string"
},
"sort": {
"description": "Sort field.",
"type": "string",
"enum": [
"document_no",
"bill_date",
"due_date",
"vendor",
"gross",
"pending_amount",
"created_at"
]
},
"descending": {
"description": "Sort descending (default ascending).",
"type": "boolean"
},
"page": {
"description": "Page number, 1-based (default 1).",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"limit": {
"description": "Bills per page, 1-500 (default 50).",
"type": "integer",
"minimum": 1,
"maximum": 500
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴bexio_create_contact(contact_type, name, first_name, street_name, house_number, ...)
WRITE: create a new contact (company or person) in bexio. Nothing existing is changed. For a person, name is the last name and first_name the first name. Owner and responsible user default to the signed-in user.
Esquema de entrada
{
"type": "object",
"properties": {
"contact_type": {
"type": "string",
"enum": [
"company",
"person"
],
"description": "company or person."
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"description": "Company name, or a person's last name (name_1)."
},
"first_name": {
"description": "A person's first name, or a company's name addition (name_2).",
"type": "string",
"maxLength": 255
},
"street_name": {
"description": "Street name.",
"type": "string",
"maxLength": 255
},
"house_number": {
"description": "House number.",
"type": "string",
"maxLength": 50
},
"address_addition": {
"description": "Address addition (c/o, P.O. box).",
"type": "string",
"maxLength": 255
},
"postcode": {
"description": "Postcode.",
"type": "string",
"maxLength": 20
},
"city": {
"description": "City.",
"type": "string",
"maxLength": 255
},
"country_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 2147483647,
"description": "bexio country id (1 = Switzerland in a default bexio setup)."
},
"email": {
"description": "Main email.",
"type": "string",
"maxLength": 255,
"format": "email",
"pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
},
"phone": {
"description": "Landline phone.",
"type": "string",
"maxLength": 50
},
"mobile": {
"description": "Mobile phone.",
"type": "string",
"maxLength": 50
},
"website": {
"description": "Website URL.",
"type": "string",
"maxLength": 255
},
"remarks": {
"description": "Internal remarks.",
"type": "string",
"maxLength": 10000
},
"language_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 2147483647,
"description": "bexio language id of the contact's correspondence language."
},
"contact_group_ids": {
"description": "Contact group ids.",
"maxItems": 50,
"type": "array",
"items": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 2147483647,
"description": "A contact group id."
}
},
"user_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 2147483647,
"description": "Responsible bexio user (default: the signed-in user)."
},
"owner_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 2147483647,
"description": "Owner bexio user (default: the responsible user)."
}
},
"required": [
"contact_type",
"name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴bexio_create_note(subject, info, contact_id, project_id, event_start, ...)
WRITE: add a note (call log, meeting minutes, follow-up) to a contact and/or project in bexio. Nothing existing is changed.
Esquema de entrada
{
"type": "object",
"properties": {
"subject": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"description": "Note subject."
},
"info": {
"description": "Note text.",
"type": "string",
"maxLength": 20000
},
"contact_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 2147483647,
"description": "Attach to this contact."
},
"project_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 2147483647,
"description": "Attach to this project."
},
"event_start": {
"description": "When it happened, local time yyyy-mm-dd HH:MM[:SS] (default: now, UTC).",
"type": "string"
},
"user_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 2147483647,
"description": "Author bexio user (default: the signed-in user)."
}
},
"required": [
"subject"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴bexio_create_timesheet(business_activity_id, date, duration, start, end, ...)
WRITE: log time in bexio: either date + duration (HH:MM), or start + end. Needs a business activity (bexio_list_business_activities). Nothing existing is changed.
Esquema de entrada
{
"type": "object",
"properties": {
"business_activity_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 2147483647,
"description": "The business activity (client_service_id) from bexio_list_business_activities."
},
"date": {
"description": "Work date, yyyy-mm-dd (with duration).",
"type": "string"
},
"duration": {
"description": "Time worked as HH:MM, e.g. 01:30 (with date).",
"type": "string",
"pattern": "^\\d{1,3}:[0-5]\\d$"
},
"start": {
"description": "Start, local time yyyy-mm-dd HH:MM[:SS] (with end).",
"type": "string"
},
"end": {
"description": "End, local time yyyy-mm-dd HH:MM[:SS] (with start).",
"type": "string"
},
"text": {
"description": "What was done.",
"type": "string",
"maxLength": 10000
},
"billable": {
"description": "Billable to the client (default true).",
"type": "boolean"
},
"contact_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 2147483647,
"description": "The client contact."
},
"project_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 2147483647,
"description": "The project."
},
"status_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 2147483647,
"description": "Timesheet status id (bexio's default when omitted)."
},
"user_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 2147483647,
"description": "Whose time (default: the signed-in user)."
}
},
"required": [
"business_activity_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴bexio_create_draft_invoice(contact_id, positions, title, document_nr, contact_sub_id, ...)
WRITE: create a DRAFT invoice in bexio for a contact, with custom, item (article) and text lines. It is never issued, sent or booked: the user reviews and issues it in bexio. Taxes must be active sales taxes (bexio_list_taxes with types sales_tax, scope active).
Esquema de entrada
{
"type": "object",
"properties": {
"contact_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 2147483647,
"description": "The customer contact (from bexio_list_contacts)."
},
"positions": {
"minItems": 1,
"maxItems": 150,
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"custom",
"article",
"text"
],
"description": "custom = a free line (text, amount, unit_price, tax_id); article = an existing item (article_id, amount, tax_id); text = a text-only line."
},
"text": {
"description": "Line text (required for custom and text lines; for article lines the item's text is used when omitted).",
"type": "string",
"maxLength": 10000
},
"amount": {
"description": "Quantity (max. 6 decimals). Required for custom and article lines.",
"type": "number",
"exclusiveMinimum": 0,
"maximum": 1000000000
},
"unit_price": {
"description": "Price per unit (max. 6 decimals). Required for custom lines; article lines default to the item's price.",
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000
},
"tax_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 2147483647,
"description": "An ACTIVE sales tax (bexio_list_taxes with types sales_tax, scope active). Required for custom and article lines."
},
"article_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 2147483647,
"description": "The item (from bexio_list_articles). Required for article lines only."
},
"account_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 2147483647,
"description": "Revenue account (from bexio_list_accounts); bexio's default when omitted."
},
"unit_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 2147483647,
"description": "Unit id (bexio's units, e.g. hours); none when omitted."
},
"discount_in_percent": {
"description": "Line discount in percent.",
"type": "number",
"minimum": 0,
"maximum": 100
}
},
"required": [
"type"
]
},
"description": "1-150 invoice lines."
},
"title": {
"description": "Invoice title.",
"type": "string",
"maxLength": 255
},
"document_nr": {
"description": "Invoice number. Only when automatic numbering is OFF in bexio's settings (then it is required); leave empty with automatic numbering.",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"contact_sub_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 2147483647,
"description": "A contact person of the customer."
},
"project_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 2147483647,
"description": "Link to this project."
},
"valid_from": {
"description": "Invoice date, yyyy-mm-dd (default today).",
"type": "string"
},
"valid_to": {
"description": "Due date, yyyy-mm-dd (default from the payment terms).",
"type": "string"
},
"tax_mode": {
"description": "net = unit prices are net and VAT is added (default); gross = unit prices include VAT; exempt = the invoice is exempt from VAT.",
"type": "string",
"enum": [
"net",
"gross",
"exempt"
]
},
"currency_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 2147483647,
"description": "Currency (from bexio_list_currencies); company default when omitted."
},
"bank_account_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 2147483647,
"description": "Bank account for the payment slip (from bexio_list_bank_accounts); default when omitted."
},
"language_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 2147483647,
"description": "Document language id; the contact's language when omitted."
},
"payment_type_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 2147483647,
"description": "Payment type id; default when omitted."
},
"header": {
"description": "Text above the lines.",
"type": "string",
"maxLength": 10000
},
"footer": {
"description": "Text below the lines.",
"type": "string",
"maxLength": 10000
},
"reference": {
"description": "Customer reference shown on the invoice.",
"type": "string",
"maxLength": 255
},
"api_reference": {
"description": "Your own external reference (only visible through the API).",
"type": "string",
"maxLength": 255
},
"user_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 2147483647,
"description": "Responsible bexio user (default: the signed-in user)."
}
},
"required": [
"contact_id",
"positions"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Comunidad
Evidencia