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.
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.
| Where | Field | Why the buyer needs it |
|---|---|---|
| Each row | Photo | Recognition at a glance; a clean white-background image |
| Each row | SKU and product name | Order codes; the SKU is what goes on their purchase order |
| Each row | Size, colour or variant | So they know what a code means |
| Each row | Wholesale price | What they pay per unit |
| Each row | Suggested retail price (MSRP/RRP) | Shows the margin and keeps shelf prices consistent |
| Each row | Case pack | How many units come in an outer carton; orders usually go in whole cases |
| Each row or section | MOQ | The smallest order per item or per order |
| Each row | Barcode (GTIN) | Many shops scan it into their stock system |
| Top or foot | Lead time | Days from order to dispatch, and whether stock is ready |
| Top or foot | First-order minimum, payment terms, shipping terms | The rules of doing business with you |
| Top or foot | Contact and ordering method | Where 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.
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
- Keep only active products. Filter out Status = draft or archived.
- 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.
- 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.
- 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
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 nowAdd 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:
| SKU | Title | Retail | Cost | Wholesale | Margin | Case pack | MOQ | Flag |
|---|---|---|---|---|---|---|---|---|
| GC-BIRD-A6 | Bird card, A6 | $4.50 | $1.05 | $2.25 | 53.3% | 6 | 12 | |
| NB-DOT-A5 | Dot grid notebook, A5 | $14.00 | $6.90 | $7.00 | 1.4% | 12 | 12 | LOW MARGIN |
| GW-KRAFT-3 | Kraft wrap, 3 sheets | $6.00 | $3.00 | 10 | 20 | NO 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*I2where 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.
| Route | Good for | Watch for |
|---|---|---|
| Spreadsheet to PDF | Fewer than about 60 products, no images, frequent price changes | Page breaks; set print area and "fit to width" before saving |
| Document template with a table | 60 to 200 products, small thumbnails, a mailed-in order form | Pasted rows that lose formatting; keep column widths fixed |
| Design tool filled from a data sheet | A polished catalogue with large images and seasonal collections | Rows 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.
- 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.
- 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.
- 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.
- 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.
- Layout (45 minutes). Build a document template with a table for each collection. Add the cover page.
- 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
- How to Pitch a Food Product to a Grocery Store: A Sell Sheet With AI — A sell sheet for one product aimed at a single buyer.
- Wholesale Price List Template for Food Makers, Drafted With AI — A food-maker variant with shelf life and case sizes.
- B2B Ecommerce With AI: Trade Accounts, Pricing and Reorder Emails — Run trade accounts and reorder emails after the sheet lands.
- Supplier Price Increases: Update a Wholesale Price List With AI — Update a price list when your own costs rise.
- Price Increase Letter to Customers: A B2B Supplier's Version With AI — Tell trade customers about a new price list.
- Faire vs Ankorstore: Which Wholesale Marketplace Suits a Small Brand? — Compare marketplaces for a small brand.
- Wholesale Nursery Availability List: AI Builds and Emails It Weekly — A weekly routine that turns a grower's stock sheet into a priced availability list, emails it to trade buyers and marks lines as sold.
- AI for Exporters: Six Jobs From Finding Buyers to Paperwork — Six export jobs AI can take on, from buyer research to shipping documents, each with a tool, a prompt to copy and the check that catches errors.
- AI for Fashion Companies: Line Sheets and Buyer Emails From Product Data — Start with the wholesale line sheet built from product data, then buyer emails. A fashion brand's order, prompts, sample outputs and pre-send checks.
- AI Tools and AI Development: The Complete 2026 Guide — the AI hub, including every tutorial in the AI-for-business series.
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.