Michael-Beutling / Amazon-MoneyMoney

Give you a overview about your amazon orders in MoneyMoney
91 stars 8 forks source link

Alle Umsätze bis auf die Bücher fehlen plötzlich #68

Open Theo-Ernst opened 2 months ago

Theo-Ernst commented 2 months ago

Merkwürdig, es werden nur noch die Bücher erfasst. Alle anderen Käufe fehlen.

Eine Neueinrichtung mit aktuellem Lua Script hat nicht geholfen.

Das Konto meiner Frau funktioniert aber nach wie vor korrekt.

Da ich nichts geändert habe, muss es wohl an Amazon liegen.

Das Protokoll kann ich nicht wirklich interpretieren, aber es fällt mir nichts ungewöhnliches auf.

Theo

jsadbjsadljnsa commented 2 months ago

Gleiches bei mir, siehe https://github.com/Michael-Beutling/Amazon-MoneyMoney/issues/67.

@Michael-Beutling, wird das Add-On noch weiter entwickelt bzw. liest du hier noch mit?

Flupppe commented 1 month ago

HI, ist bei mir leider auch so.

Hat schon jemand eine Idee für einen Fix ?

Grüße Mike

jsadbjsadljnsa commented 1 month ago

Ich befürchte leider, dass das Addon nicht weiter programmiert wird. Ich habe da leider keinerlei Ahnung von.

thisismana commented 1 month ago

Jep, ist leider ruhig hier. Jedoch habe ich noch keine ernsten Probleme festgestellt, welche die Intervention des Entwicklers gebraucht hätten.

Schaut mal selbst, wie weit ihr mit folgendem kommt:

  1. Log anschauen, aka "Log Window" (Shortcut ⌘ L)
  2. Evtl. debug aktivieren, es gibt vermutlich eine Datei ~/Library/Containers/com.moneymoney-app.retail/Data/amazon_orders.json in der man "debug": true setzen kann und dann zurück zu Punkt 1.

In dieser Datei sind noch weitere Schalter, die bei der Fehlerbehebung helfen können. Probiert mal alle Settings, die mit clean reihum auf true zu setzen, bei mir z.B. waren im ordersCache irgendwelche Karteileichen, die bei jedem Refresh geladen wurden.

jsadbjsadljnsa commented 1 month ago

Das Log habe ich bereits ausgelesen. Verstehe dort leider nicht viel von.

Die Umsätze werden nicht abgerufen.

thisismana commented 1 month ago

Dann teile doch bitte mal das Log ... ggf. vorher anonymisieren. Zumindest in Verbindung mit debug=true sollte es hier etwas Erkenntnisgewinn geben.

jsadbjsadljnsa commented 1 month ago

Ich bin mir unsicher, was in dem Log alles unkenntlich gemacht werden muss, daher werde ich es nicht teilen.

Hat vielleicht jemand anders eine Idee, oder ggf. meldet sich @Michael-Beutling noch einmal dazu :)

Flupppe commented 1 month ago

Jep, ist leider ruhig hier. Jedoch habe ich noch keine ernsten Probleme festgestellt, welche die Intervention des Entwicklers gebraucht hätten.

Schaut mal selbst, wie weit ihr mit folgendem kommt:

  1. Log anschauen, aka "Log Window" (Shortcut ⌘ L)
  2. Evtl. debug aktivieren, es gibt vermutlich eine Datei ~/Library/Containers/com.moneymoney-app.retail/Data/amazon_orders.json in der man "debug": true setzen kann und dann zurück zu Punkt 1.

In dieser Datei sind noch weitere Schalter, die bei der Fehlerbehebung helfen können. Probiert mal alle Settings, die mit clean reihum auf true zu setzen, bei mir z.B. waren im ordersCache irgendwelche Karteileichen, die bei jedem Refresh geladen wurden.

vielen Dank für die Tipps! Habe alles ausprobiert, leider ohne erfolg. Im Protokoll Fenster stehen 107 items, 0 new. Das sind leider viel zu wenig. Habe es nun manuell upgedatet via chrome extensions. Ist leider ein bißchen umständlicher :-)

jsadbjsadljnsa commented 1 month ago

Wie geht das denn mit Chrome @Flupppe?

Flupppe commented 1 month ago

Wie geht das denn mit Chrome @Flupppe?

https://chromewebstore.google.com/detail/amazon-order-history-repo/mgkilgclilajckgnedgjgnfdokkgnibi anbei der Link

Rangerope commented 1 month ago

Mit der Chrome-Extension kann man die Datei einfach nach MoneyMoney einlesen, das ist schon mal gut.

Ich benutze die Kontoart "mix", so dass ich die Umsätze direkt in dem Amazon-Konto in MM kategorisieren kann und die Abbuchung von meinem Konto dann als Umbuchung kategorisiert wird.

