JTL-Wawi – Das Skonto Problem
Der Begriff Skonto kommt wie fast alle Fachbegriffe in der Buchhaltung aus dem Italienischen und bedeutet soviel wie „abziehen“. Im Grunde handelt es sich hier um einen Rabatt/Boni der gewährt wird, wenn der Kunde innerhalb einer bestimmten Frist seine Verbindlichkeiten beim Lieferanten begleicht. Also ein kleines Bonbon dafür das er nicht bis zum letzten Tag gewartet hat. In der Regel werden darum auch nur Nachlässe in der Größenordnung von 2 bis 3 Prozent gewährt. Im Busines to Customer (B2C) Bereich – wenn der Endkunde eine Ware bezieht – kommt dieses so gut wie nie vor. Im Business to Business – also bei Geschäften zwischen zwei Unternehmen – ist dies immer noch gängige Praxis. Beispiel ist der Großhändler, der seinen Einzelhändlern hier einen Skonto auf Zahlung innerhalb von 7 Tagen gewährt. Und jetzt soll ich das ganze mit der neuen JTL-Wawi abbilden.
Frei nach den Fantastischen Vier: „Es könnte so einfach sein, ist es aber nicht!“ Und genau so hat sich dieses Problem für mich dargestellt. Die erste Frage war also wo hinterlege den Skonto. Muss ich dafür eine eigene Zahlungsart anlegen oder kann ich den Skonto direkt beim Kunden hinterlegen. Die Anforderung meines Kunden ist das folgender Text auf der Rechnung erscheint:
„Zahlungsbedingung: Bar ./. [Wert-Skonto] % Skonto bis [Datum] abzgl. [Wert-Skonto] [Betrag minus Skonto] EUR.
In eckige Klammern habe ich hier die Werte gesetzt, die später in den Formularen als Variablen hinterlegt bzw. berechnet werden müssen. Und genau hier habe ich dann leicht die Krise bekommen und ich kann mir vorstellen, dass so mancher sich auch an den Kopf fassen wird. Was macht man in solchen Fällen? Ich kann doch nicht alleine mit diesem Problem sein, also hat gesichert jemand die Lösung für mich. Ab ins JTL-Forum, mein Problem geschildert und mal ganz dumm danach gefragt, ob jemand eine Lösung für mich hat.
Es hat keine 20 Minuten gedauert und igel-max hat im Forum folgendes gepostet:
„man kann es über Kundenatributte machen es bedarf jedoch in den Formular bestimmte Variable ich bin mir sicher das dir jemand gegen entsprechenden belohnung helfen kann :+)
Danach kann man bei jedem Kunden eine extra Skonto anlegen und der restliche Zeitraum wird über Zahlungsziel Tage reguliert.“
Danke das ist die Lösung. Nur bedarf es im Formular keiner bestimmten Variable, sondern einer ganzen Formel. Dazu aber später mehr. Der erste Test war also einem Kunden das Kundenattribut „Skonto“ mit dem Wert 3 zu geben. Ziehe ich mir dies in der Druckvorlage als Variable heran bekomme ich als Ergebnis den Text-String: „Skonto=3“ angezeigt. kann ich natürlich erst einmal nichts anfangen. Wenn dieser Weg also möglich ist, muss ich diesen String nur auseinandernehmen um hier den Wert 3 zu erhalten. Ich habe mir jetzt ehrlich nicht die Mühe gemacht, alle Funktionen im Druckvorlageneditor zu analysieren bis ich die richtige erhalte. Ich habe mich wieder kurz in meine Lieblingssuchmaschine begeben und nach der Antwort gegoogelt. Dort habe ich, wieder im Forum folgende Formel gefunden:
"Bei Zahlung bis zum " + date$(AddDays (JTL.WaWi.Vorgang.Datum.Rechnungsdatum_AlsDatum,7) ,'%x') + " gewähren wir auf die Rechnungssumme "+ (RegExMatch$ (RegExMatch$ (JTL.WaWi.Kunde.Attribute,'Skonto=[0-9]+'),'[0-9]+')) +"% Skonto (" + Fstr$ ((JTL.WaWi.SummeBruttoGesamt*(val(RegExMatch$ (RegExMatch$ (JTL.WaWi.Kunde.Attribute,'Skonto=[0-9]+'),'[0-9]+'))/100)),"?&.##") +" " +JTL.WaWi.Vorgang.Waehrung+ ")
Kurz analysiert und ja genau das ist es. Nur kann ich mit der Formel so nichts anfangen. Die funktioniert in meiner aktuellen Version 099955 schon mal gleich gar nicht. Aber hier ist die entscheidende Funktion enthalten, die ich brauche, um meinen String-Wert aus aus der Variable Kunde.Attribute zu extrahieren und anschließend in einen Wert (Value) zu verwandeln mit dem ich dann auch Rechnen kann. Meine Formel muss wie folgt aussehen um den richten Betrag für die Zahlung nach Abzug des Skonto ausweisen zu können:
Bruttobetrag – (Bruttobetrag * Skonto / 100) – Beispiel: 100 – (100 * 3 / 100) = 97
Damit ich das rechnen kann, muss ich mit der Funktion RegExMatch$ aus meinem String „Skonto=3“ den Wert 3 extrahieren. Und dafür verwende ich folgenden Ausdruck:
(RegExMatch$ (RegExMatch$ (Vorgang.Kunde.Attribute,'Skonto=[0-9]+'),'[0-9]+'))
Der Wert in der eckigen Klammer [0-9] gibt an, dass das Skonto einen Wert von 0 bis 9 annehmen kann. Okay, das reicht mir auch.
Nach ein bisschen Spielerei auf meiner Couch ist folgender Ausdruck entstanden:
"Bei Zahlung bis zum " + date$(AddDays (Vorgang.Erstelldatum,Vorgang.Kunde.Zahlungsziel))+ " abzgl. " + (RegExMatch$ (RegExMatch$ (Vorgang.Kunde.Attribute,'Skonto=[0-9]+'),'[0-9]+')) + "% Skonto " + str$(Vorgang.Auftrag.Gesamtbruttopreis - ( Vorgang.Auftrag.Gesamtbruttopreis * val((RegExMatch$ (RegExMatch$ (Vorgang.Kunde.Attribute,'Skonto=[0-9]+'),'[0-9]+')))/100),0,2) + " " + Vorgang.Währung
Jetzt habe ich alles beisammen. Ich weiß wo ich den Skonto hinterlegen muss und wie er auf den Rechnungen erscheint. Bleibt nur noch ein Problem zu lösen. Was ist wenn der Kunde tatsächlich 3% weniger bezahlt. Also anstatt der 100 Euro Rechnungsbetrag nur 97. Dann bleibt die Rechnung ja mit einem Fehlbetrag von 3 Euro offen in der Wawi stehen. Hier gleich ein Hinweis. Das was jetzt kommt sollte man dringend vorher mit dem Steuerberater klären. Ansonsten kann es später sehr schwierig werden. Warum? Es liegt am deutschen Mehrwertsteuer gesetzt und der Tatsache das auf einer Rechnung Artikel mit unterschiedlichen Mehrwertsteuersätzen sein können und wie dann zu verfahren ist, kann ich noch nicht verbindlich sagen. Ich mache mir es deshalb an dieser Stelle einfach und unterschlage das es zwei unterschiedliche Mehrwertsteuersätze gibt. Also wir haben einen Betrag von 3 Euro Skonto der noch offen ist. Wir könnten auf die Rechnung eine Rechnungskorrektur von 3 Euro schreiben. Damit würde unsere Umsatzstatistik wert-berichtigt sein. Ich schlage hier aber einen anderen Weg ein. Das bedeutet zwar, dass meine Umsatzstatistik in der JTL-Wawi nicht zu einhundert Prozent stimmt, aber ich mache es mir bei der Buchhaltung viel einfacher, weil ich die die Buchungsdaten sauber exportieren kann. Darüber hinaus bekomme ich den Wert, wie viel Skonto ich meinen Kunden gewährt habe. Um das zu erreichen benötige ich eine Eigene Zahlungsart. Und damit bin ich auch bei der praktischen Umsetzung.
Zahlungsart anlegen
Wie und wo Zahlungsarten in JTL-Wawi angelegt werden, kann in der Wiki nachgelesen werden. Ich öffne das Fenster Zahlungsarten verwalten über den Menüpunkt Einstellungen und lege dort eine neue Zahlungsart Skonto an. Als SKR 03/04 Konto gebe ich hier das Konto 4730 für gewährte Skonti an. An dieser Stelle bitte dringend Rücksprache mit dem Steuerberater halten!
Kunden anpassen
Habe ich dies wie im Screenshot erledigt kann ich meine Kunden anpassen. Hier muss ich jeden Kunden einzeln in der Kundenverwaltung öffnen und im Fenster Kundendetails unter Attribute das Attribut mit dem Namen Skonto hinterlegen und im den Wert zuweisen, den der Kunde später als Skonto erhalten soll. Hier 2 für 2% Skonto. Zahlungsart noch hinterlegen und fertig.
Jetzt wird es etwas schwieriger. Wer hier sich nicht traut Hand anzulegen, sollte seinen JTL-Wawi Servicepartner damit beauftragen. In der Vorlagenverwaltung muss jetzt die Rechnungsvorlage angepasst werden, damit später auf der Rechnung auch der Skonto für den Kunden ausgegeben wird. In der Rechnungsvorlage muss jetzt der Ausdruck für die Anzeige des Skonto eingebaut werden. Dazu öffnen Sie in der Vorlagen die Standardvorlage für Ihre Rechnungen.
Druckvorlage anpassen
Im Druckvorlageneditor wählen Sie nur den Bereich Freitextfeld aus und fügen den folgenden Ausdruck als neue Zeile ein.
"Bei Zahlung bis zum " + date$(AddDays (Vorgang.Erstelldatum,Vorgang.Kunde.Zahlungsziel))+ " abzgl. " + (RegExMatch$ (RegExMatch$ (Vorgang.Kunde.Attribute,'Skonto=[0-9]+'),'[0-9]+')) + "% Skonto " + str$(Vorgang.Auftrag.Gesamtbruttopreis - ( Vorgang.Auftrag.Gesamtbruttopreis * val((RegExMatch$ (RegExMatch$ (Vorgang.Kunde.Attribute,'Skonto=[0-9]+'),'[0-9]+')))/100),0,2) + " " + Vorgang.Währung
Das sieht dann so aus wie im Screenshot unten:Dami
Fazit
Mit einem Workaround lässt sich schon jetzt das Problem Skonto lösen. Allerdings hat dieser Weg einen Beigeschmack. Zum einen wird für den DATEV-Export und die richtige Berechnung der Mehrwertsteuer für jede Mehrwertsteuerart ein eigenes Konto benötigt. Über diesen Weg lässt sich dies nicht nachbilden. Ich bekomme zwar auf der Rechnung den Skonto richtig angezeigt. Zieht der Kunde sich beim bezahlen aber diesen, muss ich diese Rechnung gesondert behandeln. In jedem Fall würde ich in der Praxis dafür eine eigene Zahlungsart mit dem entsprechenden DATEV-Konto anlegen. Schöner wäre es natürlich, wenn dieser Prozess sauber in JTL-WAWI implementiert wäre. Lassen wir uns hier mal überraschen….
Haben Sie Fragen oder brauchen ein individuelles Angebot? Zögern Sie nicht, uns zu kontaktieren.
- 5/5
- 5 ratings
Very bad! | Bad | Hmmm | Oke | Good! |
---|---|---|---|---|
0% | 0% | 0% | 0% | 100% |
Haben Sie Fragen oder brauchen ein individuelles Angebot? Zögern Sie nicht, uns zu kontaktieren.