Bexio is a comprehensive Swiss-based cloud accounting and business management platform designed for small and medium-sized businesses, providing integrated tools for invoicing, accounting, CRM, and project management to streamline business operations.
Power end-to-end data operations for your Bexio API with Nexla. Our bi-directional Bexio connector is purpose-built for Bexio, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to Bexio or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Bexio workflows fast, secure, and fully governed.
Features
Type: API
SourceDestination
Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
Request optimization with intelligent batching, retry, and caching to minimize API calls and costs
Before creating a Bexio credential, you need to obtain a personal API token from your Bexio account. The API token is required to authenticate with the Bexio API.
Personal API tokens can be created by super admin users directly in Bexio by visiting https://office.bexio.com/index.php/admin/apiTokens. You must have super admin privileges in your Bexio account to create API tokens. Once created, the API token is used to authenticate all API requests to the Bexio API using Bearer token authentication. For detailed information about API token setup and authentication, refer to the Bexio API documentation.
After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.
New Credential Overlay – Bexio
Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.
Enter your Bexio API token in the API Token Value field. This is the personal API token you created in your Bexio account. The API token is sent in the Authorization header as a Bearer token to authenticate all API requests to the Bexio API.
Keep your API token secure and do not share it publicly. The API token provides access to your Bexio account and should be treated as a sensitive credential. Only super admin users can create API tokens in Bexio.
Click the Save button at the bottom of the overlay to save the configured credential. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation.
To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the Bexio connector tile, then select the credential that will be used to connect to the Bexio instance, and click Next; or, create a new Bexio credential for use in this flow.
Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Bexio endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below.
Fetch a list of resources
This endpoint retrieves a list of resources of a selected type from your Bexio account. Use this endpoint when you need to access accounts, contacts, invoices, orders, bills, expenses, or other resource types from your Bexio account.
Select the API version from the Version Number dropdown menu. Available options are:
2.0: Bexio API v2.0 (default)
3.0: Bexio API v3.0
4.0: Bexio API v4.0
The default value is 2.0 if not specified. You can also add custom version numbers if needed.
Select the resource type you want to retrieve from the Resource Type dropdown menu. Available options include:
The endpoint uses GET requests to https://api.bexio.com/{'{version}'}/{'{resource_type}'} where {version} is the API version and {resource_type} is the selected resource type. The endpoint URL is automatically constructed based on the version and resource type you select.
The endpoint uses offset-based pagination, automatically fetching additional pages as needed using the offset and limit query parameters. The endpoint starts from offset 0 and continues fetching pages until all available resources have been retrieved. By default, the endpoint retrieves up to 500 items per page.
The endpoint will return all resources of the selected type. The response data is extracted from the root-level array in the API response ($[*]), with each resource record processed individually.
This endpoint supports pagination through offset and limit query parameters. Nexla automatically handles pagination to retrieve all available records by incrementing the offset until no more data is returned. The endpoint uses offset-based pagination (iteration.type: paging.incrementing.offset), starting from offset 0. By default, the endpoint retrieves up to 500 items per page (page.expected.rows: 500). The response data path is $[*], which extracts all items from the root-level array in the API response. You can add custom API versions and resource types if needed. For detailed information about available resource types, retrieving resources, and API usage, see the Bexio API documentation.
Fetch a resource
This endpoint retrieves detailed information for a specific resource by its ID from your Bexio account. Use this endpoint when you need to access detailed information about a specific contact, invoice, order, bill, expense, or other resource.
Select the API version from the Version Number dropdown menu. Available options are:
2.0: Bexio API v2.0 (default)
3.0: Bexio API v3.0
4.0: Bexio API v4.0
The default value is 2.0 if not specified. You can also add custom version numbers if needed.
Select the resource type you want to retrieve from the Resource Type dropdown menu. Available options include:
contact: Fetch a contact
quote: Fetch a quote (kb_offer)
order: Fetch an order (kb_order, default)
delivery: Fetch a delivery (kb_delivery)
invoice: Fetch an invoice (kb_invoice)
bill: Fetch a bill (purchase/bills)
expense: Fetch an expense
banking account: Fetch a banking account (banking/accounts)
item: Fetch an item (article)
The default value is order if not specified. You can also add custom resource types if needed.
Enter the unique identifier of the resource in the Resource ID field. This is the ID of the specific resource you want to retrieve detailed information for.
The endpoint uses GET requests to https://api.bexio.com/{'{version}'}/{'{resource_type}'}/{'{resource_id}'} where {version} is the API version, {resource_type} is the selected resource type, and {resource_id} is the resource ID. The endpoint URL is automatically constructed based on the version, resource type, and resource ID you provide.
The endpoint will return detailed information for the specified resource. The response data is extracted from the root-level array in the API response ($[*]), and Nexla will process the entire response structure.
The endpoint does not use pagination and returns the complete resource details in a single request.
Resource IDs can be obtained from the "Fetch a list of resources" endpoint, which returns all resources of a selected type with their corresponding IDs. The endpoint uses a static URL (iteration.type: static.url) and does not require pagination. The response data path is $[*], which extracts all items from the root-level array in the API response. You can add custom API versions and resource types if needed. For detailed information about retrieving resource details, including available resource types and response formats, see the Bexio API documentation.
Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.
Bexio data sources can also be manually configured to ingest data from any valid Bexio API endpoint, including endpoints not covered by the pre-built templates, chained API calls, or custom request parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, path to data, and request headers.
Bexio API endpoints typically follow the pattern https://api.bexio.com/{version}/{resource_type} for listing resources or https://api.bexio.com/{version}/{resource_type}/{resource_id} for retrieving a specific resource. The endpoint requires Bearer token authentication in the Authorization header, which is handled automatically by your credential configuration. For detailed information about Bexio API endpoints, see the Bexio API documentation.
Once all of the relevant settings have been configured, click the Save button to save and create the new Bexio data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.
Click the + icon on the Nexset that will be sent to the Bexio destination, and select the Send to Destination option from the menu. Select the Bexio connector from the list of available destination connectors, then select the credential that will be used to connect to the Bexio organization, and click Next; or, create a new Bexio credential for use in this flow.
Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common Bexio endpoints. Select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.
Create Resources
This endpoint creates a new resource of the selected type in your Bexio account. Use this endpoint when you need to create contacts, quotes, orders, invoices, bills, expenses, or purchase orders from your data sources.
Select the API version from the Version Number dropdown menu. Available options are:
2.0: Bexio API v2.0 (default)
3.0: Bexio API v3.0
4.0: Bexio API v4.0
The default value is 2.0 if not specified. You can also add custom version numbers if needed.
Select the resource type you want to create from the Resource Type dropdown menu. Available options include:
contact: Create contact
quote: Create quote (kb_offer)
order: Create order (kb_order, default)
invoice: Create invoice (kb_invoice)
bill: Create bill (purchase/bills)
expense: Create expense
purchase order: Create purchase order (purchase_orders)
The default value is order if not specified. You can also add custom resource types if needed.
The endpoint uses POST requests to https://api.bexio.com/{'{version}'}/{'{resource_type}'} where {version} is the API version and {resource_type} is the selected resource type. The endpoint URL is automatically constructed based on the version and resource type you select.
The endpoint sends data from your Nexset as the request body in JSON format. Each record in your Nexset will be sent as a JSON object containing the resource data to create. The request body should follow the Bexio API specification for creating resources, including required fields and field names.
Batch mode is disabled by default for this endpoint. Each record in your Nexset will be sent as a separate API request to create a resource. If you need to create multiple resources, you can send multiple records, but each will be processed as a separate request.
The request body must be properly formatted JSON that matches the Bexio API specification for creating the selected resource type. The endpoint requires Bearer token authentication in the Authorization header, which is handled automatically by your credential configuration. The Content-Type: application/json header is automatically included in requests. Batch mode is disabled by default (batch.mode: false), so each record will be sent as a separate request. You can add custom API versions and resource types if needed. For detailed information about creating resources, including required fields, field names, and request formats for each resource type, see the Bexio API documentation.
Create resource from order
This endpoint creates a new resource (delivery or invoice) from an existing order in your Bexio account. Use this endpoint when you need to create deliveries or invoices based on existing orders.
Select the resource type you want to create from the order from the Resource Type dropdown menu. Available options include:
delivery: Create delivery from order (default)
invoice: Create invoice from order
The default value is delivery if not specified. You can also add custom resource types if needed.
Enter the unique identifier of the order in the Resource ID field. This is the ID of the existing order from which you want to create the delivery or invoice.
The endpoint uses POST requests to https://api.bexio.com/2.0/kb_order/{'{resource_id}'}/{'{resource_type}'} where {resource_id} is the order ID and {resource_type} is the selected resource type (delivery or invoice). The endpoint URL is automatically constructed based on the order ID and resource type you provide.
The endpoint sends data from your Nexset as the request body in JSON format. The request body should follow the Bexio API specification for creating resources from orders, including required fields and field names.
Batch mode is disabled by default for this endpoint. Each record in your Nexset will be sent as a separate API request to create a resource from an order.
Order IDs can be obtained from the "Fetch a list of resources" data source endpoint by selecting "orders" as the resource type, which returns all orders with their corresponding IDs. The request body must be properly formatted JSON that matches the Bexio API specification for creating resources from orders. The endpoint requires Bearer token authentication in the Authorization header, which is handled automatically by your credential configuration. The Content-Type: application/json header is automatically included in requests. Batch mode is disabled by default (batch.mode: false), so each record will be sent as a separate request. The endpoint uses API version 2.0 by default. For detailed information about creating resources from orders, including required fields, field names, and request formats, see the Bexio API documentation.
Bexio destinations can also be manually configured to send data to any valid Bexio API endpoint. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, data format, endpoint URL, request headers, and request body.
The Bexio API primarily uses POST requests with JSON request bodies. Bexio API endpoints typically follow the pattern https://api.bexio.com/{version}/{resource_type} for creating resources or https://api.bexio.com/2.0/kb_order/{order_id}/{resource_type} for creating resources from orders. The request body must be properly formatted JSON that matches the Bexio API specification for the selected resource type. Bearer token authentication in the Authorization header and the Content-Type: application/json header are handled automatically by your credential configuration.
Once all endpoint settings have been configured, click the Save button to save and create the destination. To send the data to the configured Bexio endpoint, open the destination resource menu, and select Activate.
The Nexset data will not be sent to the Bexio endpoint until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.