CSV-Datei erstellen für DATEV Import von Forex- und CFD-Trades auf MT4-Konto
Wer eine Trading-GmbH gegründet hat (oder wie ich in seiner gewerblichen GmbH tradet), muss per deutschem Handelsrecht jede Transaktion in seiner Buchhaltung einzeln abbilden. Das gilt somit auch für Forex- und CFD-Deals auf einem MT4-Konto.
Wer aktiv handelt, erreicht leicht eine 3- bis 4- (oder gar 5-stellige?) Dealanzahl pro Jahr. Die sollen nun alle einzeln gebucht werden? Zum Beispiel in das DATEV-Buchhaltungssystem hinein, mittels dem die meisten Steuerberater die Finanzbuchhaltung ihrer Mandanten führen?
Das klingt nach einem unglaublich zeitraubenden und nervenaufreibendem Aufwand, den keiner haben will.
Daher habe ich, in enger Abstimmung mit meiner Steuerberaterin, ein MQL4-Skript geschrieben, das auf Knopfdruck eine so genannte CSV-Datei erstellt, die in DATEV importiert werden kann.
Dann geht das alles so schnell und einfach wie der sprichwörtliche Wimpernschlag!
Wie das geht? Und bekommst Du das Skript auch? Und was wird es kosten?
Lies bitte weiter:
Der ganze Sachverhalt rund um die Verbuchung von CFD- und Forex-Trades ist neu für so ziemlich jeden Steuerberater (bis auf ein paar spezialisierte Dienstleister). Das gleiche gilt für die Finanzbehörden, die das Thema selbst lieber meiden (laut anonymen, anekdotischen Quellen, die uns vorliegen).
Daher möchte ich mein Skript mit offenem Quellcode kostenlos (!!!) zur Verfügung stellen, in Creative Commons Lizenz.
Ich bitte um Feedback und eine offene, konstruktive Diskussion, um das Skript mit immer wachsendem Verständnis für die Gesetzeslage immer besser an die Buchhaltungsvorschriften der Bundesrepublik Deutschland anzupassen.
Das hilft uns allen Tradern weiter.
Folgende Annahmen haben wir bislang getroffen:
Jeder Forex- und CFD-Trade muss einzeln in der Finanzbuchhaltung verbucht sein.
Da es sich steuerlich bei Forex- und CFD-Geschäften im MT4 um Termingeschäfte handelt, buchen wir die Deals nur bei deren Glattstellung.
Transaktionskosten, die in MT4 zu einem Deal direkt dazugehören, wie z.B. Swap und Commission, werden mit dem Dealgewinn in Kontowährung saldiert, so dass nur die Netto-GuV gebucht wird.
Als separate Tickets ausgewiesene Erträge und Aufwendungen (z.B. Dividendenausgleichsbuchungen bei Positionen im S&P500-Kontrakt oder anderen Preis-Indizes) werden als eigener Gewinn- bzw. Verlustdeal bewertet.
Netto-Gewinn-Deals werden Bank (z.B. 1210) an Gewinne aus Termingeschäften (z.B. 2651) gebucht.
Netto-Verlust-Deals werden Verluste aus Termingeschäften (z.B. 2101) an Bank (z.B. 1210) gebucht.
Im Belegfeld #1 der Finanzbuchhaltung (DATEV) wird die Ticketnummer hinterlegt.
Im Buchungstext wird das Symbol, also z.B. EURUSD oder .DE30Cash, eingetragen.
Ein- und Auszahlungen werden über das Geldtransit-Konto 1360 verbucht.
Wir erstellen monatliche CSV-Dateien, um zeitnah unseren Buchungsstand mit dem offiziell ausgewiesenen Kontostand auf dem Kontoauszug des Brokers (bei JFD z.B. „Balance“ genannt) abgleichen zu können.
Liegen zum Bilanzstichtag am Geschäftsjahresende offene Deals vor, die in Summe einen schwebenden Netto-Verlust aufweisen, muss gegebenenfalls eine Drohverlustrückstellung gebildet werden. (Diese muss der Steuerberater separat buchen, sie wird nicht von der mit dem Skript erstellten CSV-Datei abgedeckt. Als Basis dazu kann die Bewertung der offenen Deals aus dem Kontoauszug des Brokers dienen.)
Das DATEV-CSV-Import-Format ist hier dokumentiert: https://developer.datev.de/portal/de/dtvf/sampledata.
Wichtiger Haftungsausschluss an dieser Stelle: dieser Blog dient nicht als Steuer- oder Rechtsberatung, sondern teilt lediglich mit Euch, welchen Wissensstand meine Steuerberaterin und ich in bestem Wissen und Gewissen erörtert haben. Falls Du das Skript selbst verwenden willst, spreche die Vorgehensweise auf alle Fälle mit einem Steuerberater Deines Vertrauens ab! (Und gib mir darüber Feedback.)
Folgendermaßen funktioniert das Skript:
Stelle sicher, dass Du im MT4 in Deinem Konto eingeloggt bist und die Kontohistorie geladen hast, die Du ins CSV-File für den DATEV-Import schreiben willst.
Das Skript-File (ex4/mq4) muss im Dateiordner abgelegt sein: MT4-Menü Datei → Dateiordner öffnen → MQL4 → Scripts.
Wenn Du das Skript dort gerade abgelegt hast, aktualisiere das Navigator-Fenster (Rechtsklick auf Skripte → Aktualisieren) oder starte den MT4 einmal neu.
Rufe das Skript aus dem Skript-Ordner im Navigator-Fenster auf und aktiviere es per Doppelklick. Folgendes Fenster siehe rechts öffnet sich.
Nun nehmen wir die notwendigen Eingaben vor:
Bei Bezeichnung des Stapels tragen wir den Namen des Buchungsstapels ein. Er sollte den Inhalt gut und knapp beschreiben, ist aber (am besten unter Abstimmung mit der Steuerberaterin) frei wählbar und hat keinerlei Auswirkung auf die Buchungen.
Dann wird der Zeitraum der Deals eingegeben (ausschlaggebend ist der Closing-Zeitpunkt eines jeden Geschäfts in der MT4-Dealhistorie). Wenn, wie im Beispiel zu sehen, Von 2022.08.01 00:00 BisVor 2022.09.01 00:00 eingegeben ist, bedeutet das, dass alle Deals exportiert werden, die ab einschließlich 1. August 2022 um 00:00 Uhr bis vor 1. September 2022 um 00:00 Uhr geschlossen wurden. In anderen Worten: alles, was im August 2022 geschlossen wurde, wird in die CSV-Datei eingetragen.
Berater und Mandant sind Nummern, die DATEV vergibt. Du erfährst sie von Deinem Steuerberater.
In der Zeile darunter trägst Du den Starttag Deines Wirtschaftsjahres ein, zu dem der exportierte Monat gehört. Format: YYYYMMDD, also Jahr vierstellig (z.B. 2022), Monat zweistellig (z.B. 01 für Januar), Tag zweistellig (z.B. 01 für den Monatsersten). Wenn Dein Wirtschaftsjahr das Kalenderjahr ist, gibst Du 20220101 für 2022 ein. Wenn es sich um Deals aus dem Wirtschafts- und Kalenderjahr 2021 handelt, gibst Du 20210101 ein.
Sachkontenlänge ist in aller Regel 4. Das bedeutet, Deine Buchungskonten in der Finanzbuchhaltung haben vier Stellen, also z.B. 1210 Bank. Sprich Dich im Zweifelsfall mit Deinem Steuerberater ab, welcher Eintrag hier vorgenommen werden soll.
Kürzel in Großbuchstaben des Bearbeiters sind die Initialen der Person, die die CSV-Datei erstellt oder die den DATEV-Import durchführt. Sprich Dich mit Deinem Steuerberater ab, welcher Eintrag hier vorgenommen werden soll.
Darunter trägst Du den Kontorahmen ein, den Du verwendest. Zumeist wird es „3“ für SKR03 oder „4“ für SKR04 sein. Wenn Du einen davon abweichenden Kontorahmen verwendest, bitte Deine Steuerberaterin um Info, was hier einzutragen ist.
Die nächsten vier Zeilen beschreiben die Sachkonten Deiner Finanzbuchhaltung, auf die gebucht werden sollen: Bank, Geldtransit sowie Gewinne und Verluste.
Die letzten beiden Zeilen sollen bewirken, dass das Skript Ein- und Auszahlungen richtig erkennt. Sieh in der Kontohistorie nach, welchen Orderkommentar Einzahlungen und Auszahlungen haben und trage den jeweils gemeinsamen Nenner hier ein. (Dazu musst Du die Kommentare einblenden, was Du per Rechtsklick auf einen beliebigen Kontohistorieneintrag machst.) Bei JFD z.B. haben Einzahlungen immer den Text „Deposit_“ im Orderkommentar, Auszahlungen „Withdrawal_“, jeweils gefolgt vom gewählten Zahlungsmittel.
Dann klickst Du auf OK.
Es öffnet sich nun ein Alarm-Fenster, das Dich darüber informiert, wo die CSV-Datei abgespeichert wurde: Im Dateiordner unter MQL4 → Files. Sofern das Skript Deals im eingegebenen Zeitraum in der Kontohistorie gefunden hat, wurde eine Import-Datei für DATEV erstellt. Lagen keine Deals vor, wurde kein File erstellt.
Dieses File schickst Du nun (am besten per verschlüsselter E-Mail) an Deinen Steuerberater/Buchhalter, mit der Bitte um Einlesen des Buchungsstapels in DATEV und Abgleich des Kontostands mit dem Kontoauszug.
So sollte die Verbuchung von Hunderten oder gar Tausenden von Deals in Windeseile von statten gehen.
Willst Du das Skript?
Jetzt folgt der Download, kostenlos und komplett unverbindlich – und auch ohne Gewähr und Haftung unsererseits. Download und Nutzung auf eigenes Risiko – weder dieser Blog noch das Skript stellen eine Rechts- oder Steuerberatung dar, sondern bilden lediglich unseren eigenen Arbeitsstand und unsere Meinung über die rechtlich saubere Vorgehensweise ab.
Es würde mich sehr freuen, Dich auch als neuen Freitagsmail-Abonnent begrüßen zu dürfen. Mein wöchentlicher EA-Trading-Newsletter ist kostenlos, jederzeit abbestellbar und voller wertvoller Inhalte zum Thema “erfolgreiche EAs”. Einfach unten im Download-Formular das kleine Häkchen setzen.
Ich bitte um Dein Feedback, was Deine Steuerberaterin dazu sagt bzw. wir sie vorgeht. Entweder per Email oder per Kommentar unter diesem Blog.
Melde Dich bitte auch gleich für meine Freitagsmail an, damit Du direkt und sofort erfährst, wenn es zu diesem Skript und anderen EA-Trading-Themen Events, Neuigkeiten und Angebote gibt.
Trade wie Profis
Dein Cristof Ensslin von mindful FX