Amazon Rechnungen automatisiert herunterladen

Ich bestelle oft bei Amazon, von Hardware bis zu anderen Dingen. Da Amazon keine Rechnungen per Mail schickt und ich sie in meinem DMS benötige, habe ich jetzt eine Lösung dafür gefunden. 🔥

Amazon Rechnungen automatisiert herunterladen
Photo by Scott Graham / Unsplash / Image

Immer wieder habe ich das Problem, dass ich über das Jahr sehr viel bei Amazon bestelle. Egal ob Hardware oder sonstiges Zeug, was ich brauche. Nun habe ich aber das Problem, dass Amazon keine Mails per E-Mail versendet, ich die Rechnungen in meinem DMS haben möchte. Dafür gibt's aber nun eine Lösung 🔥


Wenn du dich auch für ein gutes Dokumenten Management System interessierst, dann schau dir einfach mal meinen Artikel über ein sehr gutes System an:

Jeder braucht ein DMS zuhause
Deine Dokumente stapeln sich in Ordnern? Digitalisiere sie doch einfach 📃

Das Problem 🤔

Immer mehr Dienstleister gehen dazu über, dass sie Rechnungen nicht mehr per Mail versenden, sondern in Kundenportalen bereitstellen. Das hat Vor- aber auch Nachteile. Spätestens dann, wenn man viele Rechnungen bekommt, wird es blöd diese Rechnungen "mal eben" herunterzuladen. Amazon ist hier der Präzedenzfall von Kundenunfreundlichkeit.

Es gibt keine Möglichkeit sich alle Rechnungen gebündelt herunterzuladen, zumindest nicht in der "normalen" Version. Mag sein, dass das Business-Konten können, aber das weiß ich nicht.

Wenn man nun aber, so wie ich, auch jährlich seine Einkommensteuererklärung macht und auch einige Dinge absetzen möchte, möchte man ungerne am Ende des Jahres sich durch Amazon durchwühlen. Das habe ich Jahre gemacht, ist blöd und macht echt keinen Spaß. Hierfür musste also eine Lösung her.

Die Lösung 💡

Wie Ihr wisst, bin ich ja seit knapp 16 Jahren professioneller Software-Entwickler. Daher lag es nahe, dass ich hierfür ein Tool schreibe und so entstand "Docudigger".

GitHub - Disane87/docudigger: Website scraper for getting invoices automagically as pdf (useful for taxes or DMS)
Website scraper for getting invoices automagically as pdf (useful for taxes or DMS) - GitHub - Disane87/docudigger: Website scraper for getting invoices automagically as pdf (useful for taxes or DMS)

Technischer Hintergrund 🛠️

Die Herausforderung ist auch, dass manche Anbieter auch keine APIs anbieten, womit man seine Rechnungen herunterladen könnten. Docudigger verwendet im Hintergund NodeJS und die Bibliothek Puppeteer. Puppeteer ist im Kern ein simpler WebScraper, der so tut, als wäre es ein Benutzer und so dann Websiten im Browser aufruft. Der Clou ist aber, dass passiert alles automatisiert und per Code.

Genau so kann man sich dann auf Webseiten anmelden und ganz normal navigieren, als wäre man ein "richtiger" Benutzer.

Installation ⌨️

Damit du Docudigger verwenden kannst, musst du einen Docker-Host haben. Das ist der einfachste Web um Applikationen in einer kontrollierten Umgebung laufen zu lassen. Aus dem Grund habe ich mich hierfür entschieden.

Docudigger bietet zwar auch die Möglichkeit, das via Command-Line auszuführen, aber das hat den Nachteil, dass es nicht periodisch mitläuft. Hier musst du selbst entscheiden, was für dich das beste Vorgehen ist.

Falls du dich für Docker entscheidest, kannst du ganz einfach den nachfolgenden Befehl ausführen und Docudigger sollte schon direkt für dich einsatzbereit sein:

docker run \ 
  -e AMAZON_USERNAME='[YOUR MAIL]' \ 
  -e AMAZON_PASSWORD='[YOUR PW]' \
  -e AMAZON_TLD='de' \ 
  -e AMAZON_YEAR_FILTER='2020' \
  -e AMAZON_PAGE_FILTER='1' \
  -e LOG_LEVEL='info' \
  -v "C:/temp/docudigger/:/home/node/docudigger" \
  ghcr.io/disane87/docudigger

Weitere Konfigurationsmöglichkeiten findest du in der Doku hierzu:

GitHub - Disane87/docudigger: Website scraper for getting invoices automagically as pdf (useful for taxes or DMS)
Website scraper for getting invoices automagically as pdf (useful for taxes or DMS) - GitHub - Disane87/docudigger: Website scraper for getting invoices automagically as pdf (useful for taxes or DMS)
💡
Bitte passe die Pfade entsprechend deinem System an. Vor allem die Anmeldung und Dateisystempfade musst du auf deine Gegebenheiten anpassen.

Das schöne daran ist, dass Docudigger sich alle PDFs zieht und die in dem Pfad /home/node/docudigger (im Container) ablegt. Wenn du den nun so mappst, dass er z.B. auf den Consume-Folder von Paperless zeigt, dann kann Paperless diese Dokumente direkt abarbeiten, sobald sie dort abgelegt werden. Hierzu solltest du dir mal die Einstellung ONLY_NEW ansehen. Sofern diese eingeschaltet ist, wird der erstmalige Lauf protokolliert und der nächste Durchlauf, startet bei der letzten abgearbeiteten Position.

Weitere coole Features 🧙

Docudigger habe ich so konzipiert, dass es aus Plugins besteht, die man selbst erweitern kann. Meine Idee dahinter war nämlich, dass man pro Anbieter ein Plugin schreibt (da sich ja auch Seitenaufbau etc.) signifikant von einander unterscheiden werden.

So ist dann auch z.B. geplant, dass man Rechnungen von deinem Internetanbieter oder Kontoauszüge von deiner Bank ziehen kann, alles völlig automatisiert.

Das alles ist aber noch im Aufbau und unterstützt zum aktuellen Zeitpunkt nur Amazon. Für die Zukunft sind aber noch weitere Plugins geplant. Da es sich hierbei aber im ein Hobby-Projekt handelt, dauert es halt manchmal etwas länger 😊

Einschränkungen ⚠️

Natürlich gibt es auch ein paar Einschränkungen. So ist es nicht möglich, dass Captchas auf der Seite (aktuell zumindest noch) automatisiert beantwortet werden können.

Auch kann das Tool zum aktuellen Zeitpunkt noch nicht mit einer Zweifaktor-Authentifizierung umgehen. Hier musst du also für dich selbst entscheiden, ob das Tool dann etwas für dich ist. Geplant sind diese Features, aber wann ich sie umsetzen kann, das steht leider aktuell etwas in den Sternen.

Mein Plan ist aber an dem Tool aktiv zu arbeiten 🤞


Ich hoffe ich konnte dir damit eine neue Möglichkeit eröffnen, wie du zukünftig automatisiert deine Rechnungen von Amazon (oder demnächst auch anderen System) .