Hallo,
ich habe das Problem nun gefunden und für uns befriedigend gelöst, wobei es insgesamt nicht ideal ist und ein Problem in der Struktur von Kivitendo ist. Ich konnte es mit einer kleinen Änderung aber schon gehörig verbessern. Es besteht zwar immer noch die Gefahr, das es zu falschen Ausgaben kommen kann, aber sie ist bedeutend geringer.
Problembeschreibung:
Wenn mehrere Steuerschluessel das gleiche Automatikkonto nutzen, kommt es zu Fehlern.
60 Umsatzsteuer Grossbritannien 20,00 % 3817 Umsatzsteuer aus in anderen EG-Land stpfl. Lieferungen
61 Umsatzsteuer Frankreich 20,00 % 3817 Umsatzsteuer aus in anderen EG-Land stpfl. Lieferungen
70 Steuerpflichtige EU-Lieferung zum vollen Steuersatz Grossbritannien 20,00 % 3817 Umsatzsteuer aus in anderen EG-Land stpfl. Lieferungen
71 Steuerpflichtige EU-Lieferung zum vollen Steuersatz Frankreich 20,00 % 3817 Umsatzsteuer aus in anderen EG-Land stpfl. Lieferungen
Beim Konto 3817 muss man dies aber tun (Umsatzsteuer aus in anderen EG-Land stpfl. Lieferungen), wenn man in mehr als einem anderen Land versteuert (3817 ist dafür ein Sammelkonto).
Bei der Ausgabe der Steuerzonentexte über den Steuerschlüssel wird nun immer nur das Automatikkonto als Suchindex genutzt, was im obigen Fall aber nun nicht mehr eindeutig ist
Hier wird beim Druck vom Auftraegen (oe.pm) und Rechnungen (is.pm) das taxobject gesucht mit
my $tax_obj = SL::DB::Manager::Tax->find_by(taxnumber => $form->{"${item}_taxnumber"});
wobei {item}_taxnumber das jeweilige Automatikkonto ist und als Schlüssel nicht eindeutig. Leider ist an dieser Stelle kein eindeutiger Rückwärtsindex vorhanden (könnte man natuerlich programmieren), aber mit dem {item}_description (dem Text des Steuerschlüssels, dieser ist vorhanden) kommt man nun dem Schlüssel schon bedeutend näher in der Eindeutigkeit, und in Kombination sollte es für die meisten Fälle dann genügen und erspart weitergehende Änderungen.
my $tax_obj = SL::DB::Manager::Tax->find_by(taxnumber => $form->{"${item}_taxnumber"}, taxdescription => $form->{"${item}_description"});
Die Änderung betrifft die Dokumentenausgabe/Druck von Auftragen (oe.pm) und Rechnungen (is.pm).
Damit kommt man dann auf korrekte Auftrags- und Rechnungstexte (jedenfalls, solange man nicht Automatikkonto UND Schlüsseltext zusammen doppelt).
An wen müsste man sich denn melden, damit dies so in Kivitendo geändert wird (damit wir nicht noch mehr Änderungen in unser diff bekommen).
Grüße,
Dirk Marklewitz