Why not adopt me?
NAME
Finance::Bank::Cahoot - Check your Cahoot bank accounts from Perl
SYNOPSIS
use Finance::Bank::Cahoot;
my @accounts = Finance::Bank::Cahoot->check_balance(
username => "xxxxxxxxxx",
password => "xxxxxx",
memorable_address => "xxxxxx",
maiden_name => "xxxxxx",
memorable_date => "xxxxxx"
);
foreach (@accounts) {
printf "%25s : %18s : GBP %8.2f (%8.2f)\n",
$_->{name}, $_->{account}, $_->{current_balance}, $_->{available_balance};
print "recent transactions: \n";
my @transactions = $_->statement;
foreach (@transactions) {
printf "%25s : %14s : GBP -%8.2f +%8.2f\n",
$_->{name}, $_->{date}, $_->{amount_debit}, $_->{amount_credit};
}
}
DESCRIPTION
This module provides a rudimentary interface to the Cahoot online banking system at http://www.cahoot.com
.
DEPENDENCIES
You will need either Crypt::SSLeay
or IO::Socket::SSL
installed for HTTPS support to work with LWP. This module also depends on WWW::Mechanize
for screen-scraping.
CLASS METHODS
check_balance( username => $u, password => $p, memorable_address => $a, maiden_name => $m, memorable_date => $d)
Return an array of account objects, one for each of your bank accounts.
ACCOUNT OBJECT METHODS
$ac->name
$ac->account
$ac->account_type
$ac->available_balance
$ac->current_balance
Return the account name, account number, account type and available/current balances as signed floating point values.
$ac->statement
Return an array of hashes for the most recent transactions. (payee name, date, debit amount and credit amount)
TRANSACTION HASH KEYS
$tr->name
$tr->date
$tr->amount_debit
$tr->amount_credit
WARNING
This warning is from Simon Cozens' Finance::Bank::LloydsTSB
, and seems just as apt here.
This is code for online banking, and that means your money, and that means BE CAREFUL. You are encouraged, nay, expected, to audit the source of this module yourself to reassure yourself that I am not doing anything untoward with your banking data. This software is useful to me, but is provided under NO GUARANTEE, explicit or implied.
NOTES
This has only been tested on my Cahoot accounts. This only represents a subset of the accounts available. They should all follow a consistent layout for the statement method but this is not guaranteed to be the case.
THANKS
Chris Ball for Finance::Bank::HSBC
, Simon Cozens for Finance::Bank::LloydsTSB
, Andy Lester (and Skud, by continuation) for WWW::Mechanize.
AUTHOR
Andy Kelk mopoke@cpan.org