Fehler #685
ShopPart::get_tax_and_price liefert veralteten Steuersatz bei neuem SKR04 Mandanten
0%
Beschreibung
Die Abfrage sieht so aus:
- SELECT a.rate AS taxrate from tax a WHERE a.taxkey = (SELECT b.taxkey_id FROM chart b LEFT JOIN taxzone_charts c ON b.id = c.income_accno_id WHERE c.taxzone_id = 4 AND c.buchungsgruppen_id = 936);
taxrate
--------- - 0.16000*
0.19000
(2 rows)
Die Abfrage berücksichtig nicht die Gültigkeit von Steuern. Die Abfrage sieht in IS.pm auch eher so aus:
qq|SELECT c.accno, t.taxdescription, t.rate, t.id as tax_id, c.accno as taxnumber
FROM tax t
LEFT JOIN chart c ON (c.id = t.chart_id)
WHERE t.id IN
(SELECT tk.tax_id FROM taxkeys tk
WHERE tk.chart_id = (SELECT id FROM chart WHERE accno = ?)
AND startdate <= date($transdate)
ORDER BY startdate DESC LIMIT 1)
ORDER BY c.accno|;
Falls die Routine 16 zurückgibt, funktioniert das Anlegen von neuen Produkten in Shopware6 nicht, da der Wert 16 % nicht akzeptiert wird.
Die Funktion ist an der Stelle auch nicht so super, sinnvoll für die Mehrwertsteuer-Senkung wurde da ja einiges an Methoden woanders eingebaut, die da stabiler sind.
Bspw. ist SL::DB::Chart->get_active_taxkey sehr viel besser geeignet (hat Moritz 2010 spendiert) und wird zusätzlich durch Testfälle (hat Geoffrey 2020 spendiert) abgedeckt.