The RTO charge hit. The parcel never did.
When a marketplace charges you for an RTO but the parcel never reaches your warehouse, Robnu flags it. The 60-day claim_due_at clock means the dispute window doesn't close on you while you're shipping the next batch.
- RTOs without a receive scan within 60 days auto-promote to claim_pending.
- The discrepancy taxonomy assigns reason_code = 'RTO leak' with default posture = recoverable.
- Evidence packet is the AWB trail + the absence of a return_scan_event row.
What you get.
Don't miss the window
RTO disputes have a window. Robnu's claim sweeper runs daily and promotes overdue rows so you don't lose the dispute window to inbox amnesia.
Evidence is the absence of evidence
If the carrier never delivered, there's no return_scan_event row. That absence is provable from the audit trail and forms part of the dispute evidence.
Recoverable by default
RTO leak is in the deduction taxonomy with default posture = recoverable. Override per-row if you have local context that says otherwise.
From silent loss to filed dispute.
- Marketplace charges RTO — adjustment lands as type=deduction, reason=RTO_leak.
- Robnu joins to OrderReturn — finds no receive_at and no return_scan_event.
- claim_due_at clock starts at OrderReturn.created_at + 60 days.
- Claim sweeper promotes to claim_pending 60 days in (or earlier if marketplace window is shorter).
- Dispute filing pre-attaches the AWB trail + the scan-event-absence proof.
- Won → recovery Adjustment writes back to MarketplacePayout.
Practical answers.
The receive scan still flips internal_status; the existing claim transitions to 'reopen-with-evidence' state and the dispute updates with the late receipt evidence.
Yes. claim_due_at default is per-tenant and per-marketplace. Tighten it if your marketplace's actual dispute window is shorter than 60 days.
Try it inside your own dashboard.
Free during early access. No card. Forever free under 25 orders/day.
