How to Create a Wholesale Line Sheet from Shopify (2026 Guide)

A line sheet is the one-row-per-product document a wholesale buyer orders from: image, style name, SKU, sizes, colours, wholesale price, suggested retail. Shopify does not make one. Here are the four ways people get there, in order of effort, and the point at which each one stops working.

Updated 18 October 2026 · 9 min read

What a buyer expects to see

Before the tools: a line sheet is not a lookbook and not your online store. Buyers scan it in a trade-show aisle or forward it to a colleague. Every line sheet that gets orders has the same things in the same places:

Keep this list in mind when you judge the methods below. Most of the effort is not making the PDF, it is getting the SKU grid and the wholesale price onto the page without typing them.

Method 1: Export a CSV, lay it out in Canva or InDesign

This is the method the old guides describe, and it is still the most common way to create a wholesale line sheet from Shopify.

  1. In your Shopify admin go to Products, filter to the collection you want (or select the products), and click Export. Choose "CSV for Excel, Numbers, or another spreadsheet program". For more than one page of products the file is emailed to you.
  2. Open the CSV. The columns you need are Handle, Title, Option1 Value / Option2 Value (usually size and colour), Variant SKU, Variant Price, Variant Compare At Price, Variant Barcode and Image Src. Delete the rest. Shopify exports one row per variant, so a product with 8 sizes × 5 colours is 40 rows.
  3. Add a wholesale price column. Shopify's CSV does not have one unless you store it in a metafield and export metafields too. Most brands type a formula: =ROUND(Variant Price*0.5,2).
  4. Collapse variants into one row per product with a pivot table (handle as rows, size as columns, SKU as values). This is the step people skip, and it is why so many line sheets list every variant in a column that runs off the page.
  5. Lay it out. In Canva, use a table element and paste. In InDesign, use Data Merge (Window → Utilities → Data Merge) with the CSV as the source and @Image for the image column; the images must be downloaded first because Data Merge wants local files. Export as PDF.

Time: 2-4 hours for 50 products the first time, 1 hour each time after that if you keep the layout. Where it breaks: around 200 products the pivot step and the image download become a half-day, and any price change means doing it all again. If you have a graphic designer and under 100 styles a season, this is fine and it produces the prettiest result.

Method 2: Use a line sheet or PDF catalog app

Apps read your products through Shopify's API and lay them out in a template. You pick a collection, a template, the wholesale price source, and press a button. The good ones save the definition so you can regenerate the same catalog with today's prices in one click.

What to check before you install one, because this is where they differ:

Time: 10 minutes to set up, under a minute per catalog after that. Where it breaks: when you want a design that is not one of the templates. Apps give you a clean, consistent document, not a bespoke one.

This site is published by the makers of Sheetfolio, which is one of these apps. It does the SKU matrix, takes the wholesale price from a metafield or a percentage, and renders 1,500 products in under a minute. There are others; the checklist above applies to all of them, including ours.

Method 3: Print your store to PDF

Open a collection page in your online store, press Ctrl+P (Cmd+P on a Mac), choose "Save as PDF". You get your storefront on paper.

It works for a quick internal list. It does not work as a line sheet because the page shows retail prices, no SKUs, no size grid, and your theme's navigation and footer on every page. Some brands make a hidden collection page with a dedicated template that prints a table; that is a few hours of Liquid work and only pays off if you regenerate often. If you go this route, set the template's print stylesheet to hide the header and footer and to put the collection name in a running header.

Time: 1 minute, or a day if you build a print template. Where it breaks: immediately, for anything a buyer will order from.

Method 4: Pull the data through the API and generate it yourself

If you have a developer or an agency, the Admin GraphQL API returns products with variants, selected options, prices, SKUs, barcodes and image URLs, 250 products per page. From there you can fill an HTML template and print it to PDF with headless Chrome, or feed a reporting tool. B2B wholesale prices live in catalogs and price lists and are also readable through the API.

This is how the apps in method 2 work internally. Doing it yourself makes sense when the line sheet has to match a corporate template exactly, or when it has to be merged with data that is not in Shopify (stock from an ERP, pricing tiers per buyer).

Time: 1-3 days of development, then free. Where it breaks: maintenance. Someone has to own it when the API version changes.

Which one should you use

You haveUse
Under 100 styles, a designer, one or two catalogs a yearCSV → InDesign or Canva
100-2,000 products, variants, prices that change, several buyersAn app with a SKU matrix and a saved-catalog refresh
A quick list for yourself todayPrint to PDF
A developer and a non-standard layout or external dataThe API

Whatever you pick, fix the data first. A line sheet with 17 products missing images and 4 without SKUs costs you orders no matter how it was made. Export the CSV once, sort by the SKU column and the Image Src column, and fill the blanks in Shopify before you generate anything. (Sheetfolio's preflight does this check for you and links to each product, but a spreadsheet filter works too.)

Frequently asked questions

Does Shopify have a built-in line sheet or PDF catalog export?

No. Shopify exports products as CSV and shows B2B prices to logged-in buyers, but it has no feature that produces a line sheet, catalog or price list as a PDF. You make it from the CSV, with an app, or through the API.

Is there a wholesale price column in the Shopify product CSV?

Not by default. The export has Variant Price and Variant Compare At Price. A wholesale price exists only if you store it in a product or variant metafield and include metafields in the export, or compute it in the spreadsheet as a percentage of the retail price.

How many products can a line sheet realistically have?

Buyers work from line sheets of a few hundred pages without complaint as long as the file opens quickly and the pages are consistent. The practical limit is the method: manual layout becomes a day's work around 200 products, while a generated PDF of 1,500 products with images is about 300 pages and 14 MB.

Related: Shopify B2B on Basic, Grow and Advanced · B2B catalog vs line sheet.

Make the Line Sheet from Your Shopify Products

Pick a collection, choose a template, press Generate. SKU matrix, wholesale prices, your branding. Free for up to 100 products.

Install Sheetfolio on Shopify