Why import data?
When you have hundreds or thousands of listings, editing them one by one isn't practical. The Import module lets you update large amounts of data at once using a spreadsheet file. You can upload pricing inputs (costs, min prices, max prices), assign strategies in bulk, set MAP and MSRP values, toggle repricing on or off, and more, all in a single operation.
To get started, click Uploads in the sidebar, then open the Imports tab.
Supported file formats
Two file formats are accepted:
- CSV (comma-separated values). The most common format. Works with any spreadsheet program.
- Excel (.xlsx). Native Excel format. No need to save as CSV first.
What you can import
A single import file can update any combination of the following fields on your listings:
- SKU / Product ID. Used to match each row in your file to an existing listing. The system looks up products by both SKU and Channel Product ID (e.g. ASIN, Walmart ID), so you can use either one. This field is only for matching. It does not update the SKU or Product ID of your listings.
- Cost. Your product cost per unit (including shipping to your fulfillment center, prep fees, and any other per-unit expenses). Number with decimals (e.g. 10.50).
- Min Price. The absolute minimum price you're willing to sell at. Number with decimals (e.g. 24.99).
- Max Price. The maximum price the repricer can set. Number with decimals (e.g. 49.99).
- MAP. Minimum Advertised Price. Used by safety nets to prevent pricing below brand restrictions. Number with decimals (e.g. 29.99).
- MSRP. Manufacturer's Suggested Retail Price. Used as a ceiling reference in safety nets. Number with decimals (e.g. 39.99).
- Manual Price. A fixed price override that bypasses the repricer entirely. Number with decimals (e.g. 29.99).
- Strategy. The name of the repricing strategy to assign. Must match an existing strategy name exactly.
- Paused. Whether repricing is paused for this listing. Accepted values: true, false, yes, no, 1, or 0.
- B2B Price. Fixed B2B price. Requires a strategy with B2B enabled and B2B pricing mode set to "Fixed Business Price". Number with decimals (e.g. 24.99).
- B2B Minimum Price. B2B price floor. Requires a strategy with B2B enabled and B2B minimum price source set to "Set Manually". Number with decimals (e.g. 19.99).
- B2B Maximum Price. B2B price ceiling. Requires a strategy with B2B enabled. Number with decimals (e.g. 49.99).
- Compare Price. Compare/strikethrough price. Requires a strategy with compare price mode set to "Set Manually". Number with decimals (e.g. 39.99).
There are no separate "import types." Every import uses the same flow. You simply choose which columns in your file map to which fields, and the system updates only the fields you've mapped.
Step-by-step import process
Step 1: Pick your file
On the Imports tab, click the Create Import button in the toolbar. Your system's file picker opens. Select a CSV or Excel (.xlsx) file from your computer.
Step 2: Map your columns
After selecting the file, a column mapping dialog opens in a split-view layout. Your file's columns appear on the left, and the Repricing.app fields appear on the right. For example, your file might have a column called "Unit Cost" that should map to the "Cost" field, or a column called "Product SKU" that maps to "SKU / Product ID."
The system tries to auto-detect common column names and map them automatically. You can adjust any mapping using the dropdown selectors. At minimum, you need the SKU / Product ID column mapped (so the system can match rows to listings) plus at least one data field.
Step 3: Confirm the scope
Before the import runs, you'll confirm which channel account and region the data applies to. This prevents accidental cross-channel updates. If your file contains SKUs from multiple accounts, select the appropriate scope for each.
Step 4: Run the import
Click Import to start processing. The system validates your data, matches rows to existing listings, and applies the updates. You'll see a summary when it finishes, showing how many rows were imported successfully and how many had issues (unrecognized SKUs, invalid values, etc.).
Formatting tips
- Use SKU or Channel Product ID as the identifier. Every row needs a SKU or Channel Product ID (ASIN, Walmart ID, etc.) so the system can find the right listing. If the SKU column is missing, the system automatically falls back to the Channel Product ID column, and vice versa.
- Prices should be plain numbers. Don't include currency symbols or commas. Write "24.99" not "$24.99" or "24,99".
- Use UTF-8 encoding. If your file contains special characters (for example, in strategy names), make sure the file is saved with UTF-8 encoding to avoid garbled text.
- One row per listing. Each row should represent one unique listing (one SKU).
- Headers are required. The first row must contain column headers.
- Strategy names must match exactly. If you're assigning strategies, the name in your file must match an existing strategy name in Repricing.app, including capitalization.
Import status
Every import goes through a sequence of status stages as it is processed. The Status column in the imports table shows the current stage:
- Pending. The import is queued and waiting to be picked up for processing.
- Validating. The system is downloading and parsing your file. Shown with a blinking animation.
- Processing. The system is matching products and applying updates row by row. A progress percentage is displayed alongside the status (e.g. "Processing 45%"). Shown with a blinking animation.
- Completed. The import finished processing. Check the Success and Errors columns for the results. "Completed" does not necessarily mean error-free: an import can complete successfully while some individual rows had errors.
- Failed. The entire import could not be processed. This only happens when the file is empty, could not be parsed, or an unexpected system error occurred. Individual row errors do not cause a "Failed" status.
- Cancelled. The import was manually cancelled before processing started. Imports can only be cancelled while in Pending or Validating status. Once processing begins, the import cannot be cancelled.
The Success column shows the count of rows that were successfully updated (in green). The Errors column shows the count of rows that had errors (in red) or warnings (in orange).
Common row-level errors
- No listing found with that SKU or Product ID.
- SKU matches listings in multiple accounts or regions. Narrow your import scope using the Account and Region filters.
- Invalid number format for a price field.
- Negative price value.
- Strategy name not found, or the strategy does not belong to the listing's region.
- B2B fields used but no strategy has B2B enabled (or the required B2B mode is not configured).
- Compare Price used but no strategy has compare price mode set to "Set Manually".
- Cross-field validation failures: Min Price greater than Max Price, Cost greater than price fields, MAP greater than MSRP, or B2B Min greater than B2B Max.
Error files
When an import finishes with errors, you can download an Error File to see exactly which rows failed and why.
The ERROR FILE button appears in the Actions column for any completed, failed, or cancelled import that has errors. Clicking it opens a dialog where you choose the download format:
- CSV. Comma-separated values. Opens in any spreadsheet app or text editor.
- Excel (.xlsx). Microsoft Excel workbook. Best for editing and re-importing.
The error file contains only the rows that had errors, preserving the exact same columns from your original imported file, plus an additional error_message column at the end that explains why each row failed. If a row had multiple errors, the messages are separated by " | ". You can fix the errors directly in the downloaded file and re-import it.
If the original file is no longer available in storage, a fallback report is generated with columns: Type (Error/Warning), Row, Field, and Message.
Note: Error details are retained for 7 days after the import completes. After that period, the error data is cleaned up to save storage and the ERROR FILE button will be disabled.
Import history
The Imports tab shows a history of all your past imports with the date, file name, account, region, file size, mapped fields, status, success count, error count, and timestamps. You can filter by status, search by file name, and sort by any column.
Common use cases
- Initial cost upload. After connecting a channel, your listings sync without cost data. Uploading a file with your costs is usually the first thing you'll want to do. Costs are essential for cost-based price floors, profit protection, and the Profitability Report.
- Bulk strategy assignment. Map each SKU to a strategy name to assign strategies across hundreds of listings at once, instead of doing it one by one. See Assigning Strategies to Listings.
- Updating min/max prices. When your supplier prices change, export your current data, adjust the min/max columns in a spreadsheet, and re-import the updated file using the Export module.
- Setting MAP/MSRP in bulk. If your brand requires Minimum Advertised Prices, import them all at once instead of editing each listing individually.
Automating imports
If you need to keep your data continuously in sync with an external system (like a warehouse, ERP, or supplier feed), you can set up automated imports that run on a schedule. Scheduled imports pull your file from a URL, FTP, or SFTP server automatically at the frequency you configure. See Scheduled Imports for the full setup guide.