ABA File Format Specification
The ABA file — also called Direct Entry or Cemtex — is the fixed-width 120-character text format Australian banks accept for batch electronic-funds-transfer payments. Every record is exactly 120 characters; a file has one Type 0 descriptive header, one or more Type 1 detail records, and one Type 7 totals record.
ABA vs Cemtex vs Direct Entry — what's the difference?
All three terms refer to the same format. “ABA” comes from the Australian Bankers' Association, which published the specification. “Cemtex” was the trade name of the original 1980s software that popularised the format. “Direct Entry” is the name the Reserve Bank of Australia and most banks use in their official documentation. All three produce the same 120-character fixed-width file and are accepted by every major Australian financial institution.
File structure
- Plain text, fixed-width, exactly 120 characters per line.
- Line terminator: CRLF (carriage-return + line feed).
- File extension:
.aba(some banks accept.txt). - Record order: one Type 0 descriptive record · one or more Type 1 detail records · one Type 7 file-total record.
- Unused or optional fields are filled with spaces (alphanumeric) or zeros (numeric). Never leave a field short.
Type 0 — Descriptive header
Exactly one Type 0 record per file. It carries the originator's user name, three-letter FI (bank) code, six-digit APCA number, file description, and the processing date as DDMMYY.
| Position | Length | Field | Notes |
|---|---|---|---|
| 1 | 1 | Record type | Always 0 |
| 2 | 17 | Blank | Spaces |
| 19 | 3 | FI code | 3-letter APCA code, e.g. WBC |
| 22 | 6 | APCA user ID | Right-justified, zero-padded; blank → 000000 |
| 28 | 26 | User name | Your business name |
| 54 | 12 | File description | e.g. PAYROLL |
| 66 | 6 | Processing date | DDMMYY format |
| 72 | 40 | Blank | Spaces |
| 112 | 8 | Undefined | Some banks use for sequence number |
Type 1 — Detail record
One per payment. Carries the recipient BSB (NNN-NNN), account number, transaction code, amount in cents, recipient account name, lodgement reference, and originator (trace) BSB / account / remitter name.
| Position | Length | Field | Notes |
|---|---|---|---|
| 1 | 1 | Record type | Always 1 |
| 2 | 7 | BSB | NNN-NNN format |
| 9 | 9 | Account number | Right-justified, blank-padded |
| 18 | 1 | Indicator | Blank / N / W / X / Y |
| 19 | 2 | Transaction code | See transaction codes section |
| 21 | 10 | Amount | Cents, right-justified, zero-padded |
| 31 | 32 | Account name | Left-justified, space-padded |
| 63 | 18 | Lodgement reference | Payment reference on statement |
| 81 | 7 | Trace BSB | Originator's BSB |
| 88 | 9 | Trace account | Originator's account number |
| 97 | 16 | Remitter name | Originator's short name |
| 113 | 8 | Withholding tax | Cents; 00000000 if none |
Type 7 — File total
Exactly one Type 7 record per file, always last. Carries the authoritative credit, debit, and net totals (in cents) plus the count of Type 1 detail records. Banks reject files where the totals or count do not reconcile with the detail rows.
| Position | Length | Field | Notes |
|---|---|---|---|
| 1 | 1 | Record type | Always 7 |
| 2 | 7 | BSB | Always 999-999 |
| 9 | 12 | Blank | Spaces |
| 21 | 10 | Net total | Cents, absolute value |
| 31 | 10 | Credit total | Sum of all credit-type amounts |
| 41 | 10 | Debit total | Sum of all debit-type amounts |
| 51 | 24 | Blank | Spaces |
| 75 | 6 | Record count | Count of Type 1 rows |
| 81 | 40 | Blank | Spaces |
Transaction codes
| Code | Meaning |
|---|---|
| 13 | General Debit |
| 50 | General Credit |
| 53 | Payroll (most common for salary payments) |
| 54 | Pension |
| 55 | Allotment |
| 56 | Dividend |
| 57 | Debenture Interest |
Balancing / contra record
When a file must net to zero, append one extra Type 1 record with transaction code 13 that debits the originator's own account by the total of all credit rows. The Type 7 then shows credit total = debit total and net total = 0. BOQ requires this; most other banks leave it optional. The balancing record is toggled via the “Add a balancing record” checkbox in the Advanced Settings section of any conversion tool on this site.
How to create an ABA file
There are three ways to create an ABA file:
- From a CSV — If your payroll software exports a CSV, use the CSV to ABA Converter.
- From Excel — If your export is an .xlsx or .xls workbook, use the Excel to ABA Converter.
- From scratch — For a small number of ad-hoc payments, use the ABA File Generator to enter them directly.
To check an existing ABA file, use the ABA File Validator. To fix individual rows, use the ABA File Editor.
Frequently asked questions
What is an ABA file?
An ABA file is the fixed-width 120-character text format Australian banks use for batch electronic-funds-transfer payments. It dates from punch-card systems and is sometimes called the Direct Entry or Cemtex format.
What does ABA stand for?
ABA stands for Australian Bankers' Association — the body that originally published the direct-entry specification. The format is also referred to as Direct Entry (the Reserve Bank's preferred term) or Cemtex (an older trade name).
Which banks accept ABA files?
Every major Australian bank accepts the ABA format, including CBA, Westpac, ANZ, NAB, Macquarie, Bendigo, ING, Suncorp, BOQ, and Bankwest.
What does each record type contain?
Type 0 (the descriptive header) carries the originator's user name, FI code, APCA number, file description, and processing date. Type 1 records (one per payment) carry BSB, account, amount, name, lodgement reference, and trace information. Type 7 (the file total) carries the credit total, debit total, net total, and record count.
What is a balancing (contra) record?
A balancing record is an optional extra Type 1 record at the end of the file that debits the originator's own account by the total of all credit rows, so the file's credit total equals its debit total. BOQ requires it; most other banks make it optional.
What is the file extension for an ABA file?
The standard extension is .aba. Some banks and software use .txt, which contains the same format. Both work with Australian bank portals.
How do I validate an ABA file?
Use the ABA File Validator on this site. It checks every field against the full direct-entry specification and reports each error with the exact row and field.
Are ABA files the same as BECS files?
BECS (Bulk Electronic Clearing System) is the underlying payment rail that Australian banks use to process batch payments; ABA is the file format used to submit those payments to BECS. In everyday usage, 'ABA file' and 'BECS file' are often used interchangeably by bank portals.