The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Finance::Bank::easybank - check your easybank accounts from Perl

SYNOPSIS

  # look for this script in the examples directory of the
  # tar ball.
  use Finance::Bank::easybank;
  
  use strict;
  use warnings;
  
  my $agent = Finance::Bank::easybank->new(
          user          => 'xxx',
          pass          => 'xxx',
          return_floats => 1,
  
          accounts      => [ qw/
                  200XXXXXXXX
                  / ],
  );
  
  my $accounts = $agent->check_balance;
  
  foreach my $account (@{$accounts}) {
          printf("%11s: %25s\n", $_->[0], $account->{$_->[1]})
                  for(( [ qw/ Kontonummer account / ],
                        [ qw/ BLZ bc / ],
                        [ qw/ Bezeichnung name / ],
                        [ qw/ Datum date / ],
                        [ qw/ Waehrung currency / ]
                  ));
          printf("%11s: %25.2f\n", $_->[0], $account->{$_->[1]})
                  for(( [ qw/ Saldo balance / ],
                        [ qw/ Dispo final / ]
                  ));
          print "\n";
  }

DESCRIPTION

This module provides a basic interface to the online banking system of the easybank at http://www.easybank.at.

Please note, that you will need either Crypt::SSLeay or IO::Socket::SSL installed for working HTTPS support of LWP.

METHODS

check_balance

Queries the via user and pass defined account - and all other defined accounts - and returns a reference to a list of hashes containing all fetched information:

 $VAR = [
          {
            'bc'        => bank code
            'account'   => account number
            'name'      => name of the account
            'date'      => date shown on the summary page
                           (format: DD.MM.YYYY/hh:mm)
            'currency'  => currency
            'balance'   => account balance
            'final'     => final account balance
          }
        ];

ATTRIBUTES

All attributes are implemented by Class::MethodMaker, so please take a look at its man page for further information about the created accessor methods.

user

User to connect with (Verfuegernummer).

pass

Password to connect with (Pin).

accounts

Optional list of additional accounts to query. This list should contain only account numbers formated in exactly the same way as they are listed in the online banking system.

return_floats

Boolean value defining wether the module returns the balance as signed float or just as it gets it from the online banking system (default: false).

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.

CAVEATS

I did'nt had the change of testing this module against an account mapped to only one bank account.

It woule be very nice if someone with only one bank account could test this module and drop me note about the results.

Also take note that this module can break easily if easybank changes the layout of the online banking system.

THANKS

Simon Cozens <simon@cpan.org> for Finance::Bank::LloydsTSB from which I've borrowed the warning message.

Chris Ball <chris@cpan.org> for his article about screen-scraping with WWW::Mechanize at http://www.perl.com/pub/a/2003/01/22/mechanize.html.

AUTHOR

Florian Helmberger <fh@laudatio.com>

VERSION

$Id: easybank.pm,v 1.3 2003/01/28 10:03:11 florian Exp $

COPYRIGHT AND LICENCE

You may distribute under the terms of either the GNU General Public License or the Artistic License, as specified in the Perl README file.

Copyright (C) 2003 Florian Helmberger

SEE ALSO

WWW::Mechanize, HTML::TokeParse, Class::MethodMaker.