Reconciliation
Sample payloads for reconciliation.flagged, reconciliation.billed and reconciliation.corrected.
These events fire when a carrier reports a weight or charge that differs from what you were billed at booking. See Reconciliation for what the records mean and how the notice window works.
reconciliation.flagged
A discrepancy has been raised. It has not been billed yet.
{
"event": "reconciliation.flagged",
"data": {
"shipment_id": "SH-40208776515",
"shipment_number": "7412089553",
"carrierName": "DHL Express",
"platform": "dhl",
"declared_weight": 2,
"actual_weight": 3.5,
"old_shipment_cost": 42350,
"new_shipment_cost": 51720,
"exception_charge": 9370,
"tracking_only": false,
"reconciliation_stage": "delivery"
}
}reconciliation.billed
The discrepancy has been charged to your wallet. A transaction.success event fires for the charge itself.
reconciliation.corrected
A correction takes one of two shapes, and correction_type tells you which without a second API call:
voided— the charge was reversed in full and nothing replaced it.replacementisnull.replaced— the charge was reversed and a corrected one was billed in its place.replacementcarries that new record, with its ownreconcilliation_idandtransaction_id.
correction_type describes what happened to the record, not to the money. A discrepancy corrected before it was ever billed is voided without a refund, because nothing was taken — was_charged and amount_refunded are what tell you about the money.
amount_refunded
number
What went back to your wallet. 0 when the original was never charged.
corrected_at
string
ISO 8601 timestamp of the correction.
corrected_charge
number
What you owe after the correction. 0 on a voided correction.
correction_type
string
voided or replaced.
currency
string
Always NGN.
original_charge
number
What the reconciliation charged before the correction.
rebill_transaction_id
string
Wallet transaction for the corrected charge. null on a voided correction.
reconciliation
object
The corrected record, now voided. Same shape as the Reconciliation object.
reconcilliation_id
string
Unique id of the record that was corrected.
replacement
object
The record billed in its place, or null on a voided correction.
reversal_transaction_id
string
Wallet transaction that returned the original charge. null when nothing was charged.
shipment_id
string
Unique shipment id the correction applies to.
was_charged
boolean
Whether the original charge had actually been debited.
Note the double-l spelling in reconcilliation_id. That is the real field name and matches the rest of the docs.
Sample: voided — reversed in full
Sample: replaced — reversed, then re-billed at a corrected amount
Was this helpful?