Guide

How DemyTix posts to Bexio

DemyTix reads a receipt or a supplier invoice, you check the fields, and one click books it in Bexio with the right account and the right VAT code. This guide explains each step as the software actually performs it: what you set up once, what happens on every send, and what to do when Bexio says no.

Written by Appogée Sàrl · Last reviewed September 12, 2026

Before you start

Three things are needed. A paid DemyTix plan, because connecting an accounting software is not part of the Free plan. The workspace admin role, because members can scan and review but only an admin connects Bexio and sends entries. And a bexio account you can sign in to, on which you are allowed to grant access to third-party apps.

One workspace connects to one bexio company. A fiduciary therefore uses one workspace per client, each with its own connection, its own account mapping and its own members. If you later connect the same workspace to a different bexio company, DemyTix resets the mappings that pointed at the old one and tells you so.

DemyTix never sees your bexio password: the sign-in happens on bexio's own page, and bexio hands DemyTix a token limited to what the integration needs.

  • Permissions requested from bexio: accounting (to create expenses and bills and read your accounts and tax codes), files (to attach the receipt image), contacts (to read and create supplier contacts), and a refresh token so the connection outlives a session.

Connecting a workspace

Open the workspace, go to its settings and the Accounting section, and press Connect Bexio. You are sent to bexio's own sign-in page, you approve the access, and you come back to DemyTix with the connection listed as Connected, together with the name of the bexio company it points at.

What DemyTix keeps: the access and refresh tokens bexio issued, encrypted, plus the bexio company's id and name. What it does not keep: your password, which bexio never shares with third-party apps.

A connection can break. If you change your bexio password, revoke the app's access in bexio, or bexio stops accepting the token, DemyTix shows a banner, Bexio syncing is paused, and every admin sees a Reconnect Bexio button in the settings. Reconnecting takes the same steps as connecting and keeps all your mappings. A temporary bexio outage is not treated as a broken connection: the send simply fails with bexio's status code, and you retry later.

You can also disconnect deliberately, or tell DemyTix that the workspace uses no accounting software at all. In that second case, reviewed expenses are marked complete without being sent anywhere; the mappings stay saved in case you connect again.

Mapping categories to accounts

Every scan gets one of fifteen expense categories: groceries, meals, transport, office, accommodation, health, shopping, insurance, services, utilities, rent, software, marketing, fees and other. Bexio, on its side, has your chart of accounts. The mapping between the two is set once per workspace, in the Bexio settings.

DemyTix fetches the chart from your bexio company live and groups it the Swiss way, by the first digit of the account number: 1 assets, 2 liabilities, 3 income, 4 cost of materials and goods, 5 personnel expenses, 6 other operating expenses, and so on. For each category, pick the account its expenses should be booked to. There are no preset choices: the mapping is yours, and until a category has an account, sending an expense of that category is refused.

Two refinements save time afterwards. On any ticket you can pick a different account than the category's default; DemyTix calls it the ledger account, and the choice is frozen on the ticket once it is sent. And when you correct a category or an account for a given supplier, DemyTix offers to remember it for that supplier: the next scan from the same supplier arrives with that category and account already set. Only a choice a person confirmed is remembered; DemyTix never promotes its own guess to a rule.

Payment sources work the same way: map each of them (a card, a bank account, cash) to the bexio bank account it corresponds to, so an expense records where the money came from. This mapping is best effort: a missing one never blocks a send.

VAT rates and bexio tax codes

Switzerland has three VAT rates: the standard rate of 8.1%, the reduced rate of 2.6% for food, non-alcoholic drinks, books and a few other goods, and the special rate of 3.8% for accommodation. DemyTix reads the rate printed on the receipt and has to turn it into one of the tax codes configured in your bexio company.

There is no fixed table inside DemyTix. On every send it fetches the tax codes that are active in your bexio company and picks the input-VAT code on materials and services whose rate equals the receipt's rate. In a standard bexio setup these codes are labelled VM81, VM26 and VM38 in German and IPM81, IPM26 and IPM38 in French; DemyTix does not look at the label, only at the rate and the type, so a renamed code still matches.

Two situations are handled on purpose. If your bexio company has no active input-VAT codes at all, which is the case under the net tax rate method (Saldosteuersatz) or when the company is not VAT registered, DemyTix books the expense with no tax code, exactly as bexio's own form does with the choice None. If your company does have input-VAT codes but none at the receipt's rate and no 0% code either, the send is refused with the message VAT with no Bexio match: activate the missing code in bexio's VAT settings and send again.

Foreign receipts follow the last row of the table: their VAT is not recoverable in Switzerland, so they are booked on the 0% code and the gross amount lands on the account.

