NAME

Finance::Bank::BR::Caixa::CSV - Parse statement exported from Brazilian bank Caixa Econômica Federal

SYNOPSIS

use Finance::Bank::BR::Caixa::CSV;

my $csv = Finance::Bank::BR::Caixa::CSV->new($filename);
my $balance = $csv->balance;
my @data = $csv->statement;
foreach my $transaction (@data) {
    say "$transaction->{date}, $transaction->{name}, $transaction->{extra}, $transaction->{value}, $transaction->{balance}";
}

Description

This module is an object-oriented interface that parses statements exported as CSV from the Internet Banking for the Brazilian bank Caixa Econômica Federal.

CSV

new($filename)

The new() method creates a new CSV object containing the data parsed from $filename.

If an error occurs while loading the file, new() returns undef.

balance()

The balance() method returns the balance calculated from the file assuming initial balance of 0.

statement()

The statement() method returns an array of transactions, described as below.

Transaction

The transaction is a hash containing the following keys:

name

A string with a name describing the transaction.

value

A floating number containing the credit (positive) or debit (negative) of the transaction.

date

A DateTime object representing the date when the transaction occurred.

balance

A floating number containing the balance resulting from the transaction.

extra

Data provided by the bank identifying the transaction. In this case, a number specific to the type of transaction. It can be used to help uniquely identify the transaction.

COPYRIGHT AND LICENSE

Copyright (C) 2015-2016 Thadeu Lima de Souza Cascardo <cascardo@cascardo.eti.br>

This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License; either version 2 of the License,
or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE.

1 POD Error

The following errors were encountered while parsing the POD:

Around line 81:

Non-ASCII character seen before =encoding in 'Econômica'. Assuming UTF-8