USD trade CSV checker
Check dates, USD amounts and costs before working with a spreadsheet. The fixed format is date, pair, gross, costs and notes; it does not import arbitrary broker reports or combine fills.
The checker runs in an isolated browser document. File contents and filenames are not sent to SanForex or analytics. Exports stay on your device; keep them private.
Maximum 1 MiB and 1,000 rows. All amounts must already be USD, with at most two decimal places. Rejected rows are excluded from totals and export. This prototype does not produce journal JSON, provide cloud storage or certify a broker statement.
Does your format fit?
Use the free checker if your UTF-8 CSV has exactly date,pair,gross,costs,notes, in that order: real YYYY-MM-DD dates, uppercase AAA/BBB pairs, USD amounts and nonnegative costs. Rows must already be closed and aggregated; gross should exclude the costs you subtract. Confirm USD yourself: numeric values cannot reveal mixed currencies.
Need different columns? Download the format request checklist, then describe your format to ATFC using the email and message fields. Include column names, desired output, date format/timezone, currency, whether gross already includes fees, and whether rows are closed/aggregated. Use invented examples only; do not send trading files, records, identifiers or credentials. The form has no attachments.
Try a separate offline mapping example
Download the standalone HTML demo, then open the downloaded file in your browser. It works offline with one fixed, invented CSV layout; it is not an importer for arbitrary broker statements. Its 20 synthetic rows produce 16 accepted and 4 rejected rows: accepted gross USD 400.00 − costs USD 32.00 = net USD 368.00. These are test values, not earnings.
A proposed custom configuration must specify eight required fields within at most 40 declared columns, date order, gross-versus-net meaning and fee signs. Scope is USD, already closed and aggregated rows, up to 1 MiB and 1,000 data rows. The offline demo exports accepted CSV plus a local reconciliation report; it does not match fills, convert currency or create journal JSON.
Send column names and invented examples through the format inquiry to check feasibility. This does not place an order or guarantee a quote. Custom delivery availability, scope and pricing are not yet confirmed; no checkout or payment is enabled. Replies are not automatic; response times are not guaranteed.
Why CSV totals differ: rejected rows and fees · Read the journal backup checklist · Open-source notices