DATEV: Umsatz von 0 zulassen
[kivitendo-erp.git] / SL / DATEV / CSV.pm
index 6d65945..6ac460c 100644 (file)
@@ -22,7 +22,7 @@ my @kivitendo_to_datev = (
                               max_length      => 13,
                               type            => 'Value',
                               required        => 1,
-                              input_check     => sub { my ($input) = @_; return (looks_like_number($input) && length($input) <= 13 && $input > 0) },
+                              input_check     => sub { my ($input) = @_; return (looks_like_number($input) && length($input) <= 13 && $input >= 0) },
                               formatter       => \&_format_amount,
                               valid_check     => sub { my ($check) = @_; return ($check =~ m/^\d{1,10}(\,\d{1,2})?$/) },
                             },
@@ -228,8 +228,13 @@ my @kivitendo_to_datev = (
                               max_length      => 15,
                               type            => 'Text',
                               default         => '',
-                              input_check     => sub { my ($check) = @_; return ($check eq '' || $check =~ m/[A-Z]{2}\w{5,13}/) },
-                              formatter       => sub { my ($input) = @_; $input =~ s/\s//g; return $input },
+                              input_check     => sub {
+                                                       my ($ustid) = @_;
+                                                       return 1 if ('' eq $ustid);
+                                                       $ustid =~ s{[\s.]+}{}g;
+                                                       return ($ustid =~ m/^CH|^[A-Z]{2}\w{5,13}$/);
+                                                     },
+                              formatter       => sub { my ($input) = @_; $input =~ s/[\s.]+//g; return $input },
                               valid_check     => sub {
                                                        my ($ustid) = @_;
                                                        return 1 if ('' eq $ustid);
@@ -294,7 +299,7 @@ sub header {
   }
 
   my @header_row_1 = (
-    "EXTF", "300", 21, "Buchungsstapel", 7, $created_on, "", "ki",
+    "EXTF", "510", 21, "Buchungsstapel", 7, $created_on, "", "ki",
     "kivitendo-datev", "", $meta_datev{beraternr}, $meta_datev{mandantennr},
     $self->first_day_of_fiscal_year->ymd(''), $length_of_accounts,
     $self->from->ymd(''), $self->to->ymd(''), "", "", 1, "", $self->locked,