/ Often Software / Guides / how to export Shopify orders with bundles

How to export Shopify orders with bundles

Shopify records a bundle order as its component products, so exports show components with no mention of the bundle. Here is how to export bundle SKUs, titles, and quantities — or one row per bundle.

You sell a gift set, a starter kit, a three-pack. The customer sees one product, buys one product, pays one price. Then you export the orders and the bundle is nowhere in the file — just its pieces, each with its own SKU and a share of the price. Nothing is broken. That’s genuinely how Shopify stores it, and getting the bundle back into the export takes a little more than the built-in CSV can do.

How Shopify records a bundle on an order

When someone buys a bundle built with Shopify’s own Bundles app, the order stores one line item per component product. Each component carries its own SKU, quantity, and an allocated slice of what the customer paid. The bundle itself is not a line item — it exists only as a grouping that ties those components together, with the bundle product’s title, SKU, and the quantity of bundles ordered.

There’s a good reason for this: the warehouse picks components, refunds happen against components, and inventory moves at the component level. But it means any export that reads the order the obvious way — including Shopify’s built-in CSV — shows component rows and never mentions the bundle.

What the built-in export gives you

From Orders → Export, Shopify produces its fixed-column CSV: one row per line item, so a two-component bundle is two rows. There is no bundle column, no way to add one, and nothing in the row that says “these two lines were one product on the storefront.” If your reporting counts rows, a bundle sale counts as two products; if your ERP matches on SKU, it sees component SKUs it may not know.

The approaches that actually work

Reconstruct bundles in the spreadsheet

Keep a mapping table of component SKUs to bundle names and join it against the export by hand or with lookups. This works for a one-off analysis, but it decays: every new bundle, renamed SKU, or overlapping component (the same product sold alone and in a bundle) breaks the join, and price allocation is guesswork after the fact.

Build against the Admin API

Shopify’s GraphQL Admin API exposes the grouping directly — each line item can carry its bundle’s title, SKU, and quantity. If you already run integration code, adding those fields to your order sync is straightforward. If you don’t, standing up an API consumer to get three columns is a lot of machinery to own.

Use an app that exports the bundle fields

Exportify exposes the bundle grouping as ordinary template fields: Bundle SKU, Bundle Title, and Bundle Quantity, in the Bundles section of the template builder, on every plan. Add them to a template and every component row shows which bundle it belongs to; rows for products sold on their own stay blank. See Export Shopify Bundles in the Exportify help centre for the step-by-step.

Give the bundle a SKU first

The bundle’s SKU is whatever is saved on the bundle product itself in your Shopify admin — many stores never set one, because nothing picks it until an export asks for it. Open the bundle product, fill in the SKU field, and the column fills from the next export.

When a bundle should count as one product

For sales-by-product reporting, columns aren’t enough — you want the component rows collapsed: one row per bundle, with the bundle’s name and SKU, the number of bundles sold, and what the customer actually paid, computed from the component allocations. That takes business rules, so it’s something our support team sets up with you on the Standard and Advanced plans, as a support-managed template. A variant that keeps the component rows but inserts a header row above each bundle is available too — some warehouses want exactly that.

Using a third-party bundle app?

Everything above applies to Shopify’s native Bundles. Third-party bundle apps don’t write Shopify’s bundle grouping — most record their bundle details as line item properties instead, which export as their own columns; the line item properties guide covers how. If you’re not sure what your bundle app saves, ask our support team with the app’s name and we’ll tell you what’s exportable.

A realistic sequence

  1. Set SKUs on your bundle products in the Shopify admin.
  2. Add Bundle SKU, Bundle Title, and Bundle Quantity to a template.
  3. Export a date range with real bundle orders and check the file against a known order.
  4. If reporting needs one row per bundle, send support a sample of the layout you want and we’ll build the roll-up.

The 15-day trial is enough to run all four steps on your real orders and see the bundle columns filled before you commit to anything.

Try Exportify free for 15 days.

Build a template, run an export, see whether the file is the one you needed. If the format is unusual, tell our support team what you need and we’ll build the logic.

Built for Shopify