Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision a832d0e5

Von Sven Schöling vor mehr als 8 Jahren hinzugefügt

  • ID a832d0e55330a501f2a4627ef736dc172a3bb212
  • Vorgänger 6468e05d
  • Nachfolger 43e21b93

GoBD: experimentelle Spaltung von Betrag und Steuer in Soll und Haben

Unterschiede anzeigen:

SL/GoBD.pm
71 71
  amount            => { type => 'Rose::DB::Object::Metadata::Column::Numeric', text => t8('Amount'), },
72 72
  credit_accname    => { type => 'Rose::DB::Object::Metadata::Column::Text',    text => t8('Credit Account Name'), },
73 73
  credit_accno      => { type => 'Rose::DB::Object::Metadata::Column::Text',    text => t8('Credit Account'), },
74
  credit_amount     => { type => 'Rose::DB::Object::Metadata::Column::Text',    text => t8('Credit Amount'), },
75
  credit_tax        => { type => 'Rose::DB::Object::Metadata::Column::Numeric', text => t8('Credit Tax (lit)'), },
74 76
  debit_accname     => { type => 'Rose::DB::Object::Metadata::Column::Text',    text => t8('Debit Account Name'), },
75 77
  debit_accno       => { type => 'Rose::DB::Object::Metadata::Column::Text',    text => t8('Debit Account'), },
78
  debit_amount      => { type => 'Rose::DB::Object::Metadata::Column::Text',    text => t8('Debit Amount'), },
79
  debit_tax         => { type => 'Rose::DB::Object::Metadata::Column::Numeric', text => t8('Debit Tax (lit)'), },
76 80
  invnumber         => { type => 'Rose::DB::Object::Metadata::Column::Text',    text => t8('Reference'), },
77 81
  name              => { type => 'Rose::DB::Object::Metadata::Column::Text',    text => t8('Name'), },
78 82
  notes             => { type => 'Rose::DB::Object::Metadata::Column::Text',    text => t8('Notes'), },
......
93 97
  customer_id vendor_id
94 98
  name           vcnumber
95 99
  transdate    invnumber      amount
96
  debit_accno  debit_accname
97
  credit_accno credit_accname
100
  debit_accno  debit_accname debit_amount debit_tax
101
  credit_accno credit_accname credit_amount credit_tax
98 102
  taxdescription tax
99 103
  tax_accno    tax_accname    taxkey
100 104
  notes itime
......
444 448
    $haben->{notes}  //= '';
445 449
    $haben->{notes}    =  SL::HTML::Util->strip($haben->{notes});
446 450

  
451
    my $net_amount = defined $amount->{net_amount}
452
                   ? $::form->format_amount($myconfig, abs($amount->{net_amount}), 5)
453
                   : 0;
454
    my $tax_amount = defined $amount->{net_amount}
455
                   ? $::form->format_amount($myconfig, abs($amount->{amount}) - abs($amount->{net_amount}), 5)
456
                   : 0;
457

  
447 458
    my %row            = (
448 459
      amount           => $::form->format_amount($myconfig, abs($amount->{amount}),5),
449 460
      debit_accno      => $soll->{accno},
450 461
      debit_accname    => $soll->{accname},
462
      debit_amount     => -$soll->{amount},
463
      debit_tax        => $soll->{tax_accno} ? $tax_amount : 0,
451 464
      credit_accno     => $haben->{accno},
452 465
      credit_accname   => $haben->{accname},
453
      tax              => defined $amount->{net_amount} ? $::form->format_amount($myconfig, abs($amount->{amount}) - abs($amount->{net_amount}), 5) : 0,
466
      credit_amount    => $haben->{amount},
467
      credit_tax       => $haben->{tax_accno} ? $tax_amount : 0,
468
      tax              => $tax_amount,
454 469
      notes            => $haben->{notes},
455 470
      (map { ($_ => $tax->{$_})                    } qw(taxkey tax_accname tax_accno taxdescription)),
456 471
      (map { ($_ => ($haben->{$_} // $soll->{$_})) } qw(trans_id invnumber name vcnumber transdate itime customer_id vendor_id)),
457 472
    );
458 473

  
474
#     if ($row{debit_amount} + $row{debit_tax} - ($row{credit_amount} + $row{credit_tax}) > 0.005) {
475
#       $::lxdebug->dump(0,  "broken taxes", [ $transaction, \%row,  $row{debit_amount} + $row{debit_tax}, $row{credit_amount} + $row{credit_tax} ]);
476
#     }
477

  
459 478
    _normalize_cell($_) for values %row; # see CAVEATS
460 479

  
461 480
    $csv->print($fh, [ map { $row{$_} } @datev_columns ]);
locale/de/all
718 718
  'Credit (one letter abbreviation)' => 'H',
719 719
  'Credit Account'              => 'Habenkonto',
720 720
  'Credit Account Name'         => 'Haben-Kontoname',
721
  'Credit Amount'               => 'Habenbetrag',
721 722
  'Credit Limit'                => 'Kreditlimit',
722 723
  'Credit Limit exceeded!!!'    => 'Kreditlimit überschritten!',
723 724
  'Credit Note'                 => 'Gutschrift',
......
725 726
  'Credit Note Number'          => 'Gutschriftnummer',
726 727
  'Credit Starting Balance'     => 'EB Aktiva',
727 728
  'Credit Tax'                  => 'Umsatzsteuer',
729
  'Credit Tax (lit)'            => 'Habensteuer',
728 730
  'Credit Tax Account'          => 'Umsatzsteuerkonto',
729 731
  'Credit note (one letter abbreviation)' => 'G',
730 732
  'Cumulated or averaged values' => 'Kumulierte oder gemittelte Werte',
......
834 836
  'Debit (one letter abbreviation)' => 'S',
835 837
  'Debit Account'               => 'Sollkonto',
836 838
  'Debit Account Name'          => 'Soll-Kontoname',
839
  'Debit Amount'                => 'Sollbetrag',
837 840
  'Debit Starting Balance'      => 'EB Passiva',
838 841
  'Debit Tax'                   => 'Vorsteuer',
842
  'Debit Tax (lit)'             => 'Sollsteuer',
839 843
  'Debit Tax Account'           => 'Vorsteuerkonto',
840 844
  'Debit and credit out of balance!' => 'Soll und Haben müssen gleich sein.',
841 845
  'Dec'                         => 'Dez',

Auch abrufbar als: Unified diff