Bank File
Turn an approved pay run into the file your bank uses to pay everyone.
Posting payroll records what the business owes. The bank file is how it actually pays. It is available from More → Bank file on an approved pay run.
Choosing a format
The dialog lists the bulk-payment formats available for your country, plus Standard CSV, which is always there.
| Format | When to use it |
|---|---|
| A country format | Your bank's own bulk-upload layout, where one is configured for your country. Columns and order match what the bank expects. |
| Standard CSV | Employee, bank, account, net pay — one row per person. Works with any bank template after you map the columns once. |
Standard CSV carries: employee number, employee name, bank name, bank code, beneficiary account name, beneficiary account number, amount, currency, narration.
Bank layouts are configuration, not code. A business anywhere can pay from Trabalance on day one using Standard CSV, and a local format is added as data when one exists for your country.
The preview
Before downloading, the dialog shows exactly what the file will contain — every row, every column, and the total. Nothing is computed here: the amount per person is that person's net pay from the run.
Who is left out, and why
| Reason | Fix |
|---|---|
| No account number on record | Add the account number to the employee record. |
| Zero net pay | Expected for an unpaid period; otherwise check their pay items. |
| Negative net pay | A deduction exceeds the pay. Correct it before the next run. |
Every excluded person is named in the preview with the reason, and the download reports how many were skipped. A bank file that quietly pays fewer people than the payroll says is exactly the failure this prevents — always read the skipped list before you upload.
Downloading
Standard CSV unless your bank has its own layout listed.
Fix anything wrong on the employee record, then reopen the dialog.
A CSV file. Upload it to your bank's bulk-payment portal.
It is a payment instruction for your bank, not a ledger entry. The liability created when you posted the run clears when the payment itself is recorded.
Bank codes
Each row carries the bank code for the employee's bank, resolved from the bank they were given on their record. If a bank name is ambiguous the code is left blank rather than guessed — fill it in on the bank's own template if your bank requires it.