Line Sheet Template: Turn a Product Export Into a Wholesale PDF With AI

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Line Sheet Template: Turn a Product Export Into a Wholesale PDF With AI.
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Line Sheet Template: Turn a Product Export Into a Wholesale PDF With AI.

A wholesale line sheet is a one- or two-page-per-collection price list for retail buyers. Make it by exporting your products, then adding wholesale price, retail price, SKU, case pack, minimum order quantity (MOQ) and lead time in a spreadsheet, checking the maths yourself, and saving a PDF.

The word "line" here means a product line, a range you sell to shops, and a line sheet is not lined paper to write on, despite what some template sites show. Buyers use it to decide in minutes whether to place an order, so it has to carry exact numbers: what a unit costs them, what it will sell for, how it is packed and how long it takes to arrive. AI is useful for the repetitive part, turning hundreds of product rows into a clean sheet, and bad at deciding your prices.

Follow me on Instagram@sagnikteaches

What a buyer expects on the page

A retail buyer will compare your sheet with a dozen others. Missing information gets you an email back at best and silence at worst. These are the fields to include, split between what must appear on every row and what sits once at the top or foot of the sheet.

Connect on LinkedInSagnik Bhattacharya
WhereFieldWhy the buyer needs it
Each rowPhotoRecognition at a glance; a clean white-background image
Each rowSKU and product nameOrder codes; the SKU is what goes on their purchase order
Each rowSize, colour or variantSo they know what a code means
Each rowWholesale priceWhat they pay per unit
Each rowSuggested retail price (MSRP/RRP)Shows the margin and keeps shelf prices consistent
Each rowCase packHow many units come in an outer carton; orders usually go in whole cases
Each row or sectionMOQThe smallest order per item or per order
Each rowBarcode (GTIN)Many shops scan it into their stock system
Top or footLead timeDays from order to dispatch, and whether stock is ready
Top or footFirst-order minimum, payment terms, shipping termsThe rules of doing business with you
Top or footContact and ordering methodWhere to send an order or a question

Notice that the suggested retail price matters as much as your price to them. The retailer's margin is the gap. A frequent rule of thumb is that retail is about double wholesale (a 50 per cent margin to the retailer, sometimes called keystone pricing), but categories differ, so check what your buyers expect before you copy it. The tutorial on tiered wholesale pricing and margin floors covers how to set the numbers themselves.

Subscribe on YouTube@sagnikteaches

Start from the product export you already have

In Shopify admin, the product list has an Export button that gives you a CSV file. The column names have changed over time. Shopify's current help page lists names such as Title, URL handle, Vendor, Type, SKU, Barcodes, Option1 name and Option1 value, Price, Compare-at price, Cost per item, Weight value (grams), Product image URL and Image position. Older exports you may have saved use names like Handle, Variant SKU, Variant Price and Image Src. Open your file and read the real header row before you build anything on a column name.

The export does not know your wholesale price, MOQ, case pack or lead time unless you have stored them as metafields (custom fields), which export as columns headed in the pattern product.metafields.namespace.key, sometimes with the field's display name in front. Most small shops have not, so you add them in the sheet. That is the main job of the line sheet process.

Clean the export before AI touches it

  1. Keep only active products. Filter out Status = draft or archived.
  2. Remove columns you will not show: SEO fields, tax flags, inventory tracker and anything about shipping setup. The less AI reads, the fewer chances it has to confuse a field.
  3. Variants use extra rows where the title is blank, so make sure each row carries its product name before you sort, or copy the title downwards.
  4. Check for duplicate SKUs and blank SKUs. A line sheet with no SKU is useless to a buyer.

If the supplier-side data is messy, tidy it first with the supplier sheet cleaning tutorial, then return here.

The Complete Excel Course with AI Integration thumbnail

The Complete Excel Course with AI Integration

From formulas and pivot tables to Power Query, DAX, VBA and AI with Copilot, ChatGPT and Claude — hands-on from the first lesson.

By Sagnik Bhattacharya and Virginia Thorn, Primetime Emmy Award winner

Buy now

Add the wholesale columns with a prompt

You give the assistant a pricing rule and the product rows, and ask for new columns, never for new decisions. Paste a few hundred rows at a time. If you use a spreadsheet's built-in AI function, the same prompt applies per row, though you should still check the results.

