bexio
Create and find contacts, write invoices (Rechnungen), quotes (Offerten) and orders (Aufträge) and issue, send or invoice them, download their PDF, book payments, and manage articles, projects, timesheets and manual entries in bexio.
Connect bexio
- In the sidebar, open Connections and press Add connection.
- Type
bexioand choose bexio. - Choose Sign in with bexio.
- Press Sign in with bexio at the bottom of the sheet, then choose your account in bexio’s window and allow access.
Or choose Paste your personal access token, paste it, and press Test and save. It stays until someone deletes it.
Sign in with bexio, or paste a personal access token from developer.bexio.com/pat (it has full access to the company and lasts 60 days; then paste a new one).
What if it says “Sign-in isn’t set up here yet”?
Signing in with bexio needs a bexio app on this installation, and it has none yet. Until it is set up, Paste your personal access token works without it.
On Cloud: The sheet says “It’s set up once for everyone who uses this service, not by an organization.”
Self-hosted: An admin of the installation sees Set up bexio sign-in instead, and sets it up once for everyone. Everyone else sees who to ask.
- Create an app in bexio’s developer settings (bexio’s guide).
- In GoRunner, copy the Redirect address to add in bexio’s developer settings, and add it to the app.
- Paste the Client ID and Client secret, then press Save and sign in.
Can I use my own bexio app?
Yes. In the sheet, open Use your own bexio app and paste its Client ID and Client secret. Add the redirect address it shows to your app first. The connection then signs in through your app instead of the installation’s.
Connections says how to sign in again, rename or delete it. In a product that embeds GoRunner, Add connection can be missing: then your provider makes connections for you.
Start a workflow
Add a trigger and choose bexio. The trigger uses the same connection as the steps.
On Record Created or Changed
Checks bexio about once a minute and starts a run for each record created (or changed) since the check before. The first check after publishing only takes note of what is there (it starts nothing); changing the trigger starts over the same way. A check starts at most 100 runs; more wait for the next check.
- Watch · Required
Which records.
Options: Invoices, Quotes, Orders, Contacts, Articles, Projects, Timesheet entries.
Default: Invoices.
- Trigger on · Required
Created only, or also each change (bexio sorts only contacts and documents by their last change).
Options: Created, Created or changed (contacts, invoices, quotes, orders).
Default: Created.
A later step can use its data, such as {{trigger.change_type}}, {{trigger.id}}, {{trigger.updated_at}}. See Use data from earlier steps.
Do things in bexio
Add a bexio step, choose a Resource, then an Operation. Choose a row to see its fields.
- ContactCreate · Get · Get Many · Search · Update · Delete
- InvoiceCreate · Get · Get Many · Search · Issue · Mark as Sent · Send by Email · Download PDF · Add Payment · Cancel · Delete
- QuoteCreate · Get · Get Many · Search · Issue · Accept · Decline · Mark as Sent · Send by Email · Download PDF · Create Order · Create Invoice · Delete
- OrderCreate · Get · Get Many · Search · Download PDF · Create Invoice · Create Delivery · Delete
- ArticleCreate · Get · Get Many · Search · Update · Delete
- ProjectCreate · Get · Get Many · Search · Update · Archive · Reactivate · Delete
- TimesheetCreate · Get · Get Many · Search · Delete
- Manual EntryCreate
- FileUpload
- UserGet Me · Get Many
Later steps read a step’s output by its name: see Use data from earlier steps.
Limits
- A reply from bexio can be up to 16 MB (a file download can have its own limit). A larger one fails the step; it is never cut short.
- When bexio says to slow down (429), the step waits as long as it asks, if the step’s time allows. Otherwise it fails and says when to try again.
Not in your list? See When an app isn’t here.
For developers
In the API, which calls apps pieces, bexio is pieceId: "bexio" with actionId: "bexio", set by resource and an operation_… field, such as operation_article. Its trigger is bexiotrigger / bexio_poll. Get an app returns every field.
It can change something outside the run (writes_external). See How versions and side effects work.
bexio › Contact
Create
- Type · Optional
A company, or a person.
Options: Company, Person.
Default: Company.
- Name · Optional
A company's name, or a person's last name. Required to create.
- Name Addition · Optional
A company's name addition, or a person's first name.
- Email · Optional
- Second Email · Optional
- Phone · Optional
- Mobile · Optional
- Street · Optional
The street's name (without the number).
- House Number · Optional
- Address Addition · Optional
- ZIP Code · Optional
- City · Optional
- Country · Optional
The country (a bexio country).
- Website · Optional
- Contact Number · Optional
Empty when creating: bexio numbers it.
- Remarks · Optional
- Owner · Optional
The bexio user responsible. Empty when creating: the signed-in user.
Get and Delete
- Contact · Required
The contact.
Get Many
- Order · Optional
How the list is sorted.
Options: id, ascending, id, descending, nr, ascending, nr, descending, name 1, ascending, name 1, descending, updated at, ascending, updated at, descending.
Default: id, ascending.
- Archived Only · Optional
List archived contacts instead.
Off by default.
- Return All · Optional
Read every contact, page by page (at most 5000; past that the step fails rather than stop early).
Off by default.
- Limit · Optional
How many contacts to return (1–5000).
Default: 50.
Shows when Return All is off.
Search
- Field · Required
The field to search by.
Options: name_1 to id (17 options).
Default: name_1.
- Condition · Optional
How the field is compared.
Options: contains, is, is not, greater than, at least, less than, at most, does not contain, is empty, is not empty.
Default: contains.
- Value · Optional
What to compare with (a date as 2026-11-01, an id as a number). Not needed for is empty / is not empty.
- Return All · Optional
Read every contact, page by page (at most 5000; past that the step fails rather than stop early).
Off by default.
- Limit · Optional
How many contacts to return (1–5000).
Default: 50.
Shows when Return All is off.
Update
- Contact · Required
The contact.
- Name · Optional
A company's name, or a person's last name. Required to create.
- Name Addition · Optional
A company's name addition, or a person's first name.
- Email · Optional
- Second Email · Optional
- Phone · Optional
- Mobile · Optional
- Street · Optional
The street's name (without the number).
- House Number · Optional
- Address Addition · Optional
- ZIP Code · Optional
- City · Optional
- Country · Optional
The country (a bexio country).
- Website · Optional
- Contact Number · Optional
Empty when creating: bexio numbers it.
- Remarks · Optional
- Owner · Optional
The bexio user responsible. Empty when creating: the signed-in user.
bexio › Invoice
Create
- Contact · Required
The customer the invoice is for.
- Title · Optional
- Positions · Required
The lines: a free line (text, quantity, price), an article, or a text only.
- Tax · Optional
The sales tax of every line that names none (bexio's active sales taxes).
- Prices · Optional
Whether prices include VAT, exclude it, or are VAT-exempt.
Options: Including VAT, Excluding VAT, Exempt from VAT.
Default: Including VAT.
- Date · Optional
The document's date (2026-11-01). Empty: today.
- Due Date · Optional
Empty: bexio's default.
- Introduction · Optional
The text above the positions.
- Closing Text · Optional
The text below the positions.
- Responsible User · Optional
Empty: the signed-in user.
- Project · Optional
A project the document belongs to.
- Reference · Optional
Your own reference for it (bexio's api_reference, visible only through the API).
- Other Fields · Optional
More of bexio's fields as JSON, such as {"currency_id": 1, "language_id": 1}. A field set above wins.
Get, Issue, Mark as Sent, Cancel and Delete
- Invoice · Required
The invoice's id, or its link from bexio.
Get Many
- Order · Optional
How the list is sorted.
Options: id, ascending, id, descending, total, ascending, total, descending, updated at, ascending, updated at, descending.
Default: id, ascending.
- Return All · Optional
Read every invoice, page by page (at most 5000; past that the step fails rather than stop early).
Off by default.
- Limit · Optional
How many invoices to return (1–5000).
Default: 50.
Shows when Return All is off.
Search
- Field · Required
The field to search by.
Options: document_nr, title, contact_id, kb_item_status_id, api_reference, user_id, total, is_valid_from, is_valid_to, updated_at, id.
Default: document_nr.
- Condition · Optional
How the field is compared.
Options: contains, is, is not, greater than, at least, less than, at most, does not contain, is empty, is not empty.
Default: contains.
- Value · Optional
What to compare with (a date as 2026-11-01, an id as a number). Not needed for is empty / is not empty.
- Return All · Optional
Read every invoice, page by page (at most 5000; past that the step fails rather than stop early).
Off by default.
- Limit · Optional
How many invoices to return (1–5000).
Default: 50.
Shows when Return All is off.
Send by Email
- Invoice · Required
The invoice's id, or its link from bexio.
- To · Required
The recipient's email address.
- Subject · Required
- Message · Required
The email's text. It must hold the placeholder [Network Link], which bexio replaces with the document's link.
Default:
Guten Tag Ihr Dokument finden Sie hier: [Network Link] Freundliche Grüsse- Mark as Open · Optional
Issue the document as it is sent.
On by default.
- Attach the PDF · Optional
On by default.
Download PDF
- Invoice · Required
The invoice's id, or its link from bexio.
- With Letterhead · Optional
Print the PDF on the company's letterhead.
On by default.
Add Payment
- Invoice · Required
The invoice's id, or its link from bexio.
- Amount · Required
The amount paid.
- Payment Date · Optional
When it was paid (2026-11-01). Empty: today.
- Bank Account · Optional
The account it was paid to.
bexio › Quote
Create
- Contact · Required
The customer the quote is for.
- Title · Optional
- Positions · Required
The lines: a free line (text, quantity, price), an article, or a text only.
- Tax · Optional
The sales tax of every line that names none (bexio's active sales taxes).
- Prices · Optional
Whether prices include VAT, exclude it, or are VAT-exempt.
Options: Including VAT, Excluding VAT, Exempt from VAT.
Default: Including VAT.
- Date · Optional
The document's date (2026-11-01). Empty: today.
- Valid Until · Optional
Empty: bexio's default.
- Introduction · Optional
The text above the positions.
- Closing Text · Optional
The text below the positions.
- Responsible User · Optional
Empty: the signed-in user.
- Project · Optional
A project the document belongs to.
- Reference · Optional
Your own reference for it (bexio's api_reference, visible only through the API).
- Other Fields · Optional
More of bexio's fields as JSON, such as {"currency_id": 1, "language_id": 1}. A field set above wins.
Get, Issue, Accept, Decline, Mark as Sent, Create Order, Create Invoice and Delete
- Quote · Required
The quote's id, or its link from bexio.
Get Many
- Order · Optional
How the list is sorted.
Options: id, ascending, id, descending, total, ascending, total, descending, updated at, ascending, updated at, descending.
Default: id, ascending.
- Return All · Optional
Read every quote, page by page (at most 5000; past that the step fails rather than stop early).
Off by default.
- Limit · Optional
How many quotes to return (1–5000).
Default: 50.
Shows when Return All is off.
Search
- Field · Required
The field to search by.
Options: document_nr, title, contact_id, kb_item_status_id, user_id, total, is_valid_from, is_valid_until, updated_at, id.
Default: document_nr.
- Condition · Optional
How the field is compared.
Options: contains, is, is not, greater than, at least, less than, at most, does not contain, is empty, is not empty.
Default: contains.
- Value · Optional
What to compare with (a date as 2026-11-01, an id as a number). Not needed for is empty / is not empty.
- Return All · Optional
Read every quote, page by page (at most 5000; past that the step fails rather than stop early).
Off by default.
- Limit · Optional
How many quotes to return (1–5000).
Default: 50.
Shows when Return All is off.
Send by Email
- Quote · Required
The quote's id, or its link from bexio.
- To · Required
The recipient's email address.
- Subject · Required
- Message · Required
The email's text. It must hold the placeholder [Network Link], which bexio replaces with the document's link.
Default:
Guten Tag Ihr Dokument finden Sie hier: [Network Link] Freundliche Grüsse- Mark as Open · Optional
Issue the document as it is sent.
On by default.
- Attach the PDF · Optional
On by default.
Download PDF
- Quote · Required
The quote's id, or its link from bexio.
- With Letterhead · Optional
Print the PDF on the company's letterhead.
On by default.
bexio › Order
Create
- Contact · Required
The customer the order is for.
- Title · Optional
- Positions · Required
The lines: a free line (text, quantity, price), an article, or a text only.
- Tax · Optional
The sales tax of every line that names none (bexio's active sales taxes).
- Prices · Optional
Whether prices include VAT, exclude it, or are VAT-exempt.
Options: Including VAT, Excluding VAT, Exempt from VAT.
Default: Including VAT.
- Date · Optional
The document's date (2026-11-01). Empty: today.
- Valid Until · Optional
Empty: bexio's default.
- Introduction · Optional
The text above the positions.
- Closing Text · Optional
The text below the positions.
- Responsible User · Optional
Empty: the signed-in user.
- Project · Optional
A project the document belongs to.
- Reference · Optional
Your own reference for it (bexio's api_reference, visible only through the API).
- Other Fields · Optional
More of bexio's fields as JSON, such as {"currency_id": 1, "language_id": 1}. A field set above wins.
Get, Create Invoice, Create Delivery and Delete
- Order · Required
The order's id, or its link from bexio.
Get Many
- Order · Optional
How the list is sorted.
Options: id, ascending, id, descending, total, ascending, total, descending, updated at, ascending, updated at, descending.
Default: id, ascending.
- Return All · Optional
Read every order, page by page (at most 5000; past that the step fails rather than stop early).
Off by default.
- Limit · Optional
How many orders to return (1–5000).
Default: 50.
Shows when Return All is off.
Search
- Field · Required
The field to search by.
Options: document_nr, title, contact_id, kb_item_status_id, user_id, total, is_valid_from, is_valid_to, updated_at, id.
Default: document_nr.
- Condition · Optional
How the field is compared.
Options: contains, is, is not, greater than, at least, less than, at most, does not contain, is empty, is not empty.
Default: contains.
- Value · Optional
What to compare with (a date as 2026-11-01, an id as a number). Not needed for is empty / is not empty.
- Return All · Optional
Read every order, page by page (at most 5000; past that the step fails rather than stop early).
Off by default.
- Limit · Optional
How many orders to return (1–5000).
Default: 50.
Shows when Return All is off.
Download PDF
- Order · Required
The order's id, or its link from bexio.
- With Letterhead · Optional
Print the PDF on the company's letterhead.
On by default.
bexio › Article
Create
- Name · Optional
The article's name. Required to create.
- Article Code · Optional
Your own code for it.
- Type · Optional
A physical product or a service. Empty: product when creating.
Options: Product, Service.
- Sale Price · Optional
- Purchase Price · Optional
- Unit · Optional
The unit it is sold in.
- Sales Tax · Optional
The tax it is sold with.
- Description · Optional
- Remarks · Optional
Get and Delete
- Article · Required
The article.
Get Many
- Order · Optional
How the list is sorted.
Options: id, ascending, id, descending, intern name, ascending, intern name, descending.
Default: id, ascending.
- Return All · Optional
Read every article, page by page (at most 5000; past that the step fails rather than stop early).
Off by default.
- Limit · Optional
How many articles to return (1–5000).
Default: 50.
Shows when Return All is off.
Search
- Field · Required
The field to search by.
Options: intern_name, intern_code.
Default: intern_name.
- Condition · Optional
How the field is compared.
Options: contains, is, is not, greater than, at least, less than, at most, does not contain, is empty, is not empty.
Default: contains.
- Value · Optional
What to compare with (a date as 2026-11-01, an id as a number). Not needed for is empty / is not empty.
- Return All · Optional
Read every article, page by page (at most 5000; past that the step fails rather than stop early).
Off by default.
- Limit · Optional
How many articles to return (1–5000).
Default: 50.
Shows when Return All is off.
Update
- Article · Required
The article.
- Name · Optional
The article's name. Required to create.
- Article Code · Optional
Your own code for it.
- Type · Optional
A physical product or a service. Empty: product when creating.
Options: Product, Service.
- Sale Price · Optional
- Purchase Price · Optional
- Unit · Optional
The unit it is sold in.
- Sales Tax · Optional
The tax it is sold with.
- Description · Optional
- Remarks · Optional
bexio › Project
Create
- Name · Optional
Required to create.
- Contact · Optional
The customer. Required to create.
- Status · Optional
The project's status (bexio's project states). Required to create.
- Project Type · Optional
Required to create.
- Start · Optional
2026-11-01.
- End · Optional
- Comment · Optional
- Responsible User · Optional
Empty when creating: the signed-in user.
Get, Archive, Reactivate and Delete
- Project · Required
The project.
Get Many
- Order · Optional
How the list is sorted.
Options: id, ascending, id, descending, name, ascending, name, descending.
Default: id, ascending.
- Return All · Optional
Read every project, page by page (at most 5000; past that the step fails rather than stop early).
Off by default.
- Limit · Optional
How many projects to return (1–5000).
Default: 50.
Shows when Return All is off.
Search
- Field · Required
The field to search by.
Options: name, contact_id, pr_state_id.
Default: name.
- Condition · Optional
How the field is compared.
Options: contains, is, is not, greater than, at least, less than, at most, does not contain, is empty, is not empty.
Default: contains.
- Value · Optional
What to compare with (a date as 2026-11-01, an id as a number). Not needed for is empty / is not empty.
- Return All · Optional
Read every project, page by page (at most 5000; past that the step fails rather than stop early).
Off by default.
- Limit · Optional
How many projects to return (1–5000).
Default: 50.
Shows when Return All is off.
Update
- Name · Optional
Required to create.
- Project · Required
The project.
- Contact · Optional
The customer. Required to create.
- Status · Optional
The project's status (bexio's project states). Required to create.
- Project Type · Optional
Required to create.
- Start · Optional
2026-11-01.
- End · Optional
- Comment · Optional
- Responsible User · Optional
Empty when creating: the signed-in user.
bexio › Timesheet
Create
- Activity · Required
The business activity (Tätigkeit) the time is for.
- Date · Optional
The day worked (2026-11-01). Empty: today.
- Duration · Required
Hours and minutes, such as 01:30.
- Description · Optional
- Billable · Optional
On by default.
- Contact · Optional
- Project · Optional
- User · Optional
Who worked. Empty: the signed-in user.
Get and Delete
- Timesheet · Required
The timesheet entry's id.
Get Many
- Order · Optional
How the list is sorted.
Options: id, ascending, id, descending, date, ascending, date, descending.
Default: id, ascending.
- Return All · Optional
Read every timesheet entry, page by page (at most 5000; past that the step fails rather than stop early).
Off by default.
- Limit · Optional
How many timesheet entrys to return (1–5000).
Default: 50.
Shows when Return All is off.
Search
- Field · Required
The field to search by.
Options: contact_id, pr_project_id, user_id, client_service_id, status_id, id.
Default: contact_id.
- Condition · Optional
How the field is compared.
Options: contains, is, is not, greater than, at least, less than, at most, does not contain, is empty, is not empty.
Default: contains.
- Value · Optional
What to compare with (a date as 2026-11-01, an id as a number). Not needed for is empty / is not empty.
- Return All · Optional
Read every timesheet entry, page by page (at most 5000; past that the step fails rather than stop early).
Off by default.
- Limit · Optional
How many timesheet entrys to return (1–5000).
Default: 50.
Shows when Return All is off.
bexio › Manual Entry
Create
- Date · Optional
The booking date (2026-11-01). Empty: today.
- Debit Account · Required
The account debited (Soll).
- Credit Account · Required
The account credited (Haben).
- Amount · Required
- Description · Optional
- Tax · Optional
A tax on the entry. Empty: none.
- Reference Number · Optional
Empty: bexio's next.
bexio › File
Upload
- File · Required
Upload a file, or switch to an expression to use one from an earlier step (such as {{steps.download.result}}). A receipt or document for bexio's inbox.
bexio › User
Get Me and Get Many
Nothing to fill in.