Thursday 8 January 2009

ABA bank payment file format (Australian Bankers Association) - Field Definitions and Sizes

I'm currently working on a payroll application for a large Australian engineering firm. As part of this, I need to export files for processing in the Australian defacto standard for Electronic Funds Transfer (EFT) files - the ABA format. If the file doesn't go through, hordes of angry engineers and mine workers won't get paid - so it is important that the file format of these files is in order.

So where does this fixed width .ABA file format come from? The Australian Bankers' Association is the national organisation of licensed banks in Australia, ranging from traditional retail, trading bank-style organisations to regional banks, foreign and wholesale banks.

These Banks (including the "Big Four", namely National Australia Bank (NAB), The Commonwealth Bank of Australia (CBA), Australia and New Zealand Banking Group (ANZ) and Westpac Banking Corporation (WBC)) reached agreement on a file format for Electronic Funds Transfers (EFT).

I presume for legacy reasons that the chief solutions architects at the banks chose a fixed width file format rather something more advanced like XML with XSD schema definitions (which would allow a simpler process for file format validation and improved readability). I suppose that readability isn't one of the primary goals for these "system generated" files.

Seeing as we are stuck with the format for now, I often have a hard time finding format definition for these files. e.g. the main ABA website doesn't seem to have it documented in any part of their site - http://www.bankers.asn.au/. Instead, for future reference, I've detailed the (.ABA) file format below with a list of the fields and dimensions of these fields:

1. Definitions


Commonly used terms associated with file formatting and their definitions are as follows:

  1. Left justified - start input in the first character position of that field
  2. Right justified - end input in the last character position of that field
  3. Blank filled - fills the unused portion of that field with blank spaces
  4. Zero filled - fills the unused portion of that field with zeros
  5. Unsigned - used in amount fields. Amounts will not be specified as debit or credit.




2. Header Record Definition ('0' record) (just the first line):
































































Character PositionField sizeField descriptionSpecification
1 1 Record Type 0 Must be '0'
2-18 17 Blank Must be blank filled.
19-20 2 Reel Sequence Number Must be numeric
commencing at 01. Right justified. Zero filled
21-23 3 Name of User's Financial
Institution
Must be approved
Financial Institution abbreviation. Westpac's abbreviation is "WBC".
24-30 7 Blank Must be blank filled.
31-56 26 Name of User supplying file
Must be User Preferred
Specification as advised in Application. Left justified, blank filled. All
coded character set valid. Must not be all blanks.
57-62
6Number of User supplying
file

Must be User
Identification Number which is allocated by APCA. Must be numeric, right
justified, zero filled.
63-74 12 Description of entries on
file e.g. "PAYROLL"

All coded character set
valid. Must not be all blanks. Left justified, blank filled.
75-80 6Date to be processed
(i.e. the date transactions are released to all Financial Institutions)


Must be numeric in the
format of DDMMYY. Must be a valid date. Zero filled.
81-120 40Blank
Must be blank filled.





3. Detail Record ('1' record)






























































































