Guide
CSV import: which reports to export, and where
FBA Refund Radar reads three Seller Central reports (plus an optional price list). All of them export as CSV from Seller Central - no SP-API connection, no third-party authorization. Export each report for the widest date range you can (at least the last 18 months, since claims older than that are already time-barred).
1. Inventory Adjustments report
Where: Seller Central → Reports → Fulfillment → Inventory Adjustments. Choose a date range (max ~6 months per export; run several exports to cover 18 months) and download the CSV. This report lists every unit-level adjustment in Amazon's network with a reason code - the raw material for missing-reimbursement detection.
The engine keeps only claimable rows (reasons indicating lost or damaged, e.g. LOST_INBOUND, LOST_IN_WAREHOUSE, WAREHOUSE_DAMAGED, DAMAGED, MISC_LOST) and ignores positive events such as FOUND_IN_WAREHOUSE and receipts. Matching is by keyword, so variant reason codes still work.
| Logical field | Accepted column headers (aliases) | Required |
|---|---|---|
| fnsku | fnsku · fulfillment network sku | Yes* |
| sku | sku · msku · merchant sku · seller sku | If no FNSKU |
| quantity | quantity · qty · adjusted quantity | Yes |
| reason | reason · reason for adjustment · adjustment reason | Yes |
| adjusted date | adjusted date · adjustment date · date | Yes |
| disposition | disposition · unit disposition | Optional |
| currency | currency | Optional (default USD) |
2. Reimbursements report
Where: Seller Central → Reports → Fulfillment → Reimbursements. Download the CSV. This report lists what Amazon actually paid back (per unit amount, quantity, approval date). The engine matches these rows against your adjustments: same FNSKU, same quantity, approval date within ±45 days of the event. Matched-but-underpaid rows (paid >5% below your reference price) are flagged separately.
| Logical field | Accepted column headers (aliases) | Required |
|---|---|---|
| approval date | approval date · approved date · reimbursement date · date | Yes |
| amount per unit | amount per unit · unit price · amount/unit | Yes |
| quantity | quantity · qty · quantity reimbursed · units | Yes |
| fnsku | fnsku · fulfillment network sku | Yes* |
| case id | case id · case number | Optional |
| reimbursement id | reimbursement id · reimb id · id | Optional |
| currency | currency | Optional (default USD) |
3. Customer Returns report
Where: Seller Central → Reports → Fulfillment → Customer Concessions → Returns (in some views: Customer Returns). Download the CSV. Rows whose status shows the unit was received back (e.g. "Unit returned to inventory") are ignored; rows stuck in transit / not received / approved become return-not-received candidates once they are more than 45 days old.
| Logical field | Accepted column headers (aliases) | Required |
|---|---|---|
| return date | return date · returned date · date | Yes |
| quantity | quantity · qty · return quantity | Yes |
| status | status · return status · fulfillment customer return status | Yes |
| order id | order id · amazon order id | Optional (used in letters) |
| sku / fnsku | sku · msku · fnsku | At least one |
4. Reference prices (optional but recommended)
To detect underpaid reimbursements, the engine needs a per-unit reference value per product. Provide a two-to-four column CSV (fnsku, sku, currency, unit price) built from your own records: a settlement report extract, your price list, or your average sale price. Multiple rows for the same FNSKU are fine - the engine uses the median. Alternatively, set a store-wide default unit price in your store settings. Without any reference price, only missing-reimbursement and return-not-received findings are produced.
The 18-month filing window, in practice
Under Amazon's FBA Lost and Damaged Inventory Reimbursement Policy, a claim for units lost or damaged in the fulfillment network must be filed within 18 months of the event. The engine computes each finding's deadline as event date + 18 calendar months (with month-end clamping: an event on Aug 31 gets a Feb 28 deadline) and marks everything already past as expired - sort by "days left" and file the oldest claimable events first.
After you submit a case to Seller Support, Amazon typically responds within about 45 days; the ledger records a response-due date when you mark a case submitted, and the dashboard shows overdue responses. If a claim is denied with the classic "not covered by the FBA Lost and Damaged Inventory Reimbursement policy" answer, that is often a misclassification of your event - generate the reopen letter from the case page and push back.
Formatting notes and tolerance
- Column matching is case-, space-, underscore- and punctuation-insensitive, with the alias table above on top.
- Dates accept 2024-01-15, 1/15/2024, 13/05/2024, Jan 15 2024, ISO datetimes - all normalized to UTC days.
- Amounts accept $1,234.56, (1,234.56) for negatives, and plain numbers.
- Bad rows don't abort the import: each one is reported with its line number and reason, and the rest of the file imports normally.
- Re-importing the same report is safe - identical rows and findings are recognized and skipped, your ledger and case statuses stay intact.
- The demo CSVs shipped in the repository's
samples/folder show every format end-to-end (clearly labeled demo data).