FastBankConvertFastBankConvert home

Negative Numbers in CSV: Signs, Brackets, Columns

By FastBankConvertPublished October 17, 2026

Negative numbers in a CSV file should be written with a leading minus sign and a decimal point, such as -45.10, with no brackets, no currency symbol, no thousands separators and no CR or DR letters. If a program wants unsigned amounts, use two columns instead, one for debits and one for credits, each holding plain positive numbers.

What should negative numbers in a CSV look like?

A negative number in a CSV should look like the plain number with a minus in front: -45.10, -1250.00, -0.99. That form is read as negative by spreadsheets, databases, accounting imports and programming languages alike. Any decoration around the number, however familiar from printed statements, is a chance for one of those readers to see text instead of a number.

The reason is that a CSV has no number type at all. RFC 4180, the CSV format description, describes fields, separators, quoting and line breaks, and says nothing about how numbers are written. Every value in the file is text. Whether -45.10 becomes a negative number depends entirely on the program reading it, and the leading minus is the one spelling they all agree on.

A few details make the plain form even safer:

  • No space between the minus and the digits. "- 45.10" is text to many parsers.
  • A hyphen-minus, not a dash. Text copied from a PDF or a word processor sometimes carries an en dash or a Unicode minus sign that looks the same but is a different character.
  • No thousands separator. "-1,250.00" must be quoted in a comma-separated file, and some importers still reject it. Write -1250.00.
  • No currency symbol. "-$45.10" and "$-45.10" are both common, and both are text to a strict reader.

Brackets, CR marks and trailing minus signs in CSV amounts

Brackets, CR marks and trailing minus signs are accounting display styles, and in a CSV they usually arrive as text. A spreadsheet may happen to recognise (45.10) as negative, but most import tools, scripts and databases do not, and the amount either fails to load or loads as a positive number with its sign lost.

The table below shows example spellings of the same negative amount and how a typical strict importer, such as a database load or a budgeting app's CSV upload, reads each one. Exact behaviour varies by program, so treat it as a guide to what to fix first.

Example spelling Where it comes from How a strict importer usually reads it
-45.10 Plain export, most software Negative number
(45.10) Accounting number format Text, or an error
45.10 CR Credit card and some bank statements Text, or 45.10 if letters are stripped
45.10 DR Ledger and bank statements Text, or 45.10 if letters are stripped
45.10- Older bank systems and mainframe reports Text, or 45.10
−45.10 (Unicode minus) Copied from a PDF or word processor Text
-45,10 European decimal comma Text, or -4510

The dangerous rows are the ones where the importer strips the letters or brackets and keeps going. The file loads without an error, the totals are wrong, and nothing points to the cause. A refund of 45.10 CR silently becomes a charge of 45.10.

CR and DR also flip meaning between documents. On a bank statement, CR usually means money into your account. On a supplier ledger, a credit can mean the opposite from your side. CR and DR amounts in Excel works through how to read them before turning them into signs.

One signed amount column or separate CSV debit and credit columns?

One signed amount column is the better default: one number per line, negative for money out, positive for money in. Use separate debit and credit columns only when the program you import into asks for them, or when the people reading the file are used to seeing statements laid out that way.

The two layouts carry the same information:

Layout Date Description Amount Debit Credit
Signed (example) 2026-07-03 Water bill -38.60
Signed (example) 2026-07-05 Customer payment 410.00
Two columns (example) 2026-07-03 Water bill 38.60
Two columns (example) 2026-07-05 Customer payment 410.00

A signed column is easier to total, sort and check. Summing it gives the net change for the period, which should match closing minus opening balance. Two columns need a formula to get the same check, and they have a failure of their own: a line with values in both columns, or in neither.

If you do use two columns, keep both positive. Writing -38.60 in a debit column means "a negative debit", which some programs read as a credit. And leave the empty side truly empty rather than filling it with zero, unless the importer insists on zeros.

When a file arrives in one layout and you need the other, combining debit and credit columns in Excel shows the formula for each direction.

Converting bracketed CSV negatives back to a minus

Bracketed or CR-marked negatives in a CSV can be repaired with a find-and-replace or a short formula, as long as you fix the text before anything treats it as a number. Work on a copy, convert every negative spelling to a leading minus, strip separators and symbols, then check that the column sums to the expected total.

Here is a repair step list for a CSV opened in Excel, with amounts in column C:

  1. Import the file rather than double-clicking it, and set the amount column to Text during the import, so Excel does not guess. If the whole file lands in one column, a CSV that opens in one column explains the delimiter fix first.
  2. In a new column, write a formula that handles brackets: if the text starts with "(", take the part between the brackets and put a minus in front.
  3. Extend the same formula for trailing marks: if the text ends with "CR" or "-", remove the mark and add a minus. Decide first whether CR means negative in this file.
  4. Remove currency symbols and thousands separators with SUBSTITUTE.
  5. Wrap the result in VALUE to turn it into a real number.
  6. Check the total of the new column against a figure from the source, such as the statement's closing balance minus its opening balance.
  7. Copy the new column, paste it as values over the old amounts, and delete the helper column.

Step 6 is the one people skip and regret. A repair that turns 45.10 CR into +45.10 instead of -45.10 still produces a tidy column of numbers. Only the total tells you the sign rule was wrong.

How does Excel save negative numbers to CSV?

Excel writes each cell to a CSV as text, and the cell's number format can shape that text. A column formatted as Accounting may come out of Save As with brackets or symbols still attached. Set amount columns to a plain Number format with a minus before saving, then open the CSV in a text editor to confirm.

Microsoft's help on saving a workbook to text format warns that saving a workbook in any text format removes the formatting. That does not mean the number is written in a neutral form; it means colours, fonts and widths are gone. What reaches the file is the value as Excel chose to write it, and checking the result is the only way to be sure.

A quick test before saving the real file:

  • Format the amount column as Number, two decimal places, no thousands separator, with the plain minus style for negatives.
  • Save a copy as CSV.
  • Open the CSV in Notepad or TextEdit and look at three negative lines. Each should read like -38.60, with nothing else in the field.
  • Check the decimals. If the column showed fewer decimals than the data holds, the CSV may hold the rounded version.

Saving a CSV from Excel covers the rest of the Save As choices, including which CSV type to pick and why only the active sheet is saved.

Negative sign conventions that flip between CSV sources

The same transaction can be negative in one CSV and positive in another, because each source writes from its own point of view. A bank export shows a card payment as negative money out of checking. The card company's export may show it as a positive payment received.

Merging the two without checking doubles or cancels lines, because the same money appears with opposite signs and no flag says which view each file takes.

Common places where the sign flips:

  • Credit card exports. Many list purchases as positive amounts, because they add to what you owe, and payments as negative. That is the reverse of a checking account export.
  • Brokerage files. A buy is money out of cash but shares in; a sale is the opposite. Some files sign the quantity, some sign the cash amount, and some sign both. Turning a brokerage statement into Excel covers how to keep cash and holdings apart.
  • Loan and mortgage files. A payment reduces the balance, so it may be negative on the loan side and negative again on the checking side.
  • Exports from accounting software. These often follow debit-positive rules for some accounts and credit-positive for others.

Before combining sources, take one known transaction, such as last month's card payment, and find it in each file. If the signs disagree, flip one file's column by multiplying it by -1 and note that you did. FastBankConvert is getting ready to open with statement conversion to Excel, CSV or JSON, one row per transaction; you can get started to hear when it opens.

All posts in CSV, JSON and text output