Inaktiv Differenzbesteuerung - RechnungDruckvorlage einstellen

Wir haben Artikel die nach §25 Differenzbesteuert berechnet werden

  • Ja

    Votes: 8 72,7%
  • Ja - lösen es aber ohne JTL-Wawi mit anderen Tools

    Votes: 1 9,1%
  • Nein

    Votes: 2 18,2%

  • Gesamtzahl der Stimmen
    11

mrarchitekt

Aktives Mitglied
31. August 2010
42
1
Bad Salzuflen
Hallo liebe Community,

irgendwie scheinen die Themen "Differenzbesteuerung" bei den vorhandenen Threads kein Ergebnis zu liefern.
Ich muss aber dringend das Ding lösen.

Folgende Aufgabe:
Wir haben Artikel die für Diff-Besteuerung vorgesehen sind, andere sind normal mit MwSt.-Berechnung vorgesehen. Nun hat der Gesetzgeber festgelegt, das auf einer Rechnung nur eine "Berechnugsart" erfolgen kann. Demzufolge hat das Auswirkung auf alle Artikel auf der Rechnung, auch den Versand oder die Bezahl-Gebühr. Wenn nähmlich der teuerste Artikel für Differenzbesteuerung vorgesehen ist, fällt alles darunter. Ist der teuerste Artikel ein Mehrwertbesteuerter-Artikel sind alle Rechnungsartikel entsprechend mit der Mehrwertsteuer zu berechnen, bzw. die MwSt ist auszuweisen.

Szenario in Excel nachgebaut nach Differenzbesteuerung:
Rechnung ohne MwSt..png

Szenario wenn ein Artikel dazukommt, der teuerer und mit MwSt. Berechnung vorgesehen ist:

Rechnung mit MwSt.png

Wie löse ich es mit einem Formular in der JTL?
kann ich alle Artikel-Steuerberechnungen umschalten wenn der Teuerste Artikel ein MwSt.-Artikel ist?

Deadline ist für uns die nächste Steuermeldung am Mittwoch.

Ich habe den einen Forumsteilnehmer der sich mit dem Thema befassen wollte und dafür etwas programmieren wollte auf mehreren Wegen versucht zu erreichen, leider erfolglos, deshalb verlinke ich bewußt nicht den anderen Thread.

Gruß
Heinrich Boldt
 

mrarchitekt

Aktives Mitglied
31. August 2010
42
1
Bad Salzuflen
Keiner eine Idee?

als Ansatz müsste man ja über die Rechnung alle Artikel fragen können, welcher ist der Teuerste und welche Besteuerung ist für den Artikel vorgesehen.

Das müsste doch in einer Formel abfragbar sein und diese Formel müsste in der Mehrwertsteuerberechnung für jeden Artikel gesetzt werden.

Alternative Idee ist - Man definiert ein Attribut für die Rechnung, welches Besagt, das die Artikel nach "Differenzbesteuerung" abzurechnen sind, danach werden alle Artikel entprechend so berechnet und unterhalb der Summenzeile erscheint der Hinweis, das diese Rechnung nach Differenzbesteuerung erstellt wurde.

???
 

gutberle

Sehr aktives Mitglied
29. März 2011
1.292
395
Hallo @mrarchitekt,

Interessante Frage und auch wenn ich glaube, dass ich Dir helfen kann, kommt da noch ein bißchen was an Anpassungsarbeiten in der/den Vorlage(n) auf dich zu, denn was Du hier machen willst, ist die Arbeit der Wawi übernehmen und so ziemlich alles, was die Wawi an Werten berechnet und an die Vorlage übergibt, musst Du dann selbst und direkt in der Vorlage berechnen ... Bruttobeträge, Steuersummen, etc. - Du musst also nicht nur herausfinden, welchen Steuersatz der höchstpreisige Artikel hat, sondern musst einiges auf "zu Fuß Berechnung" umstellen. Geht aber und Du machst Du ja auch nur ein Mal ... :)

Frage vorab: Was ist der teuerste Artikel, sind das die 5 Stück T-Shirt zu 20€ oder ist es die Jacke zu 99 € oder sogar zu 100 €, also gleichviel, ist es also der Artikel mit dem teuersten Einzelpreis oder die Artikelposition mit der höchsten Gesamtsumme? Davon hängt ja ab, wonach in der Datenbank gesucht werden soll. - Um Dich aber jetzt nicht bis zu einer Antwort auf Deine Antwort in die Warteschleife zu schicken, hier gleich beide Versionen. Ich würde mich aber trotzdem freuen, wenn Du mir diese Frage beantworten würdest, rein interessenshalber ...

