Importing Case Packs
Turn multipack listings — a 6-pack, a case of 12 — into automatic recipes that draw from one stocked item, without building each bill of materials by hand.
What is a case pack?
A case pack is a listing that sells a multiple of a single stocked item — a 6-pack, a case of 12, a bulk carton. Instead of tracking inventory for the multipack separately, Carpe Inventory IQ builds a bill of materials (BOM) for it automatically: one sale of the listing deducts the pack size from the stocked item’s inventory. Importing a file of listing/parent/pack-size rows sets up all of these recipes at once, instead of creating each BOM by hand on the BOMs page.
Step-by-step guide
Prepare your CSV
Build a spreadsheet with one row per case-pack listing. Each row names the listing (the multipack customers buy), the parent (the stocked item it's built from), and the pack size (how many parent units one sale consumes).
| Column | Required | Description |
|---|---|---|
Listing SKU | Yes | The SKU code for the multipack listing — the finished good customers buy, e.g. WIDGET-12 |
Parent SKU | Yes | The SKU code of the stocked item the pack is built from, e.g. F-WIDGET. Created automatically (with no cost data) if it doesn't exist yet |
Pack Size | Yes | How many units of the parent one sale of the listing consumes. A plain number ("12") is all you need. "cs 12" and "case of 12" are also accepted so you can paste the packing column from another inventory system's export without reformatting it — that's why the template shows both forms |
Listing Name | Optional | Name to give the listing if it's created new |
Download the template
Not sure about the column format? Go to the BOMs page → Import case packs → Download template CSV to get a pre-formatted file with fictional example rows. Fill it in and save as CSV.
Upload and review the preview
Go to BOMs → Import case packs → upload your file. The preview shows every parsed row and flags obvious problems — like an invalid pack size or a listing mapped to two different parents — before anything is imported.
A file over 5,000 rows only previews the first 5,000 in the browser; the full file is still validated and imported.
Import and review the results
Click Import. The summary shows listings created, converted, parents created, recipes created or updated, unchanged rows, and errors — with a downloadable CSV for any row that failed.
Assign costs to any newly created parents
If the summary shows parents created, follow the Assign Costs link before those listings sell anywhere — see the cost warning below.
Things to know
Auto-created parents have no cost data
If a Parent SKU in your file doesn't exist yet, it's created automatically as a raw material — but with no cost. The import summary flags how many parents were created this way. Assign costs to them before they sell anywhere: a sale recorded before a cost is assigned locks in $0 cost permanently in your history, even if you add the cost afterward.
Re-running the same file is safe
Rows that already match what's in Carpe Inventory IQ are left unchanged — nothing is duplicated or overwritten. This makes it safe to re-import the same file, or an updated version of it, as often as you need.
Hand-edited recipes become merchant-managed
If you edit a case pack's bill of materials by hand after importing it, that recipe is now yours to manage — future imports of the same listing show a permanent error row rather than overwriting your changes. This is expected, not a bug. To hand control back to the importer, delete the recipe on the BOMs page and re-import the file.
New listings stay unpublished until you link them
A listing created by this import isn't published to any sales channel on its own — channel linking (mapping it to a live product) is a separate step. If a listing was already live on a channel before you imported it, sales on that channel still count against the recipe right away.
Nested or multi-tier packs aren't supported
A case pack can only draw from a stocked piece — it can't draw from another case pack. If you sell a pack of packs, define each pack size directly against the underlying stocked item instead of chaining them together.
Ready to get started? Sign up and try it free for 14 days.