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.
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?
mielket
03.06.2026 11:33:38
v4.0.8 patch: Dauerbuchungen ausführen stürzte ab und Zugriff auf bestimmte Einstellungen von Plugins aus war nicht möglich. Damit habe ich eben die USt.-Voranmeldung für das 1. Quartal übertragen.
mielket
02.06.2026 14:10:10
v4.0.7 patch: Anfangssaldo und Filtern bei WPF-Bestandskonten -Journal sowie ein Out-Of-Memory Crash repariert.
mielket
29.05.2026 16:30:06
v4.0.6 patch verfügbar; u.a. funktioniert das CSV-Import-Plugin jetzt mit der v4. Viele andere Bugs sind gefixt.
Stimmt der Pfad zum Datenverzeichnis?
Links oben auf das Programm-Icon klicken und dann ggf. das richtige Verzeichnis auswählen.
Besser einen Thread im Forum eröffnen.