AI for Fashion Companies: Line Sheets and Buyer Emails From Product Data

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for AI for Fashion Companies: Line Sheets and Buyer Emails From Product Data.
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for AI for Fashion Companies: Line Sheets and Buyer Emails From Product Data.

Start with the wholesale line sheet built from your product data, then move to buyer emails, and leave general product copy for third. The line sheet uses facts you already hold, a buyer decides from it, and every error is visible against your own spreadsheet. Buyer emails then reuse the same clean data.

The order matters because each step feeds the next. A line sheet forces you to tidy the product data: one style code per item, one description, one price, one set of sizes and colours. Once that sheet exists, an assistant can draft buyer emails that quote it accurately, and product copy for your own shop can borrow the same descriptions. Start the other way round and each task invents its own version of the facts.

Follow me on Instagram@sagnikteaches

For a worked picture I'll use a small womenswear label with fourteen styles, two seasons a year, and a handful of independent shops as its buyers. The figures are illustrative.

Connect on LinkedInSagnik Bhattacharya

Why the data sheet comes before any prompt

Assistants write from what you give them. A fashion company's product facts are scattered: prices in one spreadsheet, fabric details in a supplier email, sizes on a tech pack, delivery dates in someone's head. A prompt run on that mess returns a confident line sheet with a wrong composition and a missing colour.

Subscribe on YouTube@sagnikteaches

So the first job is a source sheet, one row per style and colour, with fixed columns. A sensible set for a small label:

  • Style code, name and category (dress, top, trouser).
  • Colourway names exactly as they appear on labels.
  • Fabric composition as printed on the care label.
  • Sizes offered and the size-run for wholesale packs.
  • Retail price and wholesale price, in the same currency.
  • Minimum order per style, in units.
  • Delivery window (for example "early spring" or an agreed date range) for each drop.
  • Image file name for each colourway.

Expect this to take a few hours the first time. If your data is already in a shop-platform export, start from that file and add the wholesale columns. The more general steps for turning an export into a PDF are in the line sheet template tutorial; the steps below cover what fashion adds to it.

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

Step one: the line sheet

A line sheet is the buyer's catalogue: each style with its picture, code, colours, sizes, composition, wholesale and suggested retail price, minimums and delivery window. Fashion buyers read it quickly and compare it with other labels, so consistency matters more than flair.

What a wholesale price rule looks like

Many labels price wholesale as half of retail, often called keystone pricing, and the retailer then marks up to retail. That rule is one option, not a requirement; costs and positioning decide yours. Let's take an illustrative dress: retail $120, wholesale $60, landed cost to make $24.

  • Wholesale margin to you: $60 minus $24 is $36, which is 60 per cent of the wholesale price.
  • Retailer's gross margin: $120 minus $60 is $60, which is 50 per cent of retail.

Ask the assistant to compute these for every line, and flag any style where your margin falls below the floor you set. A style at $60 wholesale with a $38 cost gives you $22 of margin, which is 37 per cent; if your floor is 50, it is flagged. That is more useful to you than a pretty layout.

The prompt and the result

Below is a CSV of 14 styles with these columns: code, name,
category, colours, composition, sizes, retail_usd, wholesale_usd,
min_units, delivery. Build a line sheet table grouped by category.
For each style show: code, name, colours, composition, sizes,
wholesale, suggested retail, minimum units, delivery window.
Do not change any value. If a field is empty write "TO CONFIRM"
instead of guessing. After the table, list every style where
wholesale is not exactly half of retail, and every style with a
blank field.

[paste CSV]

An illustrative extract of what you want back:

CodeNameColoursCompositionSizesWholesaleRetailMinDelivery
D101Wrap dressInk, Sand100% viscoseXS to XL$60$1206Early spring
T204Boxy shirtWhite, SageTO CONFIRMXS to XL$34$686Early spring
K310Wide trouserInk65% cotton, 35% linenXS to XL$52$1106Mid spring

Two things in that extract are worth noticing. The assistant left the shirt's composition as TO CONFIRM instead of making one up, because you told it to. And it should flag K310, since $52 is not half of $110 (it is a little under, 47 per cent). Whether that is a mistake or a deliberate choice is yours to say.

