84 lines
2.4 KiB
Markdown
84 lines
2.4 KiB
Markdown
# Amazon Invoice Downloader
|
|
|
|
Ladet Amazon-Rechnungen fuer einen konfigurierbaren Zeitraum herunter.
|
|
|
|
## Voraussetzungen
|
|
|
|
- Windows/macOS/Linux
|
|
- Python 3.10+
|
|
- Ein Amazon-Konto
|
|
|
|
## Installation
|
|
|
|
```powershell
|
|
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
|
|
|
|
```powershell
|
|
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
|
|
|
|
```powershell
|
|
python main.py download --from 2025-01-01 --to 2025-12-31
|
|
```
|
|
|
|
## Docker Compose
|
|
|
|
Container-Image bauen:
|
|
|
|
```powershell
|
|
cd c:\projekte\amazon_invoice_downloader
|
|
docker compose build
|
|
```
|
|
|
|
Rechnungen im Container herunterladen:
|
|
|
|
```powershell
|
|
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:
|
|
|
|
```powershell
|
|
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.
|