Reshape a CSV
Debit and credit column converter
Merge money-out and money-in columns into a signed amount, or split it back. You choose what positive means, then review the changes and exact totals before downloading.
By AnyStatement
Published , 3 min read
UTF-8 .csv or .txt, up to 5 MB. File contents never leave this tool.
Start with what positive means
A debit label alone doesn't tell you the direction. Once you've loaded or pasted a UTF-8 CSV and confirmed the header, map spending and withdrawals to money out, and deposits, refunds and card payments to money in.
For bank accounts, Amount = money in minus money out: a 42.50 refund becomes 42.50, while an 86.45 purchase becomes -86.45. For cards, choose whether positive means more owed or payments and refunds. You can see the effect immediately in the first source rows.
Before approving, compare the totals and review any issues. Only selected amount columns change; other fields and row order stay intact, except for listed spreadsheet text-protection changes. Optional original-amount columns and the JSON report keep an audit trail.
Matching totals aren't proof of a correct file
The tool checks CSV readability, row widths, selected amount syntax and arithmetic using exact integers at your chosen precision. It then reparses output amounts and blocks export if money-in, money-out or net totals differ.
Rows need review if both split columns are filled or blank, or they contain negative unsigned values, parentheses, text, subtotal-like labels or inconsistent widths. A literal zero counts as filled. No issue row is silently removed, so fix a working copy or explicitly exclude it. Exclusions stay in the report, and the CSV filename says PARTIAL.
Matching totals don't prove you read the source correctly, the statement balances, the books reconcile, the document is authentic or your importer accepts it. Dates pass through unchanged without being interpreted.
What your file can contain
Each file is limited to one account, currency and number convention, up to 5 MB. You can choose 0 to 6 decimal places, but extra precision is rejected rather than rounded. Because amounts must be plain numbers, review currency symbols, CR/DR suffixes and parentheses in a working copy.
The output has a header, commas between columns and decimal points without grouping. Splitting zero puts 0 in Money in and leaves Money out blank, preserving the row without assigning direction. New column names get numeric suffixes so they don't match retained headers.
This workpaper isn't a template for every importer, so keep the report and original separately before making an importer file. See the layout guide and Excel formulas.
Importers don't all use the same layout
We checked these pages on October 17, 2026. Intuit documents three- and four-column CSV layouts. Xero requires one Amount column and shows card purchases negative, while YNAB maps Inflow and Outflow and can read a single signed column. Sage 50 Canada 2023 Bank Services asks you to confirm money in or money out.
We didn't run imports, so confirm one purchase and one payment or refund in your destination's preview. Card purchases shown positive, for example, don't match Xero's documented convention.
How your file is handled
Processing stays in this browser tab: the tool doesn't upload, log, track or save file contents in browser storage. Use Clear contents before leaving because browser back navigation can restore an uncleared view. Reloading clears the tool, and downloads are created on your device only when you choose them.
The report includes original rows and excluded data, so protect it like the source. Accounting-app links and the separate PDF converter have their own data handling.