← All case studies
Independent review · Port of Callao

We paid an ex-Maersk auditor to break our report

Before running a single client invoice through the engine, we handed our Callao demurrage audit (report SLX-AR-2026-0184) to an independent import/export specialist with A.P. Moller-Maersk experience, under NDA, and asked for the harshest read he could give it. He found five things wrong. All five are now enforced in the engine, and the report reissued as revision R2.

"Two lines were passed as correct with no documentation, while others were reduced for the same reason. That inconsistency is the first thing a carrier's claims desk will attack."
— Independent reviewer, ex-A.P. Moller-Maersk import/export specialist
The five corrections
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
Why this matters to you

A recovery claim is only worth what survives the carrier's rebuttal. Every correction above removes a reason for a claims desk to reject the file: right tier table, right clock, evidence named up front, no charge family quietly ignored, and no line treated differently from its neighbour. The audit you get is the audit that already lost an argument with someone who used to sit on the other side of the table.

Bring your invoices

Send the carrier or agent invoice and the terminal statement of account. The engine tells you when a document is missing — but it can only find money in what it is given.

Get a free auditUpload