Ich stehe monatlich vor der Gretchenfrage, wie man diese dämlichen Ebay-Rechnungen buchen soll. Inzwischen ist der Verein ja in Deutschland angesiedelt und seitdem passen Nettobetrag, Umsatzsteuer und Bruttobetrag nie zusammen. Das ganze ergibt sich natürlich aus den Rundungsdifferenzen der einzelnen Transaktionen.
Variante 1: Ich orientiere mich an dem Nettobetrag und rechne USt. und Brutto aus
Variante 2: Ich orientiere mich an dem Bruttobetrag und rechne USt. und Netto aus
Variante 3: Ich buche jede Transaktion separat, dann stimmt auch alles. Das sind dann rund 500 jeden Monat. Alles händisch, denn ein funktionierendes AWK-Script habe ich noch nicht zustande gebracht, welches die csv-Datei so zurechtschnitzt, dass sie verarbeitet werden kann (v.a. Datum ändern von "16. Sep. 2021 00:43:58 PDT" in "16.09.2021").
Man kann bei diesem Thema übrigens auch "Ebay" durch "Klarna" ersetzen. Andere Firma, gleiches Problem.
Wo macht das Finanzamt am wenigsten Theater? Oder hat jemand die nötigen Kenntnisse, das über GAWK zu machen?
Muss gestehen, dass ich es aufgegeben habe, bei eBay eine Antwort zu erhalten, warum sie was wie buchen und woher die Zahlen kommen. Weder telefonisch, noch per Mail noch schriftlich wurde sich dazu geäußert. Ich nehme mittlerweile stumpf die eBay Rechnung, mit deren Zahlen. Für alles andere wäre der Aufwand zu hoch. Die Rechnung habe ich schriftlich und die hat bisher auch das FA nicht beanstandet. Vielleicht auch deswegen, weil sich eBay nicht zu meinen Gunsten verrechnet.
FNR > 0 {
for (i = 1; i <= 42; i++)
array[count,i] = $i;
Betrag = array[count,10];
Betrag_mit_Dezimalpunkt = Betrag
sub(/ *\"$/, "", Betrag_mit_Dezimalpunkt) # Anführungszeichen am Ende des Betrags löschen
sub(/^\"/, "", Betrag_mit_Dezimalpunkt) # Anführungszeichen am Anfang des Betrags löschen
sub(/,/, ".", Betrag_mit_Dezimalpunkt) # Komma durch Punkt ersetzen
if (Betrag_mit_Dezimalpunkt < 0)
{
if (length (array[count,4]) > 5 && (substr(array[count,4], 2, 3) == "in " || substr(array[count,4], 2, 4) == "von "))
{
array[count,11] = email
name_alt = array[count,4]
sub(/ *\"$/, "", name_alt) # Leerzeichen und Anführungszeichen am Ende des Namens löschen
sub(/^\"/, "", name_alt) # Anführungszeichen am Anfang des Namens löschen
array[count,4] = sprintf("%s (%s)", name, name_alt)
}
else if (array[count,11] != "" && array[count,11] != "\"\"")
{
email = array[count,11];
name = array[count,4];
}
}
Betrag_mit_Dezimalpunkt = Betrag
sub(/ *\"$/, "", Betrag_mit_Dezimalpunkt) # Anführungszeichen am Ende des Betrags löschen
sub(/^\"/, "", Betrag_mit_Dezimalpunkt) # Anführungszeichen am Anfang des Betrags löschen
sub(/,/, ".", Betrag_mit_Dezimalpunkt) # Komma durch Punkt ersetzen
if (Betrag_mit_Dezimalpunkt >= 0)
{
if (length (array[line,4]) > 5 && (substr(array[line,4], 2, 3) == "in " || substr(array[line,4], 2, 4) == "von "))
{
array[line,11] = email
name_alt = array[line,4]
sub(/ *\"$/, "", name_alt) # Leerzeichen und Anführungszeichen am Ende des Namens löschen
sub(/^\"/, "", name_alt) # Anführungszeichen am Anfang des Namens löschen
array[line,4] = sprintf("%s (%s)", name, name_alt)
}
else if (array[line,11] != "" && array[line,11] != "\"\"")
{
email = array[line,11];
name = array[line,4];
}
}
Datum = array[line,1];
Beschreibung = array[line,4];
Belegnummer = array[line,13];
if (array[line,7] == "\"EUR\"" || array[line,7] == "EUR") # nur EUR-Zeilen ausgeben
{
#ursprüngliche Zeile:
#for (i = 1; i <= 42; i++)
# printf "%s;", array[line,i];
#print
Betrieb = "Mein Betrieb";
Bestandskonto = "PayPal für meinen Betrieb";
Konto = "Warenverkäufe";
Steuersatz = 19;
if (array[line,5] == "\"Abbuchung auf Bankkonto\"" || array[line,5] == "\"Allgemeine Abbuchung\"" ||
array[line,5] == "Abbuchung auf Bankkonto" || array[line,5] == "Allgemeine Abbuchung")
{
Konto = "/Transfers zwischen Bankkonten";
Beschreibung = "PayPal-Abbuchung auf Bankkonto"
Steuersatz = 0;
}
# Buchungen, die mit 0% Steuer gemacht werden müssen
switch (Beschreibung)
{
case /Pommeroy/:
case /Badalamenti/:
Konto = "Warenverkäufe Ausland"
Steuersatz = 0
break
case /Privateinkauf/:
case /Einlage/:
Steuersatz = 0;
if (Betrag_mit_Dezimalpunkt > 0)
{
Konto = "/Privateinlagen"
}
else
{
Konto = "/Privatentnahmen"
}
break;
case /Deutsche Post AG/:
Steuersatz = 0;
if (Betrag_mit_Dezimalpunkt > 0)
{
Konto = "Sonstige Betriebseinnahmen"
}
else
{
Konto = "Porto"
}
break;
case /Zulieferer/:
case /Servicedienstleister/:
Steuersatz = 0;
if (Betrag_mit_Dezimalpunkt > 0)
{
Konto = "Sonstige Betriebseinnahmen"
}
else
{
Konto = "Sonstige Betriebsausgaben"
}
break;
}
print Datum ";" Betrag ";" Beschreibung ";" Belegnummer ";" Konto ";" Steuersatz ";" Betrieb ";" Bestandskonto
}
}
Das Nervigste bei gawk ist die Umwandlung des Kommas als Dezimaltrenner in den Punkt. Außerdem sortiere ich hier die Reihenfolge um, wozu ich alles erstmal in ein array packe.
Oje, da muss ich erst mal die awk-Hilfe durchlesen, um das zu durchdringen. Aber danke schon mal für's posten, ich schaue mal, was ich draus machen kann.
Warum man (Ebay) auch immer alles komplizert machen muss. Das Datum ist so formatiert: "16. Mär. 2021 00:09:50 PDT"
Bis jetzt habe ich mich am Nettobetrag orientiert. Damit war ich dann mit der errechneten VSt. immer leicht unter der ausgewiesenen USt. So komme ich wenigstens nicht in Verdacht, das FA betuppen zu wollen.
Bearbeitet von JensF am 05.01.2022 16:15:24
Du musst dich einloggen um eine Nachricht zu senden.
Thomas R
10.09.2026 15:41:15
@pandi12 Nein.
pandi12
01.09.2026 11:41:42
Hallo,
muss ich nach jeder Eingabe von Einnahmen und Ausgaben die Speichertaste drücken?
mielket
24.08.2026 17:33:07
v4.0.21 mit Buchungsvorlagen- Bibliothek, siehe auch hier
mielket
23.07.2026 14:51:49
v4.0.18 behebt einen möglich Crash bei Formularen und enthält eine Währungs- Umrechnung mit Einstellungs- Seite!
mielket
22.07.2026 16:36:24
Sorry für den 503-Fehler auf der Seite. (Der blöde Malware-Scanner meines Webhosters hat wieder mal false positives geworfen.)
mielket
12.07.2026 14:21:55
@Isa: Du musst Details liefern, damit es die Chance gibt, dass Dir jemand helfen kann. Am Besten mit einem Forums-Beitrag.
mielket
12.07.2026 14:19:43
@Reiner: Wenn Du abgeschriebene Anlagegüter mit einem Erinnerungswert von 1 € beibehalten willst, stell auf degressiv mit 99 Jahren und 0% AfA-Satz.
Reiner S
11.07.2026 15:50:24
Frage zu AFA: PC Komponenten bzw. Erweiterungen (für einen bereits vollständig abgeschriebenen PC) tauchen im AFA Verzeichnis nicht auf, wenn die Abschreibungsdauer auf 1 Jahr gelegt ist
Isa
10.07.2026 08:26:38
Bei der Umsatzstuererkläru ng sind nur 19% aufegführt. Die Ausgaben zu 7% fehlen. Wie bekomme ich das hin?
mielket
06.07.2026 11:36:16
@Detlev Alaze: Update mal auf v3.10.
Detlev Alaze
26.06.2026 14:47:30
sorry - aber ich finde nirgends wie ich auf dem Mac mit Version 3.9 drucken kann - wo und was muss ich machen ?
mielket
11.06.2026 19:55:06
Ich habe auch schon mit Flatpac experimentiert. Sieht vielversprechend aus...
mielket
09.06.2026 12:32:34
@dschuhmann EC&T ist speziell angepasst, um mit Wine problemlos zu laufen, insofern: ja, ist was dran.
dschuhmann
06.06.2026 23:07:23
Elster zeigt auf der Softwareseite für Linux auch Easy cash & tax an. Ist da was dran?
mielket
03.06.2026 11:38:55
Würde mich interessieren: Sind hier sonst noch Hardcore- Alphatester unterwegs, die die v4 nicht nur installiert haben, um sich nur mal anzuschauen wie es aussieht?