01
Tier schedule was carrier-shaped, not terminal-shaped
ReviewerDry bands of 6–10 / 11–15 days do not match APM Terminals Callao, which breaks at day 7. Reefer containers are never priced off the dry table — they carry their own schedule at roughly 1.5–2x, and billing a separate reefer plug line on top of reefer demurrage is usually double-billing.
What changedCarrier demurrage and terminal storage are now separate rate schedules with separate day bands. Callao terminal storage breaks at day 7; reefers price on their own schedule at ~1.75x dry. Mixed-party billing on one line is flagged as a structural conflict.
Enforced in: charge-party separation pass
02
Wrong clock basis for imports
ReviewerGate-in is an export event. On imports the clock runs from discharge-complete / available-for-delivery to gate-out. Terminal systems lag carrier events by about a day, which is enough to move a container across a tier boundary and change the whole calculation.
What changedThe demurrage clock is re-anchored to discharge-complete → gate-out on imports, and the EDI-versus-carrier-event lag is surfaced as an explicit tier-boundary risk on any container sitting within one day of a band edge.
Enforced in: demurrage clock engine
03
Free-time exclusions claimed without the proof a carrier demands
ReviewerCustoms holds need the SUNAT reference. Crane outages need an official terminal-issued notice. Quoting the tariff article in your own words gets the claim bounced — it has to be verbatim.
What changedEvery charge code now carries a mandatory evidence list — SUNAT hold reference, terminal outage notice, move order, verbatim tariff article, raw EDI plus carrier event log. Anything outstanding prints under the finding as 'Evidence outstanding' rather than being silently assumed.
Enforced in: evidence requirements catalog
04
Whole charge families were missing from the dataset
ReviewerDestination THC, agency administrative fees and the local BAF surcharge are absent. They almost certainly sit on a separate gastos locales invoice issued by the agent, not the carrier.
What changedThe engine now checks for expected-but-absent charge families and names them. A missing agency gastos locales statement lowers the confidence score and warns the operator that the audit is running on a partial dataset.
Enforced in: charge coverage gap pass
05
The consistency failure that undermined everything else
ReviewerTwo lines — shifting/restow at $12.6k and off-dock storage at $5.5k — were passed as correct with no documentation behind them, while other lines were reduced for exactly the same reason. That inconsistency is what a carrier's claims desk attacks first.
What changedA hard rule: no line passes at full value while a mandatory document is outstanding. Both lines are now contested in full, and every report carries a consistency section proving the rule was applied uniformly across the invoice.
Enforced in: consistency rule