Migration assurance
Settlement Report V2 migration: the closest Amazon SP-API deadline
On November 11, 2026 Amazon removes the legacy flat-file and XML settlement reports on every marketplace. The replacement is the tab-delimited Flat File V2 report. There is no XML replacement, so XML workflows must be rebuilt, not remapped.
- Removed: GET_V2_SETTLEMENT_REPORT_DATA_FLAT_FILE and GET_V2_SETTLEMENT_REPORT_DATA_XML
- Replacement: GET_V2_SETTLEMENT_REPORT_DATA_FLAT_FILE_V2 (tab-delimited)
- Removal date: November 11, 2026
- XML replacement: None. XML workflows must move to Flat File V2.
Breaking changes
Discrete price and fee columns collapse into amount-type, amount-description and amount. Positional and index-based parsing breaks; parse by header name. Amounts can carry locale number formats, so naive parseFloat can silently corrupt values.
Exact scanner coverage
The scanner flags legacy report-type constants (AMZ-SET-REPORT-001), XML settlement workflows (AMZ-SET-XML-001), legacy column assumptions (AMZ-SET-COLUMN-001), positional parsing (AMZ-SET-POSITIONAL-001) and locale-unsafe amount parsing (AMZ-SET-LOCALE-001). The Flat File V2 report type is treated as compliant and never flagged.
Example finding
BLOCKER AMZ-SET-XML-001: XML settlement workflow detected. Evidence: new XmlParser().parse(settlementXml). Mapping: XML report -> Flat File V2, no XML replacement.
Settlement Flat File V2 Sample Validator preview
Paste a real Flat File V2 sample to validate tab-delimited structure, required headers, canonical row mapping and locale-safe decimal parsing before cutover.
| Check | Unsafe behavior | Expected behavior |
|---|---|---|
| Header mapping | Read column 12 by position | Resolve amount fields by header name |
| Locale amount | parseFloat('95,00') returns 95 | Normalize locale format and preserve 95.00 |
| Reconciliation | Accept parsed rows without totals | Reconcile canonical totals to the report |
Legacy header to Flat File V2 mapping
| Legacy model | Flat File V2 model | Migration action |
|---|---|---|
| Discrete price and fee columns | amount-type, amount-description, amount | Normalize into canonical amount entries |
| Column position | Header name | Build a header-index map for every report |
| XML elements | Tab-delimited rows | Replace the XML workflow; there is no XML replacement |
Locale-safe amount example
Amazon documents that EU output can use 95,00 instead of 95.00. A dot-decimal parser can silently turn this into 95 or fail, so normalization must be locale-aware.
raw amount: 95,00
unsafe parseFloat result: 95
canonical decimal: 95.00Canonical settlement model
Normalize each row to settlement ID, transaction identity, posted time, currency, amount type, amount description and a decimal amount. Downstream accounting should consume this canonical model rather than report column positions.
- Require the Finance and Accounting application role for Flat File V2.
- Reconcile row totals by currency and settlement ID.
- Fail closed on missing required headers or unparseable amounts.
- Keep unknown amount types visible instead of dropping future fee categories.
Frequently asked questions
Is there an XML replacement for settlement reports?
No. Amazon does not provide an XML replacement. You must move to the tab-delimited Flat File V2 report.
What changes in the columns?
Discrete price and fee columns collapse into amount-type, amount-description and amount. Parse by header name, not position.
Why does locale matter?
Flat File V2 amounts can use locale number formats such as EU decimal commas. parseFloat can silently corrupt values.
Official sources
Last reviewed: 2026-07-02.
Open the interactive scanner: /app#/settlement