Skip to content

app.rombro.ch has become importly.ch.

Learn more
Back to Blog
Accounting

Import Twint merchant exports into bexio with importly

· by Importly Team

A Twint merchant export is not a bank statement. It lists your customers’ individual payments – but at that point the money is still with Twint. Only later does Twint transfer the collected amount to your bank account, minus its commission.

That’s why you post Twint through a receivables account: every payment creates a receivable from Twint, and the payout settles that receivable again.

How Twint is posted

WhenWhat happensEntry
Customer pays with TwintA receivable from Twint arisesTwint receivables to revenue
Twint pays out to the bank accountThe receivable is settledBank to Twint receivables
Twint withholds the commissionAn expense arisesCommission expense to revenue

You need these three accounts in your chart of accounts:

AccountPurposeExample
Twint receivablesThe transfer account between payment and payout1102
Revenue accountYour revenue3200
Commission expenseThe commission Twint withholds6941

The receivables account is the core: the payment date and the payout date don’t coincide, and Twint bundles several payments into one transfer. The receivables account is where you reconcile the two – at the end of a period, it has to balance.

Important: the amount column is net

The Betrag Transaktion (CHF) column contains the amount after the commission is deducted – in other words, what Twint pays out to you. What your customer paid is not in the file:

Customer pays 50.00 → transaction costs 0.65 → transaction amount 49.35

The gross revenue is therefore transaction amount + transaction costs. That’s why the commission needs an entry of its own – otherwise you understate your revenue.

Step 1: Get the export from the Twint merchant portal

  1. Log in to the Twint merchant portal.
  2. Switch to the transaction overview.
  3. Choose the export function and CSV as the format.
  4. Set the period to match your payout period and download the file.

Choose the period so that it corresponds to one payout. That way, the receivables account can be reconciled cleanly.

The export starts with a preamble: details about the selected period and a summary with the period’s totals, including the total transaction costs. You’ll need those later for the commission entry – so don’t delete the preamble.

Step 2: Create a template – once

importly doesn’t recognize Twint merchant exports on its own, because they aren’t a bank statement. You create your own template for them once; after that, it’s recognized automatically with every further export.

  1. Open the entries table in importly and drag the CSV file onto the page.
  2. Choose Create / edit template.
  3. First check the header row and the first data row. Because of the preamble, the column names are not at the very top. importly usually suggests the right rows itself – check it against the preview.
  4. Set the date format to YYYY.MM.DD and the decimal separator to a period.
  5. Map the fields:
Field in importlySetting
DateDatum column
AmountBetrag Transaktion (CHF) column
DescriptionPattern from Typ and Bezeichnung in der Abrechnung
Document NumberTWINT Order ID column
Debit (account)Fixed value: your receivables account, for example 1102
Credit (account)Fixed value: your revenue account, for example 3200
  1. Give the template a name, for example Twint merchant export, and save it.

If you’d rather assign the revenue through your rules, leave Credit (account) empty. The receivables account in debit, however, should stay fixed – it’s the same for every row.

Step 3: Import

  1. Drag the CSV file onto the entries table.
  2. importly shows your saved template as the detected format. If something doesn’t match, pick a different format in the Detected format field or create a new template via Create / edit template.
  3. Check the preview and click Import.

Because the template sets debit and credit to fixed values, importly doesn’t ask for a bank account.

What importly does with each column

Column in the exportField in importly
DatumDate
Betrag Transaktion (CHF)Amount, net after commission
TypDescription
Bezeichnung in der AbrechnungDescription, can be inserted via the pattern fields
TWINT Order IDDocument Number
Transaktionskosten (CHF)not imported, see below
Rabatt (CHF)not imported
Vorname und NachnameCounterparty, can be inserted via the pattern fields
Zeit, Status, Niederlassung, Terminal IDnot imported

There are amount columns per currency – EUR and USD in addition to CHF.

Posting the commission

The import brings in the net amounts. So that your gross revenue is right and the expense shows up, you post the commission once per period:

Commission expense to revenue for the sum of the transaction costs

You take the sum from the summary at the top of the export. After this entry, your revenue matches what your customers actually paid, and the commission is recorded as an expense.

Discuss the VAT treatment of this entry with your fiduciary – it depends on how you tax your revenue.

Posting and reconciling the payout

The transfer from Twint appears on your bank statement as one row. You post it:

Bank to Twint receivables

The amount corresponds to the sum of the imported net amounts for the period. If the receivables account then goes to zero, everything adds up. If a balance remains, the open amounts belong to payments Twint hasn’t paid out yet – they clear with the next payout.

If something doesn’t work

The receivables account doesn’t go to zero The most common cause: the exported period doesn’t match the payout period. Check whether payments made shortly before the end of the period only arrive with the next payout. Refunds and discounts also shift the balance – the Rabatt (CHF) column is not taken into account during the import.

The revenue is too low Then the commission entry is missing. The amount column in the export is net.

The template is not recognized If Twint changes the export layout, the saved template no longer fits. Open it via Create / edit template and check the header row and the column mapping.

Rows are missing You can spot payments that aren’t completed by the Status column. In addition, an import can contain at most 5,000 rows – with many small amounts, that limit is reached sooner than you’d think.

Umlauts are displayed incorrectly Import the file exactly as you downloaded it. If it’s opened in Excel and re-saved along the way, the character encoding is often lost.

Ready to supercharge bexio?

Start with Importly today and unlock expert mode for bexio.

Start for free