Character PositionField sizeField description Specification
1 1 Record Type 1 Must be '1'
2-8 7 Bank/State/Branch Number Must be numeric with a
hyphen in character position 5. Character positions 2 and 3 must equal
valid Financial Institution number. Character position 4 must equal a
valid State number (0-9).
9-17 9 Account number to be
credited/debited
Numeric, hyphens and blanks
only are valid. Must not contain all blanks or zeros. Leading zeros which
are part of a valid account number must be shown, e.g. 00-1234. Westpac
recommends that (except in the above example), ALL hyphens are edited out.
Where account number exceeds nine characters, edit out hyphens. Right
justified, blank filled.
18 1 Indicator "N" -for new or varied
Bank(FI)/State/Branch number or name details, otherwise blank filled.
Withholding Tax Indicators: "W" -dividend paid to a resident of a country
where a double tax agreement is in force. "X" -dividend paid to a resident
of any other country. "Y" -interest paid to all non-residents The amount
of withholding tax is to appear in character positions
113-120. Note: Where withholding tax has been deducted the appropriate
Indicator as shown above is to be used and will override the normal
indicator.
19-20 2 Transaction Code Must only be valid
industry standard trancodes (see list). Only numeric valid.
21-30 10 Amount Only numeric valid. Must
be greater than zero. Shown in cents without punctuations. Right
justified, zero filled. Unsigned.
31-62 32 Title of Account to be
All coded character set
valid. Must not be all blanks.
credited/debited Left justified, blank
filled. Desirable format: - surname (period) blank
- given names with blank
between each name
63-80 18 Lodgement Reference All coded character set
valid. Reference as submitted by the User indicating details of the origin
of the entry e.g. Payroll number, invoice, contract number.
Left justified, blank
filled. Must not contain all blanks.
81-96 (81-87) 16Trace Record (-BSB Number
in format XXX-XXX)
Bank(FI)/State/Branch and
account number of User to enable retracing of the entry to its source if
necessary. Only numeric and hyphens valid. Character positions 81 & 82
must equal a valid Financial Institution number. Character position 83
must equal a valid State number (0-9). Character position 84 must be a
hyphen.
(88-96) 9 (-Account Number) Right justified, blank
filled.
97-112 16 Name of Remitter Name of originator of the
entry. This may vary from Name of the User. All coded character set valid.
Must not contain all blanks. Left justified, blank filled.
113-8 Amount of Numeric only valid. Show
in cents without punctuation.
120 Withholding Tax Right justified, zero
filled. Unsigned.



4. File Total Record ‘7’ (Trailer)


























































Character
Position
Field sizeField description Specification
1 1 Record Type 7 Must be '7'.
2-8 7 BSB Format Filler Must be '999-999'.
9-20 12 Blank Must be blank filled.
21-30 10 File (User) Net Total Amount
Numeric only valid. Must
equal the difference between File Credit & File Debit Total Amounts.
Show in cents without punctuation. Right justified, zero filled. Unsigned.
31-40 10 File (User) Credit Total
Amount
Numeric only valid. Must
equal the accumulated total of credit Detail Record amounts. Show in cents
without punctuation. Right justified, zero filled. Unsigned.
41-50 10 File (User) Debit Total
Amount
Numeric only valid. Must
equal the accumulated total of debit Detail Record amounts. Show in cents
without punctuation. Right justified, zero filled. Unsigned.
51-74 24 Blank Must be blank filled.
75-80 6 File (User) count of
Records Type 1
Numeric only valid. Must
equal accumulated number of Record Type 1 items on the file. Right
justified, zero filled.
81-120 40 Blank Must be blank filled.


5. Direct Entry Transaction Codes











































13Externally initiated
debit items
50Externally initiated
credit items with the exception of those bearing Transaction Codes
51-57 inclusive
51Australian Government
Security Interest
52Family Allowance
53Pay
54Pension
55Allotment
56Dividend
57Debenture/Note Interest


30 comments:

Unknown said...

Thanks... it is hard to find!

Anonymous said...

is there a sample output file, that you wouldn't mind posting please?

Anonymous said...

Do you know if you cab create a file as text and then just save it as ".aba"?

Evan said...

thanks - I only found out today (since our payroll guy left) that he was using an old piece of software to generate the file geniusmaster pay

so now I will simply recode it in .net and give it back to accounts.

this takes me back to the old TAPEs with fixed length records etc, even block sizes :))

MiaMenz said...

David, you rock!
I've been looking for an excel spreadsheet (or .csv) to .aba file converter. Know of any productised solution?

Anonymous said...

