=================================================================== RCS file: /cvs/pta/pta_import.pl,v retrieving revision 1.15 retrieving revision 1.16 diff -u -p -r1.15 -r1.16 --- pta/pta_import.pl 2020/11/18 23:44:46 1.15 +++ pta/pta_import.pl 2020/11/19 19:56:48 1.16 @@ -22,6 +22,7 @@ use Getopt::Std qw(getopts); our ($opt_I); my %banks = ( + "bbva_usa" => \&import_bbva_usa, "capital_one_credit" => \&import_capital_one_credit, "chase_credit" => \&import_chase_credit, "optum_hsa" => \&import_optum_hsa, @@ -30,6 +31,19 @@ my %banks = ( ); # === SUBROUTINES ===================================================== + +sub import_bbva_usa ($$$) { + my ($account, $csv_account, $line) = @_; + $line =~ + m#(\d+)/(\d+)/(\d+),(.*?),\S+,(\(?\d+\.\d+\)?),# or + die "parse error: $line"; + my ($month, $day, $year, $description, $amount) = + ($1, $2, $3, $4, $5); + $amount =~ s/\((\d+\.\d+)\)/-$1/; + return "$year$month$day", + get_accounts_by_amount_sign($amount, $account, $csv_account), + $description; +} sub import_chase_credit ($$$) { my ($account, $csv_account, $line) = @_;