Generate ABA bank transaction files from a collection of transactions.

0.0.5 2015-07-22 03:55 UTC



Generates an aba file for bulk banking transactions with Australian banks.

Project Status:

This library is very new and all test cases are not accounted for. It is recommended that you run a few manual tests and validate the file with your banking institute.

As always, if you notice any errors please submit an issue or even better, a pull request.


MIT License


Copy the files where needed or install via composer:

composer require simonblee/aba-file-generator


Create a generator object with the descriptive type information for this aba file:

use AbaFileGenerator\Model\Transaction;
use AbaFileGenerator\Generator\AbaFileGenerator;

$generator = new AbaFileGenerator(
    '123-456', // bsb
    '12345678', // account number
    'CBA', // bank name
    'User Name',
    '175029', // direct entry id for CBA
    'Payroll' // description

Create an object or array of objects implementing AbaFileGenerator\Model\TransactionInterface. A simple Transaction object is provided with the library but may be too simple for your project:

$transaction = new Transaction();

Generate the aba string and save into a file (or whatever else you want):

$abaString = $generator->generate($transaction); // $transaction could also be an array here
file_put_contents('/my/aba/file.aba', $abaString);