Skip to main content

Stocky Variant Cost Import (CSV)

The variant cost import seeds initial average costs for your product variants using data exported from Stocky. Each variant gets a starting cost baseline that is used for Weighted Average Cost (WAC) calculations going forward.

Note: WAC is calculated using the landed cost of each receipt — the unit cost plus any allocated fees (e.g. shipping) minus any allocated discounts. Seed entries from this import have no fees or discounts, so the seeded cost is used as-is. Future purchase order receipts blend their landed cost into the WAC.

Before You Start

  1. Import your suppliers first. Run a Stocky supplier import (or a full Stocky import) before running the variant cost import. The CSV import matches supplier names from the file to existing supplier records — it does not create new suppliers.

That is the only prerequisite. The import only uses the average cost from the file, so you can export the CSV at any time — there is no requirement to export it "today," and stock quantities do not matter.

How to Export the CSV from Stocky

  1. Go to the Variant Report in Stocky at https://stocky.shopifyapps.com/reports/variants.
  2. Make sure the following columns are selected in the report. These are required for the import to work:
    • Supplier
    • Shopify ID
    • Average Cost
  3. Optionally include Cost Price if you want to import supplier catalog prices.
  4. You may also include Stock, Product, Variant, SKU, and Price for your own reference — the import will ignore columns it does not need (including stock/Available).
  5. Click Export CSV to download the file.

Tip: You can bookmark the report URL with your preferred columns pre-selected so you do not have to re-configure it each time.

Cost-Only Seeding

The import only uses each variant's average cost to set its opening cost baseline. Quantity is not used: when the first purchase order is received, the system weights the opening cost using the live on-hand count at that moment, not any number from the CSV. This is why the CSV does not need a stock/Available column and why the export date does not matter.

Importing costs does not change anything in Shopify. The average cost is stored only inside Order Engine and is held in reserve. It is first put to use when your next purchase order is received for that variant — at that point it is combined with the actual on-hand quantity at the time of receipt to produce the running average cost. (Shopify's cost field is updated by the receiving flow, not by this import.)

What Gets Imported

Each row in the CSV can create up to two records:

Cost Baseline (WAC Seed)

A cost ledger entry is created for each variant with:

  • The Average Cost from the CSV as the starting unit cost
  • Event type set to "seed"

Supplier Catalog Price (Optional)

If the CSV includes a Cost Price column and the supplier name matches an existing supplier record, the supplier's catalog price is recorded on the variant. This represents what the supplier charges for the item (as distinct from the average cost you have paid over time).

Reading the Results

After the import completes, you will see a summary with the following counts:

FieldMeaning
Total RowsNumber of rows processed from the CSV.
SeededVariants with no prior cost history that were given a cost baseline.
Seeded (Backdated)Variants that already had purchase order receipts. The opening cost was applied retroactively (back-dated before the first receipt) and the cost history was recalculated so the opening cost is blended in.
Skipped No VariantRows where the Shopify ID did not match any known product variant. These products may not have been synced to Order Engine yet.
Skipped No CostRows where the Average Cost was blank or zero.
Skipped No Inventory Item IDRows where the matched variant does not have an inventory item ID configured.
Skipped Already SeededRows where the variant already has an opening cost seed. (Existing purchase order receipts do not cause a skip — those variants are seeded retroactively instead.)
ErrorsRows that encountered an unexpected error during processing.

All of the counts added together should equal Total Rows.

Frequently Asked Questions

Why were some of my variants skipped?

There are a few reasons a variant can be skipped:

  • Already seeded: The variant already has an opening cost seed in Order Engine (from a previous import or the API). Only one opening seed is allowed per variant, so re-seeding is not needed.
  • No cost: The Average Cost in the CSV was blank or zero.
  • No matching variant: The Shopify ID in the CSV does not match any product in Order Engine. Make sure your products are synced first.

Note: having existing purchase order receipts does not cause a skip. Those variants are seeded retroactively (see below).

What happens if I run the import again?

It is safe to re-run. Variants that were already seeded will be counted as "Skipped Already Seeded" — no duplicate entries are created. Only variants without an opening seed will be seeded.

Do I need to export the CSV the same day I import it?

No. The import only uses the average cost, not stock levels, so the export date does not matter. You can load the CSV days or weeks after exporting it.

What about missing suppliers?

If a supplier name in the CSV does not match any supplier record in Order Engine, the import will still seed the cost baseline for that variant. Only the supplier catalog price update is skipped for that row. To get supplier prices recorded, make sure you have run a Stocky supplier import first.

What happens to a variant that already has purchase order receipts when I load the CSV?

It is seeded retroactively. The opening cost is recorded just before the variant's earliest receipt, and the cost history is recalculated so the opening cost is blended into every later receipt. This is exactly what you want for a cutover: if you switch to Bookkeep and start receiving purchase orders before loading your Stocky costs, loading the CSV later corrects the running average cost as if the opening cost had been there all along. (This updates your cost records in Order Engine only; it does not change costs in Shopify.)

Why doesn't my WAC match a simple average of my purchase costs?

WAC is weighted by quantity and uses the landed cost of each receipt (unit cost + allocated fees − allocated discounts), not the raw unit cost. If a purchase order receipt had shipping fees or discounts allocated to it, the WAC will reflect the net landed amount. For example, a receipt of 10 units at $3.00 with a $1.00/unit discount contributes $2.00/unit to the WAC.

How long does the import take?

Processing time depends on the number of rows in your CSV. A typical file with 2,000–5,000 rows completes in under a minute.