Glühwürmchen III – Persönlicher Finanzmanager

Druckfreundlich, PDF & Email

Ich nehme an, dass vielleicht viele von Ihnen ihn kennen werden, Firefly III ist ein Service, mit dem wir unsere Finanzen verwalten können. Einen Manager, der uns hilft, unsere Bankkonten zu verstehen, Wir werden in der Lage sein, leicht zu verstehen, wohin unser Geld fließt, Natürlich Open Source und On-Premise!

Brunnen, Nun, das war's auch schon, Wenn Sie mehr Transparenz über Ihre Bankkonten benötigen, oder eine stärkere Überwachung von Einnahmen und Ausgaben haben, FireFly III hilft in dieser Hinsicht seit Jahren. Wir werden es in weniger als 5 Minuten dank Docker!

Es gibt mehrere Möglichkeiten, Firely III zu installieren (und um es zu konfigurieren), basierend auf dem, was wir brauchen; In diesem Fall installieren wir Firefly III in einem Docker-Container, Bevor wir fortfahren, laden wir die Dateien herunter, die wir benötigen, und passen sie an unsere Bedürfnisse an:

wget https://raw.githubusercontent.com/firefly-iii/docker/main/docker-compose-importer.yml -O docker-compose.yml wget https://raw.githubusercontent.com/firefly-iii/firefly-iii/main/.env.example -O .env wget https://raw.githubusercontent.com/firefly-iii/docker/main/database.env -O .db.env wget https://raw.githubusercontent.com/firefly-iii/data-importer/main/.env.example -O .importer.env

Wir bearbeiten die Datei '.env’ Und zumindest werden wir die APP_KEY, Lokale und Anmeldeinformationen für den Zugriff auf MySQL-Datenbanken, Da diese Datei den größten Teil der Konfiguration, Der Mail-Teil, wenn wir Benachrichtigungen wünschen…

APP_KEY=secretrode32characters DEFAULT_LANGUAGE=es_ES TZ=Europa/Madrid
...
DB_USERNAME=USUARIO_BD DB_PASSWORD=CONTRASEÑA_USUARIO_BD
...

Wir bearbeiten die Datei '.db.env’ und ändern Sie mindestens die DB-Zugangsdaten (Das Gleiche wie im vorherigen Schritt):

MYSQL_USER=USUARIO_BD MYSQL_PASSWORD=CONTRASEÑA_USUARIO_BD

Letzte, Wenn wir daran interessiert sind, den Container zum Importieren von Daten nach Firefly zu haben, bearbeiten wir '.importer.env’ (Und wenn nicht,, Wir ignorieren das). Und wir geben die IP-Adresse oder den FQDN des Firefly III-Servers an, sowie wir werden den Weg wählen, um uns zu authentifizieren, in der Regel mit dem Access Token (Später werden wir sehen, wie man es generiert):

FIREFLY_III_URL=http://IP_O_FQDN_FIREFLY_III FIREFLY_III_ACCESS_TOKEN=ey...
TZ=Europa/Madrid

Und am Ende haben wir die docker-compose.yml’ wenn wir an Änderungen interessiert sind, In meinem Fall habe ich nur die Ports geöffnet, 80tcp für FireFly III, 81tcp für den Importeur und natürlich die 3306 Ich lasse es offen, MySQL von außen zu konsultieren, zum Beispiel von Grafana, Bleibend:

Dienste:
...
  App:
...
    Häfen:
      - '80:8080'
...
...
  Db:
...
    Häfen:
      - '3306:3306'
...
...
  Importeur:
...
    Häfen:
      - '81:8080'
...

Und, Zum Schluss heben wir die Container an:

docker compose -f docker-compose.yml up -d --pull=immer

Wir werden nun in der Lage sein, auf die Firefly iii-Website zuzugreifen, in diesem Fall veröffentlicht auf Port 80tcp der Docker-Host-IP, Also HTTP://DIRECCION_IP_O_FQDN und wenn wir uns zum ersten Mal anmelden, müssen wir ein Konto erstellen, Wir stellen unsere E-Mail-Adresse und ein Passwort zur Verfügung & “Registrieren”,

Sobald wir eintreten, müssen wir unsere erste Bank registrieren, Und wir können einen Blick auf die Anwendung werfen, Aber ohne Daten ist es etwas dürftig… Als nächstes wird es also darum gehen, die Daten aus unserer Bank zu importieren!