Ich würde gern die Zahlungen von meinem Konto über die Chrome-Extension gerne mit einem negativen Vorzeichen versehen (dazu habe ich ein Skript gebastelt, da klappt), aber ich bekomme die "Gegenbuchung" nicht mit in das Konto.

Hat einer von euch eine Idee, wie man ein Mix-Konto (solange das Plugin von @Michael-Beutling nicht geht) mit den entsprechenden Gegenbuchungen nachbilden kann?

Mein Setup: 2FA bei Amazon, es werden noch Kindle-Bücher auch das Plugin abgerufen (incl. der Gegenbuchung), andere Waren aber nicht, so wie der TO beschrieben hat.

Rangerope commented 1 month ago

Mit einem Script geht es. Ich lese die Umsätze per Chrome-Extension, speichere diese als CSV, das Script fügt die Gegenbuchung ein (Mix-Konto), und diese Datei (ebenfalls CSV) kann MoneyMoney dann einlesen. Etwas komplizierter, und manuell, aber zur Not geht es. Ich hoffe dennoch, dass das Plugin von @Michael-Beutling bald wieder funktioniert...

jsadbjsadljnsa commented 1 month ago

Hallo, seit gerade eben erhalte ich wieder Buchungen in MoneyMoney, ohne etwas geändert zu haben. Ist das bei euch auch so?

Theo-Ernst commented 1 month ago

Habe Account neu eingerichtet. Dann sind die ganz aktuellen, bei mir von heute, alle da. In der Vergangenheit wie gehabt nur die Bücher.

darkmattercoder commented 2 weeks ago

Mit einem Script geht es.

Magst Du das Skript teilen @Rangerope ?

Rangerope commented 2 weeks ago

Mit einem Script geht es.

Magst Du das Skript teilen @Rangerope ?

Klar. Nicht sehr elegant, funktioniert aber bei mir gut. Eingabe-Datei für das Script ist die CSV-Datei der Umsätze, die man mit dem Chrome-Plugin laden kann

Syntax des Scripts ist ./scriptname.sh eingabe_datei.csv ausgabe_datei.csv

#!/bin/bash

if [ "$#" -ne 2 ]; then
  echo "Usage: $0 input_file output_file"
  exit 1
fi

INPUT_FILE=$1
OUTPUT_FILE=$2

if [ ! -f "$INPUT_FILE" ]; then
  echo "Error: Input file '$INPUT_FILE' not found!"
  exit 1
fi

TEMP_FILE=$(mktemp)

# Schütze die CSV-Datei und ersetze Kommas als Trennzeichen durch Tabs
csvquote "$INPUT_FILE" | tr ',' '\t' > "$TEMP_FILE"

# Verarbeite die Datei, invertiere den Preis, und füge die zusätzliche Zeile hinzu
awk -F'\t' 'BEGIN { OFS="\t" } 
NR==1 { print; next } 
{ 
    previous_line = $0;          # Speichere die aktuelle Zeile, um sie später zu ignorieren
    original_price = $7;
    sub(/^"|"$/, "", $7);        # Entfernt die Anführungszeichen um den Preis
    gsub(/[^0-9,]/, "", $7);     # Entfernt alle nicht numerischen Zeichen, außer dem Komma
    gsub(",", ".", $7);          # Ersetzt das Komma durch einen Punkt
    $7 = sprintf("%.2f", -$7/100);  # Invertiert den Preis und formatiert ihn auf 2 Dezimalstellen
    gsub("\\.", ",", $7);        # Ersetzt den Punkt zurück durch ein Komma
    if (NR != NR_MAX) { 
        print;                       # Druckt die invertierte Zeile

        # Füge die zusätzliche Zeile mit der Gegenbuchung ein
        sub(/^"|"$/, "", original_price);        # Entfernt die Anführungszeichen um den Preis
        gsub(/[^0-9,]/, "", original_price);     # Entfernt alle nicht numerischen Zeichen, außer dem Komma
        gsub(",", ".", original_price);    # Konvertiert Komma in Punkt für die Berechnung
        additional_price = sprintf("%.2f", -original_price/100);  # Berechnet den positiven Betrag
        gsub("\\.", ",", additional_price); # Ersetzt den Punkt zurück durch ein Komma
        print "", "", $3, "", "Amazon-Gegenbuchung", "", -additional_price, "",$5;
    }
}
END {
    if (NR != NR_MAX) {        # Ausgabe der letzten Zeile unterdrücken
        NR_MAX = NR;
    }
}' NR_MAX=$(awk 'END{print NR}' "$TEMP_FILE") "$TEMP_FILE" > "$OUTPUT_FILE"

rm "$TEMP_FILE"

echo "Formatted table with correctly inverted prices, additional rows, and tab separator has been created and saved to '$OUTPUT_FILE'"

Das Ouput-File importiere ich in MoneyMoney und gut. Wer mag. darf das Script gern verbessern.