I run a small print shop that sells stationery to retail shops. Below is a CSV export of my products (SKU, Title, Option1 value, Price, Cost per item, Weight in grams).
Add these columns and return the result as CSV, no commentary:
- Wholesale price = Price x 0.5, rounded to the nearest 5 cents
- MSRP = the original Price
- Margin check = (Wholesale price - Cost per item) / Wholesale price, as a percentage with 1 decimal place
- Case pack: greeting cards 6, notebooks 12, gift wrap 10, everything else 1
- MOQ = 2 cases for cards and wrap, 1 case for notebooks
- Flag = "LOW MARGIN" if the margin check is under 40 per cent, "NO COST" if cost is blank, otherwise blank
Do not change any existing value. If a row has no SKU, write "MISSING SKU" in the Flag column and leave the other new fields empty.

CSV:
[paste rows]

What comes back, and what to check

Illustrative output for three rows:

SKUTitleRetailCostWholesaleMarginCase packMOQFlag
GC-BIRD-A6Bird card, A6$4.50$1.05$2.2553.3%612
NB-DOT-A5Dot grid notebook, A5$14.00$6.90$7.001.4%1212LOW MARGIN
GW-KRAFT-3Kraft wrap, 3 sheets$6.00$3.001020NO COST

Two things to verify in every run. First, recompute a handful of rows by hand: $4.50 times 0.5 is $2.25, and (2.25 minus 1.05) divided by 2.25 is 53.3 per cent. Second, look at the flags. The notebook flag is the real value of the exercise: at $7.00 wholesale and $6.90 cost, the notebook earns almost nothing at keystone, so the owner either changes the price rule for that item or drops the notebook from the sheet. AI found the problem and a person made the call.

Do the formulas in the sheet, use AI for the messy parts

For arithmetic, spreadsheet formulas are more reliable than a chat model, which can slip a digit on long lists. Once the columns exist, convert the pricing logic into formulas so the sheet recalculates when you change a rule. Typical ones (column letters are illustrative):

  • Wholesale price: =MROUND(D2*0.5, 0.05)
  • Margin: =(E2-F2)/E2, formatted as a percentage
  • MOQ as a whole number of cases: =CEILING(H2, G2) where G is case pack and H is the minimum units you want
  • Line total for a buyer calculator: =E2*G2*I2 where G is the case pack and I is the number of cases ordered

Use the assistant to write the formulas and explain them, then test them on three rows whose answers you know. Reserve its direct use for jobs spreadsheets cannot do, such as sorting products into sensible collections from their titles and tags, tidying product names to a consistent style, or writing the short description for each item. Keep descriptions to 15 or 20 words, and match what is on your website so buyers do not spot contradictions.

Lay out the page

You have three realistic routes to a PDF. Pick by size and how often you reissue it.

RouteGood forWatch for
Spreadsheet to PDFFewer than about 60 products, no images, frequent price changesPage breaks; set print area and "fit to width" before saving
Document template with a table60 to 200 products, small thumbnails, a mailed-in order formPasted rows that lose formatting; keep column widths fixed
Design tool filled from a data sheetA polished catalogue with large images and seasonal collectionsRows dropped or truncated; compare the row count in the PDF to the sheet

In Canva, the feature is called Bulk Create. Its help page says it runs on paid plans such as Canva Pro and Teams, takes a CSV or XLSX file, and makes one design page per data row, so for six products a page you arrange the data with one row per page and a column for each product slot. Image links from cloud photo storage are read as plain text, not pictures, so check the current limits before you plan around it. Whichever route you choose, put the same top block on every collection page: your brand name, the season, a short ordering line and the contact route. Keep the sheet itself in landscape orientation, because eight or nine columns do not fit portrait without shrinking the text below readable size.

A layout that has worked for buyers

  • Page 1: cover with the brand, a two-sentence description, first-order minimum, payment terms, lead time, shipping terms and how to order.
  • Pages 2 onwards: one collection per page, six to eight products with image, name, SKU, wholesale, MSRP, case pack, MOQ.
  • Last page: order form or link, return and damage policy, and a short list of what is new this season.

The main example: 140 products in an afternoon