Zuallererst, Wir müssen uns für die Art der Authentifizierung entscheiden, die wir im Container "Firefly III Data Impor Tool" verwenden werden, Am einfachsten ist es, ein Personal Access Token von Firefly III zu generieren und es in der Datei '.importer.env anzugeben.’

Wenn wir die Container regenerieren und uns mit der Website des 'Firefly III Data Impor Tools' verbinden’ (In meinem Fall auf Port 81tp) Wir werden in der Lage sein, den Importprozess zu starten, Anklicken “Datei importieren”,

In 'Importierbare Datei'’ Wir lassen die CSV-Datei, die wir von unserer Bank heruntergeladen haben, mit all dem Geschichtlichen, was uns an den Bewegungen interessiert. Die optionale Konfigurationsdatei, die uns fragt, Im Moment werden wir es nicht haben, Aber sobald wir mit diesem Zauberer fertig sind, Wir werden in der Lage sein, es zu generieren, eine JSON-Datei, die mit den Optionen gefüttert wird, die wir unten auswählen werden, “Nächster”,

Wir geben an, ob die CSV-Datei Header hat, wenn wir es in UTF-8 konvertieren möchten, Was ist das CSV-Trennzeichen?, In welche Bank werden wir es von FireFly III importieren, Format des Datums… “Senden”,

Abhängig von den oben gewählten Optionen wird uns der Inhalt unserer Datei angezeigt und die Spalten werden getrennt… Wir können die Spalten ignorieren, die wir nicht importieren möchten (Natürlich), und ordnen Sie die Rolle jeder Spalte zu, Zumindest werden wir die Felder "Transaktionsdatum" importieren, "Beschreibung’ und 'Betrag'. “Senden”,

Bevor Sie beginnen, Wir können auf “Konfigurationsdatei herunterladen” Damit wir diesen Assistenten nicht ausführen und uns das Format merken müssen, das er hat, oder um diesen Import in Zukunft zu automatisieren. Anklicken “Job starten” zunächst,

Wir sehen, wie wichtig CSV-Bewegungen sind… Hoffen…

Wenn er fertig ist, wird er es uns sagen, perfekt!

Wir fangen an, Daten zu haben! Ole und ole Rigodón! Jetzt können wir jeden Bericht detaillierter sehen, etc…

Folgendes, kann darin bestehen, die Kategorien zu konfigurieren, Um zu wissen, wohin unser Geld fließt! so dass es jede Bewegung kategorisiert und sagt, ob es sich um eine Hypothek handelt, Ausgaben im Supermarkt, Benzin, von Amazon…

Seit “Automatisierung” > “Regeln” Wir können sie erstellen, Die Einrichtung ist einfach, Wir geben ihm einen Namen und wann er aktiviert werden soll, wenn ein Wort in der Beschreibung erkannt wird, Zum Beispiel…

Und da verlasse ich euch mit Firefly III, Ein paar Kurven, die sehr einfach sind; Dann die kleinen Käse, Berichte sind eleganter, Wir verstehen genauer, wohin unser Budget fließt. Diese Screenshots, die Sie oben sehen, stammen von einer Open-Source-App, die wir auf unseren Handys installieren können (genannt Waterfly III) , die mit FireFly III verbunden werden kann und vielleicht komfortabler ist…

Und… Moment, wir sind noch nicht fertig! Sie erinnern sich, dass wir im MySQL-Datenbankcontainer den 3306tcp offen gelassen haben? Nun, mit den Zugangsdaten können wir eine Verbindung herstellen und Abfragen stellen, da wir interessiert sind und es auf eine schöne Art und Weise sehen und von Grafana zu probieren, Nach Kategorien, oder einfach die Bewegungen… aber nicht nur, um es von Grafana aus zu sehen, aber mit wie geeky ich bin, Ich generiere eine PDF und diese Information kommt mir darin zu, unter anderem interessante Details zum Home Assistant (Statistik…)

Übrigens, Die Zahlen, die wir sehen, Sie sind Fälschungen, abgesehen davon, dass sie halb verdeckt sind, so dass man die Figuren, mit denen ich hantiere, nicht kennt, Ich kann nicht so öffentlich sagen, wie viele Millionen ich habe). Kommen, auf den Punkt gebracht, derjenige, der MySQL-Abfragen benötigt:

  • Grafik mit Summe:
SELECT tj.date als Uhrzeit, "Gesamt" als Metrik, SUMME(t.Menge) ÜBER (BESTELLEN NACH TJ.date ASC) AS value
FROM transactions t INNER JOIN transaction_journals tj ON t.transaction_journal_id = tj.id
WHERE t.account_id = 'TU_ID_DEL_BANCO' ORDER BY tj.date ASC;

  • Grafik mit Bewegungen:
SELECT tj.date als Uhrzeit, t.Betrag als Wert, tj.description as metric
FROM transactions t INNER JOIN transaction_journals tj ON t.transaction_journal_id = tj.id
WHERE t.account_id = 'TU ID DEL BANCO' ORDER BY tj.date ASC;

  • Bewegungstisch:
SELECT t.amount, tj.Beschreibung, LINKS(tj.date, 10) Bis heute, SUMME(t.Menge) ÜBER (BESTELLEN NACH TJ.date ASC) AS Total
FROM transactions t INNER JOIN transaction_journals tj ON t.transaction_journal_id = tj.id
WHERE t.account_id = 'TU ID DEL BANCO' ORDER BY date desc;

Und hoffe, dass ich das Wichtigste vergesse.! Wie automatisieren wir das?? Nun, wenn Sie Glück haben und Ihre Bank es Ihnen ermöglicht, sich irgendwie zu verbinden,, nach API, etc… Nicht schlecht, sonst, Gibt es einen Dienst von Drittanbietern? (Kostenpflichtig und extern) die Ihnen helfen könnten… Eine andere Möglichkeit besteht darin, dass wir die Dateien wöchentlich manuell herunterladen und sie immer auf dem gleichen Pfad belassen, Dann importiert ein Skript sie (Es gibt einen Cron-Container), oder mit einem Tool, das die Klicks aufzeichnet, Melden Sie sich bei der Bank an und erstellen Sie den Bericht… Letzteres ist meine persönliche Wahl. Es ist wirklich beschissen, Ich habe eine isolierte VM, Kein Internetzugang (Nichts als die Seiten der Banken)… und täglich wird eine Tiny Task ausgeführt (Vorsicht) , die die Berichte generiert, denn jede Bank gehört ihrem Vater, einige werden in CSV generiert, andere in XLS und andere in XLSX (Berühren Sie Ihren…) Also hinterlasse ich Ihnen einige Tipps, die ich in einem Skript habe, die Ihnen helfen können:

#Konvertieren Sie von XLSX in CSV und verwenden Sie die ; als Trennzeichen:
    xlsx2csv -d ';' fichero.xlsx fichero.csv

#Convierte de XLS a CSV sin perder el formato de las fechas:
    libreoffice --convert-to csv fichero.xls #Borra die erste 15 Linien:
    sed -i '1,15d' fichero.csv

#Importa el csv que hay en la carpeta actual con el JSON de configuración, Beide Dateien haben den gleichen Namen:
    Sudo Docker Run --RM -V $PWD:/import -e FIREFLY_III_ACCESS_TOKEN=ey... -e IMPORT_DIR_ALLOWLIST=/import -e FIREFLY_III_URL=http://IP_FQDN_FIREFLY_III -e WEB_SERVER=false fireflyiii/Datenimporteur:neueste

Mit diesem letzten Befehl importieren wir die CSV in die Bank, die im JSON angegeben ist, ein Wunder! Vermeidung von doppelten Bewegungen, etc… Das Neueste (Und das war's auch schon), die MySQL-Abfragen, die wir zuvor gesehen haben, Sie können sich als nützlich erweisen, um es in Home Assistant zu integrieren, Und das sagt uns, während wir über unsere Lautsprecher frühstücken, welchen Saldo wir auf der Rechnung haben, sowie die neuesten Uhrwerke… Matrosen-Stoff!!!

Kommen, Jetzt lasse ich dich in Ruhe, Ich wünsche Ihnen alles Gute, dass du wenig arbeitest und viel 😉 verdienst eine Umarmung!

Empfohlene Beiträge

Verfasser

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, Zögern Sie nicht, mich zu kontaktieren, Ich werde versuchen, dir zu helfen, wann immer ich kann, Teilen ist Leben ;) . Genießen Sie Dokumente!!!