[url=http://firgonbares.net/][img]http://firgonbares.net/img-add/euro2.jpg[/img][/url]
[b]sell software in, [url=http://firgonbares.net/]store integration software[/url]
[url=http://firgonbares.net/][/url] purchase gps software adobe photoshop cs4 download
selling software that [url=http://firgonbares.net/]discount childrens software[/url] photoshop illustrator & indesign version cs3 for mac
[url=http://firgonbares.net/]student software microsoft[/url] quarkxpress
[url=http://firgonbares.net/]adobe photoshop cs4 manual downloads[/url] adobe software packages
filemaker pro vs access [url=http://firgonbares.net/]windows xp home[/b]

Anonymous said...

Hello !.
You may , probably very interested to know how one can collect a huge starting capital .
There is no initial capital needed You may start to receive yields with as small sum of money as 20-100 dollars.

AimTrust is what you thought of all the time
The company represents an offshore structure with advanced asset management technologies in production and delivery of pipes for oil and gas.

It is based in Panama with structures around the world.
Do you want to become a happy investor?
That`s your choice That`s what you wish in the long run!

I`m happy and lucky, I started to get real money with the help of this company,
and I invite you to do the same. It`s all about how to select a proper partner utilizes your money in a right way - that`s the AimTrust!.
I earn US$2,000 per day, and my first investment was 500 dollars only!
It`s easy to start , just click this link http://tydarogan.virtue.nu/guzoqus.html
and lucky you`re! Let`s take our chance together to feel the smell of real money

Anonymous said...

Good day !.
You re, I guess , perhaps very interested to know how one can collect a huge starting capital .
There is no need to invest much at first. You may start to get income with as small sum of money as 20-100 dollars.

AimTrust is what you thought of all the time
The firm incorporates an offshore structure with advanced asset management technologies in production and delivery of pipes for oil and gas.

Its head office is in Panama with structures around the world.
Do you want to become a happy investor?
That`s your choice That`s what you really need!

I feel good, I began to take up income with the help of this company,
and I invite you to do the same. If it gets down to select a proper companion who uses your money in a right way - that`s AimTrust!.
I make 2G daily, and what I started with was a funny sum of 500 bucks!
It`s easy to join , just click this link http://jidatagug.uvoweb.net/vucode.html
and lucky you`re! Let`s take this option together to feel the smell of real money

Anonymous said...

Hi !.
You re, I guess , probably curious to know how one can collect a huge starting capital .
There is no initial capital needed You may commense to receive yields with as small sum of money as 20-100 dollars.

AimTrust is what you thought of all the time
The company incorporates an offshore structure with advanced asset management technologies in production and delivery of pipes for oil and gas.

Its head office is in Panama with offices around the world.
Do you want to become an affluent person?
That`s your chance That`s what you desire!

I`m happy and lucky, I began to get income with the help of this company,
and I invite you to do the same. It`s all about how to select a proper companion who uses your savings in a right way - that`s AimTrust!.
I make 2G daily, and my first investment was 500 dollars only!
It`s easy to get involved , just click this link http://iryvomozam.ibnsites.com/ofegogu.html
and go! Let`s take this option together to feel the smell of real money

Anonymous said...

Good day !.
might , perhaps curious to know how one can reach 2000 per day of income .
There is no initial capital needed You may start earning with as small sum of money as 20-100 dollars.

AimTrust is what you thought of all the time
The firm incorporates an offshore structure with advanced asset management technologies in production and delivery of pipes for oil and gas.

It is based in Panama with structures around the world.
Do you want to become really rich in short time?
That`s your choice That`s what you wish in the long run!

I`m happy and lucky, I started to take up real money with the help of this company,
and I invite you to do the same. If it gets down to choose a proper partner utilizes your money in a right way - that`s it!.
I make 2G daily, and my first investment was 500 dollars only!
It`s easy to get involved , just click this link http://ikazabylu.ibnsites.com/vowylym.html
and lucky you`re! Let`s take this option together to feel the smell of real money

toby said...

Brilliant, thanks so much. Really appreciated your work putting this together. Especially now you're really rich, according to previous comments. Hmm.

Unknown said...

Hey David,
Thanks mate! Great article. Good to see people sharing their knowledge. I am working with bank files too and just wondering, do you know if the ABA files are equivalent to an APCA file?

Unknown said...
This comment has been removed by the author.
Unknown said...

Awesome, thanks for the info, I've also written up a quick tutorial and online aba file generator which your readers may be interested in!

Cav said...

Fellow Googlers, there is more information on aba files at http://www.bluechilli.com/software/apps/cemtex-aba-file/aba-file-format.html

Kamran Channa said...

Most banks also publish format specifications which they are happy to share with their customers.

Barrie Fairhurst said...

Thanks for putting this online - I'm a software consultant from UK working in WA and struggle to get this type of information from banks - seems a common gripe around the world.

kiwilatina said...

Hi David
Have you created a software that will convert from Excel or csv to aba?
If so my company may be interested in buying a copy.

Thanks & regards,
Maribel

Unknown said...
This comment has been removed by the author.
Unknown said...

Hi David,

I am having a hard time creating a .aba file. I am not getting the formation. Suppose, csv files have (,) or (;) etc to separate fields. Whereas .aba file has a space or what ? Also this .aba file has 3 sections (?!?). That makes no distinction of when is one section ending. And I didn't also find a sample file. Can you please help me with it ? If you have or can create a sample file for me would be pretty easy to understand it.

Thank you,

Unknown said...

Rubin, aba is a fixed width file format as mentioned in the above post, each section of data is in a specific location on the line and has a fixed width.

I have been putting an aba file together for a company in Aus but i'm based in the UK and i keep getting errors back when they try to process it but i can't see anything wrong with the format of the file, there isn't a specific file name which it has to adhere to that i'm missing is there?

ghr said...

I've just tested some software I wrote to create an ABA-format file. I used some other company's description (cemtex aba) which, as it turns out, is incorrect in the Lodgement reference section: they say "All coded character set valid. Field must be left justified, and contain only the 16 character Employee Benefits Card number; for example 5550033890123456.
No leading spaces, zeroes, hyphens or other characters can be included." (their emphasis)
which, as it turns out, at least for Suncorp, is nonsense.

Thanks to your post I tried 'anything' and it worked.
For Suncorp it can be all blanks.

Mysterious Mr P said...

If anyone is still looking there is a downloadable converter available at http://callidex.com/blog/2012/08/20/aba-file-generator-for-payroll/

21st Century Software Solutions said...

Biztalk server online training - 21st Century Software Solutions
http://www.21cssindia.com/courses/biztalk-server-online-training-213.html
à°ˆ à°ªేà°œీà°¨ి à°…à°¨ువదింà°šు
biztalk server online training, biztalk server training, biztalk server online training visakhapatnam, biztalk 2010 online training, microsoft biztalk online training, ...
Biztalk admin online training - 21st Century Software Solutions
http://www.21cssindia.com/courses/biztalk-admin-online-training-220.html
à°ˆ à°ªేà°œీà°¨ి à°…à°¨ువదింà°šు
biztalk admin online training, biztalk admin training, biztalk server online training, biztalk server training, biztalk admin course contents, biztalk admin enquiry, .Courses at 21st Century Software Solutions
Talend Online Training -Hyperion Online Training - IBM Unica Online Training -
Siteminder Online Training - SharePoint Online Training - Informatica Online Training
SalesForce Online Training - Many more… | Call Us +917386622889
Visit: http://www.21cssindia.com/courses.html

Megha L S said...

Hi,
I had query about the ABA file. If an ABA file has payments to multiple vendors, it still shows up as one bulk payment on the bank statement. Is there any way to modify this default behaviour to make each payment in the ABA file to show up individually on the bank statement?

TimBowers said...

Hi naturally like your web site however you have to test the spelling on quite a few of your posts. A number of them are rife with spelling issues and I to find it very bothersome to inform the reality on the other hand I’ll definitely come again again.
Aba File Format

Ram said...
This comment has been removed by the author.
Ram said...

Hi David,

Thank you so much for this article.

In the File Total Record (7) that comes at the do of the file, can you kindly clarify the below

File (User) Credit Total Amount - Numeric only valid.
Must equal the accumulated total of credit Detail Record amounts. Show in cents without punctuation. Right justified, zero filled. Unsigned.

Should this field have the total amount that goes out of my bank account or the total amount that comes in to my bank account?

Thanks!

Quickbooks Phone Number said...

Lockdown is running in the whole country due to coronavirus, in such an environment we are committed to provide the best solutions for QuickBooks Support Phone Number. Know how to fix quickbooks for Mac support phone number to get in touch. Dial : +1-855-533-6333.

Roger Green said...

If anyone wants to create an ABA file from Excel

try ABA Creator simply copy and paste your transactions into the ABA file generator to create an ABA file ready to upload to your bank. It can be used for Payroll, Creditors and Direct Debit.