Shopify Packing List Import: Carton Data as Metafields

Importier Team11 min read
Shopify Packing List Import: Carton Data as Metafields
On this page

A Shopify packing list import closes the gap between what your supplier delivers and what your 3PL, freight carrier, and warehouse need to know before it arrives. A Sydney furniture importer learned the cost of leaving that gap open.

The importer sources 85 SKUs from three Vietnamese manufacturers. Each shipment arrives with a supplier packing list: carton dimensions in centimetres, packed weight in kilograms, units per carton, and handling requirements. The 3PL warehouse needs these numbers before the shipment arrives to reserve racking space, calculate freight charges, and generate pick tickets.

None of that data made it into Shopify at launch. Product listings had titles, prices, and descriptions. Packing specs lived in a folder of supplier PDFs. The 3PL worked from those PDFs, manually re-entering carton dimensions into their WMS for each SKU.

Three months after the importer moved to a larger 3PL facility, freight invoices started coming back wrong. The new facility used carton dimensions stored in their WMS to calculate cubic freight charges. Those dimensions had been re-entered by a warehouse operator reading supplier PDFs. Two products had transposed measurements: a 195 × 95 × 22 cm flat-pack dining table entered as 195 × 22 × 95 cm in the WMS. The transposed values produced a cubic weight 4.3 times the correct figure. The discrepancy produced $4,200 in overcharges before anyone identified the source.

The fix was a Shopify packing list import: supplier packing spreadsheets parsed into carton dimension metafields on each product record. The 3PL WMS integrates with Shopify via API. Carton data now pulls directly at product creation, with no manual re-entry and no transposition errors.

Why Packing List Data Belongs in Shopify

Shopify has a built-in weight field. It stores product weight and is used to calculate shipping rates at checkout. It does not store carton weight, which is the packed weight the freight carrier actually charges on. It stores no carton dimensions. No units-per-carton. No storage requirements.

This data exists for every product. It is on every supplier packing list. The gap is structural: Shopify's standard fields were designed for customer-facing display and shipping rate calculation, not for fulfilment operations. Merchants bridge that gap by keeping packing specs in a WMS, a spreadsheet, or a shared folder, not in the product record the rest of the business reads.

The consequence is re-entry at every handoff. The importer re-enters specs from the supplier PDF into a spreadsheet. The warehouse operator re-enters from the spreadsheet into the WMS. Each re-entry is an opportunity for error. Each error has a freight consequence.

A Shopify packing list import moves the data to the product record once. Every system that integrates with the store reads the same values.

The Packing Spec Metafield Schema for Shopify Imports

Define the metafield schema in Shopify admin under Settings > Custom data > Products before running the import. Shopify's custom data documentation covers field types and namespace setup. A functional packing spec schema covers three areas:

Carton dimensions and weight

  • custom.carton_length_cm (number_integer): external carton length in centimetres. Packed product, not assembled product dimensions.
  • custom.carton_width_cm (number_integer): external carton width in centimetres.
  • custom.carton_height_cm (number_integer): external carton height in centimetres.
  • custom.carton_weight_kg (number_decimal): packed carton weight in kilograms. This is distinct from Shopify's built-in weight field, which stores product weight. Freight carriers calculate cubic weight from carton dimensions; they charge on whichever is greater, cubic or actual carton weight.
  • custom.units_per_carton (number_integer): how many units ship in one carton. A six-chair dining set shipped two chairs per carton has units_per_carton of 2, not 6.

Storage and handling

  • custom.storage_temp_min_c (number_integer): minimum storage temperature in Celsius for temperature-controlled products. Set null for ambient goods.
  • custom.storage_temp_max_c (number_integer): maximum storage temperature in Celsius. Both fields together define the acceptable range.
  • custom.packing_notes (multi_line_text_field): supplier handling instructions. "Fragile: do not stack more than 3 high" and "Surface protection film applied, remove before display" are examples. These appear on the pick ticket and in the 3PL system via the API.

Racking and display

  • custom.shelf_depth_cm (number_integer): product depth on shelf for planogram and storage bay allocation. Relevant for brick-and-mortar retailers planning shelf layout and for 3PLs allocating racking depth.
  • custom.min_order_qty (number_integer): minimum order quantity per the supplier's packing unit. Used for purchase order automation when restocking triggers are set below the MOQ.

Disorganised pile of cardboard tubes, bubble wrap rolls, and packaging materials scattered on a warehouse floor.