Checks before the sheet leaves

  1. Compare ten random rows against the source spreadsheet, cell by cell.
  2. Read every composition against the physical care label of the sample. Fibre labelling rules differ between markets, and a wrong percentage on a sheet becomes a wrong claim.
  3. Confirm that colour names match the labels, the photos and the order form.
  4. Check delivery windows against your production plan. The fashion production timeline tutorial shows how to build one, so the dates on the sheet are ones you can keep.
  5. Open the finished PDF on a phone. Many buyers read it there first.

Size runs and minimums that buyers understand

Independent shops rarely order a full size run of every style, so many labels sell in packs. An illustrative size curve for a six-unit minimum is one XS, two S, two M, one L: a buyer who takes one pack gets a spread that matches how small shops usually sell. Show the curve in a column or footnote and make the order form multiply it automatically. If you are still deciding the minimums themselves, the guide to tiered minimum order quantities sets out the options small retailers tend to accept.

Ask the assistant to build the order form's arithmetic, then test it by hand. If a shop orders three packs of D101 in Ink and two in Sand, the form should show 30 units (5 packs x 6) and $1,800 at $60. A form that gets that wrong will do so at scale; try three combinations before you publish it.

Create an order form table from the line sheet. Columns: style
code, colour, packs ordered (blank), units (= packs x 6),
wholesale price, line total (= units x price). Add a total row.
Show the formulas as plain text so I can paste them into a
spreadsheet.

Step two: wholesale buyer emails from the same data

With the sheet built, emails become a drafting job. There are three kinds a small label sends over and over: a first introduction, a follow-up after a buyer has seen the line sheet, and a reorder or delivery note. Give the assistant the relevant rows, the buyer's name field as a placeholder, and one fact about the shop that you looked up yourself.

A first email, drafted from facts

Write a short introduction email (under 120 words) to the buyer
at an independent womenswear shop. Facts: they stock relaxed
tailoring and linen. Our relevant styles: K310 wide trouser (Ink,
65% cotton 35% linen, wholesale $52, retail $110, minimum 6 units)
and T204 boxy shirt. Delivery early to mid spring. Offer to send
the line sheet and a sample for one style. Plain tone, no hype,
no claims about awards or press. Use "[first name]" and sign
"[your name]".

An illustrative draft:

Hi [first name], your shop's relaxed tailoring and linen pieces
caught my eye, and I think our wide trouser (K310, in Ink,
cotton and linen) could sit well beside them. Wholesale is $52,
suggested retail $110, minimum six units, delivery early to mid
spring. I can send the full line sheet and a sample trouser if
that would help. [your name]

It uses your numbers and one observation about their shop. Check that the observation is true: read the shop's own site or social page, because an email that compliments a range they do not stock tells the buyer you did not look. The assistant cannot see their shop unless you paste what you found, so supply it.

A follow-up that adds something

The common weak follow-up says "just checking in". A better one adds one useful fact: a new colour, a delivery date moved earlier, a sample ready to post. Give the assistant that fact and ask it to write one short paragraph around it. Cap yourself at two follow-ups per buyer a season; after that, wait for the next collection.

The checks before any email goes out

  • Numbers: every price, minimum and date compared with the source sheet.
  • Promises: no discount, exclusivity, free freight or payment terms you have not decided.
  • Claims: composition, origin, "sustainable" or "ethical" wording supported by documents you hold. Environmental claims draw scrutiny in several markets, so say only what you can prove.
  • The buyer: the name, the shop and the observation about it are right.
  • Tone: one you would use to a person's face.

Step three: product copy, once the data is clean

Product copy for your own shop is the easiest to produce and the least risky, which is why it comes last. It also benefits from the data work: the same composition, sizes and colour names feed the descriptions. The fashion size guides, product copy and returns replies tutorial covers shopper-facing text in detail.

One rule keeps the three outputs consistent: the line sheet is the master. If a description in the shop says something different from the sheet, change one of them straight away, and write the change in the source sheet first. A common slip is a colour renamed on the website and not on the line sheet, so a buyer orders "Sage" and receives something the shop calls "Moss".

