ABA File Format Specification

A complete field-by-field reference for the Australian Bankers Association (ABA) direct entry file format. Covers all three record types, exact byte positions, common mistakes, and bank-specific requirements.

120 characters per line 3 record types Amounts in cents DDMMYY date format

What is an ABA file?

An ABA file (also called a Cemtex file or Direct Entry file) is a plain-text batch payment format used by Australian banks to process bulk electronic payments. It's named after the Australian Bankers' Association, which defined the standard.

Businesses use ABA files to send payroll, supplier payments, refunds, and any other batch of electronic funds transfers (EFT) to their bank in a single upload rather than entering payments one by one. Most major Australian banks accept ABA files via their business banking portals (e.g. ANZ Internet Banking for Business, CommBiz, NABConnect, Westpac Live).

The format is a fixed-width ASCII text file where every line is exactly 120 characters long, terminated by a carriage return and line feed (\r\n). The structure dates back to 1970s mainframe and punch-card conventions — the 120-character line width is a direct legacy of that era.

File structure

Every ABA file contains exactly three types of records, always in this order:

Type 0

Descriptive Record

Exactly one per file

Identifies the file: your bank, company name, APCA User ID, and processing date.

Type 1

Detail Record

One per payment

One line per payment: recipient BSB, account number, name, amount, and your reference.

Type 7

File Total Record

Exactly one per file

Totals: net amount, credit total, debit total, and count of detail records.

Type 0

Descriptive Record (Header)

One header per file. This record identifies who is sending the file, what it's for, and when it should be processed. The financial institution code in positions 21–23 must match your bank.

Position Length Field Format Notes
1 1 Record type "0" Always the character 0
2–18 17 Blank Spaces Reserved — must be spaces
19–20 2 Reel sequence number "01" Usually "01"; increment for multi-reel files
21–23 3 Financial institution code Alpha Your bank's 3-letter code — e.g. ANZ, WBC, NAB, CBA
24–30 7 Blank Spaces Reserved — must be spaces
31–56 26 User preferred specification Alpha Your company or user name, left-justified, space-padded
57–62 6 User identification number Numeric Your APCA User ID — 6 digits, right-justified, zero-filled
63–74 12 Description of entries Alpha e.g. "Payroll" or "Creditors" — left-justified
75–80 6 Date to be processed DDMMYY Processing date — not YYYYMMDD
81–84 4 Time to be processed HHmm Optional — leave blank if not required
85–120 36 Blank Spaces Reserved — must be spaces
Type 1

Detail Record (Transaction)

One detail record per payment. There's no hard limit on the number of records per file — most banks accept hundreds or thousands. The amount is always in cents as a zero-padded 10-digit integer.

