NAME
Finance::Bank::FR::SG::Pro - Check your Société Générale Professional
accounts from Perl
VERSION
Version 0.1
SYNOPSIS
use Finance::Bank::FR::SG::Pro;
my $account=Finance::Bank::FR::SG::Pro->check_balance(
username => "01234567",
password => "123456",
account => '11111 22222 333333333333', ## if not specified you get back an array with all accounts
);
print "BALANCE: ".$account->balance();
foreach my $s ($account->statements())
{
print "Statement"
print "\tType:".$s->type()."\n";
print "\tDate:".$s->date()."\n";
print "\tAmount:".$s->amount()."\n";
print "\tDescription:".$s->description()."\n";
}
DESCRIPTION
This module provides a rudimentary interface to the Société Générale
Progéliance Net online banking system for professional accounts at
. You will need either Crypt::SSLeay or
IO::Socket::SSL installed for HTTPS support to work with LWP.
The interface of this module is strongly modeled after the one from
Briac Pilpré's Finance::Bank::BNPParibas and Cédric Bouvier's
Finance::Bank::CreditMut.
All dates are normalized to the standard format: YYYY-MM-DD. All amounts
are given as proper numbers, with '.' as fractional separator.
WARNING
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.
METHODS
check_balance( username => $username, password => $password, account => $account)
Returns a list of account objects (Finance::Bank::SG::Pro::Account
class) if no account specified, or otherwise a single object being the
account requested. All parameters must be given as strings. Spaces in
account number are irrelevant.
Account methods
sort_code()
Returns the sort code of the account. Currently, it returns an undefined
value.
bank()
Returns the name of the bank.
name()
Returns the human-readable name of the account. We handle only accounts
being of type 'CTE ENTR'.
account_no()
Returns the account number.
balance()
In scalar context, returns the balance of the account. In list context,
returns an array with the balance amount, and the balance date.
currency()
Returns the currency of the account.
statements()
Returns a list of statement objects
(Finance::Bank::FR::SG::Pro::Statement class).
Statement methods
date()
Returns the date when the statement occured.
value_date()
Returns the date of value of the statement.
description()
Returns the unparsed description given by the bank for the statement.
description_details()
For some types of statement (see below), we do extra parsing of the
description and/or fields. This method returns an extra hashref with the
result of the parse, as specified below.
For type ``CHEQUES'', the hashref contains up to two keys: check_number
and bank_ref (optional).
For type ``PRELEVEMENTS'', the hasref contains three keys: number, by
and details (being an arrayref of lines parsed from the comment field).
For type ``COMMISSIONS ET FRAIS DIVERS'', the hashref may contain the
following keys: montant_ht (for the amount before taxes), montant_nt
(for the amount without taxes), tva being an hashref whose keys are the
VAT percentage (as real number) and value is the amount to be added for
this VAT.
For type ``FACTURES CARTES PAYEES'', the hashref contains the following
keys: details (being an array ref of lines parsed from the comment
field), card_number (being the full card number used), merchant_name
(string), operation_date and for credit card payment abroad there are
also those following keys: debit_amount (true amount being paid
initially) debit_amount_currency (currency of the amount given in
debit_amount) transaction_fee (for the bank due to the currency
conversion).
amount()
In scalar context, returns the amount of the statement. In list context,
returns an array with the amount, and the currency of the statement.
comment()
Returns the unparsed comment part of the statement.
type()
Returns the type of this statement.
as_string()
Returns a tab-delimited representation of the statement. By default, it
uses a tabulation to separate the fields, but the user can provide its
own separator.
COPYRIGHT & LICENSE
Copyright 2004 Patrick Mevzek, All Rights Reserved. Released under the
GPL License.
AUTHOR
Patrick Mevzek ""
This work has been sponsored by and done for Dot and Co
.
Thanks to Andy Lester for its WWW::Mechanize wonder, and other authors
of Finance::Bank::* modules
BUGS
Please report any bugs or feature requests to
"bug-finance-bank-fr-sg-pro@rt.cpan.org", or through the web interface
at . I will be notified, and then you'll
automatically be notified of progress on your bug as I make changes.
SEE ALSO
Finance::Bank::CreditMut, Finance::Bank::BNPParibas, WWW::Mechanize