X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/3499dc6aa9809219ea3722149f1cab0b264a6b3e..7e7a13692ac4dd952cf85a972d2919eed80edca1:/SL/IR.pm diff --git a/SL/IR.pm b/SL/IR.pm index edf55f16a..d8569acaa 100644 --- a/SL/IR.pm +++ b/SL/IR.pm @@ -38,6 +38,7 @@ use SL::AM; use SL::ARAP; use SL::Common; use SL::CVar; +use SL::DATEV qw(:CONSTANTS); use SL::DBUtils; use SL::DO; use SL::GenericTranslations; @@ -683,6 +684,27 @@ sub post_invoice { 'arap_id' => $form->{id}, 'table' => 'ap',); + # safety check datev export + if ($::lx_office_conf{datev_check}{check_on_purchase_invoice}) { + my $transdate = $::form->{invdate} ? DateTime->from_lxoffice($::form->{invdate}) : undef; + $transdate ||= DateTime->today; + + my $datev = SL::DATEV->new( + exporttype => DATEV_ET_BUCHUNGEN, + format => DATEV_FORMAT_KNE, + dbh => $dbh, + from => $transdate, + to => $transdate, + ); + + $datev->export; + + if ($datev->errors) { + $dbh->rollback; + die join "\n", $::locale->text('DATEV check returned errors:'), $datev->errors; + } + } + my $rc = 1; if (!$provided_dbh) { $rc = $dbh->commit();