DHL Validierungsregeln V5.0 - Erweitert
Vollständige Geschäftslogik-Engine für DHL Frachtabrechnungen mit LTL/FTL-Unterstützung
Zuschlagsregeln (Erweitert)
Kontextabhängige Zusatzgebühren mit dynamischer Berechnung
🆕 Maut (Ursprungs- und Zielland-basiert)
Prozentual
NEU - V5.0
Intelligente Berechnung: Straßenbenutzungsgebühr basierend auf Ursprungs- UND Zielland der Sendung
Inland (Deutschland): 5,92% des Frachtbetrags
Anwendbar: NUR wenn SOWOHL Ursprung ALS AUCH Ziel in Deutschland (DE→DE)
International: 3,0% des Frachtbetrags
Anwendbar: Bei ALLEN grenzüberschreitenden Sendungen (DE→AT, AT→DE, FR→BE, etc.)
Regellogik:
• Automatische Erkennung von Ursprungs- UND Zielland
• Parsing von Formaten: "DE 12345", "D-12345", "HU-1234"
• Inland-Rate (5,92%) nur bei reinem Inlandsverkehr DE→DE
• International-Rate (3,0%) bei jeder Grenzüberschreitung
Anwendbar: NUR wenn SOWOHL Ursprung ALS AUCH Ziel in Deutschland (DE→DE)
International: 3,0% des Frachtbetrags
Anwendbar: Bei ALLEN grenzüberschreitenden Sendungen (DE→AT, AT→DE, FR→BE, etc.)
Regellogik:
• Automatische Erkennung von Ursprungs- UND Zielland
• Parsing von Formaten: "DE 12345", "D-12345", "HU-1234"
• Inland-Rate (5,92%) nur bei reinem Inlandsverkehr DE→DE
• International-Rate (3,0%) bei jeder Grenzüberschreitung
📐 Berechnungsbeispiele:
Inland (DE→DE): €200,00 × 5,92% = €11,84International (AT→DE): €200,00 × 3,0% = €6,00
International (DE→AT): €200,00 × 3,0% = €6,00
International (FR→BE): €200,00 × 3,0% = €6,00
🆕 Treibstoff Zuschlag (Quartalsbasiert mit Prozentsatz-Validierung)
Prozentual + Quartal
NEU - V5.0
Quartalsmäßige Berechnung: Kraftstoffzuschlag basierend auf Abholdatum gemäß JOST-Diesel-Floater-Tabelle (2025)
✨ NEU: Duale Validierung - Das System prüft sowohl den berechneten Betrag als auch den auf der Rechnung angezeigten Prozentsatz
📋 Position-Anzeige: In der Position-Spalte wird dieser Zuschlag als "DIESEL" angezeigt (die interne Validierungslogik bleibt unverändert)
✨ NEU: Duale Validierung - Das System prüft sowohl den berechneten Betrag als auch den auf der Rechnung angezeigten Prozentsatz
📋 Position-Anzeige: In der Position-Spalte wird dieser Zuschlag als "DIESEL" angezeigt (die interne Validierungslogik bleibt unverändert)
Q1/2025 (01.01. - 31.03.2025): 7,0%
Q2/2025 (01.04. - 30.06.2025): 9,0%
Q3/2025 (01.07. - 30.09.2025): 8,0%
Q4/2025 (01.10. - 31.12.2025): 7,0%
Standard (Fallback außerhalb 2025): 8,0%
Regellogik:
• Verwendet Abholdatum (pickup_date) wenn vorhanden
• Fallback auf Rechnungsdatum
• Automatische Zuordnung zum korrekten Quartal
• Basiert auf JOST Diesel-Floater-Tabelle (vierteljährlich aktualisiert)
🔍 Neue Prozentsatz-Validierung:
• Extrahiert Prozentsatz aus Rechnungstext (z.B. "TREIBSTOFF ZUSCHLAG (8,00 %)")
• Vergleicht mit erwartetem Quartalssatz
• Zeigt ✓ grüne Bestätigung bei korrektem Prozentsatz
• Zeigt ⚠️ rote Warnung bei falschem Prozentsatz, auch wenn Betrag zufällig stimmt
• Verhindert Abrechnungsfehler durch fehlerhafte Quartalszuordnung
📌 WICHTIG - Position-Anzeige:
• In der Position-Spalte wird "TREIBSTOFF ZUSCHLAG" als "DIESEL" angezeigt
• Die interne Validierungslogik sucht weiterhin nach "TREIBSTOFF ZUSCHLAG"
• Nur die Anzeige im Frontend wird angepasst
Q2/2025 (01.04. - 30.06.2025): 9,0%
Q3/2025 (01.07. - 30.09.2025): 8,0%
Q4/2025 (01.10. - 31.12.2025): 7,0%
Standard (Fallback außerhalb 2025): 8,0%
Regellogik:
• Verwendet Abholdatum (pickup_date) wenn vorhanden
• Fallback auf Rechnungsdatum
• Automatische Zuordnung zum korrekten Quartal
• Basiert auf JOST Diesel-Floater-Tabelle (vierteljährlich aktualisiert)
🔍 Neue Prozentsatz-Validierung:
• Extrahiert Prozentsatz aus Rechnungstext (z.B. "TREIBSTOFF ZUSCHLAG (8,00 %)")
• Vergleicht mit erwartetem Quartalssatz
• Zeigt ✓ grüne Bestätigung bei korrektem Prozentsatz
• Zeigt ⚠️ rote Warnung bei falschem Prozentsatz, auch wenn Betrag zufällig stimmt
• Verhindert Abrechnungsfehler durch fehlerhafte Quartalszuordnung
📌 WICHTIG - Position-Anzeige:
• In der Position-Spalte wird "TREIBSTOFF ZUSCHLAG" als "DIESEL" angezeigt
• Die interne Validierungslogik sucht weiterhin nach "TREIBSTOFF ZUSCHLAG"
• Nur die Anzeige im Frontend wird angepasst
📐 Berechnungsbeispiele (2025):
Fracht: €200,00Datum: 15.02.2025 (Q1) → 7,0% → €14,00
Datum: 15.05.2025 (Q2) → 9,0% → €18,00
Datum: 15.08.2025 (Q3) → 8,0% → €16,00
Datum: 15.11.2025 (Q4) → 7,0% → €14,00
✨ Validierungsbeispiel:
Rechnung vom 14.07.2025 (Q3):• Erwarteter Satz: 8,0% (Q3/2025)
• Rechnung zeigt: "TREIBSTOFF ZUSCHLAG (8,00 %)" ✅
• Position-Spalte zeigt: "DIESEL" (Display-Name)
→ ✓ Prozentsatz korrekt: 8.0% (Q3/2025)
Fehlerfall:
• Rechnung zeigt: "TREIBSTOFF ZUSCHLAG (7,00 %)" ❌
• Position-Spalte zeigt: "DIESEL" (Display-Name)
→ ⚠️ PROZENTSATZ-FEHLER: Rechnung zeigt 7.0%, aber Q3/2025 erfordert 8.0%
🆕 Avisierung der Zustellung (Standortbasiert)
Festtarif
Standortabhängig
Intelligente Berechnung: Benachrichtigungsdienst für Empfänger vor Zustellung mit standortabhängiger Tarifierung
Neu-Isenburg (PLZ 63263): €5,00
Alle anderen Standorte: €10,00
Regellogik:
• Automatische Erkennung der Ziel-Postleitzahl
• Reduzierter Tarif für Anlieferungen nach Neu-Isenburg
• Standardtarif für alle anderen Lieferadressen
Alle anderen Standorte: €10,00
Regellogik:
• Automatische Erkennung der Ziel-Postleitzahl
• Reduzierter Tarif für Anlieferungen nach Neu-Isenburg
• Standardtarif für alle anderen Lieferadressen
📐 Berechnungsbeispiele:
Nach Neu-Isenburg (63263): €5,00 (Sondertarif)Nach Berlin (10115): €10,00 (Standard)
Nach München (80331): €10,00 (Standard)
🆕 Gitterboxtausch (Einheiten-basiert)
Pro Einheit
NEU - V5.0
Intelligente Berechnung: Austausch von Gitterboxpaletten basierend auf Anzahl
Preis pro Einheit: €12,50
Einheitencode: SK (Gitterbox)
Regellogik:
• Parsing von "MIXED = 1SK, 4PLE, 2CO"
• Extraktion der SK-Anzahl
• Berechnung: Anzahl × €12,50
Einheitencode: SK (Gitterbox)
Regellogik:
• Parsing von "MIXED = 1SK, 4PLE, 2CO"
• Extraktion der SK-Anzahl
• Berechnung: Anzahl × €12,50
📐 Berechnungsbeispiele:
1 SK → 1 × €12,50 = €12,503 SK → 3 × €12,50 = €37,50
🆕 JOST EF Tariff-Validierung
Automatischer Abgleich gegen JOST EF DHL Tarifmatrix mit 531 Routen
Vollständige Tarifprüfung aktiviert
Alle Frachtkosten werden automatisch gegen die JOST EF DHL Tarifmatrix validiert. Das System erkennt automatisch Inbound/Outbound-Routen und wendet intelligente Fallback-Logik an.
Tarifmatrix-Struktur:
📦 176 Inbound-Routen (zu Erfurt 99xxx)
🚚 354 Outbound-Routen (von Erfurt 99xxx)
⚖️ 24 Gewichtsklassen (100 kg bis 20.000 kg)
🚛 FTL-Tarife (> 20.000 kg Pauschalpreis)
💶 Mindestpreise pro Route
🚚 354 Outbound-Routen (von Erfurt 99xxx)
⚖️ 24 Gewichtsklassen (100 kg bis 20.000 kg)
🚛 FTL-Tarife (> 20.000 kg Pauschalpreis)
💶 Mindestpreise pro Route
🔍 Routen-Matching-Logik (mit Fallback):
1. Exakte PLZ-Zuordnung: DE91-DE99 (Ansbach → Erfurt)2. Ziel-Wildcard: DE91-DE99 (alle Erfurt-PLZ)
3. Ursprungs-Wildcard: DE99-DE99 (alle → spezifisch)
4. Doppel-Wildcard: DE99-DE99 (alle → alle)
5. Nachbarregionen: DE97/98-DE99 (±1, ±2 PLZ-Bereiche)
💡 Fallback zu Nachbarregionen wenn keine exakte Route existiert
Tarifberechnung:
Gewichtsklasse finden:
→ Frachtpflichtiges Gewicht in Bracket einordnen
→ Beispiel: 1.172 kg → Bracket "1250 kg"
Tarif berechnen:
→ Gewicht × Rate/kg = Berechneter Preis
→ MAX(Berechnet, Mindestpreis) = Endpreis
FTL-Sonderfall (> 20.000 kg):
→ Direkter Pauschalpreis (keine Rate/kg)
→ Frachtpflichtiges Gewicht in Bracket einordnen
→ Beispiel: 1.172 kg → Bracket "1250 kg"
Tarif berechnen:
→ Gewicht × Rate/kg = Berechneter Preis
→ MAX(Berechnet, Mindestpreis) = Endpreis
FTL-Sonderfall (> 20.000 kg):
→ Direkter Pauschalpreis (keine Rate/kg)
📐 Berechnungsbeispiel (Route DE94-DE99):
Gewicht: 1.172 kgBracket: ≤1250 kg
Rate: 0,130 €/kg
Berechnet: 1.172 × 0,130 = 152,36 EUR
Minimum: 89,00 EUR
Endpreis: MAX(152,36, 89,00) = 152,36 EUR
Richtungs-Erkennung:
Inbound (zu Erfurt):
✓ Ziel-PLZ beginnt mit 990 oder 991
✓ Beispiel: Aldersbach (94501) → Erfurt (99098)
Outbound (von Erfurt):
✓ Ursprungs-PLZ beginnt mit 990 oder 991
✓ UND Ziel-PLZ ist NICHT 990/991
✓ Beispiel: Erfurt (99098) → München (80331)
✓ Ziel-PLZ beginnt mit 990 oder 991
✓ Beispiel: Aldersbach (94501) → Erfurt (99098)
Outbound (von Erfurt):
✓ Ursprungs-PLZ beginnt mit 990 oder 991
✓ UND Ziel-PLZ ist NICHT 990/991
✓ Beispiel: Erfurt (99098) → München (80331)
Abweichungen interpretieren
Frachtkosten-Abweichungen sind KEINE Systemfehler, sondern echte Preisunterschiede zwischen:
- DHL-Rechnungsbeträgen
- JOST EF Vertragskonditionen
🆕 Stückgut-Validierung (EC)
Produktcodes: ECI, ECD
Automatische Prüfung
Alle Sendungen mit EC-Produktcodes werden automatisch auf Vollständigkeit geprüft.
Prüfkriterien:
✓ KEP-Nummer vorhanden (numerisch, 6+ Stellen)
→ Kurier-Express-Paket Referenznummer
→ Format-Prüfung: nur Zahlen erlaubt
ℹ️ Lieferschein wird NICHT geprüft
→ Kann alphanumerisch sein (z.B. "LS14777")
→ Wird nur zur Information angezeigt
✓ Gewichtsprüfung
→ Ist-Gewicht = Frachtpflichtiges Gewicht
→ Ausnahme: Preisminimum (Fracht < €40)
→ Kurier-Express-Paket Referenznummer
→ Format-Prüfung: nur Zahlen erlaubt
ℹ️ Lieferschein wird NICHT geprüft
→ Kann alphanumerisch sein (z.B. "LS14777")
→ Wird nur zur Information angezeigt
✓ Gewichtsprüfung
→ Ist-Gewicht = Frachtpflichtiges Gewicht
→ Ausnahme: Preisminimum (Fracht < €40)
🔍 Validierungslogik:
Normal: KEP (numerisch) ✓ UND Gewicht ✓Preisminimum: KEP (numerisch) ✓
(Gewichtsabweichung wird ignoriert)
(Lieferschein wird nicht geprüft)
🆕 LTL/FTL-Validierung (EL)
Produktcodes: ELI, ELD, ELE
Intelligente Schwellenwert-Prüfung
Lademeter-Anforderungen werden nur ab bestimmten Gewichts- ODER Lademeter-Schwellen geprüft.
Produktspezifische Schwellenwerte:
ELD/ELE (LTL Deutschland):
≥ 3000 kg ODER ≥ 3,2 ldm
ELI (LTL Europa):
≥ 2500 kg ODER ≥ 2,0 ldm
FTL-Schwelle:
≥ 13,0 ldm = Kompletter LKW
≥ 3000 kg ODER ≥ 3,2 ldm
ELI (LTL Europa):
≥ 2500 kg ODER ≥ 2,0 ldm
FTL-Schwelle:
≥ 13,0 ldm = Kompletter LKW
📐 Frachtpflichtiges Gewicht:
MAX(Ist-Gewicht, LDM × 1500 kg)Beispiel:
3500 kg ist, 9,6 ldm
→ MAX(3500, 14.400) = 14.400 kg
⚠️ KRITISCHE GESCHÄFTSREGEL: Gewichtsverwendung für Frachtberechnung
DHL verwendet IMMER das frachtpflichtige Gewicht (chargeable weight) für die Frachtberechnung - sowohl bei LTL als auch bei FTL Sendungen.
Die 13,0 ldm Schwelle bestimmt NUR die Preisstruktur:
RICHTIG: "BEIDE verwenden frachtpflichtiges Gewicht. LTL = Rate/kg, FTL = Pauschalpreis"
Berechnungsbeispiele:
• LTL (7 ldm): MAX(6.500 kg, 10.500 kg) = 10.500 kg × 0,040 €/kg = 420 EUR
• FTL (13,6 ldm): MAX(20.000 kg, 20.400 kg) = 20.400 kg → FTL Pauschalpreis 639 EUR
Die 13,0 ldm Schwelle bestimmt NUR die Preisstruktur:
- LTL (< 13 ldm): Preis pro kg (Rate × Frachtpflichtiges Gewicht)
- FTL (≥ 13 ldm): Pauschalpreis (Flat Rate)
RICHTIG: "BEIDE verwenden frachtpflichtiges Gewicht. LTL = Rate/kg, FTL = Pauschalpreis"
Berechnungsbeispiele:
• LTL (7 ldm): MAX(6.500 kg, 10.500 kg) = 10.500 kg × 0,040 €/kg = 420 EUR
• FTL (13,6 ldm): MAX(20.000 kg, 20.400 kg) = 20.400 kg → FTL Pauschalpreis 639 EUR
🆕 Erweiterte Daten-Extraktion
10+ neue Datenfelder für kontextabhängige Validierung
| Datenfeld | Verwendung | Parsing-Muster |
|---|---|---|
| origin_country | MAUT-Berechnung (Ursprungsland für DE→DE Check) | DE, AT, CZ, HU, etc. |
| destination_country | MAUT-Berechnung (Zielland für DE→DE Check) | DE, AT, CZ, HU, etc. |
| pickup_date | Zeitbasierte Zuschläge (Treibstoff) | DD/MM/YYYY Format |
| product_code | Validierungstyp (EC vs EL) | ECI, ECD, ELI, ELD, ELE |
| kep_nummer | Stückgut-Validierung (EC) | 6+ stellige Referenznummer |
| lieferschein | Stückgut-Validierung (EC) | 6+ stellige Lieferscheinnr. |
| loading_meters_ldm | LTL/FTL Frachtgewicht-Berechnung | ldm, km, Idm (OCR-Varianten) |
| transport_order | LTL/FTL-Validierung (EL) (Transport-Auftrag optional) | 6+ stellige Transportnummer |
| chargeable_weight_kg | Frachtpflichtiges Gewicht | Berechnet: MAX(ist, ldm×1500) |
| packaging_info | Einheiten-Zuschläge (Gitterbox) | MIXED = 1SK, 4PLE, 2CO |
| weight_kg | Ist-Gewicht der Sendung | kg-Format mit Dezimalstellen |
Validierungsprozess-Ablauf (Erweitert)
Vollständige Schritt-für-Schritt Rechnungsverifizierung
| Schritt | Validierungsprüfung | Geschäftsregel | Status |
|---|---|---|---|
| 1.1 | Zeilensummierung | Summe aller Detailpositionen = Rechnungs-Nettobetrag (Cent-Arithmetik) | Kritisch |
| 1.2 | Gesamtbetrag-Verifizierung | Nettobetrag + MwSt. = Rechnungs-Gesamtbetrag (Cent-Arithmetik) | Kritisch |
| 2.1 | MwSt.-Satz-Verifizierung | MwSt.-Berechnung mit 19,0% Satz (nur TAX-Basis, Cent-Arithmetik) | Kritisch |
| 2.5 | JOST EF Tarif-Validierung | Automatischer Abgleich gegen Tarifmatrix (531 Routen, 24 Gewichtsklassen) | NEU - V5.0 |
| 3.1 | Frachtkosten-Referenz | OCR-Betrag als Basis für Zuschlagsberechnungen | Referenz |
| 3.2 | MAUT (Ursprungs- & Zielland) | 5,92% (DE→DE) oder 3,0% (grenzüberschreitend) × Fracht | NEU |
| 3.3 | Treibstoff (Quartalsbasiert) | 7,0%-9,0% × Fracht (Q1:7%, Q2:9%, Q3:8%, Q4:7% für 2025) | NEU |
| 3.4 | Gitterbox (Einheiten) | Anzahl SK × €12,50 | NEU |
| 3.5 | Avisierung (Standortbasiert) | €5,00 (Neu-Isenburg 63263) oder €10,00 (Standard) | NEU |
| 4.1 | Stückgut-Prüfung (EC) | KEP (numerisch) + Gewicht (außer Preisminimum) - Lieferschein nur Info | AKTUALISIERT |
| 4.2 | LTL/FTL-Prüfung (EL) | Schwellenwert → Lademeter erforderlich (Transport-Auftrag optional) | NEU |
| 4.3 | Frachtpfl. Gewicht (EL) | MAX(Ist-Gewicht, Lademeter × 1500 kg/ldm) | NEU |
🚦 Validierungsstatus-Kategorien (Ampel-System)
4-stufiges Klassifikationssystem für Validierungsergebnisse
Intelligente Abweichungsanalyse
Das System kategorisiert automatisch jede Rechnungsposition in eine von vier Status-Kategorien, basierend auf der Richtung und dem Kontext der Abweichung. Dies ermöglicht eine präzise Priorisierung der erforderlichen Maßnahmen.
| Status | Bedeutung | Beispiel (DHL-spezifisch) | Erforderliche Maßnahme |
|---|---|---|---|
| OK | Keine Abweichung Berechneter = Ausgewiesener Betrag |
MAUT Inland: Ausgewiesen: €11,84 Berechnet: €11,84 → Abweichung: €0,00 |
✅ Keine Aktion erforderlich Position ist korrekt abgerechnet |
| VORTEIL | Vorteilhafte Abweichung Sie zahlen WENIGER als erwartet |
Treibstoff-Zuschlag: Ausgewiesen: €14,00 Berechnet: €16,00 → Abweichung: -€2,00 (zu Ihren Gunsten) |
ℹ️ Optional dokumentieren Vorteilhafte Differenz, keine Reklamation nötig |
| ABWEICHUNG | Nachteilige Abweichung Sie zahlen MEHR als erwartet |
JOST EF Tarif: Ausgewiesen: €160,00 JOST EF Vertrag: €152,36 → Abweichung: +€7,64 (zu Ihren Lasten) |
⚠️ REKLAMATION ERFORDERLICH 1. Differenz mit DHL klären 2. Gutschrift anfordern 3. Vertragskonditionen prüfen |
| PRÜFEN | Manuelle Prüfung erforderlich Kontext-abhängige Validierung |
Beispiel 1 - EXPRESSZUSTELLUNG: Zuschlag: €35,00 → Betrag korrekt, aber war Express-Service vereinbart? Beispiel 2 - Fehlende Route: AT1020 → DE99098 → Keine Tarifmatrix-Regel, könnte Sonderfahrt sein Beispiel 3 - Stückgut (EC): KEP-Nummer fehlt oder Gewichtsabweichung → Sendungsdaten unvollständig |
🔍 MANUELLE ÜBERPRÜFUNG 1. Buchung/PO gegen Rechnung abgleichen 2. Service-Level verifizieren 3. Sondervereinbarungen prüfen 4. Fehlende Daten ergänzen |
📊 Dashboard-Statistiken Interpretation:
Beispiel Dashboard-Anzeige:• Positionen: 28
• Abweichung: €15,47
Detail-Aufschlüsselung (möglich):
• 20 × OK (71%)
• 3 × VORTEIL (-€12,30)
• 4 × ABWEICHUNG (+€27,77)
• 1 × PRÜFEN (Express-Service)
Netto-Abweichung: €27,77 - €12,30 = +€15,47 (zu Ihren Lasten)
💡 Die Gesamt-Abweichung zeigt die Differenz zwischen allen vorteilhaften und nachteiligen Abweichungen.
Implementierungsreferenz (Code)
Die Status-Logik ist in der Dashboard-Datei [`JOST_invoice_validator_DHL.html`](JOST_invoice_validator_DHL.html:2940-2956) in der Funktion [`createValidationRow()`](JOST_invoice_validator_DHL.html:2940) implementiert. Die Kategorisierung erfolgt automatisch basierend auf:
1. Manuelle Prüfung erforderlich:
• EXPRESSZUSTELLUNG-Zuschläge (immer PRÜFEN)
• Fehlende Tarif-Routen (könnte Sonderfahrt sein)
• Unvollständige Sendungsdaten (EC/EL-Validierung)
2. Abweichungsrichtung (Cent-Präzision):
• deviationCents = 0 → OK
• deviationCents < 0 → VORTEIL (Sie zahlen weniger)
• deviationCents > 0 → ABWEICHUNG (Sie zahlen mehr)
Die Dashboard-Statistiken werden in [`performValidation()`](JOST_invoice_validator_DHL.html:2764) berechnet und kategorisieren alle Positionen entsprechend.
1. Manuelle Prüfung erforderlich:
• EXPRESSZUSTELLUNG-Zuschläge (immer PRÜFEN)
• Fehlende Tarif-Routen (könnte Sonderfahrt sein)
• Unvollständige Sendungsdaten (EC/EL-Validierung)
2. Abweichungsrichtung (Cent-Präzision):
• deviationCents = 0 → OK
• deviationCents < 0 → VORTEIL (Sie zahlen weniger)
• deviationCents > 0 → ABWEICHUNG (Sie zahlen mehr)
Die Dashboard-Statistiken werden in [`performValidation()`](JOST_invoice_validator_DHL.html:2764) berechnet und kategorisieren alle Positionen entsprechend.
Globale Richtlinien
Systemweite Validierungseinstellungen
19,0%
MwSt.-Satz
4
Zuschlagsarten
2
Produkttypen
10+
Datenfelder
🆕 Präzise Finanzmathematik V5.0
Das System verwendet cent-basierte Ganzzahlarithmetik für alle Berechnungen, um Rundungsfehler vollständig zu eliminieren. Alle Beträge werden in Cent umgerechnet (Integer), berechnet und erst am Ende wieder in Euro konvertiert.
Berechnungsmethoden
Präzise Finanzmathematik-Funktionen
// Euro zu Cent Konvertierung (Integer)
function eurosToCents(euros) {
return Math.round(euros * 100);
}
// Prozentuale Berechnung in Cent
function calculatePercentageInCents(baseCents, pct) {
return Math.round(baseCents * pct);
}
// Beispiel: 5,92% MAUT Inland
const freightCents = eurosToCents(200.00); // 20000
const mautCents = calculatePercentageInCents(
freightCents, 0.0592
); // 1184
const maut = centsToEuros(mautCents); // 11.84€
Leistungskennzahlen
Echtzeit-Validierungsstatistiken
< 15s
Verarbeitungszeit
100%
Genauigkeit
0,00€
Rundungsfehler
.pdf, .txt
Eingabeformate
Qualitätssicherung V5.0
Alle Validierungsregeln basieren auf den offiziellen DHL-Tarifen und JOST-Geschäftslogik. Die cent-basierte Arithmetik eliminiert Rundungsfehler vollständig. Alle Produkttypen (Stückgut EC, LTL/FTL EL) werden automatisch erkannt und validiert.
Erweiteter Datenfluss
Von der Rechnungseingabe bis zur vollständigen Validierung
| Schritt | Komponente | Funktion | Ausgabe |
|---|---|---|---|
| 1 | Datei-Upload | Benutzer lädt .pdf oder .txt Datei hoch | Rohe Textdaten (Originalstruktur via LLM/KI erhalten) |
| 2 | parseDHLInvoice() | Regex-basierte Extraktion (10+ Felder) | Strukturiertes Invoice-Objekt |
| 3a | Ursprungs- & Zielland-Erkennung | Multi-Pattern Parsing (DE, AT, CZ, etc.) | origin_country, destination_country |
| 3b | Produktcode-Erkennung | ECI, ECD, ELI, ELD, ELE Extraktion | product_code |
| 3c | LDM-Extraktion | Lademeter (ldm/Idm/1dm) mit OCR-Varianten | loading_meters_ldm |
| 4 | performValidation() | Summierung & MwSt. mit Cent-Arithmetik | Audit-Log Einträge |
| 5a | calculateSurcharge() | Kontextabhängige Zuschlagsberechnung | Erwartete vs. tatsächliche Beträge |
| 5b | Stückgut-Validierung | EC-Code: KEP + Lieferschein + Gewicht | Validierungsstatus |
| 5c | LTL/FTL-Validierung | EL-Code: Schwelle → LDM + Transport-Nr. | Validierungsstatus + Gewicht |
| 6 | createValidationRow() | Vergleich & Abweichungsberechnung | HTML-Tabellenzeile mit Status |
| 7 | Dashboard-Update | Visualisierung der Ergebnisse | Interaktives Dashboard mit Charts |