Structuring the Packing List Import for Shopify

The import file carries standard product columns alongside the packing spec metafield columns. Each product row maps to one SKU. Where a product ships in different carton sizes by variant (a dining chair in a smaller carton than a dining table), each variant carries its own packing spec:

ColumnExample value
TitleSolid Timber Dining Table 6-Person
VendorNguyen Woodcraft Co
custom.carton_length_cm195
custom.carton_width_cm95
custom.carton_height_cm22
custom.carton_weight_kg48.5
custom.units_per_carton1
custom.packing_notesFlat-packed, surface film applied to top panel. Do not stack.
custom.shelf_depth_cm92

For the Sydney importer, supplier packing lists arrived as Excel spreadsheets with a consistent column structure across all three manufacturers after an initial normalisation pass. Subsequent supplier updates import from the same template without re-extracting dimensions from PDFs.

For merchants whose suppliers provide packing lists as PDFs rather than spreadsheets, Importier parses supplier PDF documents and extracts structured data including dimension tables. Extraction works reliably for PDF packing lists that follow a consistent table layout.

Silver precision calipers measuring the width of a brown cardboard shipping carton on a clean workbench.

How Carton Dimension Imports Enable 3PL Automation

A 3PL WMS that integrates with Shopify reads product metafields via the Admin or Storefront API. When carton dimensions are stored as metafields, the WMS populates its own product record automatically at product creation. No operator re-entry, no PDF lookup.

A hand holding a wireless barcode scanner aimed at the side of a shipping carton in a warehouse receiving area.

Freight calculation

LTL freight is charged on cubic weight: length times width times height in centimetres, divided by the carrier's freight factor (typically 4,000 for domestic Australian road freight). With carton dimensions in Shopify metafields, the freight rate calculation runs against the actual carton data rather than estimated or re-entered values.

The Sydney importer's $4,200 overcharge came from transposed dimensions. The correctly-entered 195 × 95 × 22 cm table produces a cubic weight of 40.7 kg. The transposed 195 × 22 × 95 cm produces a cubic weight of 177.6 kg. Four months of shipments billed at the wrong cubic weight. With metafield-sourced dimensions, that transposition never enters the WMS.

Storage space reservation

A 3PL that allocates racking by product dimensions reserves storage space at product creation. The carton height determines racking clearance. The carton depth determines whether the product fits the allocated bay. This reservation happens automatically when the 3PL reads from Shopify metafields, rather than waiting for an operator to measure an incoming carton.

Pick ticket handling instructions

custom.packing_notes values appear on pick tickets when the 3PL WMS includes handling instructions in the pick workflow. "Do not stack" prevents damage during pack-out without requiring an operator to look up the product's handling requirements for every pick.

The dimension the freight carrier charges on is the packed carton dimension. Storing that value in Shopify and exposing it to your 3PL integration is the difference between a freight invoice you can reconcile and one that takes a quarter to audit.

Commercial freight scale with a sealed cardboard carton on the weighing platform in an industrial warehouse setting.

Solid timber dining table with four matching chairs displayed in a clean product photography studio with neutral background.

AI Descriptions Using Logistics-Sourced Dimension Data

Packing spec metafields store logistics data. The customer-facing product description uses a different dimension set: assembled product dimensions, not carton dimensions. An import file that carries both custom.carton_length_cm (logistics) and custom.assembled_length_cm (customer-facing) lets AI descriptions draw from the correct field.

The Benefits-First description style with a Furniture and Homewares persona from Importier's 156 expert personas generates descriptions that lead with the customer value and draw assembled dimensions from the customer-facing metafield, not the carton field:

"Seats six at 180 by 90 centimetres. The solid timber top is 40mm thick, hand-finished in natural oil. Ships flat-packed in one carton and fully assembles in under 30 minutes with the included hardware. Available in oak, walnut, and jarrah."

