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)
- Go to Settings > Community Nodes in your n8n instance
- Select Install
- Enter
@zurdai/n8n-nodes-bexioin Enter npm package name - Agree to the risks of using community nodes
- Select Install
Manual Installation
To install this node manually in your n8n instance:
npm install @zurdai/n8n-nodes-bexio
Credentials
This node uses Personal Access Token (PAT) authentication for simple and reliable API access.
Setup Steps
- Go to the Bexio Developer Portal
- Create a Personal Access Token (PAT)
- Copy the token (it will only be shown once!)
- In n8n, create a Bexio API credential
- Paste your Personal Access Token
π Detailed Setup Guide: See PERSONAL_ACCESS_TOKEN_SETUP.md
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
Invoice
- Create: Create a new invoice
- Delete: Delete an invoice
- Get: Retrieve a single invoice
- Get Many: Retrieve multiple invoices with advanced filtering
- Filter by status: Draft, Pending, Paid, Partially Paid, Overdue, Cancelled
- Quick filters: Overdue Only, Unpaid Only
- Supports pagination or "Return All" option
- 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
Item (Products/Services)
- 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
Quote (Offers)
- 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
Order
- 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
Banking
- Get Bank Accounts: Retrieve bank accounts
- Get Payments: Retrieve multiple payments
- Get Payment: Retrieve a single payment
- Create Payment: Create a new payment
Usage Examples
Example 1: Create a Contact
- Add a Bexio node to your workflow
- Select Contact as the resource
- Select Create as the operation
- Choose Contact Type (Person or Company)
- Fill in the contact details (name, email, address, etc.)
Example 2: Create and Send an Invoice
- Create an invoice using the Invoice resource with Create operation
- Add invoice positions (line items) as JSON
- Use Issue operation to finalize the invoice
- Use Send operation to email the invoice to the customer
Example 3: Create a Quote and Convert to Order
- Create a quote using the Quote resource with Create operation
- Add quote positions (line items) as JSON
- Use Issue operation to finalize the quote
- Once accepted, create an order from the same data using the Order resource
Example 4: Get All Overdue Invoices
- Add a Bexio node to your workflow
- Select Invoice as the resource
- Select Get Many as the operation
- Enable Return All to get all invoices
- Under Options, enable Overdue Only filter
- This will return all invoices with overdue status
API Documentation
For detailed information about the Bexio API, visit:
Compatibility
- 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
Resources
Support
For issues and feature requests, please create an issue on the GitHub repository.
Custom Adjustments
If you need specific customizations or have special requirements for this integration, please contact:
- Email: daniel.zurmuehle@zurdai.com
- Phone: +41 79 127 55 54
Development
Setup
# Install dependencies
npm install
# Build the node
npm run build
# Run linter
npm run lint
# Fix linting issues
npm run lintfix
Project Structure
@zurdai/n8n-nodes-bexio/
βββ credentials/
β βββ BexioApi.credentials.ts # PAT Authentication (Current)
β βββ BexioOAuth2Api.credentials.ts # OAuth2 (Deprecated)
βββ nodes/
β βββ Bexio/
β βββ Bexio.node.ts # Main node implementation
β βββ GenericFunctions.ts # API request helpers
β βββ OperationsHandlers.ts # Resource operation handlers
β βββ bexio.svg # Node icon
β βββ 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
βββ package.json
βββ tsconfig.json
βββ gulpfile.js
βββ README.md
License
Author
Daniel ZurmΓΌhle (daniel.zurmuehle@zurdai.com) zurdai.com
Version History
1.1.0 (Current) – @zurdai/n8n-nodes-bexio
- Node Improvements: Added required fields (
user_id,owner_id) for Contact, Invoice, Quote, and Order resources - Comprehensive Test Suite: Created full test coverage for all 87 operations across 14 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
- API Integration Fixes: Improved error handling and field validation
- Developer Experience: Better error messages and complete test documentation
1.0.5 – @zurdai/n8n-nodes-bexio
- Security Fixes: Fixed all dependency vulnerabilities (npm audit: 0 vulnerabilities)
- Added JSON parsing error handling
- Added DoS protection with pagination limits
- Implemented missing
getLanguagesLoadOptions method
1.0.0 – @zurdai/n8n-nodes-bexio
- New Scoped Package: Republished as
@zurdai/n8n-nodes-bexiounder zurdai organization - All features from the previous package (v1.0.16) included
- Comprehensive PDF binary download support for Invoice, Quote, and Order
- 6 essential business resources: Banking, Contact, Invoice, Item, Order, Quote
- Personal Access Token (PAT) authentication
- All API endpoints verified and tested
Previous 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.