An illustrative print shop sells greeting cards, notebooks and wrapping paper from its Shopify store and gets its first requests from independent gift shops. The owner has 140 active products with 212 variant rows. Here is the run, with times.

  1. Export and clean (25 minutes). Export all products, remove 18 draft items and 14 columns, copy titles down on variant rows, and find 6 blank SKUs that need fixing in Shopify itself.
  2. Decide the rules on paper (20 minutes). Wholesale is half of retail, case packs by product type, first order at least $250 across the range, lead time 7 working days for stock items and 15 for custom print.
  3. Run the prompt in four batches (30 minutes). Each batch of about 53 rows is pasted, the CSV returned and pasted into the sheet. The owner checks 10 rows per batch by hand. One batch had a rounded price wrong by 5 cents in 3 rows, so the owner switched to spreadsheet formulas for pricing and kept the AI for flags and case packs.
  4. Review flags (20 minutes). 9 rows flagged LOW MARGIN. Four are A5 notebooks costing $6.90, which need a wholesale price of at least $11.50 to clear the 40 per cent floor, so the owner moves them to $24 retail ($12 wholesale, a 42.5 per cent margin). She drops 2 products and accepts a thinner margin on 3 entry items she wants buyers to try.
  5. Layout (45 minutes). Build a document template with a table for each collection. Add the cover page.
  6. Check and send (30 minutes). A second person reads the PDF against the sheet.

Total: about 2 hours 50 minutes, against what the owner estimates as a full day by hand. That estimate is illustrative, so time your own first run, and the second run, built on the same sheet, is far shorter because only changed rows need attention. The tutorial on minimum order quantity goes deeper on choosing the numbers that you put in the MOQ column.

Variants: one product, many rows

Variants are where most line sheets go wrong. A notebook in three colours and two sizes is six variant rows in the export, each with its own SKU, and buyers want to order by colour. There are two sensible layouts. Either list one row per variant with the same wholesale price repeated, which is clear but long, or list one row per product with a small grid of quantities beneath it for each colour and size. The grid saves space and suits fashion and stationery, but it only works if the case pack is the same for each variant. If colours come in mixed cases (say 3 red, 3 blue, 3 green and 3 natural in a case of 12), write "assorted case of 12" in the row and list the mix, because a buyer who wants twelve reds needs to know that is a different order.

Ask the assistant to check this from the sheet. Paste the grouped rows and ask: "For each product, list variants whose wholesale price, case pack or MOQ differ from the others, and tell me which row differs." Inconsistency inside a product is nearly always an error, and it takes seconds to find this way instead of by eye.

Descriptions that fit on a line

Buyers skim, so a short description of 12 to 20 words is plenty. Product pages written for shoppers are often too long and too emotional. A prompt that works:

Rewrite each product description for a wholesale line sheet. Maximum 18 words. State material, size and one selling point. No adjectives such as "beautiful" or "lovely". Do not add facts that are not in the original. If a size or material is missing, write "[CHECK]" instead of guessing.

ROWS:
SKU | Title | Description
[paste]

An illustrative return for one row: "GC-BIRD-A6 | Bird card, A6 | Recycled card, A6 size, blank inside, envelope included, printed with soy-based inks." If the original page never mentioned soy-based inks, that is a made-up fact and the owner must delete it. The "[CHECK]" rule matters because assistants like to fill gaps. Search the finished sheet for "[CHECK]" and for any claim about materials, certifications or origin, and confirm each against your own records. A wrong environmental claim on a price sheet is a real risk for a retailer who repeats it to customers.

An order form buyers can fill in

The best line sheets end with a way to order. In a spreadsheet, add a column for quantity (in cases) and a formula for the line total, with a total row and a check against your first-order minimum. A short formula such as =IF(SUM(J2:J141)>=250,"Minimum met","Below minimum") tells a buyer immediately whether the order will be accepted, where column J holds the line totals. Lock every column except the quantity column, then share it as a view-only copy that the buyer downloads, or export the PDF with a blank quantity column for printing. Either way, ask the buyer to email the completed form and confirm it back to them with a proper invoice, so that you catch any mistake before stock is picked.

Examples for other kinds of seller

A yoga studio selling its own mats and straps