Position Length Field Format Notes
1 1 Record type "1" Always the character 1
2–8 7 BSB of recipient XXX-XXX Hyphen at position 5 is mandatory — e.g. 063-000
9–17 9 Account number Numeric Right-justified, blank-filled — up to 9 digits
18 1 Indicator Space / N / W / X / Y Space = no withholding. N, W, X, Y indicate different tax withholding scenarios
19–20 2 Transaction code Numeric 13 = externally initiated debit, 50 = general credit, 53 = payroll credit, 54 = pension
21–30 10 Amount Numeric In CENTS — right-justified, zero-filled. $1,500.00 = 0000150000
31–62 32 Title of account Alpha Recipient account name — left-justified, space-padded. Max 32 chars; uppercase recommended
63–80 18 Lodgement reference Alpha Payment reference shown on recipient's statement — left-justified. Max 18 chars
81–87 7 Trace BSB XXX-XXX Your (sender's) BSB — hyphen mandatory
88–96 9 Trace account number Numeric Your (sender's) account number — right-justified
97–112 16 Name of remitter Alpha Your company name as it appears on sender's statement — left-justified
113–120 8 Withholding tax amount Numeric Zero-filled if no withholding tax applies

Transaction codes

50
General credit

Most common — standard EFT payment to a supplier, employee, or individual

53
Payroll credit

Use for payroll payments — may affect how the payment is categorised by the recipient's bank

54
Pension credit

Used for pension, superannuation, or annuity payments

13
Externally initiated debit

Direct debit — debits the recipient's account. Requires a direct debit authority.

Type 7

File Total Record (Footer)

One footer per file, always the last record. The bank uses this to verify the file wasn't corrupted in transit. If the totals don't match the sum of the detail records, the file is rejected. All totals are in cents.

Position Length Field Format Notes
1 1 Record type "7" Always the character 7
2–8 7 BSB format filler "999-999" Always the literal string 999-999
9–20 12 Blank Spaces Reserved — must be spaces
21–30 10 Net total amount Numeric Absolute difference between total credits and total debits, in cents
31–40 10 Credit total amount Numeric Sum of all credit transaction amounts, in cents
41–50 10 Debit total amount Numeric Sum of all debit transaction amounts, in cents
51–74 24 Blank Spaces Reserved — must be spaces
75–80 6 Count of Type 1 records Numeric Total number of detail records — right-justified, zero-filled
81–120 40 Blank Spaces Reserved — must be spaces
Net total explained: The net total is the absolute difference between total credits and total debits — not the sum. If your file has $10,000 in credits and $0 in debits, the net total is $10,000. If it has $10,000 in credits and $10,000 in debits (a self-balancing file), the net total is $0.

Example ABA file

Below is a minimal valid ABA file with one payroll payment of $1,500.00. Every line is exactly 120 characters. Spaces are used to pad each field to its required width.

payroll_270326.aba
0                 01ANZ       ACME PTY LTD              000000Payroll 270326
1063-000 12345678 5300000150000JOHN SMITH                    MARCH PAYROLL     063-000 87654321ACME PTY LTD    00000000
7999-999            0000000150000000000150000000000000000                      000001                                  
            
Line 1: Header — institution ANZ, company ACME PTY LTD, process date 27/03/26
Line 2: Detail — BSB 063-000, payroll code 53, amount $1,500.00 (150000 cents)
Line 3: Footer — credit total $1,500.00, record count 1

Common mistakes

These are the errors that cause most ABA file rejections — either at upload time or when the bank processes the file.

Lines are not exactly 120 characters

The ABA format is a fixed-width format inherited from 1970s punch cards. Every line — header, detail, and footer — must be padded to exactly 120 characters. Even one character over or under will cause the file to be rejected.

Amount entered in dollars, not cents

The amount field stores cents as an integer. $1,500.00 must be written as 0000150000 — not 0000001500. This is the most common silent error; the file looks valid but payments are for the wrong amounts.

Wrong date format

The date field uses DDMMYY — not YYYYMMDD, not DD/MM/YYYY. 27 March 2026 is 270326. Submitting a file with the wrong date format can cause the bank to process on the wrong date or reject the file.

BSB without the hyphen

The BSB field is 7 characters wide and always formatted as XXX-XXX. The hyphen at position 4 is part of the format. 063000 is wrong; 063-000 is correct.

Account name over 32 characters

The account name field is exactly 32 characters. Names longer than 32 characters must be truncated, not wrapped. If your software silently truncates mid-word, the name on the recipient's statement may look garbled.

Lodgement reference over 18 characters

The reference field is 18 characters. Anything past character 18 is silently dropped. Keep references short or they'll appear truncated on the recipient's bank statement.

Non-ASCII characters in name fields

ABA files use 7-bit ASCII. Characters like é, ü, —, or ‘ (curly apostrophe) are not valid and will cause encoding errors or rejection. Replace accented characters with their ASCII equivalents and use straight apostrophes.

Missing self-balancing record for Westpac

Westpac and some of its sub-brands (St George, Bank of Melbourne, BankSA) require a self-balancing file. This means adding an extra detail record that debits the same account you're paying from, equal to the total credits. Without it, the file is rejected.

Which banks accept ABA files?

All major Australian banks accept ABA files for bulk payment uploads. Most require you to have a business transaction account and register for their business banking portal first.

Bank Institution code Notes
ANZ ANZ Standard ABA spec. No known quirks.
NAB NAB Standard ABA spec. Uses your APCA User ID.
Commonwealth Bank CBA Upload via CommBiz. Standard spec.
Westpac WBC Often requires a self-balancing file — a debit record equal to the total credits.
St George / Bank of Melbourne / BankSA STG / BOM / BSA Same file format as Westpac. Institution code varies by brand.
Bank of Queensland BQL Standard ABA spec.
Bendigo Bank BEN Standard ABA spec.
Suncorp MET Contact Suncorp to confirm your APCA User ID before first submission.
Macquarie Bank MBL Requires a valid APCA User ID — 000000 is not accepted.
ING ING Standard ABA spec.
Bankwest BWA Standard ABA spec.

Institution codes are the 3-letter abbreviations used in the header record (positions 21–23). Always confirm the code with your bank if you're unsure.

Quick rules summary

Every line is exactly 120 characters

Padded with spaces — never shorter or longer

Amounts are in cents

$1,500.00 → 0000150000 (zero-padded, 10 digits)

Date format is DDMMYY

27 March 2026 → 270326 (not 20260327)

BSB includes the hyphen

063-000 not 063000 — always 7 characters

Account name max 32 chars

Truncate if longer — do not wrap to next field

Lodgement reference max 18 chars

Appears on the recipient's statement

ASCII characters only

No accented letters, smart quotes, or em dashes

Footer totals must match detail records

Bank re-calculates and rejects on mismatch

Ready to create your ABA file?

Upload your spreadsheet, map your columns, and download a bank-ready ABA file in under 30 seconds. Your data never leaves your browser.

Create ABA file — free

Free up to 3 rows · No account needed · Data stays in your browser