Skip to content

Accounting

Bexio
API integration

Ship Accounting features without building the integration. Full Bexio API access via Proxy and 300+ MCP-ready tools for AI agents — extend models and mappings to fit your product.

Talk to us
Bexio

Use Cases

Why integrate with Bexio

Common scenarios for SaaS companies building Bexio integrations for their customers.

01

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.

02

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.

03

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.

04

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.

05

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

Ship these features with Truto + Bexio

Concrete product features your team can ship faster by leveraging Truto’s Bexio integration instead of building from scratch.

01

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.

02

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.

03

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.

04

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.

05

Project time tracking to invoicing

Create projects, milestones, work packages, and timesheets against business activities, then roll billable hours into Bexio invoices.

06

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.

SuperAI

Bexio AI agent tools

Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.

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.

Why Truto

Why use Truto’s MCP server for Bexio

Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 800+ integrations.

01

Auto-generated, always up to date

Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.

02

Fine-grained access control

Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.

03

Multi-tenant by design

Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.

04

Works with every MCP client

Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.

05

Built-in auth, rate limits, and error handling

Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.

06

Expiring and auditable servers

Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.

How It Works

From zero to integrated

Go live with Bexio in under an hour. No boilerplate, no maintenance burden.

01

Link your customer’s Bexio account

Use Truto’s frontend SDK to connect your customer’s Bexio account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.

02

We handle authentication

Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.

03

Call our API, we call Bexio

Truto’s Proxy API is a 1-to-1 mapping of the Bexio API. You call us, we call Bexio, and pass the response back in the same cycle.

04

Unified response format

Every response follows a single format across all integrations. We translate Bexio’s pagination into unified cursor-based pagination. Data is always in the result attribute.

FAQs

Common questions about Bexio on Truto

Authentication, rate limits, data freshness, and everything else you need to know before you integrate.

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.

Bexio

Get Bexio integrated into your app

Our team understands what it takes to make a Bexio integration successful. A short, crisp 30 minute call with folks who understand the problem.