Bestimmung des Mehrwertsteuersatzes
Peter Thomassen
- datenbank
Hallo,
nach wie vor mit einem Rechnungssystem beschäftigt habe ich nun folgendes Problem, using MySQL 5:
Gegeben seien zwei einer Tabelle entnommene Datumsangaben, beispielsweise 2006-04-03 und 2008-02-05. Angenommen, die MwSt wird zum 1.1.2007 von 16% auf 19%, zum 1.1.2008 auf 20% erhöht; dies stehe in einer Tabelle vat mit je einer Spalte für den (neuen) Steuersatz (vat) und das Einführungsdatum (start).
Ich möchte nun am besten mit Hilfe von Stored Procedures aus den beiden Daten und der Steuersatzteballe Folgendes herstellen:
vat | number
------+--------
0.16 | 9
0.19 | 12
0.20 | 2
Es soll also für einen gegebenen Zeitraum ermittelt werden, welcher Steuersatz für wieviele Monate gilt.
Zwei Ansätze fallen mir dazu ein:
1.)
Monatsweise "SELECT vat FROM vat WHERE start <= [Monat] ORDER BY start DESC LIMIT 1", doch jeden Monat einzeln zu betrachten, erscheint mir etwas umständlich.
2.)
Mittels PERIOD_DIFF() jeden Steuersatz auf den gegebenen Zeitraum anwenden. Hier tritt das Problem auf, dass zunächst mit dem ersten gegebenen Datum und dem einen Einführungsdatum, dann mit beiden Einführungsdaten und dann mit dem anderen Einführungsdatum und dem zweiten gegebenen Datum gerechnet werden muss; mir fällt dazu nichts Elegantes ein. Ich habe aber das Gefühl, es gibt was ... Any ideas?
Zu guter Letzt bleibt die Frage, wie man das in ein Stored Procedure bringt ...
Danke!
Peter
yo,
mir fällt dazu nichts Elegantes ein. Ich habe aber das Gefühl, es gibt was ... Any ideas?
hier kann man wieder korellierende unterabfragen anwenden, wenn dir das als tipp reicht. etwas knifflig wird es mit den start und den endwerten, aber das sollte man mit dem operator IF in den griff bekommen. wenn dir das nicht, sagt einfach bescheid.
Ilja
Tag,
mir fällt dazu nichts Elegantes ein. Ich habe aber das Gefühl, es gibt was ... Any ideas?
hier kann man wieder korellierende unterabfragen anwenden, wenn dir das als tipp reicht. etwas knifflig wird es mit den start und den endwerten, aber das sollte man mit dem operator IF in den griff bekommen. wenn dir das nicht, sagt einfach bescheid.
Du meinst korrelierte Unterabfragen? An die hatte ich auch schon gedacht, aber irgendwie kam ich auf keinen grünen Zweig. Mir ist jetzt Folgendes eingefallen:
SELECT vat, PERIOD_DIFF(
EXTRACT(YEAR_MONTH FROM GREATEST(date1, start)
, EXTRACT(YEAR_MONTH FROM LEAST(date2, (SELECT start - INTERVAL 1 MONTH FROM vat WHERE start > vat2.start ORDER BY start LIMIT 1))))
) FROM vat AS vat2
Hier spart man sich IF durch die Benutzung von GREATEST() und LEAST(); die Unterabfrage sollte das Ende des Gültigkeitszeitraumes des gerade betrachteten Mehrwertsteuersatzes herausfinden. Leider kann ich das gerade nicht testen, muss ich später mal machen.
Was sagst du dazu?
Bye,
Peter
Moin!
Es soll also für einen gegebenen Zeitraum ermittelt werden, welcher Steuersatz für wieviele Monate gilt.
Da frage ich mich doch mal spontan: Wozu könnte man das wissen wollen? Die Umsatzsteuer ist doch stichtagsbezogen, an dem Tag, an dem die Rechnung gestellt wird, wird die dann gültige Umsatzsteuer addiert.
- Sven Rautenberg
Hallo,
Es soll also für einen gegebenen Zeitraum ermittelt werden, welcher Steuersatz für wieviele Monate gilt.
Da frage ich mich doch mal spontan: Wozu könnte man das wissen wollen? Die Umsatzsteuer ist doch stichtagsbezogen, an dem Tag, an dem die Rechnung gestellt wird, wird die dann gültige Umsatzsteuer addiert.
Mein Kollege hat mal einen ihm bekannten Anwalt kontaktiert, und der meinte, dass das für Verkäufe gilt, nicht aber für Dienstleistungen -- da sei relevant, wann die Dienstleistung erbracht worden ist. Da es um Webhosting geht, müsste also entsprechend abgerechnet werden (ob normale Miete auch so gehandhabt wird, weiß ich nicht). Ich habe auch mal gehört, dass die Stadtwerke mit ihren Rechnungen ähnlich verfahren.
Wenn zweifel am Gesagten bestehen, lass es mich wissen! :-)
Bye,
Peter
Hell-O!
Da frage ich mich doch mal spontan: Wozu könnte man das wissen wollen? Die Umsatzsteuer ist doch stichtagsbezogen, an dem Tag, an dem die Rechnung gestellt wird, wird die dann gültige Umsatzsteuer addiert.
Mein Kollege hat mal einen ihm bekannten Anwalt kontaktiert, und der meinte, dass das für Verkäufe gilt, nicht aber für Dienstleistungen -- da sei relevant, wann die Dienstleistung erbracht worden ist.
Es ist der Umsatzsteuersatz anzuwenden, der am Tag der Leistungserbringung gilt. Das ist bei Lieferungen der Tag der Übergabe der Ware, bei Dienstleistungen der Tag, an dem die Dienstleistung vollständig erbracht wurde. Wann die Rechnung geschrieben wurde oder wann das Entgelt vereinnahmt wurde (Stichwort Vorkasse), ist grundsätzlich nicht von Belang.
Beim Webhosting kommt es (wie bei allen anderen Dienstleistungen auch) darauf an, ob dieses in Teilleistungen erbracht wird. Dabei ist wesentlichstes Kriterium, ob für einen bestimmten Zeitraum das Entgelt gesondert vereinbart wurde (monatlich o.ä.).
Mal ein paar Beispiele:
Beispiel 1:
Webhosting-Vertrag, monatliche Gebühr 4,00 Euro zzgl. gesetzlicher Mehrwertsteuer. Die Gebühr fällt kalendermonatlich an. Bis einschließlich Dezember 2006 berechnet man 4,00 Euro zzgl. 16% (0,64 Euro), also 4,64 Euro. Ab Januar berechnet man 4,00 Euro zzgl. 19% (0,76 Euro), macht zusammen 4,76 Euro. Wann die Rechnung für Dezember geschrieben wird, spielt keine Geige. Wenn Dezember und Januar auf einer Rechnung (z.B. einer Jahresrechnung) stehen, müssen zwei getrennte Berechnungsgrundlagen - jeweils 16% und 19% - ausgewiesen werden.
Ergänzung zu Beispiel 1:
Der Kunde hat in obigem Fall die Gebühr für zwei Jahre im Voraus bezahlt, das waren 96,00 Euro zzgl. 16% (15,36 Euro), also insgesamt 111,36 Euro. Der Zwei-Jahres-Zeitraum begann am 01.01.2006 und endet am 31.12.2007. Für 12 Monate (Januar bis Dezember 2007) fällt statt der bisher berechneten 16% aber 19% an. Nun kommt es darauf an, wie der Vertrag gestaltet ist, also ob du die 3 Prozentpunkte Erhöhung weitergeben kannst oder ob du darauf sitzen bleibst.
Beispiel 2:
Webhosting-Vertrag, Jahresgebühr 48,00 Euro, Beginn 01.03.2006, Ende 28.02.2007. Es liegt nur eine Leistung vor, der gesamte Umsatz unterliegt dem Steuersatz, der am 28.02.2007 gilt (wahrscheinlich 19%).
Diese Ausführungen sind momentan in Deutschland geltendes Umsatzsteuerrecht, ob und wenn ja welche Übergangs- oder Vereinfachungsregeln es geben wird, werden wir frühestens Ende diesen Jahres wissen.
Siechfred
Hallo.
Webhosting-Vertrag, monatliche Gebühr 4,00 Euro zzgl. gesetzlicher Mehrwertsteuer.
Steuern auf Gebühren? Und Webhosting als hoheitliche Aufgabe?
MfG, at
Hallo.
Siehe hierzu Deutscher Wortschatz: Gebühr.
Von einem hauptberuflichen Kümmelkornspalter hätte ich da aber schon etwas mehr erwartet.
MfG, at