MT940-Import: Transaktionstype mit in BankTransaction
[kivitendo-erp.git] / SL / Helper / MT940.pm
index 5c8865d..b4d7fe5 100644 (file)
@@ -1,6 +1,8 @@
 package SL::Helper::MT940;
 
 use strict;
+use File::Path qw(mkpath);
+use File::Copy qw(copy);
 
 sub convert_mt940_data {
   my ($mt940_data) = @_;
@@ -13,11 +15,18 @@ sub convert_mt940_data {
   $sfile->fh->print($mt940_data);
   $sfile->fh->close;
 
+  my $todir = $sfile->get_path . '/imexporters/csv/profiles';
+  mkpath $todir;
+  File::Copy::copy('users/aqbanking.conf', $todir.'/kivi.conf');
+
   my $aqbin = $::lx_office_conf{applications}->{aqbanking};
   die "Can't find aqbanking-cli, please check your configuration file.\n" unless -f $aqbin;
-  my $cmd = "$aqbin --cfgdir=\"" . $sfile->get_path . "\" import --importer=\"swift\" --profile=\"SWIFT-MT940\" -f " . $sfile->get_path . "/$import_filename | $aqbin --cfgdir=\"" . $sfile->get_path . "\" listtrans --exporter=\"csv\" --profile=\"AqMoney2\" ";
+  my $cmd = "$aqbin --cfgdir=\"" . $sfile->get_path . "\" import --importer=\"swift\" --profile=\"SWIFT-MT940\" -f " .
+          $sfile->get_path . "/$import_filename | $aqbin --cfgdir=\"" . $sfile->get_path . "\" listtrans --exporter=\"csv\" --profile=kivi 2> /dev/null ";
 
-  my $converted_data = '"empty";"local_bank_code";"local_account_number";"remote_bank_code";"remote_account_number";"transdate";"valutadate";"amount";"currency";"remote_name";"remote_name_1";"purpose";"purpose1";"purpose2";"purpose3";"purpose4";"purpose5";"purpose6";"purpose7";"purpose8";"purpose9";"purpose10";"purpose11"' . "\n";
+  my $converted_data = '"empty";"local_bank_code";"local_account_number";"remote_bank_code";"remote_account_number";"transdate";"valutadate";"amount";'.
+    '"currency";"remote_name";"remote_name_1";"purpose";"purpose1";"purpose2";"purpose3";"purpose4";"purpose5";"purpose6";"purpose7";"purpose8";"purpose9";'.
+    '"purpose10";"purpose11";"transactionKey";"customerReference";"bankReference";"transactionCode";"transactionText"'."\n";
 
   open my $mt, "-|", "$cmd" || die "Problem with executing aqbanking\n";
   my $headerline = <$mt>;  # discard original aqbanking header line