Description
@zurdai/n8n-nodes-bexio
This is an n8n community node that provides comprehensive integration with the Bexio API.
Bexio is a Swiss business software solution for accounting, invoicing, contact management, and more.
n8n is a fair-code licensed workflow automation platform.
Installation
Follow the installation guide in the n8n community nodes documentation.
Community Nodes (Recommended)
1. Go to Settings > Community Nodes in your n8n instance
2. Select Install
3. Enter @zurdai/n8n-nodes-bexio in Enter npm package name
4. Agree to the risks of using community nodes
5. Select Install
Manual Installation
To install this node manually in your n8n instance:
npm install @zurdai/n8n-nodes-bexio
Credentials
The Bexio and Bexio Trigger nodes support two authentication methods. Pick one in the node’s
Authentication field:
| Authentication | Credential | Best for |
|—|—|—|
| Access Token (default) | Bexio API | One Bexio company, quick setup with a Personal Access Token |
| OAuth2 | Bexio OAuth2 API | Apps registered in the Bexio Developer Portal, several users or companies |
Access Token (Personal Access Token)
1. Go to the Bexio Developer Portal
2. Create a Personal Access Token (PAT)
3. Copy the token (it will only be shown once!)
4. In n8n, create a Bexio API credential
5. Paste your Personal Access Token
π Detailed Setup Guide: See Bexio Developer Portal, create an app and copy its
Client ID and Client Secret
2. Add the OAuth Redirect URL shown in the n8n credential dialog as a redirect URL of the app
3. In n8n, create a Bexio OAuth2 API credential, paste Client ID and Client Secret
4. Adjust Scope to the resources you use (keep offline_access so n8n can refresh the token),
e.g. openid profile email companyprofile offlineaccess contactshow contactedit kbinvoiceshow kbinvoiceedit
5. Select Connect my account and log in to Bexio
Available Permissions
When creating your Personal Access Token, you can select permissions for:
Contacts: View, create, edit, and delete contacts (customers and suppliers)
Invoices: View, create, edit, and delete invoices
Quotes: View, create, edit, and delete quotes (offers)
Orders: View, create, edit, and delete orders
Items/Products: View, create, edit, and delete items (products and services)
Banking: View bank accounts and manage payments
Company: Access company profile information
Recommended: Enable all permissions for the resources you plan to use when creating the token. You can always create a new token with different permissions if needed.
Operations
This node focuses on essential business operations with the following resources:
Contact (Customers & Suppliers)
- Create: Create a new contact (person or company)
- Delete: Delete a contact
- Get: Retrieve a single contact
- Get Many: Retrieve multiple contacts
- Search: Search contacts with criteria
- Update: Update a contact
- Create: Link a person to a company
- Delete, Get, Get Many, Search, Update
- Create: Add an address to a contact, for example a delivery address
- Delete, Get, Get Many, Search, Update
- Create: Create a new invoice
- Delete: Delete an invoice
- Get: Retrieve a single invoice
- Get Many: Retrieve multiple invoices with advanced filtering
- Get PDF: Download invoice as PDF
- Issue: Issue an invoice
- Mark as Sent: Mark invoice as sent
- Search: Search invoices with criteria
- Send: Send invoice via email
- Update: Update an invoice
- Create: Create a new item
- Delete: Delete an item
- Get: Retrieve a single item
- Get Many: Retrieve multiple items
- Search: Search items with criteria
- Update: Update an item
- Create: Create a new quote
- Delete: Delete a quote
- Get: Retrieve a single quote
- Get Many: Retrieve multiple quotes
- Get PDF: Download quote as PDF
- Issue: Issue a quote
- Search: Search quotes with criteria
- Update: Update a quote
- Create: Create a new order
- Delete: Delete an order
- Get: Retrieve a single order
- Get Many: Retrieve multiple orders
- Get PDF: Download order as PDF
- Search: Search orders with criteria
- Update: Update an order
- Get Bank Accounts: Retrieve bank accounts
- Get Payments: Retrieve multiple payments
- Get Payment: Retrieve a single payment
- Create Payment: Create a new payment
- Created β emits only newly created records (detected via increasing record ID).
- Created or Updated β emits new and changed records (detected via
- On first activation the node stores a watermark and emits nothing (no
- Uses the same Bexio API (Personal Access Token) credentials as the action node.
- Bexio API Documentation
- Bexio Developer Portal
- Tested with n8n version 1.0.0 and above
- Uses Bexio API v2.0 and v3.0 endpoints
- All endpoints verified and tested against Bexio API documentation
- n8n community nodes documentation
- Bexio API Reference
Contact Relation
Additional Address
Invoice
– Filter by status: Draft, Pending, Paid, Partial, Canceled, Unpaid
– Quick filters: Overdue Only, Unpaid Only
– Supports pagination or “Return All” option
Item (Products/Services)
Quote (Offers)
Order
Banking
Trigger (Bexio Trigger node)
Bexio does not offer natively documented webhooks for status/cancellation
events, so the Bexio Trigger node works by polling the API on a schedule
(the poll interval is configured on the node) and starting your workflow when
records appear or change. Already-seen records are never emitted twice β state
is kept in the workflow’s static data.
Resources: Contact, Invoice, Order, Quote, Item
Events:
updated_at). This is the option to use for **invoice/order status changes and
cancellations. For Item** it automatically falls back to created-only, since
the article resource has no updated_at field.
Behaviour notes:
historical replay). In manual/test mode (“Fetch Test Event”) it returns the most
recent record so you can wire up the workflow.
Usage Examples
Example 1: Create a Contact
1. Add a Bexio node to your workflow
2. Select Contact as the resource
3. Select Create as the operation
4. Choose Contact Type (Company or Person)
5. Enter Name 1: the company name, or the last name of a person
6. Add further details: Name 2 (first name of a person), street, email, etc.
Example 2: Create and Send an Invoice
1. Create an invoice using the Invoice resource with Create operation
2. Add invoice positions (line items) as JSON
3. Use Issue operation to finalize the invoice
4. Use Send operation to email the invoice to the customer
Example 3: Create a Quote and Convert to Order
1. Create a quote using the Quote resource with Create operation
2. Add quote positions (line items) as JSON
3. Use Issue operation to finalize the quote
4. Once accepted, create an order from the same data using the Order resource
Example 4: Get All Overdue Invoices
1. Add a Bexio node to your workflow
2. Select Invoice as the resource
3. Select Get Many as the operation
4. Enable Return All to get all invoices
5. Under Options, enable Overdue Only filter
6. This will return all invoices with overdue status
API Documentation
For detailed information about the Bexio API, visit:
Compatibility
Resources
Support
For issues and feature requests, please create an issue on the https://impulsai.ch
Development
Setup
Install dependencies
npm installBuild the node
npm run buildRun linter (n8n-node lint, same rules as the n8n Cloud verification)
npm run lintFix linting issues
npm run lint:fixRun tests
npm testStart n8n locally with the node loaded
npm run dev
Releasing
Releases are published to npm by GitHub Actions (.github/workflows/publish.yml) with an npm
provenance statement, as required for verified community nodes. Run npm run release on main
to bump the version, tag and push; the workflow then publishes the package.
Project Structure
@zurdai/n8n-nodes-bexio/
βββ credentials/
β βββ BexioApi.credentials.ts # Personal Access Token
β βββ BexioOAuth2Api.credentials.ts # OAuth2
βββ nodes/
β βββ Bexio/
β βββ Bexio.node.ts # Main node implementation
β βββ GenericFunctions.ts # API request helpers
β βββ OperationsHandlers.ts # Resource operation handlers
β βββ descriptions/
β βββ ContactDescription.ts # Contact resource fields
β βββ InvoiceDescription.ts # Invoice resource fields
β βββ ItemDescription.ts # Item resource fields
β βββ QuoteDescription.ts # Quote resource fields
β βββ OrderDescription.ts # Order resource fields
β βββ BankingDescription.ts # Banking resource fields
βββ icons/ # Node and credential icons (light/dark)
βββ test/ # Unit and API documentation conformance tests
βββ package.json
βββ tsconfig.json
βββ eslint.config.mjs
βββ README.md
License
Author
Daniel ZurmΓΌhle ([email protected]) impulsai.ch
Version History
1.3.2 (Current) – @zurdai/n8n-nodes-bexio
1.3.1 – @zurdai/n8n-nodes-bexio
1.3.0 – @zurdai/n8n-nodes-bexio
1.2.2 – @zurdai/n8n-nodes-bexio
1.2.1 – @zurdai/n8n-nodes-bexio
1.2.0 – @zurdai/n8n-nodes-bexio
– Events: Created (via record ID) and Created or Updated (via updated_at,
catches invoice/order status changes and cancellations)
– No historical replay on activation; de-duplicated via workflow static data
– Reuses the existing Personal Access Token credentials
bexioApiRequest) now also supports the polling context1.1.0 – @zurdai/n8n-nodes-bexio
userid, ownerid) for Contact, Invoice, Quote, and Order resources – 85.88% success rate (73/85 tests passing)
– Automated test runner with JSON and HTML reports
– Dynamic test data fetching to adapt to any Bexio account
1.0.5 – @zurdai/n8n-nodes-bexio
getLanguages LoadOptions method1.0.0 – @zurdai/n8n-nodes-bexio
@zurdai/n8n-nodes-bexio under zurdai organizationPrevious Package (n8n-nodes-bexio) – Deprecated
The package was previously published as n8n-nodes-bexio (versions 1.0.0 – 1.0.16, now deprecated).
All functionality has been migrated to the scoped package @zurdai/n8n-nodes-bexio.
For complete version history of the previous package, see CHANGELOG.md.