The studio supplies three independent sports and gift shops. Its sheet has 11 products, no case-pack complexity beyond mats in boxes of 5, and a single minimum order of $300. The AI's useful job was only the flag column and short product descriptions, and the owner priced everything by hand.

A wedding planner selling bundled stationery packs

Here the unit is a bundle: save-the-date card, invitation, RSVP card. The planner's sheet lists bundles as single SKUs with a "contents" column and an MOQ of 25 sets. A common mistake would be listing each component at a separate wholesale price without a bundle price, which leaves buyers doing sums.

A tutoring centre selling workbook sets

Workbooks go to schools and bookshops in cartons of 20. The sheet needs ISBN-style barcodes and a "published" date column. AI helps by checking that every barcode has the right number of digits, which a spreadsheet can also do with a length test.

A line sheet mistake that cost a repeat order

In one common pattern, a brand sends buyers a line sheet that shows the wholesale price per unit but the MOQ in cases, without saying how many units a case holds. The buyer orders "2" meaning two units, and the brand ships two cases of 12. The retailer refuses delivery of the surplus, the invoice is disputed and the account is lost. The fix is simple. Show "Case pack: 12" and "MOQ: 2 cases (24 units)" in the same row, and put "Orders ship in whole cases" at the top. The check for it is simple too. Take any row and ask whether a stranger could work out the invoice total from the page alone.

A pre-send checklist

  • Row count in the PDF equals row count in the sheet, with a hidden-row check.
  • Every SKU appears once, and each matches your store and your stock system.
  • Pick five random rows and recompute wholesale and margin by hand.
  • MOQ is always a multiple of case pack.
  • Images match the products. Variants sometimes borrow the first variant's picture.
  • Prices match the date on the cover. Retail prices change when you run a sale, so make sure the MSRP is the standard price.
  • Lead time, payment terms and minimums are on page 1.
  • No cost prices or internal notes anywhere, including hidden columns and PDF metadata. Export from a copy of the sheet that contains only the buyer-facing columns.
  • The file name carries brand, season and year, such as "BrandName-LineSheet-Spring-2027.pdf".

That last-but-one point is easy to forget: the Cost per item column from the export is your actual cost. If it survives into a PDF's hidden layers, you have shown buyers your margin. Create the buyer file from a fresh copy and delete the column, not hide it.

After you send it

A line sheet starts conversations, so plan for the replies. Keep a standard answer for "do you have a lower minimum?", "can you ship before the first of the month?" and "do you offer free shipping?" The tutorial on wholesale RFQ response emails has prompts for those. If a buyer applies through a form first, vetting new retail accounts keeps the right people on your list. For a marketplace as an additional route, see how wholesale brand listings and messages work with AI.

If you would rather map your product data into a repeatable pricing and layout process with someone, that is what my AI implementation consultation covers; you can start from the contact page.

Line sheet questions from small brands

What is the difference between a line sheet and a catalogue?

A line sheet is a compact, buyer-facing page or two per collection that lists each product with image, SKU, wholesale price, suggested retail price, minimums and ordering details. A catalogue tells the brand story with larger images and less data. Retail buyers usually want the line sheet first, because they need numbers to decide.

Should a line sheet show my wholesale prices publicly?

Usually only to approved retailers. Send the PDF after a buyer applies or asks, or put it behind a login or a wholesale form. Public prices invite comparison and can upset retail customers who see your discounts.

How often should I update a line sheet?

Reissue it whenever prices, minimums or lead times change and at the start of each season. Keep the file name consistent and add a season label in it so buyers can tell which version they hold. Old versions in circulation cause pricing disputes.

Can AI design the PDF too?

It can draft the layout instructions or the spreadsheet formulas, and some design tools accept a data sheet to fill a template. Treat the first PDF as a draft and check every price, SKU and image against the sheet before sending, because layout tools can silently drop rows.

Further reads

Sources: Shopify help page on using CSV files for products (current columns, metafield headers, status values), an archived 2023 copy of the same page for older column names, and Canva's Bulk Create help page, checked November 2026.

Want your wholesale sheets to build themselves?

On a 1:1 call we can map how your product export becomes a priced, checked line sheet, and decide whether a spreadsheet, a design tool or a marketplace fits your volume.

Book a 1:1 call with me