select a date when importing payments, RT#27087
[freeside.git] / FS / FS / cust_pay.pm
index ed76559..b7189a8 100644 (file)
@@ -9,6 +9,7 @@ use vars qw( $DEBUG $me $conf @encrypted_fields
 use Date::Format;
 use Business::CreditCard;
 use Text::Template;
+use FS::Misc::DateTime qw( parse_datetime ); #for batch_import
 use FS::Record qw( dbh qsearch qsearchs );
 use FS::CurrentUser;
 use FS::payby;
@@ -1091,9 +1092,12 @@ Inserts new payments.
 sub batch_import {
   my $param = shift;
 
-  my $fh = $param->{filehandle};
+  my $fh       = $param->{filehandle};
+  my $format   = $param->{'format'};
+
   my $agentnum = $param->{agentnum};
-  my $format = $param->{'format'};
+  my $_date    = $param->{_date};
+  $_date = parse_datetime($_date) if $_date && $_date =~ /\D/;
   my $paybatch = $param->{'paybatch'};
 
   # here is the agent virtualization
@@ -1144,6 +1148,7 @@ sub batch_import {
       payby    => $payby,
       paybatch => $paybatch,
     );
+    $cust_pay{_date} = $_date if $_date;
 
     my $cust_main;
     foreach my $field ( @fields ) {