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 usUse Cases
Why integrate with Bexio
Common scenarios for SaaS companies building Bexio integrations for their customers.
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
From the Blog
Bexio integration guides
Deep dives, architecture guides, and practical tutorials for building Bexio integrations.
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.