The carton dimensions do not appear in the customer description. The logistics team reads custom.carton_length_cm. The customer reads custom.assembled_length_cm. Both values live in the same import file, separated by field. The AI draws from the right one.

  1. 01
    Collect packing lists from all suppliers
    compile carton dimensions (length, width, height), packed carton weight, units per carton, and handling instructions for every SKU; note any products where carton configuration differs by variant (different sizes for different options)
  2. 02
    Define the metafield schema in Shopify admin under Settings > Custom data > Products
    create custom.carton_length_cm, custom.carton_width_cm, custom.carton_height_cm (number_integer), custom.carton_weight_kg (number_decimal), custom.units_per_carton (number_integer), and custom.packing_notes (multi_line_text_field)
  3. 03
    Build the import file
    add one column per packing spec metafield; populate from supplier packing lists; confirm that carton weight is the packed carton weight, not the product weight value used in Shopify's built-in weight field
  4. 04
    Coordinate with your 3PL to confirm which Shopify metafields their WMS reads
    confirm the exact namespace and key format (custom.carton_length_cm) so their system maps the API values correctly
  5. 05
    Run the import on a 10-product test batch
    verify metafield values in Shopify admin, confirm the 3PL WMS receives correct dimension data via API, and compare against the original supplier packing list
  6. 06
    After confirming accuracy on the test batch, import the full catalogue
    retire any manual dimension re-entry process at the 3PL; schedule periodic re-import when supplier carton configurations change (seasonal packaging updates, format changes)

The Sydney Furniture Importer's Results

The importer ran the packing list import across all 85 SKUs. Each product received a full packing spec metafield set: three carton dimensions, packed weight, units per carton, and handling notes from the supplier spreadsheets.

Post-import outcomes over the following quarter:

  • Freight reconciliation errors: from 23% of invoices requiring manual review to under 4%. The 3PL freight calculation ran against Shopify metafield values, which matched supplier packing lists exactly.
  • Storage allocation time at product creation: from 2 to 3 business days (manual bay assignment after physical measurement of incoming cartons) to same-day automated allocation for all products with complete metafield sets.
  • The $4,200 overcharge was recovered from the freight carrier. The two transposed products were corrected in Shopify. The WMS received updated values via API the same day, with no additional data entry.

An organised warehouse receiving dock with neat rows of product pallets and cartons awaiting processing and storage allocation.

According to Shopify's Metafields documentation, custom metafields on product records are accessible via both the Admin API and the Storefront API, which means any integration your 3PL or WMS uses to read Shopify product data can access these values directly without custom middleware.

The product weight and dimensions import guide covers importing assembled product dimensions for customer-facing display alongside the packing spec metafields described here. Both sets of data belong in the import file. One serves customers; the other serves your operations team.

For merchants who need to re-import packing specs when supplier carton configurations change (seasonal packaging updates, format changes after supplier rationalisation), the scheduled imports guide covers recurring import automation so updated packing data flows into Shopify without a manual re-import trigger each time.

Without Importier
Packing specs in spreadsheets and PDFs
  • Carton dimensions in supplier PDFs; 3PL re-enters manually at product creation, and transposition errors become freight overcharges that take months to detect
  • Freight calculation based on WMS-entered dimensions; when WMS and supplier dimensions differ, the freight carrier charges the wrong cubic weight
  • Storage allocation manual: warehouse operator measures incoming carton, assigns bay, enters WMS; a 2 to 3 business day delay before product is pick-ready
  • Handling instructions in a separate PDF; pick ticket operator looks up the document for fragile or no-stack products on each individual pick
  • No automated racking reservation; 3PL discovers dimension mismatch at inbound receiving and reorganises racking under time pressure
With Importier
Packing specs as Shopify metafields
  • custom.carton_length_cm, carton_width_cm, carton_height_cm as typed integer metafields: 3PL WMS reads via API at product creation with no manual re-entry and no transposition errors
  • Freight calculation sources from Shopify metafield values matching the supplier packing list exactly; discrepancies visible at import validation rather than invoice reconciliation
  • Storage allocation automated from carton dimension metafields: bay assigned at product creation, pick-ready same day for products with a complete metafield set
  • custom.packing_notes visible on pick ticket via WMS integration; handling instructions applied at pack-out without a separate document lookup
  • Racking reservation triggered at product creation from correct carton dimensions; 3PL receives accurate data before shipment arrives

For merchants who sell the same product in multiple packaging configurations (retail single-unit cartons and trade case packs), each SKU carries its own packing spec metafield set. The trade case variant carries custom.units_per_carton of 12 and a different custom.carton_weight_kg value. The 3PL WMS receives the correct carton data for whichever configuration was ordered, without manual lookup at pack-out.

Try Importier free at importier.app.

Ready when you are

Set up your first import in under five minutes.

Importier brings products into Shopify with AI descriptions, category metafields, and data enrichment on every run.

Install on Shopify