Revision 1422e28a
Von G. Richardson vor fast 13 Jahren hinzugefügt
SL/DATEV.pm | ||
---|---|---|
426 | 426 |
$ref->{is_tax} = 1; |
427 | 427 |
} |
428 | 428 |
|
429 |
if ( !$ref->{invoice} |
|
430 |
&& $ref->{is_tax} |
|
431 |
&& !($prev_ref->{is_tax}) |
|
432 |
&& (_sign($ref->{amount}) == _sign($prev_ref->{amount}))) { |
|
429 |
if ( !$ref->{invoice} # we have a non-invoice booking (=gl) |
|
430 |
&& $ref->{is_tax} # that has "is_tax" set |
|
431 |
&& !($prev_ref->{is_tax}) # previous line wasn't is_tax |
|
432 |
&& (_sign($ref->{amount}) == _sign($prev_ref->{amount}))) # and sign same as previous sign |
|
433 |
{ |
|
433 | 434 |
$trans->[$i - 1]->{tax_amount} = $ref->{amount}; |
434 | 435 |
} |
435 | 436 |
} |
... | ... | |
442 | 443 |
} |
443 | 444 |
|
444 | 445 |
for my $j (0 .. (scalar(@{$trans}) - 1)) { |
445 |
if (abs($trans->[$j]->{'amount'}) > abs($absumsatz)) { |
|
446 |
# for gl-bookings no split is allowed and there is no AR/AP account, so we always use the maximum value as a reference |
|
447 |
# for ap/ar bookings we can always search for AR/AP in link and use that |
|
448 |
if ( ( not $trans->[$j]->{'invoice'} and abs($trans->[$j]->{'amount'}) > abs($absumsatz) ) |
|
449 |
or ($trans->[$j]->{'invoice'} and ($trans->[$j]->{'link'} eq 'AR' or $trans->[$j]->{'link'} eq 'AP'))) { |
|
446 | 450 |
$absumsatz = $trans->[$j]->{'amount'}; |
447 | 451 |
$notsplitindex = $j; |
448 | 452 |
} |
Auch abrufbar als: Unified diff
Bug 1676 - DATEV Export bei gemischter Rechnung/Gutschrift schlägt fehl
Bei ar/ap-Rechnungen wird jetzt nicht mehr nach dem größten Betrag gesucht,
sondern nach dem Buchungskonto wo link AR oder AP ist, also das Forderungs-
oder Verbindlichkeitskonto. Damit klappen auch gemischte
Rechnungen/Gutschriften im Export wieder.