---
title: Bexio API Integration on Truto
slug: bexio
category: Accounting
canonical: "https://truto.one/integrations/detail/bexio/"
---

# Bexio API Integration on Truto



**Category:** Accounting  
**Status:** Generally available

## MCP-ready AI tools

Truto exposes 309 tools for Bexio that AI agents can call directly.

- **list_all_bexio_payroll_employees** — List all active payroll employees in bexio. Returns a list of employee records, including the address fields street_name and house_number (the legacy street field is deprecated but still present in responses).
- **list_all_bexio_payroll_absences** — List payroll absences of a specific employee in bexio. Returns a list of absence records including id, reason, start_date, end_date, half_day, and paid_hours.
- **list_all_bexio_contacts** — List all contacts in bexio. Returns contacts with their id, nr, contact_type_id, name_1, mail, city, and updated_at.
- **create_a_bexio_contact** — Create a contact in bexio. Returns the created contact with id, name_1, contact_type_id, city, and updated_at. The address request field is deprecated.
- **bexio_contacts_search** — Search contacts in bexio by posting filter criteria in the request body (e.g. field name_1, value Meyer, criteria =). Returns matching contacts: id, nr, name_1, contact_type_id, mail, updated_at. Required per criterion: field and value.
- **get_single_bexio_contact_by_id** — Get a single bexio contact by id. Returns the contact object including id, name_1, nr, mail, city, and country_id. Required: id.
- **update_a_bexio_contact_by_id** — Edit a bexio contact by id. Returns the updated contact object including id, name_1, nr, mail, and updated_at. Required: id. The address request field is deprecated.
- **delete_a_bexio_contact_by_id** — Delete a contact in bexio by id. The contact is only marked as deleted and can still be accessed via the show-deleted filter or brought back with the restore action. Returns an empty 204 response on success. Required: id.
- **bexio_contacts_bulk_create** — Bulk create contacts in bexio, creating multiple contacts in one request. Returns the created contact objects including id, nr, name_1, contact_type_id, mail, and updated_at. Requires an array of contact payloads; the address request field is deprecated.
- **bexio_contacts_restore** — Restore an archived contact in bexio. Returns the restored contact object including id, name_1, contact_type_id, mail, and updated_at. Required: contact_id.
- **list_all_bexio_contact_relations** — List all contact relations in bexio. Returns each relation with id, description, contact_id, contact_sub_id, and updated_at.
- **create_a_bexio_contact_relation** — Create a new contact relation in bexio. Returns the created relation with id, description, contact_id, contact_sub_id, and updated_at. Required: contact_id, contact_sub_id.
- **bexio_contact_relations_search** — Search bexio contact relations by query, posting one or more search criteria to filter the results. Returns matching contact relations including id, contact_id, contact_sub_id, and updated_at. Required: field and value for each criteria; criteria defaults to "like" when omitted. Supported search fields: contact_id, contact_sub_id, updated_at.
- **get_single_bexio_contact_relation_by_id** — Fetch a single contact relation in bexio by id. Returns: id, contact_id, contact_sub_id, description, updated_at, name, value. Required: id.
- **update_a_bexio_contact_relation_by_id** — Edit a single contact relation in bexio by id. Returns the updated relation with id, contact_id, contact_sub_id, description, and updated_at. Required: id, contact_id.
- **delete_a_bexio_contact_relation_by_id** — Permanently delete a contact relation in bexio by id. This action cannot be undone. Returns an empty 204 response on success. Required: id.
- **list_all_bexio_contact_groups** — List all contact groups in bexio. Returns each group's id, created_at, and updated_at.
- **create_a_bexio_contact_group** — Create a new contact group in bexio. Returns the created group with id, created_at, and updated_at.
- **bexio_contact_groups_search** — Search contact groups in bexio by posting one or more criteria (field, value, criteria) in the request body; 'like' partial matching applies by default. Returns matching groups with id, created_at, and updated_at. Required: field, value.
- **get_single_bexio_contact_group_by_id** — Fetch a single contact group in bexio by its id. Returns: id, created_at, updated_at, name, value. Required: id.
- **update_a_bexio_contact_group_by_id** — Edit a single contact group in bexio by its id. Returns the updated contact group including id, created_at, and updated_at. Required: id.
- **delete_a_bexio_contact_group_by_id** — Delete a contact group in bexio by id. This action permanently deletes the contact group and cannot be undone. Returns an empty 204 response on success. Required: id.
- **list_all_bexio_contact_sectors** — List all contact sectors in bexio. Returns: id, name, value.
- **bexio_contact_sectors_search** — Search bexio contact sectors by posting filter criteria. Returns: id, name, value. Required: field, value; criteria defaults to like when omitted.
- **list_all_bexio_additional_addresses** — List all additional addresses of a contact in bexio. Returns: id, name, value. Required: contact_id.
- **create_a_bexio_additional_address** — Create a new additional address for a contact in bexio. Returns: id, name, value. Required: contact_id; the structured street fields require street_name when house_number or address_addition is set.
- **bexio_additional_addresses_search** — Search additional addresses of a contact in bexio by posting a criteria array. Returns: id, name, value. Required: contact_id and an array of search criteria (field, value, optional criteria operator).
- **get_single_bexio_additional_address_by_id** — Fetch a single additional address of a contact in bexio. Returns: id, name, value. Required: contact_id and id.
- **update_a_bexio_additional_address_by_id** — Edit an additional address of a contact in bexio. Returns: id, name, value. Required: contact_id and id.
- **delete_a_bexio_additional_address_by_id** — Permanently delete an additional address in bexio; the deletion cannot be undone. Returns an empty 204 response on success. Required: id, contact_id.
- **list_all_bexio_salutations** — List all salutations in bexio. Returns salutation records with their id and name.
- **create_a_bexio_salutation** — Create a new salutation in bexio. Returns the created salutation record including its id and name. Required: name.
- **bexio_salutations_search** — Search salutations in bexio by posting an array of criteria objects; the only supported search field is name. Returns matching salutation records with their id and name. Required: field, value.
- **get_single_bexio_salutation_by_id** — Fetch a single salutation in bexio by id. Returns the salutation record including its id and name. Required: id.
- **update_a_bexio_salutation_by_id** — Edit a single salutation in bexio by id. Returns the updated salutation record including its id and name. Required: id, name.
- **delete_a_bexio_salutation_by_id** — Delete a salutation in bexio permanently by id. This action cannot be undone. Returns an empty 204 response on success. Required: id.
- **list_all_bexio_titles** — List all titles in bexio. Returns: id, name, value.
- **create_a_bexio_title** — Create a new title in bexio. Returns the created title with its id and name. Required: name.
- **bexio_titles_search** — Search titles in bexio by sending a JSON array of filters; only the name field is searchable, and criteria defaults to like when omitted. Returns matching titles with id, name, and value. Required: field and value in each filter object.
- **get_single_bexio_title_by_id** — Get a single title in bexio by id. Returns: id, name, value. Required: id.
- **update_a_bexio_title_by_id** — Edit a single title in bexio by id. Returns the updated title with its id and name. Required: id, name.
- **delete_a_bexio_title_by_id** — Permanently delete a title in bexio by id. This action cannot be undone. Returns an empty 204 response on success. Required: id.
- **list_all_bexio_quotes** — Fetch a list of all quotes in bexio. Returns quote records with fields such as id, document_nr, title, contact_id, kb_item_status_id, total_gross, total_net, total, is_valid_from, is_valid_until, and updated_at.
- **create_a_bexio_quote** — Create a new quote in bexio. Returns the created quote record including id, document_nr, title, contact_id, kb_item_status_id, total_gross, total_net, total, and validity dates.
- **bexio_quotes_search** — Search bexio quotes via query filters (supported fields include title, contact_id, document_nr, kb_item_status_id, total_gross, and updated_at). Returns matching quote records with id, document_nr, title, contact_id, kb_item_status_id, total_gross, total_net, and total.
- **get_single_bexio_quote_by_id** — Fetch a single quote by id in bexio. Returns the quote record including id, document_nr, title, contact_id, kb_item_status_id, total_gross, total_net, total, is_valid_from, and updated_at. Required: id.
- **update_a_bexio_quote_by_id** — Edit a single quote by id in bexio. Returns the updated quote record including id, document_nr, title, contact_id, kb_item_status_id, total_gross, total_net, total, and updated_at. Required: id.
- **delete_a_bexio_quote_by_id** — Delete a quote in bexio permanently by id. This action cannot be undone. Returns an empty 204 response on success. Required: id.
- **bexio_quotes_issue** — Issue a quote in bexio, moving it out of the draft status. Returns: id, created_at, updated_at, name, value. Required: quote_id. The quote must be in the draft status.
- **bexio_quotes_revert_issue** — Revert an issued quote in bexio back to the draft status. Returns: id, created_at, updated_at, name, value. Required: quote_id.
- **bexio_quotes_accept** — Accept a quote in bexio. The quote must be in pending state (kb_item_status_id must be 2). Returns the id of the accepted quote. Required: quote_id.
- **bexio_quotes_decline** — Decline a quote in bexio. The quote must be in pending state (kb_item_status_id must be 2). Returns the id of the declined quote. Required: quote_id.
- **bexio_quotes_reissue** — Reissue a quote in bexio, changing its status back to pending from accepted or declined. Returns the updated quote including id, kb_item_status_id, document_nr, title, total_gross, total_net, and updated_at. Required: quote_id.
- **bexio_quotes_mark_as_sent** — Mark a quote as sent in bexio. Returns the updated quote including id, kb_item_status_id, document_nr, title, total_gross, total_net, and updated_at. Required: quote_id.
- **bexio_quotes_show_pdf** — Download the PDF document of a quote in bexio. Returns the quote rendered as a PDF file. Required: quote_id.
- **bexio_quotes_send** — Send a quote to the customer by email in bexio. Returns the updated quote including id, kb_item_status_id, document_nr, title, total_gross, total_net, and updated_at. Required: quote_id.
- **bexio_quotes_copy** — Copy an existing quote in bexio to create a new quote. Returns the copied quote including id, kb_item_status_id, document_nr, title, total_gross, total_net, and updated_at. Required: quote_id.
- **bexio_quotes_create_order** — Create a bexio order from an existing quote. Returns the created order object including its id, document_nr, title, contact_id, total_gross, total_net, and total. Required: quote_id. Optionally overrides how hourly rates and fix prices are transferred via the type_hourly_rate_service, type_hourly_rate_employee, type_hourly_rate_project, and type_fix body fields.
- **bexio_quotes_create_invoice** — Create a bexio invoice from an existing quote. Returns the created invoice object including its id, document_nr, title, contact_id, total_gross, total_net, and total. Required: quote_id. Optionally overrides how hourly rates and fix prices are transferred via the type_hourly_rate_service, type_hourly_rate_employee, type_hourly_rate_project, and type_fix body fields.
- **list_all_bexio_orders** — List all bexio orders. Returns order records including id, document_nr, title, contact_id, total_gross, total_net, and updated_at.
- **create_a_bexio_order** — Create a new order in bexio. Returns the created order object including id, document_nr, title, contact_id, total_gross, and updated_at.
- **bexio_orders_search** — Search bexio orders via query using field, value, and criteria pairs. Returns matching order records including id, document_nr, title, contact_id, and total_gross. Required: field, value.
- **get_single_bexio_order_by_id** — Get a single bexio order (kb_order) by id. Returns the order record including its id, document_nr, title, contact_id, kb_item_status_id, total_gross, total_net, and total. Required: id.
- **update_a_bexio_order_by_id** — Edit a single bexio order (kb_order) by id. Returns the updated order record including its id, document_nr, title, contact_id, kb_item_status_id, total_gross, total_net, and total. Required: id.
- **delete_a_bexio_order_by_id** — Delete a bexio order permanently by id; this action cannot be undone. Returns an empty 204 response on success. Required: id.
- **bexio_orders_create_delivery** — Create a delivery in bexio from an existing order. Returns the created delivery record including id, created_at, and updated_at. Required: order_id.
- **bexio_orders_create_invoice** — Create an invoice in bexio from an existing order. Returns the created invoice record including id, ref_class, title, document_nr, and created_at. Required: order_id.
- **bexio_orders_show_pdf** — Get a PDF document of a bexio order. Returns the order document as a PDF file. Required: order_id.
- **bexio_orders_show_repetition** — Fetch the repetition schedule of an order in bexio. Returns the repetition details including start, end, and the repetition object with its type (daily, weekly, monthly, yearly) and interval. Required: order_id.
- **bexio_orders_update_repetition** — Edit the repetition schedule of an order in bexio. Returns the repetition with its start and end dates and the recurrence object (type, interval). Required: order_id. If end is omitted, the repetition runs indefinitely.
- **bexio_orders_delete_repetition** — Permanently delete the repetition schedule of an order in bexio. This action cannot be undone. Returns an empty 204 response on success. Required: order_id.
- **list_all_bexio_deliveries** — List deliveries in bexio, fetching all deliveries for the company. Returns each delivery with its id, created_at, and updated_at.
- **get_single_bexio_delivery_by_id** — Get a single delivery in bexio by id. Returns the delivery's id, created_at, and updated_at. Required: id.
- **bexio_deliveries_issue** — Issue a delivery in bexio. The delivery must be in the draft status. Returns the issued delivery's id, created_at, and updated_at. Required: delivery_id.
- **list_all_bexio_invoices** — List all invoices in bexio. Returns invoice records with id, document_nr, title, contact_id, kb_item_status_id, totals (total_gross, total_net, total), validity dates, and timestamps.
- **create_a_bexio_invoice** — Create a new invoice in bexio. Returns the created invoice including id, document_nr, title, contact_id, and totals. Requires contact_id and positions.
- **bexio_invoices_search** — Search invoices in bexio with field-based criteria over supported fields such as id, document_nr, title, contact_id, total, and updated_at. Returns matching invoice records with id, document_nr, title, and totals. Requires field and value in each criterion; criteria defaults to like.
- **get_single_bexio_invoice_by_id** — Get a single invoice by id. Returns the invoice including id, document_nr, title, contact_id, kb_item_status_id, totals, validity dates, and timestamps. Required: id.
- **update_a_bexio_invoice_by_id** — Edit an invoice in bexio by id. Returns the updated invoice including id, document_nr, title, contact_id, and totals (total_gross, total_net, total). Required: id.
- **delete_a_bexio_invoice_by_id** — Delete an invoice in bexio permanently; this action cannot be undone. Required: id. Returns an empty 204 response on success.
- **bexio_invoices_show_pdf** — Download a PDF document of an invoice in bexio. Returns the raw invoice PDF file (binary). Required: invoice_id.
- **bexio_invoices_copy** — Create a copy of an existing invoice in bexio. Returns the new invoice record including id, document_nr, contact_id, total_gross, and status. Required: invoice_id.
- **bexio_invoices_issue** — Issue an invoice in bexio; the invoice must currently be in the draft status. Returns the updated invoice record including id, document_nr, contact_id, total_gross, and status. Required: invoice_id.
- **bexio_invoices_revert_issue** — Revert an issued invoice in bexio back to draft status. Returns the updated invoice record including id, document_nr, contact_id, total_gross, and status. Required: invoice_id.
- **bexio_invoices_cancel** — Cancel an issued invoice in bexio. Returns the cancelled invoice including its id, document_nr, kb_item_status_id, contact_id, and totals (total_net, total_gross, total). Required: invoice_id.
- **bexio_invoices_mark_as_sent** — Mark a bexio invoice as sent. Returns the updated invoice including its id, document_nr, kb_item_status_id, contact_id, and totals (total_net, total_gross, total). Required: invoice_id.
- **bexio_invoices_send** — Send a bexio invoice to a recipient by email. Returns the sent invoice including its id, document_nr, kb_item_status_id, contact_id, and totals (total_net, total_gross, total). Required: invoice_id.
- **bexio_invoices_list_payments** — List all payments recorded against a bexio invoice. Returns each payment's id and created_at. Required: invoice_id.
- **bexio_invoices_create_payment** — Create a payment for a bexio invoice. Returns the created payment's id and created_at. Required: invoice_id.
- **bexio_invoices_get_payment** — Fetch a single payment of an invoice in bexio. Returns: id, created_at, updated_at, name, value. Required: invoice_id, payment_id.
- **bexio_invoices_delete_payment** — Permanently delete a payment of an invoice in bexio. The action cannot be undone. Returns an empty 204 response on success. Required: invoice_id, payment_id.
- **bexio_invoices_list_reminders** — List all reminders of an invoice in bexio. Returns: id, name, value. Required: invoice_id.
- **bexio_invoices_create_reminder** — Create a new reminder for an invoice in bexio. Returns the created reminder: id, kb_invoice_id, title, reminder_level, is_sent. Required: invoice_id.
- **bexio_invoices_search_reminders** — Search reminders of an invoice in bexio via query. Returns matching reminders: id, title, reminder_level, is_sent. Required: invoice_id.
- **bexio_invoices_get_reminder** — Get a single reminder of a bexio invoice. Returns: id, name, value. Required: invoice_id, reminder_id.
- **bexio_invoices_delete_reminder** — Permanently delete a reminder of a bexio invoice. This cannot be undone. Returns an empty 204 response on success. Required: invoice_id, reminder_id.
- **bexio_invoices_mark_reminder_as_sent** — Mark a reminder of a bexio invoice as sent. Returns the updated reminder including: id, title, reminder_level, is_sent, remaining_price, and is_valid_from/is_valid_to validity dates. Required: invoice_id, reminder_id.
- **bexio_invoices_mark_reminder_as_unsent** — Mark a reminder of a bexio invoice as unsent. Returns the updated reminder including: id, title, reminder_level, is_sent, remaining_price, and is_valid_from/is_valid_to validity dates. Required: invoice_id, reminder_id.
- **bexio_invoices_send_reminder** — Send a reminder of a bexio invoice by email. Returns: id, name, value. Required: invoice_id, reminder_id.
- **bexio_invoices_show_reminder_pdf** — Download the PDF document of an invoice reminder in bexio. Returns the reminder PDF file rather than a JSON record. Required: invoice_id, reminder_id.
- **list_all_bexio_document_settings** — List all document settings in bexio, covering the four pricing types type_hourly_rate_service, type_hourly_rate_employee, type_hourly_rate_project, and type_fix. Returns each setting's id, name, and value.
- **list_all_bexio_comments** — List all comments attached to a bexio document (e.g. pass kb_document_type `kb_invoice` with document_id `4` to list an invoice's comments). Returns an array of comments with: id, text, user_id, user_name, user_email, date, is_public, image, image_path. Required: kb_document_type, document_id.
- **create_a_bexio_comment** — Create a new comment on a bexio document such as a quote, order, invoice, delivery, or project. Returns the created comment object with its id, comment text, and created_at timestamp. Required: kb_document_type (e.g. kb_invoice), document_id (the document's id), and comment.
- **get_single_bexio_comment_by_id** — Fetch a single comment attached to a document in bexio (e.g. for an invoice, pass kb_document_type=kb_invoice and the invoice id as document_id). Returns: id, name, value. Required: kb_document_type, document_id, id.
- **list_all_bexio_default_positions** — List all default positions of a bexio quote, order, or invoice document. Returns each position with id, amount, text, unit_price, tax_id, and position_total. Required: kb_document_type, document_id.
- **create_a_bexio_default_position** — Create a new default position on a bexio quote, order, or invoice document. Returns the created position with id, amount, text, unit_price, tax_id, and position_total. Required: kb_document_type, document_id.
- **get_single_bexio_default_position_by_id** — Fetch a single default position of a bexio quote, order, or invoice document by id. Returns the position with id, amount, text, unit_price, tax_id, and position_total. Required: kb_document_type, document_id, id.
- **update_a_bexio_default_position_by_id** — Edit a single default position of a bexio quote, order, or invoice document by id. Returns the updated position with id, amount, text, unit_price, tax_id, and position_total. Required: kb_document_type, document_id, id.
- **delete_a_bexio_default_position_by_id** — Delete a default position from a bexio quote, order, or invoice document by id. Returns the deleted position with id, amount, text, unit_price, tax_id, and position_total. Required: kb_document_type, document_id, id.
- **list_all_bexio_item_positions** — List the item positions of a bexio quote, order, or invoice. Returns each position's id, amount, unit_price, discount_in_percent, position_total, article_id, and tax_id. Required: kb_document_type, document_id.
- **create_a_bexio_item_position** — Create a new item position (article) on a bexio quote, order, or invoice. Returns the created position including id, amount, unit_price, discount_in_percent, position_total, article_id, and tax_id. Required: kb_document_type, document_id.
- **get_single_bexio_item_position_by_id** — Fetch a single item position of a bexio quote, order, or invoice. Returns: id, name, value. Required: kb_document_type, document_id, id.
- **update_a_bexio_item_position_by_id** — Edit a single item position of a bexio quote, order, or invoice. Returns the updated position including id, amount, unit_price, discount_in_percent, position_total, article_id, and tax_id. Required: kb_document_type, document_id, id.
- **delete_a_bexio_item_position_by_id** — Permanently delete an item position from a bexio quote, order, or invoice. The deletion cannot be undone. Returns an empty 204 response on success. Required: kb_document_type, document_id, id.
- **list_all_bexio_text_positions** — List all text positions of a bexio sales document (e.g. a quote, order, or invoice). Returns: id, name, value. Required: kb_document_type, document_id.
- **create_a_bexio_text_position** — Create a new text position for a bexio sales document. Returns the created position including id, name, and value. Required: kb_document_type, document_id.
- **get_single_bexio_text_position_by_id** — Fetch a single text position of a bexio sales document. Returns: id, name, value. Required: id, kb_document_type, document_id.
- **update_a_bexio_text_position_by_id** — Edit a single text position of a bexio sales document. Returns the updated position including id, name, and value. Required: id, kb_document_type, document_id.
- **delete_a_bexio_text_position_by_id** — Permanently delete a text position of a bexio sales document. This action cannot be undone. Returns an empty 204 response on success. Required: id, kb_document_type, document_id.
- **list_all_bexio_subtotal_positions** — List the subtotal positions of a bexio sales document (for an invoice with ID 4, set kb_document_type to kb_invoice and document_id to 4). Returns: id, value, type, name. Required: kb_document_type, document_id.
- **create_a_bexio_subtotal_position** — Create a new subtotal position on a bexio sales document (for an invoice with ID 4, set kb_document_type to kb_invoice and document_id to 4). Returns the created position with id, text, value, internal_pos, is_optional, type, and parent_id. Required: kb_document_type, document_id.
- **get_single_bexio_subtotal_position_by_id** — Fetch a single subtotal position of a bexio sales document by id (for an invoice with ID 4, set kb_document_type to kb_invoice and document_id to 4). Returns: id, value, type, name. Required: kb_document_type, document_id, id.
- **update_a_bexio_subtotal_position_by_id** — Edit a single subtotal position on a bexio quote, order, or invoice, identified by kb_document_type, document_id, and the position id. Returns the updated subtotal position including id, text, value, internal_pos, is_optional, type, and parent_id. Required: kb_document_type, document_id, id.
- **delete_a_bexio_subtotal_position_by_id** — Delete a subtotal position from a bexio quote, order, or invoice, identified by kb_document_type, document_id, and the position id. Returns an empty 204 response on success. Required: kb_document_type, document_id, id.
- **list_all_bexio_discount_positions** — Fetch a list of all discount positions for a bexio document (e.g. kb_invoice for an invoice). Returns each position's id, text, is_percentual, value, discount_total, and type. Required: kb_document_type, document_id.
- **create_a_bexio_discount_position** — Create a new discount position on a bexio document (e.g. an invoice). Returns the created position with id, text, is_percentual, value, discount_total, and type. Required: kb_document_type, document_id, text.
- **get_single_bexio_discount_position_by_id** — Fetch a single discount position of a bexio document by id. Returns the position's id, text, is_percentual, value, discount_total, and type. Required: kb_document_type, document_id, id.
- **update_a_bexio_discount_position_by_id** — Edit a single discount position of a bexio document by id. Returns the updated position with id, text, is_percentual, value, discount_total, and type. Required: kb_document_type, document_id, id, text.
- **delete_a_bexio_discount_position_by_id** — Permanently delete a discount position from a bexio document by id. The deletion cannot be undone. Returns an empty 204 response on success. Required: kb_document_type, document_id, id.
- **list_all_bexio_pagebreak_positions** — This action fetches a list of all pagebreak positions for a document in Bexio. Returns: id, internal_pos, is_optional, pagebreak, type, parent_id.
- **create_a_bexio_pagebreak_position** — This action creates a new pagebreak position for a document in Bexio. Returns: id, internal_pos, is_optional, pagebreak, type, parent_id.
- **get_single_bexio_pagebreak_position_by_id** — This action fetches a single pagebreak position for a document in Bexio. Returns: id, internal_pos, is_optional, pagebreak, type, parent_id. Required: id.
- **update_a_bexio_pagebreak_position_by_id** — This action edits a single pagebreak position for a document in Bexio. Returns: id, internal_pos, is_optional, pagebreak, type, parent_id. Required: id.
- **delete_a_bexio_pagebreak_position_by_id** — This action permanently deletes a pagebreak position for a document. It cannot be undone in Bexio. Returns: success. Required: id.
- **list_all_bexio_sub_positions** — List all sub positions of a bexio document. Returns position objects including id, type, text, amount, unit_price, tax_id, pos, and parent_id. Required: kb_document_type (e.g. kb_invoice) and document_id.
- **create_a_bexio_sub_position** — Create a new sub position on a bexio document. Returns the created position object including id, type, text, amount, unit_price, and parent_id. Required: kb_document_type (e.g. kb_invoice), document_id, parent_id, and text.
- **get_single_bexio_sub_position_by_id** — Fetch a single sub position of a bexio document by id. Returns the position object including id, type, text, amount, unit_price, tax_id, pos, and parent_id. Required: kb_document_type (e.g. kb_invoice), document_id, and id.
- **update_a_bexio_sub_position_by_id** — Edit a single sub position of a bexio document by id. Returns the updated position object including id, type, text, amount, unit_price, and parent_id. Required: kb_document_type (e.g. kb_invoice), document_id, id, parent_id, and text.
- **delete_a_bexio_sub_position_by_id** — Delete a sub position from a bexio document by id. Returns an empty 204 response on success. Required: kb_document_type (e.g. kb_invoice), document_id, and id.
- **list_all_bexio_document_templates** — List the document templates available in bexio that can be referenced when creating quotes, orders and invoices. Returns: name, value.
- **list_all_bexio_bills** — List bexio purchase bills. Returns bill records including id, document_no, status, vendor, currency_code, pending_amount, net, gross, bill_date, due_date, and overdue.
- **create_a_bexio_bill** — Create a new bexio purchase bill with line item positions, discounts, and payment details. Returns the created bill including id, document_no, status, vendor, currency_code, net, gross, bill_date, and due_date.
- **get_single_bexio_bill_by_id** — Get a single bexio purchase bill by id. Returns the full bill object including id, document_no, status, vendor, currency_code, pending_amount, net, gross, bill_date, due_date, overdue, booking_account_ids, and attachment_ids. Required: id.
- **update_a_bexio_bill_by_id** — Update a bexio purchase bill by id, including its line item positions, discounts, and payment details. Returns the updated bill including id, document_no, status, vendor, currency_code, net, gross, bill_date, due_date, and overdue. Required: id.
- **delete_a_bexio_bill_by_id** — Delete a bexio purchase bill by id. Returns an empty 204 response on success.
- **bexio_bills_execute_action** — Execute an action on a bexio purchase bill. Returns the updated bill including id, document_no, status, pending_amount, and gross. Required: bill_id.
- **bexio_bills_validate_document_number** — Validate whether a document number is available for purchase bills in bexio before assigning it. Returns the document number validation result — the upstream docs do not enumerate its response fields. Required: document_no (the bill number to validate, e.g. AB-1234, max 255 characters).
- **bexio_bills_bulk_update** — Update the booking status of a bexio purchase bill to DRAFT or BOOKED. Returns the updated bill including id, document_no, status, pending_amount, and gross. Required: bill_id, status. Booking a bill triggers validations (bill must be in DRAFT, amounts greater than 0, unique document_no).
- **list_all_bexio_expenses** — List expenses in bexio. Returns each expense with id, document_no, status, vendor, title, currency_code, pending_amount, net, gross, bill_date, due_date, and overdue.
- **create_a_bexio_expense** — Create a new expense in bexio. Returns the created expense with id, document_no, status, vendor, title, currency_code, net, gross, bill_date, and due_date.
- **get_single_bexio_expense_by_id** — Get a single expense in bexio by id. Returns the expense with id, document_no, status, vendor, title, currency_code, pending_amount, net, gross, bill_date, due_date, and overdue. Required: id.
- **update_a_bexio_expense_by_id** — Update an expense in bexio by id. Returns the updated expense with id, document_no, status, vendor, title, currency_code, net, gross, bill_date, and due_date. Required: id.
- **delete_a_bexio_expense_by_id** — Delete an expense in bexio by id. Returns an empty 204 response on success. An expense cannot be deleted while it is in DONE status. Required: id.
- **bexio_expenses_execute_action** — Execute an action on an expense in bexio by expense_id. Returns the updated expense record including id, status, document_no, and currency_code. Required: expense_id.
- **bexio_expenses_validate_document_number** — Validate whether a document number is available for expenses in bexio. Returns the document number validation result with an opaque, undocumented shape. Required: document_no (the number to validate, max 255 characters).
- **bexio_expenses_bulk_update** — Update the booking status of an expense in bexio by expense_id. Returns the updated expense record including id, status, document_no, and currency_code. Required: expense_id, status.
- **list_all_bexio_purchase_orders** — This action fetches a list of article orders in Bexio. Returns: id, document_nr, kb_payment_template_id, payment_type_id, title, contact_id, contact_sub_id, template_slug, user_id, project_id, logopaper_id, language, and more.
- **create_a_bexio_purchase_order** — This action creates a new purchase order in Bexio. Returns: id, document_nr, kb_payment_template_id, payment_type_id, title, contact_id, contact_sub_id, template_slug, user_id, project_id, logopaper_id, language, and more.
- **get_single_bexio_purchase_order_by_id** — This action fetches a single purchase order in Bexio. Returns: id, document_nr, kb_payment_template_id, payment_type_id, title, contact_id, contact_sub_id, template_slug, user_id, project_id, logopaper_id, language, and more. Required: id.
- **update_a_bexio_purchase_order_by_id** — This action updates a purchase order in Bexio. Returns: id, document_nr, kb_payment_template_id, payment_type_id, title, contact_id, contact_sub_id, template_slug, user_id, project_id, logopaper_id, language, and more. Required: id.
- **delete_a_bexio_purchase_order_by_id** — This action permanently deletes a purchase order. It cannot be undone in Bexio. Returns: success. Required: id.
- **list_all_bexio_outgoing_payments** — Retrieve Outgoing Payments in Bexio. Returns: data, paging. Required: bill_id.
- **create_a_bexio_outgoing_payment** — Endpoint for creating Outgoing Payment in Bexio. Returns: id, status, created_at, bill_id, payment_type, execution_date, amount, currency_code, exchange_rate, note, sender_bank_account_id, sender_iban, and more. Required: bill_id, payment_type, execution_date, amount, currency_code, exchange_rate, sender_bank_account_id, is_salary_payment.
- **get_single_bexio_outgoing_payment_by_id** — Endpoint for retrieving Outgoing Payment by id in Bexio. Returns: id, status, created_at, bill_id, payment_type, execution_date, amount, currency_code, exchange_rate, note, sender_bank_account_id, sender_iban, and more. Required: id.
- **update_a_bexio_outgoing_payment_by_id** — Edit an existing outgoing payment in Bexio. The payment is identified by payment_id in the request body, not by a path id. Returns: id, status, created_at, bill_id, payment_type, execution_date, amount, currency_code, exchange_rate, note, sender_bank_account_id, sender_iban, and more. Required: payment_id, execution_date, amount, is_salary_payment.
- **delete_a_bexio_outgoing_payment_by_id** — Payment cannot be removed when it is RECONCILED (transaction_id is not null). Payment cannot be removed when it's Business Year is Closed or Locked in Bexio. Required: id.
- **list_all_bexio_accounts** — List all accounts from the bexio chart of accounts. Returns the account objects with id, account_no, name, account_type, tax_id, fibu_account_group_id, is_active, and is_locked.
- **bexio_accounts_search** — Search bexio accounts by sending filter criteria in the request body. Returns the matching account objects with id, account_no, name, account_type, fibu_account_group_id, and is_active. Supported search fields: account_no, fibu_account_group_id, name, account_type.
- **list_all_bexio_account_groups** — List all account groups in bexio. Returns: id, name, value.
- **list_all_bexio_calendar_years** — List all calendar years configured in bexio accounting. Returns the calendar year records including their id and year.
- **create_a_bexio_calendar_year** — Create a calendar year in bexio accounting. Returns the created calendar year record including its id and year. Required: year. If only year is passed, the next year is created with the same settings as the previous year; otherwise all parameters must be provided.
- **bexio_calendar_years_search** — Search calendar years in bexio by posting an array of criteria-based filters. Returns matching calendar year records including their id and year. Required: field and value for each search criterion.
- **get_single_bexio_calendar_year_by_id** — Get a single calendar year in bexio by id. Returns the calendar year record with its id, created_at, and updated_at. Required: id.
- **list_all_bexio_business_years** — List all business years in bexio accounting. Returns each business year with its id, start, end, status, and closed_at.
- **get_single_bexio_business_year_by_id** — Fetch a single business year in bexio by id. Returns: id, name, value. Required: id.
- **list_all_bexio_currencies** — This action fetches a list of all currencies in Bexio. Returns: id, name, round_factor, exchange_rate, exchange_rate_id, ratio, exchange_rate_to_ratio, source, source_reason, exchange_rate_date.
- **create_a_bexio_currency** — This action creates a new currency in Bexio. Returns: id, name, round_factor. Required: name, round_factor.
- **get_single_bexio_currency_by_id** — This action fetches a single currency in Bexio. Returns: id, name, round_factor. Required: id.
- **update_a_bexio_currency_by_id** — This action updates an existing currency in Bexio. Returns: id, name, round_factor. Required: id.
- **delete_a_bexio_currency_by_id** — This action permanently deletes a currency. It cannot be undone in Bexio. Returns: success. Required: id.
- **bexio_currencies_list_exchange_rates** — This action fetches all configured exchange rates for a given currency in Bexio. Returns: factor_nr, exchange_currency, ratio, exchange_rate_to_ratio, source, source_reason, exchange_rate_date.
- **bexio_currencies_list_codes** — This endpoint can be used to retrieve all available currency codes (in the format CHF, EUR, etc.) in Bexio.
- **list_all_bexio_manual_entries** — This action fetches a list of all manual entries which have been added in the accounting module in Bexio. Returns: id, type, date, reference_nr, created_by_user_id, edited_by_user_id, entries, is_locked, locked_info.
- **create_a_bexio_manual_entry** — This action creates a new manual entry for the account ledger in Bexio. Returns: id, type, date, reference_nr, created_by_user_id, edited_by_user_id, entries, is_locked, locked_info. Required: type, entries, date.
- **update_a_bexio_manual_entry_by_id** — This action updates a manual entry in Bexio. Returns: id, type, date, reference_nr, created_by_user_id, edited_by_user_id, entries, is_locked, locked_info. Required: id, type, entries, date.
- **delete_a_bexio_manual_entry_by_id** — This action permanently deletes a manual entry. It cannot be undone. It also deletes the connection between the specific manual entry and any linked files in Bexio. Returns: success. Required: id.
- **bexio_manual_entries_next_reference_number** — This action can be used to get the next reference number for a manual entry in Bexio. Returns: next_ref_nr.
- **bexio_manual_entries_list_entry_line_files** — This action fetches a list of all files associated to a specific manual entry line in Bexio. Returns: id, uuid, name, size_in_bytes, extension, mime_type, uploader_email, user_id, is_archived, source_id, source_type, is_referenced, and more.
- **bexio_manual_entries_add_entry_line_file** — This action uploads one or multiple files and attaches the files to an existing accounting entry line (only for entry types manual_single_entry and manual_group_entry) in Bexio. Returns: id, uuid, name, size_in_bytes, extension, mime_type, uploader_email, user_id, is_archived, source_id, source_type, is_referenced, and more.
- **bexio_manual_entries_get_entry_line_file** — This action fetches a file associated to a specific manual entry line (only for entry types manual_single_entry and manual_group_entry) in Bexio. Returns: id, uuid, name, size_in_bytes, extension, mime_type, uploader_email, user_id, is_archived, source_id, source_type, is_referenced, and more.
- **bexio_manual_entries_delete_entry_line_file** — This action deletes the connection between the file and the specific manual entry line (only for entry types manual_single_entry and manual_group_entry) in Bexio. Returns: success.
- **bexio_manual_entries_list_compound_entry_files** — This action fetches a list of all files associated with a specific manual compound entry in Bexio. Returns: id, uuid, name, size_in_bytes, extension, mime_type, uploader_email, user_id, is_archived, source_id, source_type, is_referenced, and more.
- **bexio_manual_entries_add_compound_entry_file** — This action uploads one or multiple files and attaches the files to an existing manual compound entry in Bexio. Returns: id, uuid, name, size_in_bytes, extension, mime_type, uploader_email, user_id, is_archived, source_id, source_type, is_referenced, and more.
- **bexio_manual_entries_get_compound_entry_file** — This action fetches a file associated with a specific compound entry in Bexio. Returns: id, uuid, name, size_in_bytes, extension, mime_type, uploader_email, user_id, is_archived, source_id, source_type, is_referenced, and more.
- **bexio_manual_entries_delete_compound_entry_file** — This action deletes the connection between the file and the specific manual compound entry in Bexio. Returns: success.
- **bexio_reports_list_journal** — This action fetches a list of all accounting journal bookings in Bexio. Returns: id, ref_id, ref_uuid, ref_class, date, debit_account_id, credit_account_id, description, amount, currency_id, currency_factor, base_currency_id, and more.
- **list_all_bexio_taxes** — This action fetches a list of all taxes in Bexio. Returns: id, uuid, name, code, digit, type, account_id, tax_settlement_type, value, net_tax_value, start_year, end_year, and more.
- **get_single_bexio_tax_by_id** — This action fetches a single tax in Bexio. Returns: id, uuid, name, code, digit, type, account_id, tax_settlement_type, value, net_tax_value, start_year, end_year, and more. Required: id.
- **delete_a_bexio_tax_by_id** — This action permanently deletes a tax. It cannot be undone. Please note that taxes which are used and/or referenced within bexio, and taxes assigned to the digit 000 can not be deleted. In that case, the API will throw a 409 error. Returns: success. Required: id.
- **list_all_bexio_vat_periods** — This action fetches a list of all vat periods in Bexio. Returns: id, start, end, type, status, closed_at.
- **get_single_bexio_vat_period_by_id** — This action fetches a single vat period in Bexio. Returns: id, start, end, type, status, closed_at. Required: id.
- **list_all_bexio_bank_accounts** — This action fetches a list of all bank accounts which are shown on the banking component page in Bexio. Returns: id, uuid, name, owner, owner_address, owner_house_number, owner_zip, owner_city, owner_country_code, bc_nr, bank_name, bank_nr, and more.
- **get_single_bexio_bank_account_by_id** — This action fetches a single bank account which is shown on the banking component page in Bexio. Returns: id, uuid, name, owner, owner_address, owner_house_number, owner_zip, owner_city, owner_country_code, bc_nr, bank_name, bank_nr, and more. Required: id.
- **list_all_bexio_banking_payments** — This action returns list of all payments in Bexio. Returns: id, uuid, sender, recipient, amount, currency, execution_date, allowance, is_salary, instruction_id, purchase_reference, document_no, and more.
- **create_a_bexio_banking_payment** — This action creates a new payment in Bexio. Returns: id, uuid, sender, recipient, amount, currency, execution_date, allowance, is_salary, instruction_id, purchase_reference, document_no, and more. Required: type, is_salary, account_id, recipient, amount, currency, execution_date.
- **get_single_bexio_banking_payment_by_id** — This action returns single payment in Bexio. Returns: id, uuid, sender, recipient, amount, currency, execution_date, allowance, is_salary, instruction_id, purchase_reference, document_no, and more. Required: id.
- **update_a_bexio_banking_payment_by_id** — Update a payment in Bexio. Returns: id, uuid, sender, recipient, amount, currency, execution_date, allowance, is_salary, instruction_id, purchase_reference, document_no, and more. Required: id.
- **delete_a_bexio_banking_payment_by_id** — This action permanently deletes an existing payment. It cannot be undone in Bexio. Returns: success. Required: id.
- **bexio_banking_payments_cancel** — This action cancels an existing payment. Please note that a payment can only be cancelled when the status is "downloaded", "transferred" or "error" in Bexio. Returns: id, uuid, sender, recipient, amount, currency, execution_date, allowance, is_salary, instruction_id, purchase_reference, document_no, and more.
- **list_all_bexio_items** — This action fetches a list of all items / products in Bexio. Returns: id, user_id, article_type_id, contact_id, deliverer_code, deliverer_name, deliverer_description, intern_code, intern_name, intern_description, purchase_price, sale_price, and more.
- **create_a_bexio_item** — Create item in Bexio. Returns: id, user_id, article_type_id, contact_id, deliverer_code, deliverer_name, deliverer_description, intern_code, intern_name, intern_description, purchase_price, sale_price, and more.
- **bexio_items_search** — Search items via query. Please refer to the Search section for detailed instructions in Bexio. Returns: id, user_id, article_type_id, contact_id, deliverer_code, deliverer_name, deliverer_description, intern_code, intern_name, intern_description, purchase_price, sale_price, and more.
- **get_single_bexio_item_by_id** — This action fetches a single item in Bexio. Returns: id, user_id, article_type_id, contact_id, deliverer_code, deliverer_name, deliverer_description, intern_code, intern_name, intern_description, purchase_price, sale_price, and more. Required: id.
- **update_a_bexio_item_by_id** — This action edits a single item in Bexio. Returns: id, user_id, article_type_id, contact_id, deliverer_code, deliverer_name, deliverer_description, intern_code, intern_name, intern_description, purchase_price, sale_price, and more. Required: id.
- **delete_a_bexio_item_by_id** — This action permanently deletes an item. It cannot be undone in Bexio. Returns: success. Required: id.
- **list_all_bexio_stock_locations** — This action fetches a list of all stock locations in Bexio. Returns: id, name.
- **bexio_stock_locations_search** — Search stock locations via query. Please refer to the Search section for detailed instructions in Bexio. Returns: id, name.
- **list_all_bexio_stock_areas** — This action fetches a list of all stock areas in Bexio. Returns: id, name.
- **bexio_stock_areas_search** — Search stock areas via query. Please refer to the Search section for detailed instructions in Bexio. Returns: id, name.
- **list_all_bexio_projects** — This action fetches a list of all projects in Bexio. Returns: id, uuid, nr, document_nr, name, start_date, end_date, comment, pr_state_id, pr_project_type_id, contact_id, contact_sub_id, and more.
- **create_a_bexio_project** — This action creates a new project in Bexio. Returns: id, uuid, nr, document_nr, name, start_date, end_date, comment, pr_state_id, pr_project_type_id, contact_id, contact_sub_id, and more. Required: contact_id, name, pr_project_type_id, pr_state_id, user_id.
- **bexio_projects_search** — Search projects via query. Please refer to the Search section for detailed instructions in Bexio. Returns: id, uuid, nr, document_nr, name, start_date, end_date, comment, pr_state_id, pr_project_type_id, contact_id, contact_sub_id, and more.
- **get_single_bexio_project_by_id** — This action fetches a single project in Bexio. Returns: id, uuid, nr, document_nr, name, start_date, end_date, comment, pr_state_id, pr_project_type_id, contact_id, contact_sub_id, and more. Required: id.
- **update_a_bexio_project_by_id** — This action edits a single project in Bexio. Returns: id, uuid, nr, document_nr, name, start_date, end_date, comment, pr_state_id, pr_project_type_id, contact_id, contact_sub_id, and more. Required: id, contact_id, name, pr_project_type_id, pr_state_id, user_id.
- **delete_a_bexio_project_by_id** — This action permanently deletes a project. It cannot be undone in Bexio. Returns: success. Required: id.
- **bexio_projects_archive** — Archive a project in Bexio. Returns: success.
- **bexio_projects_unarchive** — This action unarchives an archived project in Bexio. Returns: success.
- **bexio_projects_list_status** — This action fetches a list of project status in Bexio. Returns: id, name.
- **bexio_projects_list_types** — This action fetches a list of project types in Bexio. Returns: id, name.
- **list_all_bexio_milestones** — This action fetches a list of all milestones for a given project in Bexio. Returns: id, name, end_date, comment, pr_parent_milestone_id.
- **create_a_bexio_milestone** — This action creates a new milestone in Bexio. Returns: id, name, end_date, comment, pr_parent_milestone_id. Required: name.
- **get_single_bexio_milestone_by_id** — This action fetches a single milestone in Bexio. Returns: id, name, end_date, comment, pr_parent_milestone_id. Required: id.
- **update_a_bexio_milestone_by_id** — This action edits a single milestone in Bexio. Returns: id, name, end_date, comment, pr_parent_milestone_id. Required: id, name.
- **delete_a_bexio_milestone_by_id** — This action permanently deletes a milestone. It cannot be undone in Bexio. Returns: success. Required: id.
- **list_all_bexio_work_packages** — This action fetches a list of all work packages for a given project in Bexio. Returns: id, name, spent_time_in_hours, estimated_time_in_hours, comment, pr_milestone_id.
- **create_a_bexio_work_package** — This action creates a new work package in Bexio. Returns: id, name, spent_time_in_hours, estimated_time_in_hours, comment, pr_milestone_id. Required: name.
- **get_single_bexio_work_package_by_id** — This action fetches a single work package in Bexio. Returns: id, name, spent_time_in_hours, estimated_time_in_hours, comment, pr_milestone_id. Required: id.
- **delete_a_bexio_work_package_by_id** — This action permanently deletes a work package. It cannot be undone in Bexio. Returns: success. Required: id.
- **update_a_bexio_work_package_by_id** — This action edits a single work package in Bexio. Returns: id, name, spent_time_in_hours, estimated_time_in_hours, comment, pr_milestone_id. Required: id, name.
- **list_all_bexio_timesheets** — This action fetches a list of all timesheets in Bexio. Returns: id, user_id, status_id, client_service_id, text, allowable_bill, charge, contact_id, sub_contact_id, pr_project_id, pr_package_id, pr_milestone_id, and more.
- **create_a_bexio_timesheet** — This action creates a new timesheet in Bexio. Returns: id, user_id, status_id, client_service_id, text, allowable_bill, charge, contact_id, sub_contact_id, pr_project_id, pr_package_id, pr_milestone_id, and more. Required: user_id, allowable_bill, client_service_id, tracking.
- **bexio_timesheets_search** — Search timesheets via query. Please refer to the Search section for detailed instructions in Bexio. Returns: id, user_id, status_id, client_service_id, text, allowable_bill, charge, contact_id, sub_contact_id, pr_project_id, pr_package_id, pr_milestone_id, and more.
- **get_single_bexio_timesheet_by_id** — This action fetches a single timesheet in Bexio. Returns: id, user_id, status_id, client_service_id, text, allowable_bill, charge, contact_id, sub_contact_id, pr_project_id, pr_package_id, pr_milestone_id, and more. Required: id.
- **update_a_bexio_timesheet_by_id** — This action edits a single timesheet in Bexio. Returns: id, user_id, status_id, client_service_id, text, allowable_bill, charge, contact_id, sub_contact_id, pr_project_id, pr_package_id, pr_milestone_id, and more. Required: id, user_id, allowable_bill, client_service_id, tracking.
- **delete_a_bexio_timesheet_by_id** — This action permanently deletes a timesheet. It cannot be undone in Bexio. Returns: success. Required: id.
- **bexio_timesheets_list_status** — This action fetches a list of all timesheet Status in Bexio. Returns: id, name.
- **list_all_bexio_business_activities** — This action fetches a list of all business activities in Bexio. Returns: id, name, default_is_billable, default_price_per_hour, account_id.
- **create_a_bexio_business_activity** — This action creates a new business activity in Bexio. Returns: id, name, default_is_billable, default_price_per_hour, account_id. Required: name.
- **bexio_business_activities_search** — Search business activities via query. Please refer to the Search section for detailed instructions in Bexio. Returns: id, name, default_is_billable, default_price_per_hour, account_id.
- **list_all_bexio_communication_types** — This action fetches a list of all communication types in Bexio. Returns: id, name.
- **bexio_communication_types_search** — Search communication types via query. Please refer to the Search section for detailed instructions in Bexio. Returns: id, name.
- **list_all_bexio_files** — This action provides a list of files which are uploaded to a certain company in Bexio. Returns: id, uuid, name, size_in_bytes, extension, mime_type, uploader_email, user_id, is_archived, source_id, source_type, is_referenced, and more.
- **create_a_bexio_file** — Creates a new file from payload in Bexio. Returns: id, uuid, name, size_in_bytes, extension, mime_type, uploader_email, user_id, is_archived, source_id, source_type, is_referenced, and more. Required: file.
- **bexio_files_search** — Search files via query. Please refer to the Search section for detailed instructions in Bexio. Returns: id, uuid, name, size_in_bytes, extension, mime_type, uploader_email, user_id, is_archived, source_id, source_type, is_referenced, and more.
- **get_single_bexio_file_by_id** — Tries to query the requested file from the backend in Bexio. Returns: id, uuid, name, size_in_bytes, extension, mime_type, uploader_email, user_id, is_archived, source_id, source_type, is_referenced, and more. Required: id.
- **delete_a_bexio_file_by_id** — Sets state of a file to deleted. It cannot be undone in Bexio. Returns: success. Required: id.
- **update_a_bexio_file_by_id** — Updates a existing file with provided properties in Bexio. Returns: id, uuid, name, size_in_bytes, extension, mime_type, uploader_email, user_id, is_archived, source_id, source_type, is_referenced, and more. Required: id.
- **bexio_files_download** — Provides requested file from backend as stream in Bexio.
- **bexio_files_preview** — Provides requested preview for file from backend as stream in Bexio.
- **bexio_files_usage** — Tries to query the requested file from the backend in Bexio. Returns: id, ref_class, title, document_nr.
- **list_all_bexio_employees** — List payroll employees.
- **create_a_bexio_employee** — Create employee in Bexio. Returns: id, first_name, last_name, date_of_birth, ahv_number, gender, nationality, stay_permit_category, language, marital_status, email, phone_number, and more. Required: ahvNumber.
- **get_single_bexio_employee_by_id** — Retrieve a single employee on a specific date in Bexio. Returns: id, first_name, last_name, date_of_birth, ahv_number, gender, nationality, stay_permit_category, language, marital_status, email, phone_number, and more. Required: id, date.
- **update_a_bexio_employee_by_id** — Update employee in Bexio. Required: id, ahvNumber.
- **list_all_bexio_absences** — Retrieving absences of employee for given year in Bexio. Returns: data. Required: businessYear.
- **create_a_bexio_absence** — Create absence for employee in Bexio. Returns: reason, start_date, end_date, half_day, continued_pay, disability, paid_hours, id. Required: start_date, reason.
- **get_single_bexio_absence_by_id** — Retrieving absence for employee with given absence id in Bexio. Returns: reason, start_date, end_date, half_day, continued_pay, disability, paid_hours, id. Required: id.
- **update_a_bexio_absence_by_id** — Updating existing absence in Bexio. Required: id, start_date, reason, end_date, half_day, continued_pay, disability, paid_hours.
- **delete_a_bexio_absence_by_id** — Deleting employee absence with given id in Bexio. Required: id.
- **bexio_payroll_documents_get_pdf** — Retrieving pdf for employee for given month in Bexio. Returns: location.
- **bexio_payroll_documents_download_pdf** — Download paystub pdf for employee for given month in Bexio.
- **list_all_bexio_company_profiles** — Please note that each account currently has only one company profile in Bexio. Returns: id, name, address, address_nr, postcode, city, country_id, legal_form, country_name, mail, phone_fixed, phone_mobile, and more.
- **get_single_bexio_company_profile_by_id** — This action fetches a single company profile in Bexio. Returns: id, name, address, address_nr, postcode, city, country_id, legal_form, country_name, mail, phone_fixed, phone_mobile, and more. Required: id.
- **list_all_bexio_countries** — This action fetches a list of all countries in Bexio. Returns: id, name, name_short, iso3166_alpha2.
- **create_a_bexio_country** — This action creates a new country in Bexio. Returns: id, name, name_short, iso3166_alpha2. Required: name, name_short, iso3166_alpha2.
- **bexio_countries_search** — Search countries via query. Please refer to the Search section for detailed instructions in Bexio. Returns: id, name, name_short, iso3166_alpha2.
- **get_single_bexio_country_by_id** — This action fetches a single country in Bexio. Returns: id, name, name_short, iso3166_alpha2. Required: id.
- **update_a_bexio_country_by_id** — This action edits a single country in Bexio. Returns: id, name, name_short, iso3166_alpha2. Required: id, name, name_short, iso3166_alpha2.
- **delete_a_bexio_country_by_id** — This action permanently deletes a country. It cannot be undone in Bexio. Returns: success. Required: id.
- **list_all_bexio_languages** — This action fetches a list of all languages in Bexio. Returns: id, name, decimal_point, thousands_separator, date_format_id, date_format, iso_639_1.
- **bexio_languages_search** — Search languages via query. Please refer to the Search section for detailed instructions in Bexio. Returns: id, name, decimal_point, thousands_separator, date_format_id, date_format, iso_639_1.
- **list_all_bexio_notes** — This action fetches a list of all notes in Bexio. Returns: id, user_id, event_start, subject, info, contact_id, project_id, pr_project_id, entry_id, module_id.
- **create_a_bexio_note** — Create note in Bexio. Returns: id, user_id, event_start, subject, info, contact_id, project_id, pr_project_id, entry_id, module_id. Required: user_id, subject, event_start.
- **bexio_notes_search** — Search notes via query. Please refer to the Search section for detailed instructions in Bexio. Returns: id, user_id, event_start, subject, info, contact_id, project_id, pr_project_id, entry_id, module_id.
- **get_single_bexio_note_by_id** — This action fetches a single note in Bexio. Returns: id, user_id, event_start, subject, info, contact_id, project_id, pr_project_id, entry_id, module_id. Required: id.
- **update_a_bexio_note_by_id** — This action edits a single note in Bexio. Returns: id, user_id, event_start, subject, info, contact_id, project_id, pr_project_id, entry_id, module_id. Required: id, user_id, subject, event_start.
- **delete_a_bexio_note_by_id** — This action permanently deletes a note. It cannot be undone in Bexio. Returns: success. Required: id.
- **list_all_bexio_payment_types** — This action fetches a list of all payment types in Bexio. Returns: id, name.
- **bexio_payment_types_search** — Search payment types via query. Please refer to the Search section for detailed instructions in Bexio. Returns: id, name.
- **list_all_bexio_permissions** — Get components and user permissions of logged in user in Bexio. Returns: components, permissions.
- **list_all_bexio_tasks** — This action fetches a list of all tasks in Bexio. Returns: id, user_id, finish_date, subject, place, info, contact_id, sub_contact_id, project_id, pr_project_id, entry_id, module_id, and more.
- **create_a_bexio_task** — Create task in Bexio. Returns: id, user_id, finish_date, subject, place, info, contact_id, sub_contact_id, project_id, pr_project_id, entry_id, module_id, and more. Required: user_id, subject.
- **bexio_tasks_search** — Search tasks via query. Please refer to the Search section for detailed instructions in Bexio. Returns: id, user_id, finish_date, subject, place, info, contact_id, sub_contact_id, project_id, pr_project_id, entry_id, module_id, and more.
- **get_single_bexio_task_by_id** — This action fetches a single task in Bexio. Returns: id, user_id, finish_date, subject, place, info, contact_id, sub_contact_id, project_id, pr_project_id, entry_id, module_id, and more. Required: id.
- **update_a_bexio_task_by_id** — This action edits a single task in Bexio. Returns: id, user_id, finish_date, subject, place, info, contact_id, sub_contact_id, project_id, pr_project_id, entry_id, module_id, and more. Required: id, user_id, subject.
- **delete_a_bexio_task_by_id** — This action permanently deletes a task. It cannot be undone in Bexio. Returns: success. Required: id.
- **bexio_tasks_list_priorities** — This action fetches a list of all task priorities in Bexio. Returns: id, name.
- **bexio_tasks_list_status** — This action fetches a list of all task status in Bexio. Returns: id, name.
- **list_all_bexio_units** — This action fetches a list of all units in Bexio. Returns: id, name.
- **create_a_bexio_unit** — Create unit in Bexio. Returns: id, name. Required: name.
- **bexio_units_search** — Search units via query. Please refer to the Search section for detailed instructions in Bexio. Returns: id, name.
- **get_single_bexio_unit_by_id** — This action fetches a single unit in Bexio. Returns: id, name. Required: id.
- **update_a_bexio_unit_by_id** — This action edits a single unit in Bexio. Returns: id, name. Required: id, name.
- **delete_a_bexio_unit_by_id** — This action permanently deletes a unit. It cannot be undone in Bexio. Returns: success. Required: id.
- **list_all_bexio_users** — This action fetches a list of all users in Bexio. Returns: id, salutation_type, firstname, lastname, email, is_superadmin, is_accountant.
- **get_single_bexio_user_by_id** — This action fetches a single user in Bexio. Returns: id, salutation_type, firstname, lastname, email, is_superadmin, is_accountant. Required: id.
- **bexio_users_me** — This action fetches the user authenticated by the bearer token in Bexio. Returns: id, salutation_type, firstname, lastname, email, is_superadmin, is_accountant.
- **list_all_bexio_fictional_users** — This action fetches a list of all fictional users. These fictional users can be used in dropdowns but can not log in to the application in Bexio. Returns: id, salutation_type, firstname, lastname, email, title_id.
- **create_a_bexio_fictional_user** — This action creates a new fictional user in Bexio. Returns: id, salutation_type, firstname, lastname, email, title_id. Required: salutation_type, firstname, lastname, email.

## How it works

1. **Link your customer's Bexio account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach Bexio.** The Proxy API is a 1-to-1 mapping of the Bexio API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **Sync e-commerce sales into Swiss accounting** — E-commerce and POS platforms can push orders, customers, and line items into Bexio so Swiss merchants get compliant QR-bills and accurate ledgers without manual re-entry. This removes the biggest friction point for Swiss SMEs adopting your platform.
- **Automate spend management and AP posting** — Expense and corporate card SaaS can post vendor bills, out-of-pocket expenses, and attached receipt PDFs directly into Bexio's AP and general ledger. Your users' fiduciaries see booked entries with source documents attached, ready for VAT filing.
- **Turn tracked time into billable Bexio invoices** — Project management, agency, and field-service tools can push timesheets and project data into Bexio so labor hours flow straight into invoices. Users bill clients faster with fewer reconciliation errors.
- **Sync HR data into Swiss payroll** — HRIS and workforce tools can push employees and absences into Bexio to keep Swissdec-certified payroll accurate. This unlocks the Swiss SME market where local payroll compliance is non-negotiable.
- **Two-way CRM contact sync** — CRMs and sales tools can keep customer and supplier records aligned with Bexio, which many Swiss SMEs treat as their master contact database. De-duplication via search ensures clean data on both sides.

## What you can build

- **Draft-to-sent invoice automation** — Create invoices with item, text, subtotal, and discount positions, issue them, mark as sent, and email them to customers directly from your product.
- **Deduplicated contact sync** — Search Bexio contacts by name or email before creating or updating, keeping customer and supplier records consistent across your app and Bexio.
- **Bill capture with attached receipts** — Create bills or expenses, upload the source PDF via the files API, and bulk-update statuses from draft to booked for hands-off AP workflows.
- **Quote-to-cash pipeline** — Create quotes, trigger accept/decline transitions, and convert them into orders or invoices — with PDF rendering and email delivery built in.
- **Project time tracking to invoicing** — Create projects, milestones, work packages, and timesheets against business activities, then roll billable hours into Bexio invoices.
- **Employee and absence sync for payroll** — Push employee master data and absences (sick leave, vacation) into Bexio so Swiss payroll runs stay compliant and up to date.

## FAQs

### How does authentication work for Bexio?

Truto handles the Bexio OAuth flow end-to-end. Your end users connect their Bexio account through a Truto-hosted or embedded flow, and Truto manages token storage and refresh so you never touch credentials.

### Which Bexio modules are covered by the available tools?

The integration covers Contacts and CRM, Quotes, Orders, Deliveries, Invoices (including payments and reminders), Bills, Expenses, Purchase Orders, Banking Payments, Accounting (accounts, manual entries, taxes, VAT periods, currencies), Items and Stock, Projects, Milestones, Timesheets, Files, Employees, Absences, and Payroll documents.

### Can I generate Swiss QR-bills through the integration?

Bexio itself generates Swiss QR-compliant invoice PDFs. You create the invoice via the API, issue it, and retrieve the rendered PDF using the invoice PDF endpoint — the QR-bill formatting is handled server-side by Bexio.

### How do I avoid duplicate contacts when syncing from another system?

Use the contacts search tool to look up by fields like name_1 or mail before creating. Bexio does not enforce uniqueness on contacts, so deduplication logic sits on the integration side.

### Are Swiss-specific fields like VAT tax IDs and AHV numbers supported?

Yes. Tax IDs are available via the taxes list endpoint and can be attached to invoice item positions, and employee creation supports the Swiss AHV number required for payroll. Currency codes and exchange rates are also available via dedicated endpoints.

### Can I attach files like receipts or supporting documents to accounting records?

Yes. You can upload files via the files API and attach them to manual entry lines or compound entries. Bills and expenses can also reference uploaded files for OCR and audit workflows.

### How fresh is the data — does Bexio support webhooks or is it polling?

The available tools are REST-based read and write operations, so data freshness depends on your polling strategy or event triggers in your own product. Truto handles pagination and rate-limit backoff so you can poll efficiently without custom retry logic.

## Related reading

- [Connect Bexio to ChatGPT: Manage Invoices, Projects & Accounting](https://truto.one/blog/connect-bexio-to-chatgpt-manage-invoices-projects-accounting/) — Learn how to connect Bexio to ChatGPT using a managed MCP server. Automate invoices, project time tracking, and accounting workflows with AI agents.
- [Connect Bexio to Claude: Sync Contacts, Sales & Payroll Records](https://truto.one/blog/connect-bexio-to-claude-sync-contacts-sales-payroll-records/) — Learn how to connect Bexio to Claude using a managed MCP server. Automate CRM workflows, payroll tracking, and complex sales documentation via natural language.
- [Connect Bexio to AI Agents: Automate Billing, Tasks & Inventory](https://truto.one/blog/connect-bexio-to-ai-agents-automate-billing-tasks-inventory/) — Learn how to connect Bexio to AI agents using Truto's /tools endpoint. Step-by-step guide to automating billing, quote generation, and ERP workflows natively via tool calling.
