Bruto, Netto und MWSt

Hallo,

es ist mir schon bekannt dass es mehrmals intensiv diskutiert ist.

Ich sehe momentan dass wenn ich z.B. ein Endpreis inkl. MWSt. von 39 Euro (7%) habe und der Nettopreis berechne sogar so genau wie 36,4485981308 das am Ende bei 11 Einheiten doch 2 Cent zu viel auf dem Rechnung erscheinen, Bei 11 Produkte von 29 Euro (27,1028037383) sind es 3 Cent zu wenig.

Es ist nicht direkt ein Fehler aber eine kleine Unvollkommenheit.
Hat das schon jemandem gelöst?

Die Lösung ist doch eigentlich einfach, in der DB festlegen als 36,4485981308 und präsentieren mit 2 Kommastellen. Feld product_price - decimal(20,10). Ich versuche das mal,melde später das Resultat.

[edit] Irgendwo wird gerundet, denn es gibt immer noch 2 Cent zu viel.

[edit2] folgende 4 Felder auf decimal 20,10 angepast
ip_invoice_items - item-price
ip_invoice_item_amounts - item_subtotal
ip_invoice_item_amounts - item_total
ip_invoice_amounts - invoice_item_subtotal
noch immer bekomme ich 2 Cent zu viel.

[edit3]
inzwischen alle Felder die ansatzweise in Betracht kommen auf decimal 20,10 angepast
aber noch immer bekomme ich 2 Cent zu viel.

Gibt es bei dem Entwickler jemandem womit ich das weiter versuchen kann?

[edit4]
so zu sehen werden die Summen hier berechnet, vieles ist auf 2 dezimal-positionen beschränkt,
application/models/invoices/models
Ich suche weiter, wo itemprices aus der DB gelesen werden

MfG
Jan

Hallo,

ausgehend vom Ansatz oben habe ich parallel ne Weile gebastelt, es aber nun (für mich passend) hinbekommen. Wäre natürlich schön das im Programm einstellen zu können, ich hab aber keine Erfahrung wie ich das contributen könnte.

In der Datenbank die Felder auf mit definition “decimal (20,4)” (oder belibig viele Nachkomma-Stellen) erweitert. Steht hier auch schon ein paar mal im Forum und oben beschrieben.

In der /application/helpersnumbers/number_helper.php die format_currency (ich bin nicht ganz sicher ob nötig:) und format_ammount auf “($decimal_point) ? 4 : 0” erweitert. Jetzt rechnet er überall mit 4 Nachkommastellen.

Problem dann: Auch für den Kunden und in der PDF zeigt er 4 Nachkommastellen. Meine Lösung war:

  • In der number_helper.php die beiden “format_…” kopieren und umbennen, z.B. am Ende “_zwei” hinzufügen. Diese weitere Definiton wieder auf 2 Nachkommastellen definieren. Der Rest bleibt unverändert.

  • in der /application/views/invoice_templates/pdf/template.php (oder natürlich eigenem Template) die “format_currency” suchen und mit dem oben genannten Zusatz ("_zwei") ergänzen.

Und für den Public View: /application/views/invoice_templates/public**/InvoicePlane_Web.php** das gleiche.

Jetzt rechnet er mit 4-Nachkommastelligen Netto-Preisen, die Brutto immer den gewünschten Wert ergeben und zeigt diese in den für den Kunden relevanten Dokumenten/Übersichten wie gewohnt nur bis zum Cent-Wert an. In der internen Übersicht steht aber eben alles mit 4 Stellen (wenn die Werte richtig sind sollte die Endsumme aber auch immer auf XX,YY00 rauskommen.

Hallo ej_rostock

genau so habe ich es am Ende auch gemacht, das läuft seit einige Wochen Problemlos.

Es löst das Problem wenn Bruto Preise genutzt werden sollen, wie € 39 inkl. 7% MWSt.

MfG
Jan