Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Eigener USt-Handler

Die Entscheidung über die Umsatzsteuer in einem Exponential-Shop durch einen eigenen Handler ersetzen - der Vertrag von getVatPercent, die Erweiterung von eZDefaultVATHandler, die Registrierung in shop.ini…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/e-commerce/extending/custom-vat-handler.md

On this page

This page is a translation. Read the English original

Eigener USt-Handler

Diese Seite ist für Entwickler, deren Umsatzsteuerregeln sich nicht mit USt-Regeln nach Land und Produktkategorie ausdrücken lassen. Der Shop fragt einen USt-Handler nach dem Prozentsatz jedes Produkts mit dynamischer Umsatzsteuer; Sie können Ihren eigenen Handler schreiben und alles andere behalten.

Inhalt

  1. Wann Sie einen brauchen
  2. Der Vertrag
  3. Ihn registrieren
  4. Auf dem Standard-Handler aufbauen
  5. Testen

Wann Sie einen brauchen

SituationReicht der Standard-Handler?
Steuersatz nach Land des Kunden und ProduktkategorieJa (Produktkategorien und USt-Regeln)
Ein anderer Satz für Geschäftskunden mit gültiger USt-IdNr.Nein
Der Satz hängt von der Lieferadresse statt vom Land des Kontos abNein
Die Sätze kommen von einem externen SteuerdienstNein

Die Steuerregeln selbst sind Sache Ihres Steuerberaters; der Handler setzt nur um, was Sie entscheiden.

Der Vertrag

eZVATManager::getVAT( $object, $country ) (kernel/classes/ezvatmanager.php) lädt den Handler und ruft auf:

function getVatPercent( $object, $country )
ArgumentBedeutung
$objectDas Inhaltsobjekt des Produkts
$countryDer Ländercode des Kunden oder false, wenn unbekannt

Geben Sie den Prozentsatz als Zahl zurück. Die Rückgabe von null kennzeichnet die Umsatzsteuer als unbekannt. Der Handler wird nur für Produkte gefragt, deren Preis den dynamischen USt-Typ verwendet; Produkte mit einem festen USt-Typ behalten diesen.

Ihn registrieren

# extension/mystore_shop/settings/shop.ini.append.php
[VATSettings]
Handler=mystore
ExtensionDirectories[]=mystore_shop
RequireUserCountry=false

Die Klasse mystoreVATHandler gehört in extension/mystore_shop/vathandlers/mystorevathandler.php. Setzen Sie RequireUserCountry=false nur, wenn Ihr Handler das Land nicht braucht; der mitgelieferte Kommentar sagt das ebenfalls (shop.ini durchgegangen).

Auf dem Standard-Handler aufbauen

Wenn Sie eZDefaultVATHandler (kernel/classes/vathandlers/ezdefaultvathandler.php) erweitern, bleibt die regelbasierte Entscheidung erhalten, und Sie können zuerst eine Ausnahme behandeln:

class mystoreVATHandler extends eZDefaultVATHandler
{
    function getVatPercent( $object, $country )
    {
        if ( $this->isBusinessCustomerWithValidNumber() )
        {
            return 0;
        }
        return parent::getVatPercent( $object, $country );
    }
}

isBusinessCustomerWithValidNumber() schreiben Sie selbst; woher die USt-IdNr. kommt (ein Kontofeld, das Kassenformular Ihres Shop-Konto-Handlers), ist Ihr Entwurf. Der RAD-Handler-Assistent hat ein Rezept für USt-Handler, das dieses Gerüst schreibt (Pfad für Entwickler).

Testen

  • To do: Unit-Tests von getVatPercent() für jeden Fall, den Sie umsetzen.
  • To do: Eine Testbestellung je Fall; Bestätigungsseite, Bestellung und Mail stimmen überein.
  • To do: Unbekanntes Land: Das Ergebnis ist das, was Sie beabsichtigen, keine versehentliche 0.
  • To do: Das Shop-Dashboard zeigt keine unerwartete Warnung zu 0 Prozent.

Verwandte Seiten

Werden Sie Exponential-Partner

Partner teilen ihre Informationen, stellen Mittel bereit, geben Beiträge zurück und entwickeln die Produkte mit uns, und so wächst Exponential. Eine Partner-Website und ein Dashboard sind für Mitte 2027 geplant: Werden Sie noch heute Partner, damit wir schneller wachsen und neue Funktionen früher liefern.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x