Schweiz als Drittland behandeln (kein EU-Reverse Charge) #26
Labels
No labels
API
Artikel
B2B
B2C
Bestandssync
Bestellungen
DACH
DocType
Dokumentation
Grundgerüst
Import
Kategorien
Kunden
Lager
Mapping
Mehrsprachigkeit
Performance
Preise
Push
Scheduler
Schweiz
Steuern
Storefront
Sync
Varianten
Verbindung
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
Frappe-Projekte/ecommerce_integrations#26
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Die Schweiz steuerrechtlich korrekt als Drittland behandeln:
Umgesetzt in
shopware6/utils/tax.py(determine_customer_tax_treatment(), #25).Recherche vorab (wie bei #24):
Shopware Tax Mapping(Storefront + Satz → Konto) abgedeckt, keine B2B/B2C-Unterscheidung dort nötig.EU_COUNTRY_CODESenthalten war.Der tatsächliche Bug (gefunden im Vergleich mit Marcels
order/order_mapper.py): #25sreverse_charge-Bedingung prüfte nur das Lieferland gegen die EU-Länderliste, nicht das Herkunftsland (Company-Land des Storefronts). Ein Storefront mit Schweizer Company hätte bei einem deutschen B2B-Kunden mit gültiger USt-IdNr. fälschlichreverse_charge=Truegeliefert — rechtlich falsch, da Reverse Charge (Art. 138 MwStSystRL) nur zwischen zwei EU-Mitgliedstaaten gilt, eine Lieferung aus der Schweiz ist immer Drittlandsgeschäft.Fix: eine zusätzliche Bedingung
origin_country in EU_COUNTRY_CODES, bewusst generisch gehalten (nicht CH-spezifisch hartcodiert) — deckt damit jeden Nicht-EU-Herkunfts-Storefront ab.Zusätzlich: Hinweistext (
description) auf demShopware Tax Mapping-DocType, dass der Steuersatz pro Storefront unabhängig vom Kundentyp gilt und Nicht-EU-Storefronts nie Reverse-Charge/OSS auslösen, auch nicht mit hinterlegter USt-IdNr.Live verifiziert:
reverse_charge=False(vorher wäre es fälschlichTruegewesen).Shopware Tax Mappingsichtbar (frappe.get_meta().description).Details:
docs/architecture.md→ "Issue 26: Switzerland as a third country",Projekt.md→ Architecture Decisions.Damit ist Milestone 7 ("Steuern") vollständig abgeschlossen (4/4 Issues).