Siechfred: Rundungsproblem, Währungsumrechnung, gibt es feste Regeln?

Beitrag lesen

Hallo Andreas.

Ich hatte dir zwar schon geantwortet, erlaube mir aber nochmal, auf dein Ausgangsposting einzugehen

Angenommen das hat jetzt jemand in der Währung XYZ mit dem Umrechnungskurs 1,26537(zum EUR) eingegeben.

Das heißt 1 Fremdwährungseinheit (FWE) = 1,26537 EUR?

In diesem Fall habe ich die Stückpreise durch den Faktor(Währungskurs = 1,26537) dividiert, auf 5 Stellen gerundet, und damit weiter gerechnet.

Der Weg ist zunächst der richtige, nur die Rundung nicht. Du müsstest auf 2 Nachkommastellen runden, wie ich es dir bereits schrieb. Danach sähe deine Tabelle so aus:

Artikel    |  Stückpreis  |  Stückpreis  | Stückpreis
               |     (EUR)    |     (FWE)    |  (gerundet)
---------------+--------------+--------------+------------
Bleistift      |      0,55000 |      0,43466 |        0,44
Briefumschlag  |      0,21000 |      0,16595 |        0,17
Kugelschreiber |      1,29000 |      1,01946 |        1,02
----------------------------------------------------------

Das alles entscheidende ist die Summe, denn die wird später überwiesen, und sollte also stimmen.

Aus diesem Grund ist dein Ansatz m.E. ein falscher. Entweder du rechnest alle Preis in FWE zusammen und rechnest den Rechnungsbetrag von der FWE in EUR um (so wäre es nach DRS 14 korrekt) oder du rechnest die in EUR umgerechneten Einzelpreise um und addierst sie (was m.E. falsch wäre).

Gut, da die Summe der entscheidende Preis ist (der wird schließlich vom Konto abgebucht), könnte man ja auf die Idee kommen, diesen, bzw. die Gesamtpreise zu speichern, und die Einzelpreise aus den Gesamtpreisen zu errechnen. Heißt also, ich rechne die letzte Spalte um und speichere das, und später errechne ich daraus anhand der Mengen auch die Stückpreise.

IMHO ist es sowieso müßig, Einzelpreis aus einer Fremdwährung in EUR anzugeben, da der maßgebende Tageskurs ständigen Schwankungen unterliegt. Ich würde sogar noch weiter gehen und es als fahrlässig bezeichnen, denn wenn ein gedachter Kunde so eine Lösung von dir bekäme, sind Verlust aus Währungsschwankungen vorprogrammiert. Und ehe der Einwand mit Preisen auf dem ausländischen Markt kommt (a la "aber in Golf kostet in den USA doch 10.000 USD, egal wie der Dollar steht): die Unternehmen, die es so machen, rechnen ihre Preise nicht um, sie _kalkulieren_ in der Fremdwährung.

  1. Es wird mit gerundeten Werten multipliziert/dividiert, das führt dazu, dass ein Teil der Informationen verloren geht. Dadurch die Fehler in den Berechnungen mit "Stückpreis x Menge".

Preise gibt man im gewöhnlichen Geschäftsverkehr mit zwei Nachkommastellen an (jaja, ich weiß, die Tankstellen ...). Ein Beispiel:

Preis in FWE: 2,99
Preis in EUR: 3,78 (3,78345)
Zurück nach FWE: 2,99 (2,98726)

  1. Es wird nicht das eingegebene Gebot gespeichert, sondern ein gerundetes Ergebnis einer Division. Auch hier gehen Informationen durch die Rundung verloren, die dann für den Anwender zu nicht nachvollziehbaren Werten führen.

Das kannst du nicht vermeiden, du kannst lediglich (ja eigentlich musst du sogar) den Anwender auf die international gültigen Umrechnungsregeln hinweisen.

In der Hoffnung, etwas Licht ins Dunkel gebracht zu haben und wie immer
Freundschaft!
Siechfred

--
Nichts ist schwerer einzureißen als die Mauer in den Köpfen.