The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Finance::Bank::NetBranch - Manage your NetBranch accounts with Perl

VERSION

Version 0.07

SYNOPSIS

  use Finance::Bank::NetBranch;
  my $nb = Finance::Bank::NetBranch->new(
      url      => 'https://nbp1.cunetbranch.com/valley/',
      account  => '12345',
      password => 'abcdef',
  );

  my @accounts = $nb->accounts;

  foreach (@accounts) {
      printf "%20s : %8s : USD %9.2f of %9.2f\n",
          $_->name, $_->account_no, $_->available, $_->balance;
      my $days = 20;
      for ($_->transactions(from => time - (86400 * $days), to => time)) {
          printf "%10s | %20s | %80s : %9.2f, %9.2f\n",
              $_->date->ymd, $_->type, $_->description, $_->amount, $_->balance;
      }
  }

DESCRIPTION

This module provides a rudimentary interface to NetBranch online banking. This module was originally implemented to interface with Valley Communities Credit Union's page at https://nbp1.cunetbranch.com/valley/, but the behavior of the module is theoretically generalized to "NetBranch" type online access. However, I do not have access to another NetBranch account with another bank, and so any feedback on the actual behavior of this module would be greatly appreciated.

You will need either Crypt::SSLeay or IO::Socket::SSL installed for HTTPS support to work.

CLASS METHODS

Finance::Bank::NetBranch

new

Creates a new Finance::Bank::NetBranch object; does not connect to the server.

OBJECT METHODS

Finance::Bank::NetBranch

accounts

Retrieves cached accounts information, connecting to the server if necessary.

_login

Logs into the NetBranch site (internal use only)

_logout

Logs out of the NetBranch site (internal use only)

_get_balances

Gets account balance information (internal use only)

_get_transactions

Gets transaction information, given start and end dates (internal use only)

_pad0

Pads a number to two digits with zeroes

Finance::Bank::NetBranch::Account

name
sort_code
account_no

Return the account name, sort code or account number. The sort code is just the name in this case, but it has been included for consistency with other Finance::Bank::* modules.

balance
available

Return the account balance or available amount as a signed floating point value.

AUTOLOAD

Provides accessors (from Finance::Card::Citibank)

transactions(from => $start_date, to => $end_date)

Retrieves Finance::Bank::NetBranch::Transaction objects for the specified account object between two dates (unix timestamps or DateTime objects).

Finance::Bank::NetBranch::Transaction

date
type
description
amount
balance

Return appropriate data from this transaction.

AUTOLOAD

Provides accessors (from Finance::Card::Citibank)

WARNING

This warning is verbatim from Simon Cozens' Finance::Bank::LloydsTSB, and certainly applies to this module as well.

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.

BUGS

Probably, but moreso lack of such incredibly dangerous features as transfers, scheduled transfers, etc., coming in a future release. Maybe.

Please report any bugs or feature requests to bug-finance-bank-netbranch at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Finance-Bank-NetBranch. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

    perldoc Finance::Bank::NetBranch

You can also look for information at:

THANKS

Mark V. Grimes for Finance::Card::Citibank. The pod was taken from Mark's module.

AUTHOR

Darren M. Kulp <darren@kulp.ch>

COPYRIGHT AND LICENSE

Copyright (C) 2006 by Darren Kulp

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.7 or, at your option, any later version of Perl 5 you may have available.