From: Moritz Bunkus Date: Fri, 5 Feb 2010 13:23:37 +0000 (+0100) Subject: DATEV-Export: Brutto/Brutto-Abweichungen summieren und Erklärung anzeigen, falls... X-Git-Tag: release-2.6.1beta1~57 X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;h=a35013886c936227e97cc868b77be1e584ad4272;p=kivitendo-erp.git DATEV-Export: Brutto/Brutto-Abweichungen summieren und Erklärung anzeigen, falls existent --- 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) %]. +