Platform

Normalize accounting software CSV exports for data analysis

Normalize QuickBooks, Xero, Wave, and FreshBooks CSV exports for data analysis.

🛡️ Your rows never leave your browser.
Why Onfyt: Recognises parenthetical negative number format—standard in US/UK accounting exports—and converts '(42,100.00)' to -42100.00 without the user needing to write a custom formula.

Interactive Sample Data

AccountTypeBalance
4000 - Sales RevenueIncome85,250.00
5000 - Cost of GoodsExpense(42,100.00)

How this tool works

Accounting software exports CSVs with report-style metadata: the company name, report title, and date period appear as the first few rows before the actual data. Negative balances in accounting reports follow convention: expense or loss amounts are enclosed in parentheses ('(42,100.00)') rather than preceded by a minus sign, which trips up numeric parsers. This cleaner: strips the report header block, converts parenthetical negative amounts to signed numbers, strips commas from thousands separators, optionally extracts account codes from combined 'Code - Name' strings, and normalises percentage and currency columns. General ledger exports from legacy ERPs (such as SAP, NetSuite, or Sage) frequently contain nested sub-totals, hierarchical account groupings, and trailing asterisks that prevent automated relational database ingestion. DataFix cleans accounting exports by stripping sub-total lines, normalizing debit and credit columns, filling account codes across transaction lines, and verifying that total balances reconcile to zero. General ledger exports feature nested subtotal lines, hierarchical account groupings, and balance checks. Stripping non-transaction subtotal rows and verifying balance reconciliation ensures clean financial data ingestion. General ledger exports from ERP platforms frequently include subtotal summaries and hierarchical account headers. Removing subtotal lines and verifying debits equal credits ensures clean double-entry financial imports into business intelligence systems.

Things that usually go wrong

  • Subtotal and total rows must be identified by content patterns (e.g. 'Total', 'Subtotal') — the tool catches common patterns but may miss custom ones.
  • Accounting software may export positive debits and negative credits or vice versa depending on the report type.

Edge cases we tested

🧪 QuickBooks report with sub-total and total rows

Total rows detected by 'Total' prefix in account name and excluded from clean output.

🧪 Xero uses parenthetical negatives for credit accounts too

Context-sensitive: negative amounts on income accounts treated as debit adjustments.

🧪 Account code missing (no number prefix)

account_code left blank; account_name contains full original string.

Frequently Asked Questions

Which accounting formats are supported?

QuickBooks (QBO, IIF, CSV), Xero CSV, Sage CSV, FreshBooks CSV, Wave CSV, and generic double-entry ledger formats.

Are currency amounts normalised?

Yes — currency symbols and thousand separators are stripped, producing pure numeric amounts.

Related tools

Platform

Shopify Customer Export Cleaner

Normalize Shopify customer exports: merge split address fields, clean phones, and strip internal metadata.

Open Tool →
Platform

Stripe CSV to JSON

Convert Stripe balance and payment CSV exports to clean JSON with amount conversion and metadata parsing.

Open Tool →
Platform

Google Contacts CSV Fixer

Fix Google Contacts CSV exports to import into Outlook, Apple Contacts, or CRM platforms.

Open Tool →