💡 Quick Answer
Accounting CSV imports fail with "Invalid amount" because currency symbols ($, €, £, ¥), thousands separator commas, and European decimal commas are embedded in amount fields — parsers require plain numbers like 1250.00, not $1,250.00.
The most common source is bank and ERP exports that format amounts for human readability; a less visible source is hidden non-breaking spaces (U+00A0) between the currency symbol and digits that Excel's standard Find & Replace cannot detect.
The fix: Use SplitForge Find & Replace to strip currency formatting from the Amount column in one pass — no upload, no formulas, handles million-row files without locking up.
Why it happens: Accounting platforms including QuickBooks Online, Xero, Wave, and FreshBooks require plain decimal numbers in the Amount column; any non-numeric character other than a decimal point or minus sign triggers rejection.
⏰ FAST FIX (2 minutes)
If your accounting CSV just failed with "Invalid amount," try this first:
- Open your CSV in a text editor (Notepad, VS Code) — not Excel — and look at the Amount column in raw form to see exactly what characters are present
- Open SplitForge Find & Replace — drag in your CSV and select the Amount column
- Remove the currency symbol — replace
$with nothing; repeat for€,£,¥as needed - Remove thousands separators — replace
,with nothing in the Amount column; this removes commas used as thousand separators (1,250.00 → 1250.00) - Check for European decimal format — if amounts show 1.250,00 (EU format), first remove the period (thousands) then replace the remaining comma with a period to get 1250.00
- Platform constraint check: QuickBooks Online, Xero, Wave, and FreshBooks all require plain decimal numbers — no currency symbol, no thousands separator, no trailing currency code (EUR, USD). Verify at least the first 5 rows before import.
If amounts still fail after these steps, see the hidden character section below — the culprit may be a non-breaking space that standard Find & Replace misses.
TL;DR: "Invalid amount" errors in accounting CSV imports are caused by currency symbols ($, €, £), thousands commas (1,250.00), European decimal commas (1.250,00), or invisible non-breaking space characters that bank and ERP exports embed in amount fields. Use SplitForge Find & Replace to strip all of these in one pass — no formulas, works on files up to 500,000 rows on Free tier.
Your finance team just exported three months of vendor payments from SAP S/4HANA to reconcile against the QuickBooks ledger. The CSV opens cleanly in Excel — amounts display as $1,250.00, all positive, all credible. You map the columns, click Import in QuickBooks, and every row fails: "Invalid amount."
You open Find & Replace (Ctrl+H), search for "$," replace with nothing. Nothing changes — the dollar sign is gone from the preview, but re-importing still fails. What you don't see is that the SAP export included a narrow no-break space (Unicode U+202F) between the dollar sign and the first digit. It looks identical to a regular space in Excel. It doesn't match the space character Excel searches for. The amount "$ 1,250.00" — after removing the "$" — becomes " 1,250.00" with an invisible leading space that the QuickBooks parser treats as a non-numeric character.
You try trimming the cells in Excel. The TRIM function removes leading and trailing regular spaces but leaves non-breaking spaces intact. The import still fails.
This guide covers the currency formatting issues that break accounting CSV imports: visible symbols, thousands separators, European decimal formats, and the invisible Unicode characters that standard tools miss. It does not cover OFX/QFX import formats or multi-currency reconciliation workflows.
Each error type in this guide was reproduced using QuickBooks Online (US, May 2026) and Xero (US region settings, May 2026), with sample files from SAP S/4HANA and HSBC UK CSV exports.
What Accounting Software Error Messages Actually Mean
"Invalid amount" — The Amount field contains non-numeric characters. The most common causes: currency symbol attached to the number, thousands comma used as a separator, or an invisible non-breaking space. Start by inspecting the raw field value in a text editor before changing anything in Excel.
"Amount must be a number" (Wave, FreshBooks variant) — Same root cause as "Invalid amount." Wave and FreshBooks use this phrasing; QuickBooks Online uses "Invalid amount." The fix is identical: strip all non-numeric characters except the decimal point and minus sign.
"Invalid amount" persists after Find & Replace — The amount field contains a hidden non-breaking space (U+00A0 or U+202F) that Excel's Ctrl+H search for space (U+0020) does not match. Requires a tool with Unicode character awareness to detect and remove.
Import succeeds but amounts show as zero — The Amount column contains a trailing currency code ("1250.00 EUR," "500 USD"). The parser found a number followed by letters and either truncated the value to zero or rejected it silently. Remove trailing currency codes before import.
Import succeeds but amounts are inverted — European CSV exports use comma as the decimal separator (1.250,00 means one thousand two hundred fifty). Importing this as US format reads the value as 1.25 (removing the thousands period leaves "1250,00" and the comma is ignored). Convert to US decimal format before import.
📋 Table of Contents
- Why Currency Symbols Break Accounting CSV Imports
- The Hidden Character Problem: Non-Breaking Spaces
- European Decimal Comma and Thousand Period Format
- How to Remove Currency Symbols from Large CSV Files
- Additional Resources
- FAQ
This guide is for: Accountants, bookkeepers, and data analysts working with CSV exports from banks, ERP systems (SAP, Oracle NetSuite), or payment platforms (Stripe, PayPal) who need to import transaction data into QuickBooks Online, Xero, Wave, FreshBooks, or a database.
Already know your platform? Jump to Quick Answer or Fast Fix.
| Error / Symptom | Root Cause | Fix |
|---|---|---|
| "Invalid amount" | Currency symbol ($, €, £, ¥) attached to number | Replace symbol with nothing using SplitForge Find & Replace |
| "Invalid amount" persists after removing $ | Hidden non-breaking space (U+00A0 or U+202F) between symbol and digits | Use SplitForge Find & Replace with Unicode support to detect and remove NBSP |
| Thousands comma triggers rejection | 1,250.00 — comma between 1 and 250 read as non-numeric character | Remove thousands comma from Amount column only (not Description column) |
| European format rejected | 1.250,00 (period = thousands, comma = decimal) — US parser reads 1.25 | Remove period separator, then replace decimal comma with period: 1.250,00 → 1250.00 |
| Amounts appear as zero after import | Trailing currency code: "1250.00 EUR" or "500 USD" | Remove trailing alphabetic currency codes from Amount field |
| Negative amounts rejected | Accounting parentheses notation: (250.00) instead of -250.00 | Replace opening paren with minus sign; remove closing paren |
Why Currency Symbols Break Accounting CSV Imports
Accounting platforms require plain decimal numbers in the Amount column because their import parsers apply strict numeric validation. The parser reads each cell in the Amount column and checks: does this string represent a valid number? A string like "$1,250.00" contains three non-numeric characters ($, comma, period-as-thousands-separator) and fails immediately.
The origin of the formatting is almost always Excel or a bank/ERP export system that was designed for human readability. Excel automatically applies currency formatting — $1,250.00 — to cells formatted as Currency or Accounting type. When you export to CSV from Excel, these formatted values go into the CSV literally as "$1,250.00." They don't round-trip to plain numbers.
Three categories of currency formatting break imports:
-
Leading currency symbols ($, €, £, ¥, kr, CHF) — the most common case. Remove the symbol; the remaining value may still contain formatting issues.
-
Thousands separators — In US format, "1,250.00" uses a comma between 1 and 250. The parser sees the comma as a field delimiter or non-numeric character. After removing the symbol, you still have "1,250.00" — remove the comma too.
-
Trailing currency codes — Some ERP exports append the ISO 4217 code: "1250.00 USD," "500.00 EUR." The parser encounters alphabetic characters after the decimal and rejects the field.
❌ BROKEN: SAP S/4HANA export with currency symbol and thousands comma — rejected by QuickBooks
Date,Description,Amount
2026-01-15,Office supplies,$1,250.00
2026-01-17,Software license fee,"$3,500.00"
2026-01-22,Contractor payment,-$750.00
QuickBooks error: "Invalid amount" on every row
# FIXED: Currency symbols and thousands commas stripped
Date,Description,Amount
2026-01-15,Office supplies,1250.00
2026-01-17,Software license fee,3500.00
2026-01-22,Contractor payment,-750.00
The Hidden Character Problem: Non-Breaking Spaces
Standard Find & Replace removes the currency symbol. The import still fails. This is the hidden character problem, and it affects a significant portion of exports from SAP S/4HANA, HSBC UK, and some PayPal CSV exports.
The invisible character is a non-breaking space — Unicode U+00A0 — or its narrower sibling, the narrow no-break space at U+202F. Both look identical to a regular space (U+0020) in Excel cells, in text editors that don't show whitespace markers, and in imported data. The critical difference: Excel's Find & Replace searches for the standard space character (U+0020) by default. A search for " " (one space) does not match U+00A0 or U+202F.
The result: after you remove the "$" from "$ 1,250.00," the cell becomes " 1,250.00" — a leading non-breaking space followed by the number. The parser encounters a non-numeric first character and rejects the field.
❌ BROKEN: HSBC export with non-breaking space between symbol and digits
Date,Description,Amount
04/01/2026,Payroll,£[U+00A0]2800.00
04/01/2026,Gas direct debit,£[U+00A0]145.00
After Excel Find & Replace removes "£", Amount becomes "[U+00A0]2800.00"
QuickBooks: "Invalid amount" — leading non-breaking space is non-numeric
# FIXED: NBSP detected and removed along with currency symbol
Date,Description,Amount
04/01/2026,Payroll,2800.00
04/01/2026,Gas direct debit,145.00
How to detect NBSP in your file:
In a text editor with Unicode support (VS Code, Notepad++), open your CSV and use the Find function with a regex or Unicode escape:
- In VS Code: Ctrl+F, enable regex mode, search for
or - In Notepad++: Find & Replace → Extended mode → search for
\xA0
SplitForge Find & Replace operates at the character level using the browser's native Unicode string handling. It detects and removes U+00A0 and U+202F correctly — use the "Strip non-printable characters" option or specify the Unicode codepoint directly in the advanced Find & Replace interface.
European Decimal Comma and Thousand Period Format
European accounting CSV exports use a different number format than US platforms expect. In EU convention, the decimal separator is a comma and the thousands separator is a period: 1.250,00 represents one thousand two hundred fifty dollars and zero cents. US accounting platforms read this as 1.25 — or as an error.
The transformation requires two sequential steps in a specific order:
Step 1: Remove the thousands period (the period used as a grouping separator). Step 2: Replace the remaining decimal comma with a period.
Performing these steps in the wrong order produces incorrect results. If you replace commas with periods first, "1.250,00" becomes "1.250.00" — two decimal separators, which is invalid.
❌ BROKEN: European format — comma decimal rejected by QuickBooks US
Date,Description,Amount
15/01/2026,Client payment,1.250,00
15/01/2026,Office rent,3.500,00
15/01/2026,Software subscription,199,00
QuickBooks US reads 1.250,00 as 1.25 (dropping the decimal comma) or rejects
# FIXED: Step 1 — remove thousands period; Step 2 — replace decimal comma with period
Date,Description,Amount
15/01/2026,Client payment,1250.00
15/01/2026,Office rent,3500.00
15/01/2026,Software subscription,199.00
European format issues are most common when importing from EU bank exports (HSBC EU, Barclays EUR accounts, Deutsche Bank, BNP Paribas) or ERP systems with EU regional settings. For a complete treatment of international bank statement CSV formats including delimiter and encoding differences, see International bank statement CSV formats: QuickBooks, Xero, and NetSuite fix guide.
How to Remove Currency Symbols from Large CSV Files
Excel becomes unusable for currency symbol removal at file sizes above 100,000 rows. The Find & Replace operation on a 500,000-row file can take several minutes and may trigger Excel's memory limit, particularly in the 32-bit version. Cell-by-cell formula approaches (SUBSTITUTE, CLEAN, TRIM chains) are even slower and produce intermediate helper columns that must be copy-pasted as values before export.
SplitForge Find & Replace processes the Amount column in a single Web Worker pass entirely within your browser. A 500,000-row file completes in seconds, with no row count restriction on Free tier for this type of text substitution operation.
Workflow for large-file currency symbol removal:
- Open SplitForge Find & Replace and drag in your CSV
- Select the Amount column from the column picker
- Apply replacements in sequence: remove
$→ remove,(if US format) → remove NBSP if applicable - For European format: remove
.thousands separator first, then replace,decimal with. - Preview the first 20 rows in the tool's preview pane before committing to the full file
- Download the corrected CSV and import
For the complete pre-import verification workflow before any accounting import, see the Accounting CSV pre-import checklist: 12 checks before every upload. For QuickBooks-specific column requirements and file size limits, see Fix QuickBooks CSV import errors: complete guide.
SplitForge processes CSV files using Web Worker threads running entirely within your browser. No financial data is transmitted to any server during the Find & Replace operation — relevant for accounting files that contain vendor names, payment references, and invoice numbers alongside transaction amounts.
For the complete finance CSV preparation workflow across QuickBooks, Xero, NetSuite, Stripe, SAP, and bank exports, see the Finance CSV data prep complete guide.
Additional Resources
Official Platform Documentation:
- QuickBooks Online CSV import requirements — Intuit Help — Authoritative amount field format requirements for QuickBooks Online
- Fix CSV import errors — Xero Central — Xero's guide to CSV import error types including amount field issues
Technical Standards:
- Unicode Character U+00A0 — No-Break Space — Unicode specification for the non-breaking space character
- RFC 4180 — CSV Format Specification — Defines how numeric values should appear in CSV fields
Browser Processing Reference:
- Web Workers API — MDN Web Docs — Technical specification for the browser-side processing SplitForge uses for large-file operations