E-Mail-Benachrichtigung bei fehlgeschlagenem/übersprungenem Bestellungsimport #35

Open
opened 2026-08-22 22:29:30 +00:00 by csaeum · 0 comments
Owner

Ziel

Aktuell landen fehlgeschlagene oder übersprungene Bestellungsimporte (#27/#28/#30) nur im ERPNext Error Log — niemand wird aktiv benachrichtigt, wenn eine Bestellung nicht als Sales Order ankommt, sondern dort "untergeht". Ziel: eine E-Mail-Benachrichtigung, sobald das passiert.

Betroffenes Modul

shopware6 — betrifft alle bestehenden Skip-/Fail-Kategorien aus shopware6/api/order.py:

  • skipped_no_storefront, skipped_no_customer, skipped_item_not_found, skipped_no_tax_mapping (alle via frappe.log_error(title="Shopware Order Import: Skipped", ...))
  • failed (via frappe.log_error(title="Shopware Order Import: Failed", ...))

sowie automatisch jede künftige Kategorie mit demselben title-Präfix, ohne Code-Änderung nötig (siehe Lösungsvorschlag).

Lösungsvorschlag (bereits recherchiert)

ERPNext bringt dafür bereits ein natives DocType mit — kein eigener Code nötig:

Notification-DocType (ERPNext-Core, keine neue App):

  • document_type: Error Log (funktioniert auf jedem DocType, auch Core)
  • event: New
  • channel: Email
  • condition: doc.method and doc.method.startswith("Shopware Order Import")
  • recipients: gewünschte Empfänger (Rolle oder feste E-Mail-Adresse)

Die condition matcht sowohl den bestehenden "Shopware Order Import: Skipped"- als auch "Shopware Order Import: Failed"-Titel (das title=-Argument von frappe.log_error() landet im Error Log-Feld method) — deckt automatisch alle aktuellen und zukünftigen Skip-/Fail-Kategorien ab, ohne dass order.py geändert werden muss.

Ausliefern als Frappe Fixture (über hooks.pys fixtures-Liste), nicht als manueller Einrichtungsschritt in der Admin-UI — damit die Benachrichtigung bei jeder neuen Installation der App automatisch mitkommt, statt stiller Tribal Knowledge zu sein.

Akzeptanzkriterien

  • Bei jedem neuen Error Log-Eintrag mit method beginnend mit "Shopware Order Import" geht automatisch eine E-Mail an die konfigurierten Empfänger.
  • Die Notification-Konfiguration ist Teil der App (Fixture in hooks.py), nicht nur manuell in der Admin-UI angelegt.
  • Kein neuer Python-Code in order.py nötig — reine Konfiguration.
  • Live verifiziert: ein absichtlich provozierter Skip/Fail (z. B. fehlendes Tax Mapping) löst tatsächlich eine E-Mail aus.

Explizit außerhalb des Scopes

  • Benachrichtigung für andere Sync-Richtungen (Produkt-/Preis-/Bestandspush) — nur der Bestellungsimport ist hier gemeint.
  • Eskalationsstufen, Digest/Zusammenfassung statt Einzel-Mail, Slack/andere Kanäle — nicht angefragt.
## Ziel Aktuell landen fehlgeschlagene oder übersprungene Bestellungsimporte (#27/#28/#30) nur im ERPNext Error Log — niemand wird aktiv benachrichtigt, wenn eine Bestellung nicht als Sales Order ankommt, sondern dort "untergeht". Ziel: eine E-Mail-Benachrichtigung, sobald das passiert. ## Betroffenes Modul `shopware6` — betrifft alle bestehenden Skip-/Fail-Kategorien aus `shopware6/api/order.py`: - `skipped_no_storefront`, `skipped_no_customer`, `skipped_item_not_found`, `skipped_no_tax_mapping` (alle via `frappe.log_error(title="Shopware Order Import: Skipped", ...)`) - `failed` (via `frappe.log_error(title="Shopware Order Import: Failed", ...)`) sowie automatisch jede künftige Kategorie mit demselben `title`-Präfix, ohne Code-Änderung nötig (siehe Lösungsvorschlag). ## Lösungsvorschlag (bereits recherchiert) ERPNext bringt dafür bereits ein natives DocType mit — kein eigener Code nötig: **`Notification`-DocType** (ERPNext-Core, keine neue App): - `document_type`: `Error Log` (funktioniert auf jedem DocType, auch Core) - `event`: `New` - `channel`: `Email` - `condition`: `doc.method and doc.method.startswith("Shopware Order Import")` - `recipients`: gewünschte Empfänger (Rolle oder feste E-Mail-Adresse) Die `condition` matcht sowohl den bestehenden `"Shopware Order Import: Skipped"`- als auch `"Shopware Order Import: Failed"`-Titel (das `title=`-Argument von `frappe.log_error()` landet im `Error Log`-Feld `method`) — deckt automatisch alle aktuellen und zukünftigen Skip-/Fail-Kategorien ab, ohne dass `order.py` geändert werden muss. **Ausliefern als Frappe Fixture** (über `hooks.py`s `fixtures`-Liste), nicht als manueller Einrichtungsschritt in der Admin-UI — damit die Benachrichtigung bei jeder neuen Installation der App automatisch mitkommt, statt stiller Tribal Knowledge zu sein. ## Akzeptanzkriterien - Bei jedem neuen `Error Log`-Eintrag mit `method` beginnend mit `"Shopware Order Import"` geht automatisch eine E-Mail an die konfigurierten Empfänger. - Die Notification-Konfiguration ist Teil der App (Fixture in `hooks.py`), nicht nur manuell in der Admin-UI angelegt. - Kein neuer Python-Code in `order.py` nötig — reine Konfiguration. - Live verifiziert: ein absichtlich provozierter Skip/Fail (z. B. fehlendes Tax Mapping) löst tatsächlich eine E-Mail aus. ## Explizit außerhalb des Scopes - Benachrichtigung für andere Sync-Richtungen (Produkt-/Preis-/Bestandspush) — nur der Bestellungsimport ist hier gemeint. - Eskalationsstufen, Digest/Zusammenfassung statt Einzel-Mail, Slack/andere Kanäle — nicht angefragt.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Frappe-Projekte/ecommerce_integrations#35
No description provided.