Auditing the whole range for margin in one pass

The margin check on a single dress is easy; the value comes from running it across all fourteen styles at once. Add a landed-cost column to the source sheet (fabric, trims, making, labels, freight in) and ask the assistant for a margin table sorted from lowest to highest, with the floor you set highlighted. Choosing that floor in the first place is covered in the tutorial on tiered wholesale pricing and margin floors.

An illustrative result for the label's weakest four styles, with a floor of 50 per cent of wholesale:

CodeWholesaleLanded costMargin $Margin % of wholesaleBelow floor?
K310$52$31$2140%Yes
J402$88$47$4147%Yes
T204$34$16$1853%No
D101$60$24$3660%No

Check the percentages yourself: 21 divided by 52 is 40.4 per cent, and 41 divided by 88 is 46.6. Two styles sit under the floor, and the table has just given you the conversation to have before the sheet goes out: raise those two wholesale prices, find a cheaper trim, or accept the lower margin on purpose because the trouser sells the rest of the range. The assistant supplies the arithmetic; the decision is commercial and it is yours.

Ask for the table again after any price change. A single changed cell should move a style above or below the floor, and you want to see that before a buyer does.

When a buyer pushes back

Replies from buyers are rarely a plain yes. They ask for a lower minimum, an earlier date, a longer payment window or exclusivity in their area. An assistant is useful here for one thing: laying out your options in clean wording. It must not make the concession for you.

A buyer replied: "Six units a style is high for us. Could we
take three of D101 and three of K310 as a mixed minimum?"
My rules: minimum is 6 units per style; I am willing to accept a
mixed minimum of 12 units across styles for first orders only.
Draft a reply that offers the mixed 12-unit first order, states
it is for the first order only, and invites them to confirm
styles and colours. Do not offer anything else.

The illustrative draft accepts a 12-unit first order spread across styles, so the buyer's three-and-three request (six units) falls short and the reply says so politely. Read it for one thing: nothing in it commits you beyond your own rules. If the draft adds a line such as "we are happy to be flexible on future orders", delete it, because that is a promise you did not make.

Keep your rules in a short saved instruction (minimums, payment terms, what you will never discount) so every reply starts from them. Update it when a policy changes and note the date inside the instruction itself.

Sample requests, tracking and the notes in between

Buyers often ask for a sample before ordering, and the admin around it is dull enough to hand over. Keep a simple tracker with one row per request: buyer, style, size, date sent, courier reference, date to follow up. Then ask the assistant for the follow-up message when the date arrives.

An illustrative follow-up, ten days after posting, written from one row of the tracker:

Hi [first name], the K310 wide trouser in Ink (size M) should have
reached you on or around the 14th. I'd love to hear how it looks
beside your current range. If it's easier, I can send a photo of
the fit on a model, or the line sheet again with the order form.
[your name]

The details to check are the date and the size in the message against the tracker, and the courier reference if you include one. Mistakes here are small but they are the sort that make a label look disorganised. Also check that a sample you are posting is one you can afford to lose, because samples travelling to a shop sometimes do not come back.

Keeping the source sheet alive from season to season

The sheet is useful only while it is true. Name one person as its owner, and give them a short routine at the start of each season:

  1. Copy last season's sheet, rename it with the season, and clear prices, delivery windows and minimums.
  2. Fill the new styles, the care-label compositions and the landed costs from the latest cost sheet.
  3. Run the margin audit, then decide on prices.
  4. Build the line sheet and order form, run the ten-row check, and send one copy to a trusted buyer for a read before the wider release.
  5. Archive the old sheet. Do not delete it; buyers will quote last season's prices back to you.

The habit costs an hour or two a season and repays itself the first time a buyer queries a price: you open the dated sheet and answer in a minute.

A date that drifted between sheet and email

The failure I would expect first in a small label is a stale delivery date. An illustrative case: the label's production slips by three weeks. The planner updates the production plan but not the source sheet; the line sheet still says "early spring" and the assistant, fed the old sheet, drafts reorder emails promising the same. Two buyers plan their window displays around the date.

