From a35013886c936227e97cc868b77be1e584ad4272 Mon Sep 17 00:00:00 2001 From: Moritz Bunkus Date: Fri, 5 Feb 2010 14:23:37 +0100 Subject: [PATCH] =?utf8?q?DATEV-Export:=20Brutto/Brutto-Abweichungen=20sum?= =?utf8?q?mieren=20und=20Erkl=C3=A4rung=20anzeigen,=20falls=20existent?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- SL/DATEV.pm | 12 +++++++-- bin/mozilla/datev.pl | 2 ++ .../datev/net_gross_difference_de.html | 27 +++++++++++++++++++ .../datev/net_gross_difference_master.html | 27 +++++++++++++++++++ 4 files changed, 66 insertions(+), 2 deletions(-) create mode 100644 templates/webpages/datev/net_gross_difference_de.html create mode 100644 templates/webpages/datev/net_gross_difference_master.html diff --git a/SL/DATEV.pm b/SL/DATEV.pm index 56c3e82d8..49e824b50 100644 --- a/SL/DATEV.pm +++ b/SL/DATEV.pm @@ -330,6 +330,9 @@ sub _get_transactions { my ($notsplitindex); my @errors = (); + $form->{net_gross_differences} = []; + $form->{sum_net_gross_differences} = 0; + $fromto =~ s/transdate/ac\.transdate/g; my $taxkeys = Taxkeys->new(); @@ -535,8 +538,13 @@ sub _get_transactions { $idx++; } - if (abs($absumsatz) >= 0.01) { - push @errors, "Datev-Export fehlgeschlagen! Bei Transaktion $trans->[0]->{trans_id} ($absumsatz, Rundungsfehler $rounding_error)\n"; + $absumsatz = $form->round_amount($absumsatz, 2); + if (abs($absumsatz) >= (0.01 * (1 + scalar @taxed))) { + push @errors, "Datev-Export fehlgeschlagen! Bei Transaktion $trans->[0]->{trans_id} ($absumsatz)\n"; + + } elsif (abs($absumsatz) >= 0.01) { + push @{ $form->{net_gross_differences} }, $absumsatz; + $form->{sum_net_gross_differences} += $absumsatz; } } diff --git a/bin/mozilla/datev.pl b/bin/mozilla/datev.pl index 9f758b0e4..4ada35f10 100644 --- a/bin/mozilla/datev.pl +++ b/bin/mozilla/datev.pl @@ -363,6 +363,8 @@ sub export3 { print(qq|
| . $locale->text('KNE-Export erfolgreich!') . qq|

Download|); + print $form->parse_html_template('datev/net_gross_difference') if @{ $form->{net_gross_differences} }; + } else { $form->error("KNE-Export schlug fehl."); } diff --git a/templates/webpages/datev/net_gross_difference_de.html b/templates/webpages/datev/net_gross_difference_de.html new file mode 100644 index 000000000..98e963e74 --- /dev/null +++ b/templates/webpages/datev/net_gross_difference_de.html @@ -0,0 +1,27 @@ +[% USE HTML %][% USE LxERP %] + +

+ Hinweis: +

+ +

+ Lx-Office speichert Buchungsdaten als aggregierte Nettowerte. + + Das DATEV-Dateiformat hingegen erwartet aufgeteilte Buchungssätze mit + Bruttowerten. + + Es ist deshalb technisch nicht immer möglich, aus den vorhandenen + aggregierten Nettowerten solche Bruttowerte zu errechnen, sodass für + einen Beleg betrachtet die von Lx-Office angezeigten und die in den + DATEV-Export geschriebenen Bruttowerte exakt übereinstimmen. + + Abweichungen im Cent-Bereich sind in beide Richtungen möglich (Brutto + Lx-Office ist größer als Brutto DATEV und umgekehrt), werden aber von + den Steuerbehörden anstandslos akzeptiert. +

+ +

+ In dem gerade durchgeführten Export gab es [% net_gross_differences.size %] + solcher Fälle. Die Summe aller Abweichungen beläuft sich auf + [% LxERP.format_amount(sum_net_gross_differences, 2) %]. +

diff --git a/templates/webpages/datev/net_gross_difference_master.html b/templates/webpages/datev/net_gross_difference_master.html new file mode 100644 index 000000000..98e963e74 --- /dev/null +++ b/templates/webpages/datev/net_gross_difference_master.html @@ -0,0 +1,27 @@ +[% USE HTML %][% USE LxERP %] + +

+ Hinweis: +

+ +

+ Lx-Office speichert Buchungsdaten als aggregierte Nettowerte. + + Das DATEV-Dateiformat hingegen erwartet aufgeteilte Buchungssätze mit + Bruttowerten. + + Es ist deshalb technisch nicht immer möglich, aus den vorhandenen + aggregierten Nettowerten solche Bruttowerte zu errechnen, sodass für + einen Beleg betrachtet die von Lx-Office angezeigten und die in den + DATEV-Export geschriebenen Bruttowerte exakt übereinstimmen. + + Abweichungen im Cent-Bereich sind in beide Richtungen möglich (Brutto + Lx-Office ist größer als Brutto DATEV und umgekehrt), werden aber von + den Steuerbehörden anstandslos akzeptiert. +

+ +

+ In dem gerade durchgeführten Export gab es [% net_gross_differences.size %] + solcher Fälle. Die Summe aller Abweichungen beläuft sich auf + [% LxERP.format_amount(sum_net_gross_differences, 2) %]. +

-- 2.20.1