PHP parser for Belgian CODA banking files
You can install Codelicious/Coda using Composer. You can read more about Composer and its main repository at
http://packagist.org. First install Composer for your project using the instructions on the
Packagist home page, then define your dependency on Codelicious/Coda in your composer.json
file.
{
"require": {
"codelicious/php-coda-parser": "^1.0"
}
}
Or you can execute the following command in your project root to install this library:
composer require codelicious/php-coda-parser:^1.0
You can try the parser at https://eenvoudigfactureren.be/coda. An open API is also available at the same page if you don't feel like hosting the code yourself.
<?php
use Codelicious\Coda\Parser;
$parser = new Parser();
$statements = $parser->parseFile('coda-file.cod', 'simple');
foreach ($statements as $statement) {
echo $statement->date . "\n";
foreach ($statement->transactions as $transaction) {
echo $transaction->account->name . ": " . $transaction->amount . "\n";
}
echo $statement->new_balance . "\n";
}
There are 2 structures available. 'raw' which resembles the original file structure and contains all information and 'simple' which is a simplified version only containing the most important information.
If you are unsure what to use you should use 'simple'.
Properties that are not supplied will be null
.
Codelicious\Coda\Data\Simple\Statement
date
Date of the supplied file (format YYYY-MM-DD)account
Account for which the statements were created. An object implementingCodelicious\Coda\Data\Simple\Account
original_balance
Balance of the account before the transactions were processed. Up to 3 decimals.new_balance
Balance of the account after the transactions were processed. Up to 3 decimals.free_messages
A list of text messages containing additional informationtransaction
A list of transactions implemented asCodelicious\Coda\Data\Simple\Transaction
Codelicious\Coda\Data\Simple\Account
name
Name of the holder of the accountbic
Bankcode of the accountcompany_id
Official Belgian company number of the account holdernumber
Banknumber of the accountcurrency
Currency of the accountcountry
Country of the account
Codelicious\Coda\Data\Simple\Transaction
account
Account of the other party of the transaction. An object implementingCodelicious\Coda\Data\Simple\Account
transaction_date
Date on which the transaction was requestedvaluta_date
Date on which the transaction was executed by the bankamount
Amount of the transaction. Up to 3 decimals. A negative number for credit transactions.message
Message of the transactionstructured_message
Structured messages of the transaction (if available)