How a receipt's VAT rate becomes a bexio tax code
Rate on the receiptApplies toCode DemyTix picks
8.1%Most goods and servicesYour active input-VAT code on materials and services at 8.1% (VM81 or IPM81 in a standard setup)
2.6%Food, non-alcoholic drinks, books, medicinesThe same type of code at 2.6% (VM26 or IPM26)
3.8%AccommodationThe same type of code at 3.8% (VM38 or IPM38)
0% or a foreign rateExempt supplies, foreign receipts, rates with no codeYour 0% input-VAT code, so the amount is booked without reclaimable tax

What a send does, step by step

Nothing is posted automatically. A workspace admin opens the reviewed ticket and presses Send to Bexio; members see a note that an admin will do it. Before touching bexio, DemyTix checks the ticket: amount, date and currency are present; the category has an account or the ticket has one of its own; the VAT rate has a code; and for a supplier invoice, a supplier contact and a responsible person are set. Any gap refuses the send before anything is written, so a refused send never leaves a half-made entry in bexio.

A receipt becomes a bexio Expense, paid on the receipt's date. It carries the amount and currency, the account from the mapping, the matched tax code, the receipt image as an attachment, the payee as its title, and the paying bank account when the payment source is mapped. Once created, DemyTix moves it from draft to done. If that last step is refused by bexio, the expense still exists and you finish it there; DemyTix tells you.

A supplier invoice becomes a bexio Bill, always, paid or not, because a received invoice is a creditor document and belongs under Bills. The Bill carries the supplier contact (found in your bexio contacts by IBAN or name, or created if you ask), the responsible person in your company, the bill date, a due date that defaults to the bill date, the invoice number as the vendor reference, one line with the account and the tax code, and the PDF attached. It stays a draft: bexio only lets you delete a bill while it is a draft, and an invoice alone does not prove that it was paid. When you link the receipt that proves the payment, DemyTix books the bill and records the payment for you.

On a Swiss QR-bill, the payment part is authoritative: the creditor's IBAN, name and address, the amount and the currency come from the QR code and are used to find or create the supplier contact.

A receipt in another currency is converted to Swiss francs with the European Central Bank's reference rate of the receipt's date; the rate is shown on the ticket and you can overwrite it before sending. Bexio receives the foreign amount, the rate and the CHF amount. If no rate exists for that day, DemyTix asks you to enter one.

After a successful send, the ticket is marked completed and locked, and it remembers the bexio document it created. A second send is refused, so one receipt can never become two entries. To change a posted entry, edit it in bexio.

When Bexio says no

Every refusal is a message on the ticket, and each one has a cause and a fix.

Refusals, causes and fixes
MessageWhyWhat to do
Required field missingAmount, date or currency is empty (the supplier name too, for an invoice)Fill it on the ticket and send again
Category not mapped. Set up the accounts.The ticket's category has no account and the ticket has no ledger account of its ownMap the category in the Bexio settings, or pick a ledger account on the ticket
VAT with no Bexio match.Your bexio company has input-VAT codes, but none at this rate and no 0% codeActivate the code in bexio's VAT settings, or correct the rate on the ticket
Workspace not connected to Bexio.The connection was never made, was disconnected, or bexio no longer accepts itConnect or reconnect in the workspace settings; your mappings are kept
Select or create a supplier contact first.An invoice needs a creditor and none could be found in bexioPick an existing contact or create one from the ticket
This supplier was matched automatically. Confirm it before sending to Bexio.DemyTix matched the supplier by name, which is a guessConfirm or change the supplier on the ticket
Set your Bexio user in the accounting settings before sending a bill.A bill needs a responsible person, and yours is not mapped to a bexio userMap each member (or a default) in the Bexio settings
Enter the amount actually taken from the paying account before sending to Bexio.The invoice is settled from a foreign-currency account and the debited amount is unknownEnter the debited amount on the ticket
Already exported to Bexio.The ticket already has a bexio documentNothing; edit the entry in bexio if needed
Bexio request failed (HTTP status)Bexio refused or was unreachable; DemyTix shows the status code and never your dataRetry later; for a persistent 4xx, check the entry's values in bexio
Sent to Bexio, but it could not be booked or paid there.The document exists, but bexio refused the booking or the paymentOpen it in bexio and finish it there

Checklist

  • A paid plan and the workspace admin role
  • One workspace per bexio company
  • An account mapped for every category you use
  • Your VAT codes active in bexio (or none at all, under the net tax rate method)
  • For supplier invoices: a supplier contact and a responsible person
  • Review, then Send to Bexio; edit afterwards in bexio

Questions this guide does not answer? Write to us. The security page says where your data goes, and the pricing page which plans include the Bexio connection.