WooCommerce CSV price format errors: decimals, currencies and sale prices

A price is business data, not just a number to make a parser accept. Before converting anything, establish the source currency, decimal convention and meaning of empty cells with the person who owns the catalog.

Identify the source convention

Collect a few representative values: a small decimal amount, a value above one thousand, a sale price, zero and an empty cell. A value such as 1,234 is ambiguous without context. It may mean a thousands grouping or a decimal fraction. Do not run a blanket comma replacement across the catalog.

Keep a before-and-after table of approved conversions. Separate currency conversion from formatting. Removing a currency symbol does not convert the amount into the store’s currency; a multi-currency extension may also have its own fields and rules.

Prepare a narrow correction file

Use exact existing SKUs and only the fields you intend to change. For our synthetic core-importer fixture, Regular price uses plain decimal values such as 12.50. Reparse the exported CSV to confirm that the price remains one field and is not rounded by spreadsheet formatting.

Treat a blank, zero and the text N/A as different states. A zero price may be deliberate; an empty supplier cell may mean unknown. Resolve that meaning before producing an update. If changing sale prices, include a product with an active sale in the test set and examine any sale schedule already on the store.

Verify stored values and storefront display

Compare the product editor, a fresh export and the storefront. The displayed total can also reflect tax-display settings or pricing extensions. A mismatch on the storefront does not automatically mean the CSV value was parsed incorrectly.

Our local update fixture changes the mug SKU 00041 from 12.50 to 14.75 and its stock from 8 to 12. The integration test checks the saved product values. The example below deliberately mixes decimal conventions to show what requires review; it is not an approved price update.

Inspect the CSV structure

Diagnostic example: confirm the source locale before normalizing the first price.

SKU,Regular price
00041,"12,50"
00042,12.50

Check the result

  • The source owner approved every ambiguous conversion.
  • Regular and sale prices match the intended product records.
  • Unrelated fields and products retain their previous values.

Documentation for this workflow

Check the instructions for your installed version before changing a store.

Need a second pair of eyes?

We can review the source and agree a repair scope. Start with CSV file repair or staging import help.

Ask about import help