Import and export product settings
Edit product locations, carriers and boxes in Excel, then import them. Every column, its values and the import errors.
Updated October 5, 2026
You can edit your product settings in an Excel file instead of row by row on the Products page. It is a quicker way to set up a large catalog or to change many products at once. This page lists every column and the errors an import can show.
Box columns name boxes from your box library, so the boxes have to exist first. To add many boxes at once, import them on the Boxes page.
Export, template and import
The three buttons are at the top of Products > Box configuration.
| Button | What you get |
|---|---|
| Export | An Excel file (.xlsx) with every variant and its current settings. Use it to change existing settings. |
| Download Template | The same list of variants with the settings columns empty and two box positions. Use it to set up products from scratch. |
| Import | Uploads an edited file. Parcello shows what will change before anything is saved. |
The exported file has as many box positions as your most-boxed product, plus one.
How an import reads your file
Parcello reads the first sheet of the file. Row 1 holds the column names (upper or lower case both work). Every other row is one variant.
Three rules decide what changes:
- Rows you leave out aren’t touched. Only variants listed in the file can change. Delete the rows you don’t want to change.
- Columns you leave out aren’t touched. If the file has no
default_carriercolumn, no carrier changes. Delete the columns you don’t want to change. - An empty cell in a column that’s there resets that setting, as described for each column below. The one exception is
ship_from_name: an empty cell leaves the location as it is.
The template comes with every settings column empty. If you upload it unchanged, rule 3 resets those settings for every variant listed, and clears box positions 1 and 2. Fill in the cells you want, and delete the columns and rows you don’t.
Import a file
- On Products, click Import.
- Drop your
.xlsxfile on the box, or click Add Excel file. - Click Preview Changes.
- Read the Review Import summary. It lists:
- Will insert: variants that had no settings and will get them.
- Will update: variants that will change, with the settings that change (for example “carrier, boxes”).
- Skipped: rows whose
variant_idisn’t one of your products. It also says how many variants not in the file will be left untouched.
- Click Apply N changes. The page reloads with the new settings.
If the file has errors, the summary shows them under Validation errors — fix and re-upload before applying and nothing can be applied. Fix the file and import it again. When nothing differs from your current settings, you’ll see “Nothing to apply — every row in the file matches the current configuration.”
Columns for every plan
| Column | Meaning | Accepted values | Empty cell |
|---|---|---|---|
variant_id | The Shopify variant. Required: it’s how Parcello finds the row’s variant. Each variant may appear only once. | The number from the export or template. Don’t change it. | Row ignored. |
product_title, variant_title, sku | For your reference. | Anything. Ignored on import. | Ignored. |
shopify_weight_lbs (read-only) | The Shopify weight, for reference. | Ignored on import. | Ignored. |
ship_from_name | The location the variant ships from. | A Location Name from Locations, any case. | Location unchanged. |
default_carrier | The carrier for the variant’s labels. | UPS, FedEx, Shippo, or Estes and FedExFreight on the Freight plan. Write it exactly like this: the import doesn’t check the value. | Follows the store default carrier. |
packing_mode | What several boxes mean. | additive (Unit split across boxes) or size_family (Alternative boxes). | additive. |
cartons_per_unit | Cartons in one unit, for carton packs with alternative boxes. | Whole number 1 to 99. | 1. |
cartons_may_split | Whether a unit’s cartons may ship in separate boxes (May ship in separate boxes). | yes or no (also true/false, 1/0). | No. |
Box columns
Each box position N (1, 2, 3 and so on) has its own group of columns. They match the Box 1, Box 2, … columns on the Products page.
| Column | Meaning | Accepted values | Empty cell |
|---|---|---|---|
box_N_name | The box in position N. | A Box Name from Boxes, any case. The box must be active. | See below. |
box_N_content_weight | Weight of one unit’s contents in this box, in pounds, without the box. | More than 0 and less than 100,000. | See below. |
box_N_max_qty_per_box | How many units fit in one box (Max qty per box). | Whole number 1 to 999. 0 is read as 1. | 1. |
box_N_last_resort | Only when nothing else fits, for alternative boxes. | yes or no. | No. |
box_N_bol_description | Freight plan. Description on the Estes or FedEx Freight bill of lading for this box. | Up to 35 characters. | Cleared (the product title is used). |
Rules for box positions:
box_N_nameandbox_N_content_weightgo together. Both filled sets the box. Both empty clears that position. One without the other is an error.- The other box columns only apply when that position has a box.
- Box columns must run 1, 2, 3 with no gaps, and each position needs both its
_nameand_content_weightcolumn. - After the import, a variant’s boxes must still have no gaps. Clearing box 1 while box 2 stays is an error.
- Leaving out a position’s
_max_qty_per_box,_last_resortor_bol_descriptioncolumn keeps what that position had.
Columns for checkout (Advanced plan)
These columns are in the export and template on the Advanced plan and above. See Delivery dates at checkout.
| Column | Meaning | Accepted values | Empty cell |
|---|---|---|---|
lead_time_days | Business days before the variant ships (Days mode). | Whole number 0 to 999. | No lead days. |
checkout_lead_mode | Days or Message in the Checkout Lead column. | days or message. | days. |
checkout_no_date_message | The text shown instead of a delivery date (Message mode). | Up to 200 characters (longer text is cut). | No message. |
Columns for automatic packing (Operations plan)
These columns are in the export and template on the Operations plan and above. See Automatic packing by size.
| Column | Meaning | Accepted values | Empty cell |
|---|---|---|---|
packing_method | My box rules or Automatic in the Packing column. | rules or automatic. Setting automatic needs the Operations plan. | rules. |
packed_length, packed_width, packed_height | Packed size of one unit, in inches. | 0.1 to 999. | Cleared. |
keep_upright | Keep upright. | yes or no. | No. |
ships_in_own_box | Already boxed, can ship as is. | yes or no. | No. |
auto_max_per_box | Max per box for automatic packing. | Whole number 1 to 999. | No limit. |
What the file doesn’t cover
These settings aren’t in the file, and an import leaves them as they are:
- The No free shipping checkbox.
- Everything on the Box sharing tab: shared boxes, hosts and ride-along items.
Example
To give three mugs the same mailer, two to a box, without touching anything else, upload a file with only these columns:
| variant_id | box_1_name | box_1_content_weight | box_1_max_qty_per_box |
|---|---|---|---|
| 40011122233344 | Mug Mailer | 1.2 | 2 |
| 40011122233345 | Mug Mailer | 1.2 | 2 |
| 40011122233346 | Mug Mailer | 1.4 | 2 |
Their locations, carriers and any second box stay as they are.
Troubleshooting
Errors about one row start with the row number in the spreadsheet (the header is row 1) and the product, for example “Row 4 (Classic Mug - Blue): …”. A row with an error isn’t checked further, so fix it and import again to see any remaining errors.
Messages about the file
| Message | Fix |
|---|---|
| The Excel file is empty or has no data rows | Add the header row and at least one variant row. |
| Could not read the Excel file: … | Save the file as Excel Workbook (.xlsx) and try again. |
| File header has a box column gap: box_3 is present but box_2 is missing. Box columns must be sequential. | Add the missing box columns, or remove the later ones. |
| Box 2 requires both ‘box_2_name’ and ‘box_2_content_weight’ columns; one is missing. | Add the missing column. |
Messages about a row
| Message (after “Row N (Product - Variant):”) | Fix |
|---|---|
| variant_id … appears in multiple rows. Each variant must appear at most once. | Keep one row per variant. |
| Ship-from address ”…” not found. | Use a Location Name exactly as on Locations. |
| Box ”…” not found in box library. | Use a Box Name from Boxes, and make sure the box is active. |
| Box 1 — name and content weight must both be provided. | Fill in both cells, or empty both. |
| Box 1 weight ”…” must be > 0 and < 100,000 lbs. | Enter the weight of one unit’s contents. |
| Box 1 max qty per box ”…” must be a whole number between 1 and 999. | Enter a whole number. |
| Box 1 last_resort ”…” must be “yes” or “no”. | Use yes or no. |
| Box 1 bol_description ”…” is longer than 35 characters (Estes’ limit). | Shorten it. |
| Boxes must be filled sequentially — no gaps allowed in the resulting box list. | Don’t clear a box position while a later one stays filled. |
| packing_mode ”…” must be “additive” or “size_family”. | Use one of the two values. |
| cartons_per_unit ”…” must be a whole number between 1 and 99. | Enter 1 to 99. |
| cartons_may_split ”…” must be “yes” or “no”. | Use yes or no. |
| lead_time_days ”…” must be a whole number between 0 and 999. | Enter a whole number, like 5 (not 5.5). |
| checkout_lead_mode ”…” must be “days” or “message”. | Use one of the two values. |
| packing_method ”…” must be “rules” or “automatic”. | Use one of the two values. |
| automatic packing is available on the Operations plan. | Use rules, or change plan. |
| packed_length ”…” must be a number between 0.1 and 999. | Enter the size in inches (also for width and height). |
| keep_upright must be “yes” or “no”. | Use yes or no (same for ships_in_own_box). |
| auto_max_per_box ”…” must be a whole number between 1 and 999. | Enter a whole number, or leave it empty for no limit. |
A row is listed under Skipped. Its variant_id isn’t one of your variants that requires shipping. Export a fresh file and copy the ID from it.
Variants changed that you didn’t mean to change. The file had a settings column with empty cells for those rows. Remove columns and rows you don’t want to change before importing.