Migration assurance
Settlement Flat File V2 sample validator
Flat File V2 collapses discrete price and fee columns into amount-type, amount-description and amount, and amounts can carry locale number formats. This validator applies a reference header- and locale-safe parser to your sample and highlights compatibility requirements your own parser must satisfy.
- Input: A tab-delimited Flat File V2 settlement sample
- Output: Header-mapped rows, amount normalization, locale warnings
- Method: Reference sample parsing. No user parser code executed.
What it checks
Header-name mapping instead of column position, the collapsed amount-type / amount-description / amount model, and locale-safe decimal parsing for EU comma formats.
Common failure
A parser that reads column 7 by position, or calls parseFloat on a locale amount, corrupts settlement totals silently. The validator makes that visible on a real sample.
Supported input formats and limits
| Input | Format | Limit |
|---|---|---|
| Settlement sample | Tab-delimited Flat File V2 text | Maximum 5 MB per sample |
| Declared report type | Optional report type string | Used to flag legacy Flat File or XML blockers |
| Row cap | Non-empty data rows after the header | Maximum 50,000 rows per sample |
Redaction behavior
The validator reports header names, row numbers and normalized amounts. It does not export raw secret values and does not require parser source code or Amazon credentials.
Exact checks
- Required Flat File V2 headers are present and resolved by header name.
- Samples over 5 MB or 50,000 rows are rejected before parsing.
- Legacy Flat File and XML report types are flagged.
- Collapsed amount-type, amount-description and amount columns are normalized.
- Currency is required before reconciliation; canonical totals group by settlementId and currency.
- EU decimal comma examples such as 95,00 are parsed safely.
- Canonical totals are surfaced for reconciliation review without mixing currencies.
Sample input
settlement-id transaction-type order-id currency amount-type amount-description amount posted-date-time
S1 Order 123-456 EUR ItemPrice Principal 95,00 2026-07-01 10:00:00 UTCSample output
{
"status": "PASS",
"rowsParsed": 1,
"normalizedAmounts": [{"row": 1, "settlementId": "S1", "currency": "EUR", "amount": "95.00"}],
"canonicalTotals": {
"groupingKeys": ["settlementId", "currency"],
"totals": [{"settlementId": "S1", "currency": "EUR", "amount": "95.00"}]
},
"issues": []
}PASS, PARTIAL and FAILED logic
| Status | Meaning |
|---|---|
| PASS | The supplied sample can be parsed with the reference header- and locale-safe rules. |
| PARTIAL | The sample parses but carries warnings your parser must handle. |
| FAILED | Required structure, delimiter, report type or numeric parsing requirements fail. |
Known limitations
- This is a sample validator, not proof that your own parser code is correct.
- Parser source/config and actual parser output are not compared in this version.
- Future marketplace/report variations still require staged reconciliation.
Pricing entitlement
Single unlocks the Settlement validator when Settlement is the purchased module. Bundle and Agency include all three validators.
Frequently asked questions
Is there an XML replacement?
No. Legacy XML settlement reports are removed with no XML replacement; move to Flat File V2.
Official sources
Last reviewed: 2026-07-02.
Open the interactive scanner: /app#/validators