How to use Bulk Pricing Calculator
- Import a CSV and map SKU and product cost. Map optional fees, shipping and discount columns if present.
- Set a target margin percentage for every valid row. Unmapped optional amounts default to zero.
- Generate prices. Inspect warnings, then download the full report, including rows that could not be priced.
A warning is part of the output
Invalid mapped numeric cells are not silently treated as zero. An empty SKU, negative cost, missing mapped value or impossible combination of margin and fee yields a warning in that row. Other rows still run. Unmapped optional fields are zero; mapped but empty cells are invalid. Repeated SKUs are retained as separate source rows so that conflicting source data is visible.
One model across all rows
The formula matches the single-item margin calculator: price = total base cost / [(1 − discount) × (1 − percentage fee − target margin)]. Suggested prices round up to two decimal places. Achieved margin uses the unrounded calculation and displays two decimal places. Enter percent cells as 5 for 5%, not 0.05 or 5%. Currency symbols and thousands separators are rejected.
Review before importing into your store
The result is a pricing review report, not a marketplace-specific upload template. It includes source_row, sku, suggested_price, profit, achieved_margin_percent and warning. It does not copy arbitrary source columns; use Column Mapper on a suitable export if your destination requires another schema. Test any import with a small catalog subset and keep a rollback copy.
CSV format and safe export
Use comma-delimited files with a unique, non-empty header row. Quoted commas, escaped quotes, quoted line breaks, CRLF and UTF-8 BOM are supported. Whitespace-only rows are skipped. Choose the correct encoding before import; non-UTF-8 content is not guessed. Parsing and processing run in a browser Worker. Only the first 50 result rows appear in the preview; downloads contain the complete result. Outputs are also limited to 100,000 rows, 100 columns, 1 million cells and 32 MiB; expanded comparisons or merges may hit a conservative size limit earlier. Reduce fields or split files if an output limit is reached.
Exports include a UTF-8 BOM and CRLF line endings. Cells starting with =, +, − (ASCII hyphen), or @ after whitespace/control characters, and cells starting with a tab or line break, receive a leading apostrophe. Headers are protected too. Negative numbers may therefore export as text. This changes potentially dangerous cell content; the result reports the number of protected cells. Keep an untouched original.