Tarifimport und Preisberechnung
Der lokale Rate Provider ist unabhängig vom Live-Express-Endpoint. Er berechnet Preise aus versionierten DHL-Vertragstarifen in Business Central.
Importfluss
Sieben Sheets werden erwartet:
PRICE_LISTSPRODUCTSZONESDESTINATIONSRATESSURCHARGESINDEX_VALUES
Die Validierung prüft Pflicht-Sheets, Spalten, Werte, Formate und Referenzen. Fehler bleiben als Import Lines mit Fehlercode und Text nachvollziehbar.
Aktivierung
Eine validierte Version wird in die Tarifstammdaten übertragen. Eine bereits aktive identische Version darf nicht ersetzt werden. Beim Aktivieren werden zeitlich überlappende aktive Versionen desselben Tarifs und Billing Accounts archiviert.
Berechnungsfluss
Datum und Länder normalisieren.
aktiven, gültigen Tarif wählen.
kontospezifischen Tarif gegenüber generischem Tarif bevorzugen.
Produkt ermitteln.
Zielzone über Land, Postcode, Datum und Priorität bestimmen.
Volumengewicht und abrechenbares Gewicht berechnen.
passendste Rate auswählen; länderspezifisch schlägt Zone.
Basismethode anwenden.
Pflicht- und Servicezuschläge berechnen.
Summary und Detailzeilen in den temporären Result Buffer schreiben.
Fehlervertrag
Der Provider wirft für fachlich erwartbare Berechnungsfehler keinen AL-Fehler, sondern liefert false, ErrorCode, ErrorText und eine Information-Zeile. Typische Codes sind:
INVALID_WEIGHTDESTINATION_REQUIREDTARIFF_NOT_FOUNDZONE_NOT_FOUNDMAX_WEIGHT_EXCEEDEDRATE_NOT_FOUND
Ergebnis
Die Summary-Zeile enthält Tarif, Version, Zone, tatsächliches, Volumen- und abrechenbares Gewicht sowie Basis-, Zuschlags- und Gesamtbetrag. Weitere Zeilen dokumentieren Basistarif und einzelne Zuschläge.
Externe Verwendung
Abhängige Apps sollen ausschließlich SOUDHL Rate Provider.CalculateRate verwenden. Direkte Tarif-Tabellenzugriffe sind nur für Administration oder ausdrücklich abgestimmte Adapter geeignet.