It shows up when a buyer asks where their order is. The cure is cheap. Keep the delivery window in one cell of the source sheet, put a "last changed" label beside the whole sheet, and make "date compared with the production plan" a line on the pre-send checklist. Rebuild the sheet and re-paste it into the assistant whenever the plan moves.

What to keep out of the assistant's hands

A few parts of the wholesale pack should stay with a person. The images: a model-generated picture of a garment you have not made is a misrepresentation to a buyer who orders from it, so use real photographs of the sample or a clearly labelled sketch. Stockist lists and press mentions: an assistant will happily write "stocked in leading boutiques" if it sounds right, so name only the shops you have confirmed, with their permission.

Fit and size claims belong in the same group. State measurements from your own size chart, not from the assistant's idea of a medium. Finally, payment terms and discounts are commercial agreements, and they stay in your hands until you have written them into the saved instruction yourself.

That division of labour is what keeps the speed from costing you trust: the assistant formats and drafts, and every fact that a buyer might act on has come from your sheet.

Where the time goes, with numbers

For the fourteen-style label, a realistic first pass looks like this, using illustrative timings.

TaskBy handWith the assistant and your checks
Tidy the source sheet (first time only)4 hours4 hours; the assistant cannot replace this
Build the line sheet table and order form5 hours1.5 hours including the ten-row check
Draft 20 introduction emails5 hours2 hours, including looking up each shop
Twelve follow-ups and three delivery notes3 hours1 hour

That is a saving of about 8.5 hours in the first season after the one-off 4 hours, and most of it recurs every season, because the second time you only update the sheet. Use your own timings: write down what the last collection took.

Choosing among the three starting points

Here is how the three candidates compare for a small fashion company, using criteria that matter at this stage.

Starting pointCost of an errorEasy to check?Reuses clean data?
Line sheetHigh: buyers order from itYes: against your own sheetCreates it
Buyer emailsMedium: a wrong price is a promiseYes, if the sheet existsNeeds it
Product copyLow to mediumPartly: tone is subjectiveBenefits from it

If you have time for only one project this season, build the line sheet. If a buyer is waiting for an answer today, write the email by hand from the sheet and build the rest later.

Plans for the assistants themselves are modest: ChatGPT Plus costs $20 a month and Claude Pro $20 on monthly billing ($17 a month billed annually), and business plans suit a team that shares the source sheet. If you would rather set up the source sheet and the checks with someone, that is the sort of work my AI implementation consultation covers; the contact page has the details.

Questions fashion brands ask before starting

Why start with the line sheet and not product copy?

The line sheet is built from data you already hold and is checked by a glance at your own spreadsheet. A wholesale buyer decides from it, so errors cost real orders. Product copy is more forgiving, easier to redo and gets the benefit of the clean data you create for the sheet.

Can AI set my wholesale prices?

It can calculate them from a rule you give it, such as retail divided by two, and show the margin on each line. It should not choose the rule. Your costs, minimums and the retailers you want to sell through decide that, so work it out yourself or with your accountant first.

Should the line sheet be a PDF or a spreadsheet?

Buyers usually want a PDF to read plus a spreadsheet to order from, or an order form with style codes, sizes and quantities. Make the sheet from the same data both times, so the two cannot disagree. Ask two or three buyers what they prefer before you design the layout.

Do I tell buyers that AI helped write the email?

There is no general rule requiring it for a normal sales email, but a buyer who feels deceived is a lost account, so write every message as something you would sign. Check the facts, keep your own voice and send it from your own name. Disclosure rules in your sector or contracts are worth a quick check.

What should never go into the assistant?

Keep out buyers' payment details, unreleased designs you are not ready to share, and any contract a buyer marked confidential. Product data for styles you are about to sell is fine on a business plan. When unsure, strip the sensitive part and paste only the facts the task needs.

Further reads

Sources: ChatGPT and Claude pricing pages for plan prices; the worked figures are illustrative.

Want your wholesale pack built from one clean data sheet?

On a 1:1 call we'll look at how your product data is held today, set up one source sheet that feeds the line sheet and buyer emails, and agree the checks before anything is sent.

Book a 1:1 call with me