No description
Find a file
2026-03-04 14:20:53 +01:00
.vscode Initial commit: amazon invoice downloader 2026-03-04 14:02:29 +01:00
.dockerignore make projekt as docker 2026-03-04 14:20:53 +01:00
.gitignore make projekt as docker 2026-03-04 14:20:53 +01:00
docker-compose.yml make projekt as docker 2026-03-04 14:20:53 +01:00
Dockerfile make projekt as docker 2026-03-04 14:20:53 +01:00
main.py Initial commit: amazon invoice downloader 2026-03-04 14:02:29 +01:00
README.md make projekt as docker 2026-03-04 14:20:53 +01:00
requirements.txt make projekt as docker 2026-03-04 14:20:53 +01:00

Amazon Invoice Downloader

Ladet Amazon-Rechnungen fuer einen konfigurierbaren Zeitraum herunter.

Voraussetzungen

  • Windows/macOS/Linux
  • Python 3.10+
  • Ein Amazon-Konto

Installation

cd c:\projekte\amazon_invoice_downloader
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
python -m playwright install chromium

Einmalige Konfiguration

python main.py configure --marketplace de --download-dir "C:\Users\<USER>\Downloads\amazon_rechnungen"

Dann oeffnet sich ein Browser. Dort bei Amazon anmelden und auf Enter im Terminal druecken. Die Session wird lokal gespeichert in:

  • ~/.amazon_invoice_downloader/config.json
  • ~/.amazon_invoice_downloader/storage_state.json

Rechnungen herunterladen

python main.py download --from 2025-01-01 --to 2025-12-31

Docker Compose

Container-Image bauen:

cd c:\projekte\amazon_invoice_downloader
docker compose build

Rechnungen im Container herunterladen:

docker compose run --rm amazon-invoice-downloader download --from 2025-01-01 --to 2025-12-31 --headless true

Persistente Ordner:

  • ./state -> /root/.amazon_invoice_downloader (config + session)
  • ./downloads -> /downloads (Ausgabedateien)

Falls du bereits lokal konfiguriert hast, kopiere diese Dateien nach ./state:

  • config.json
  • storage_state.json

Optionaler Zielordner im Container:

docker compose run --rm amazon-invoice-downloader download --from 2025-01-01 --to 2025-12-31 --output /downloads --headless true

Optionen:

  • --output <pfad>: anderes Zielverzeichnis
  • --max-pages 25: Anzahl Bestellseiten, die durchsucht werden
  • --headless true|false: Browser sichtbar oder unsichtbar
  • --debug: zeigt, wie viele Detailseiten und Rechnungslinks gefunden werden
  • --debug-json [pfad]: schreibt Laufdetails als JSON (ohne Pfad: Standarddatei)

Hinweise

  • Das Skript setzt pro Jahr den Amazon-Filter timeFilter=year-YYYY auf your-orders/orders, damit Zeitraeume wie Januar 2025 korrekt durchlaufen werden.
  • Die Datumspruefung erfolgt direkt auf der Uebersichtsseite in den order-card-Elementen; Detailseiten sind nicht mehr der Primaerpfad.
  • Amazon-HTML kann sich aendern. Falls keine Rechnungen gefunden werden, --debug --debug-json nutzen.
  • Der Login ist absichtlich sessionbasiert statt Passwortspeicherung.
  • Bitte nur gemaess Amazon-AGB nutzen.