Höchstpreisiger Einzelartikel
Code:
JTL_DirectQuery("SELECT TOP 1 fMwSt FROM tbestellpos WHERE fVKNetto = (SELECT MAX(fVKNetto) FROM tbestellpos WHERE tBestellung_kBestellung="+ToString$(Vorgang.InterneAuftragsnummer)+") AND tBestellung_kBestellung="+ToString$(Vorgang.InterneAuftragsnummer)+" ORDER BY fMwSt DESC")

Höchste Artikelsumme
Code:
JTL_DirectQuery("SELECT TOP 1 fMwSt FROM tbestellpos WHERE fVKNetto*nAnzahl = (SELECT MAX(fVKNetto*nAnzahl) FROM tbestellpos WHERE tBestellung_kBestellung="+ToString$(Vorgang.InterneAuftragsnummer)+") AND tBestellung_kBestellung="+ToString$(Vorgang.InterneAuftragsnummer)+" ORDER BY fMwSt DESC")

Das liefert Dir erst einmal den Mehrwertsteuersatz des höchstpreisigen Artikels oder wie auch immer zurück und damit Du dieses Trum nicht überall dort einfügen musst, wo Du den Steuersatz haben willst, erzeugst Du Dir unter Projekt > Benutzervariablen eine neue Benutzervariable mit einem Namen Deiner Wahl, sagen wir mal "GlobalerSteuersatz" und gibst der Variable den Code von oben als Inhalt. Dann wird jedes Mal, wenn Du in Deiner Vorlage @GlobalerSteuersatz eintippst der Wert aus der Variablen geholt (also die SQL Query durchgeführt) und der Rückgabewert wird in der Vorlage eingefügt.

Die Änderungen in der Vorlage zu machen, bleibt Dir "übrig", aber ein Beispiel wie es geht will ich Dir schon geben. Unten findest Du die bisherige und "Deine Neue" Version des Gesamtbetrags unter dem Positionsblock. Der Unterschied ist hier eigentlich nur, dass die alte Version direkt die Variable Vorgang.Gesamtbetrag für das Gesamtbrutto nehmen kann, Du ab jetzt aber das Gesamtbrutto selbst über das Gesamtnetto und Deinen Steuersatz berechnen musst, also über Vorgang.Auftrag.Positionen.NettopreisGesamt*(1+(Val(@GlobalerSteuersatz)/100)).

Alter Gesamtbetrag
Code:
LocCurrL$(Vorgang.Gesamtbetrag,Vorgang.Gebietsschema) + Cond(Vorgang.Versandlandswährung != Vorgang.Währung, ' ('+ LocCurrL$(Vorgang.Gesamtbetrag / Vorgang.Währungsfaktor * Vorgang.Versandlandswährungsfaktor, Vorgang.Versandlandsgebietsschema) + ')', '')

Neuer Gesamtbetrag
Code:
LocCurrL$(Vorgang.Auftrag.Positionen.NettopreisGesamt*(1+(Val(@GlobalerSteuersatz)/100)),Vorgang.Gebietsschema) + Cond(Vorgang.Versandlandswährung != Vorgang.Währung, ' ('+ LocCurrL$(Vorgang.Auftrag.Positionen.NettopreisGesamt*(1+(Val(@GlobalerSteuersatz)/100)) / Vorgang.Währungsfaktor * Vorgang.Versandlandswährungsfaktor, Vorgang.Versandlandsgebietsschema) + ')', '')

Die Steuer selbst wäre dann natürlich Vorgang.Auftrag.Positionen.NettopreisGesamt*(Val(@GlobalerSteuersatz)/100) und so weiter und so fort.

Happy hacking ... ;)

Gruß,
Ingmar
 
Zuletzt bearbeitet:

Rico Giesler

Offizieller Servicepartner
SPBanner
10. Mai 2017
13.243
1.508
Hallo @mrarchitekt
Bitte kläre vorher mit deinem Steuerberater wie es korrekt sein muss.
Ich bin mir relativ sicher, dass die MwSt-Sätze nicht auf die Positionen übernommen werden müssen, sondern dass es lediglich um Zusatzkosten wie Versand geht, die den höchsten MwSt-Satz bekommen.