Handling decimal commas and decimal points
Supplier files can represent the same value as 12.50 or 12,50. A comma can also be a CSV field separator or a thousands separator, so the convention must be selected explicitly.
Worked examples
| Source text | Selected convention | Parsed cost |
|---|---|---|
12.50 |
Decimal point | 12.50 |
12,50 |
Decimal comma | 12.50 |
1.234,50 |
Decimal comma | Rejected: remove the grouping dot first |
1,234.50 |
Decimal point | Rejected: remove the grouping comma first |
1,250 |
Decimal comma | 1.25 — not 1250 |
1.250 |
Decimal point | 1.25 — not 1250 |
If a file mixes 12,50 and 12.50 in the same mapped column, stop and review it. A single automatic rule cannot safely explain both representations without more evidence.
Price calculation example
Supplier cost 11,00, decimal-comma mode, 50% markup:
11.00 × 1.50 = 16.50
With nearest-cent rounding, the proposed price is 16.50. For sample SKU 0002, the old cost is 10.00, the new cost is 11.00, and the old price is 18.00. Feedstead shows the old and proposed cost and selling price, with the configured markup and rounding rule.
For actual numeric XLSX cells, the stored numeric value is used for costs; a display format must not round away precision. The decimal convention controls text amounts. Identifiers retain their displayed text, including zero padding.
Checks before export
- Scan invalid and negative costs.
- Check values of 1,000 or more. A thousands separator that matches the selected decimal convention is read as a decimal and is not flagged. Remove grouping separators in the source file before importing it.
- Confirm the client currency separately; decimal parsing does not perform currency conversion.
- Review at least one low, medium, and high value from the supplier file.