Florist Wedding Quote Template: Price Stems, Labour and Hire With AI

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Florist Wedding Quote Template: Price Stems, Labour and Hire With AI.
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Florist Wedding Quote Template: Price Stems, Labour and Hire With AI.

Build the quote in five blocks on one sheet: stems (with a waste allowance and a markup), design and set-up labour in hours, hire items with a deposit, delivery and collection, then a small contingency. Ask ChatGPT for the layout and formulas, type your wholesaler's prices in yourself, and let the spreadsheet do every sum.

ChatGPT doesn't know this week's wholesale prices, and language models slip on long sums, so it never produces a total here (why AI is bad at maths explains the pattern). What it does well is turning a vague brief into a stem list, writing spreadsheet formulas and reading your finished sheet for gaps. The numbers come first. The mood-board document a couple reads is a separate job, covered in how to write wedding flower proposals with AI.

Follow me on Instagram@sagnikteaches

Five blocks on five tabs: the layout of the sheet

A wedding quote goes wrong when one number tries to carry everything. Splitting the price into blocks shows you which part is guesswork. Use one Google Sheets or Excel file with five tabs.

Connect on LinkedInSagnik Bhattacharya
Tab What lives there Who fills it in
Brief Date, venue, guest count, tables, palette and the list of pieces the couple want You, from the couple’s answers
Recipes Stems per piece, by variety, for every item ChatGPT drafts, you correct
Stems Price per bunch, stems per bunch, waste percentage, bunches to buy You type prices; formulas do the rest
Labour and hire Hours by task, hourly rate, hire fees, damage deposit, delivery miles You
Quote The five block totals, contingency, deposit and balance Formulas only

Only the Stems and the Labour and hire tabs hold prices you typed. Keep every assumption (waste percentage, markup multiplier, hourly rate, cost per mile) in a labelled cell at the top of its tab, never buried inside a formula. A 1.15 typed into forty formulas is how a sheet keeps an old waste figure for a whole season.

Subscribe on YouTube@sagnikteaches

To start your own file, copy these headers into the five tabs. Square brackets mark the labelled assumption cells; the Stems columns match the formula prompt further down.

Brief            Couple | Date | Venue | Guests | Tables | Palette | Piece | Qty | Notes
Recipes          Piece | Qty | one column per variety (stems per piece)
Stems            A Variety | B Stems needed | C Stems per bunch | D Price per bunch
                 E Bunches to buy | F Stems bought | G Cost        [J1 waste %]
Labour and hire  Task | Hours | Charge                            [rate per hour]
                 Item | Owned or hired in | Cost to you | Fee | Deposit
                 Trip | Miles | Driving hours | Charge            [cost per mile]
Quote            Block | How it is calculated | Amount          [markup] [contingency %]
                 Rows: Flowers and materials, Labour, Hire, Delivery and collection,
                 Contingency, Total; the hire deposit on its own line under the total

The example below is a fictional Saturday wedding: 90 guests on nine round tables, ceremony and reception in the same venue, a blush, cream and sage palette. The couple want one bridal bouquet, three bridesmaid posies, five buttonholes, two corsages for their mothers, a freestanding ceremony arch, two aisle-end arrangements, nine table centrepieces and a cake-table arrangement. Every price, hour and rate below is invented, so swap in yours.

Turn the brief into stem recipes with a reusable prompt

Start with recipes, because stems drive both the flower cost and the making time. Give ChatGPT your own stem list so it doesn't propose varieties you can't source, tell it to leave prices out, and make it list its assumptions so you can overrule them.

You are helping a wedding florist draft stem recipes. Do not mention prices.
Brief: Saturday wedding, 90 guests on 9 round tables, ceremony and reception in the same venue. Palette: blush, cream and sage. Loose garden style.
Items: 1 bridal bouquet, 3 bridesmaid posies, 5 buttonholes, 2 corsages for mothers, 1 freestanding ceremony arch, 2 aisle-end arrangements, 9 table centrepieces, 1 cake-table arrangement.
Use only these stems: garden rose, spray rose, ranunculus, lisianthus, eucalyptus, gypsophila, ruscus.
Return a table with one row per item: item, quantity, then stems per piece for each variety.
After the table, list every assumption you made (stem counts, vase size, how full each piece is) as bullet points so I can correct them.

The reply (illustrative) arrives as a table followed by a short list of assumptions. After my edits, the recipes for this wedding read as follows, in stems per piece.

Piece Qty Garden rose Spray rose Ranunculus Lisianthus Eucalyptus Gypsophila Ruscus
Bridal bouquet 1 9 5 7 – 5 3 –
Bridesmaid posy 3 3 3 4 – 3 2 –
Buttonhole 5 – 1 – – 1 1 –
Mother’s corsage 2 1 – 1 – – – 1
Ceremony arch 1 12 10 15 15 30 15 20
Aisle-end arrangement 2 5 – 6 8 8 – 6
Table centrepiece 9 2 3 3 3 4 1 –
Cake-table arrangement 1 4 3 4 4 5 3 –

Two edits mattered more than the rest. The first draft gave the arch 8 eucalyptus and 6 ruscus stems; a freestanding arch eats foliage, so the recipe above uses 30 and 20. It also assumed the same centrepiece on every table, which suits this wedding but would be wrong if the couple wanted a long top table. ChatGPT drafts from general patterns, so your own recipes from weddings you have made always win. After two or three weddings, paste your real recipes into the chat and tell it to follow them as the pattern.

Read the assumptions list before the table, because it shows the sizes ChatGPT chose without asking. A sample (illustrative):

  • The arch is built on a 1.8 m frame with foliage on both sides and flowers clustered on one corner.
  • Each centrepiece sits in a medium glass vase and stands about 25 cm high.
  • Posies are hand-tied and about 20 cm across; buttonholes use one flower head each.

The first line explains the thin foliage count: a 1.8 m frame dressed on both sides needs far more than the 14 foliage stems the draft allowed (8 eucalyptus and 6 ruscus). Whenever a size in that list differs from how you build, correct it and ask for the table again.

Stems: bunch sizes, waste and markup

Multiply each recipe by its quantity and total by variety: 445 stems for this wedding. Then add the waste allowance and round up to whole bunches, because wholesalers sell bunches, not single stems.

Variety Stems needed With 15% waste Stems per bunch Bunches Stems bought Price per bunch Cost
Garden rose 64 73.6 10 8 80 $29.00 $232.00
Spray rose 59 67.85 10 7 70 $16.00 $112.00
Ranunculus 79 90.85 10 10 100 $14.50 $145.00
Lisianthus 62 71.3 10 8 80 $13.50 $108.00
Eucalyptus 106 121.9 10 13 130 $9.50 $123.50
Gypsophila 41 47.15 5 10 50 $5.50 $55.00
Ruscus 34 39.1 10 4 40 $8.00 $32.00
Total 445 511.75 550 $807.50

The table hides a trap worth reading twice. A 15% allowance asks for about 512 stems, but whole bunches mean buying 550, so you pay for 38 more stems than the allowance asks for. Ranunculus is the clearest case: 79 needed, 90.85 with waste, 100 bought. That cost is real unless the odd stems find a use, such as a bud vase on the cake table or stock for the next job. How much waste to allow is your call. One florist-software guide (Curate, March 2026) suggests 15 to 20% of wholesale, but your own bin counts beat any guide, and tracking stems and waste with AI-assisted spreadsheets shows how to collect them.

Ask ChatGPT for the formulas, not the answers. Describe the columns, say where the waste percentage lives, and forbid it from calculating totals or inventing prices.

I'm building a wedding quote in Google Sheets. Tab "Stems" has these columns: A Variety, B Stems needed, C Stems per bunch, D Price per bunch, E Bunches to buy, F Stems bought, G Cost. The waste percentage is in cell J1.
Write the formulas for row 2 in A1 notation so they can be filled down: E rounds up to whole bunches after adding the waste allowance; F is bunches times stems per bunch; G is bunches times price per bunch. Add a total row for G.
Do not calculate any totals and do not invent prices.

A typical reply (illustrative) looks like this, and it is worth checking row 2 by hand with a calculator before you fill down.

E2: =ROUNDUP(B2*(1+$J$1)/C2,0)
F2: =E2*C2
G2: =E2*D2
G9: =SUM(G2:G8)

If you want more prompts of this kind, Google Sheets AI prompts covers formula writing and cleaning in more depth.

Add sundries (ribbon, wire, tape, pins, water vials, stem wraps) as one labelled line, $75 here. Stems plus sundries come to $882.50 of cost. Markup is the second decision. The multiplier has to pay for everything that isn't hours or hire: the cold room, the van, insurance, software, the stems that die before they reach any wedding, and your profit. The same guide puts product markup at 3.5 to 4.5 times wholesale. I use 3 so the totals aren't flattering, and the checks further down test it. A pricing formula for everyday bouquets and arrangements covers the multiplier for walk-in work. Here, $882.50 times 3 gives $2,647.50 for flowers and materials.

Labour in hours, because a percentage of flowers misleads

List every task from the first call to the strike (the stage where you take everything down), with hours beside each. If you tend to forget steps, ask ChatGPT for the task list; it is good at remembering that someone has to order, receive, strip and condition the stems before any design starts.

Task Hours
Consultation, venue visit and quote 3
Ordering, sourcing and checking the stem delivery in 1.5
Processing and conditioning stems 4
Making: bridal party (bouquet, 3 posies, 5 buttonholes, 2 corsages) 5.8
Making: ceremony arch (3.0 h) and 2 aisle-end arrangements (2.0 h) 5
Making: 9 table centrepieces and the cake-table arrangement 6.4
On-site set-up: two people 6
Strike, collect hire items and pack down 1.5
Total hours 33.2

The total is 33.2 hours, which is $1,162.00 at a charge-out rate of $35 an hour. That rate is what an hour is billed at, not a wage, so it has to carry your pay and a share of the studio's running costs.

Why not use a percentage of the flowers? Compare two jobs with the same $300 of wholesale stems. Ten jar arrangements for tables take about 2.5 hours to make. One freestanding arch takes 3 hours to make, two people for 1.5 hours on site and an hour to strike: 7 hours. At $35 an hour the jars need $87.50 of labour and the arch needs $245. A flat 30% of stem cost gives both jobs $90, so the arch quietly loses $155 before anything goes wrong. Hours follow the work; stem cost doesn't.

The hours in the table are guesses until you time real jobs. Run a phone stopwatch on the next three weddings, note the minutes per piece (a posy, a centrepiece, a metre of garland), and replace my numbers with yours. The task list stays the same; only the hours change.

Hire items: charge for the use, hold a deposit for the loss

Hire has two parts: a fee for the use, and a deposit that covers loss or damage and comes back with the items. Items you own and items you rent in are priced differently.

Item Source Cost to you Fee charged Deposit held How the fee was set
Wooden arch owned $480 to buy $140.00 $200.00 $480 over five hires is $96, plus $44 for cleaning, handling and storage
Aisle stands (2) owned $80 each to buy $60.00 $50.00 $80 over four hires is $20 each, plus $10 each for handling
Glass vases (9) hired in $2.20 each $31.50 $50.00 $3.50 each: the supplier’s price plus a handling margin
Total $231.50 $300.00

Payback in five hires is my choice for the illustration. An owned arch only earns its keep if it's booked often enough, so count how many hires you really get in a year before you set the fee. For hired-in items, pass the supplier's price through and add something for carrying, washing and the breakages that land on you when a guest knocks a vase over. The deposit isn't income. It is a liability until the items are back, counted and clean, so keep it out of the total and show it as its own line on the quote.

On collection day, check each item against a photo list you took at set-up. Put a rule in the terms that a damaged or missing item is charged at replacement value from the deposit, and have a lawyer read your terms before you rely on them.

Delivery, set-up and collection without counting hours twice

Delivery is the block florists most often absorb. Here the venue is 38 miles from the studio. The van makes a delivery trip out and back (76 miles) and a collection trip the next morning for the hire items (another 76), so 152 miles in all. At 65 cents a mile, a figure that should come from your own fuel, tyres, servicing and depreciation, that is $98.80. Add four hours of driving at $35, which is $140.00, and the delivery line is $238.80.

One rule keeps this honest: set-up hours live in the labour block (two people for three hours on site, here) and travel hours live in the delivery block, never both. The other thing to settle while you are quoting is the access window. If the venue lets you in only between 11:00 and 12:30, a second person is not optional and the set-up hours above are a minimum, not a guess.

The finished quote, line by line

This is the Quote tab. Every figure comes from a formula pointing at another tab, and every block has a calculation you could read aloud to a couple.

Block How it is calculated Amount
Flowers and materials ($807.50 stems + $75.00 sundries) × 3.0 $2,647.50
Labour 33.2 h × $35.00 $1,162.00
Hire Arch $140.00 + stands $60.00 + vases $31.50 $231.50
Delivery and collection 152 miles × $0.65 + 4 h × $35.00 $238.80
Contingency 5% of flowers and labour $190.48
Total $4,470.28

The refundable damage deposit of $300.00 is held separately and isn't part of the total. Any tax you have to charge goes on the client copy as a final line, outside the checks below.

The contingency row is the one couples question, so the client copy calls it a planning allowance. It covers substitutions when a variety is short and wholesale prices that move between quote and order. The same guide suggests 5 to 10% for substitution risk; I use the low end. If prices hold on the order date, the allowance stays as margin, and if they don't, it is what keeps the wedding from running at a loss. Three checks tell you whether the sheet is sane before a couple sees it.

  • Labour share of the total: 26%. The same guide puts labour at 25 to 35% of the final price for a well-run studio, so this quote sits at the low edge of that range. A share well under 25% usually means hours are missing from the Labour tab.
  • Stem cost share: 18% of the total is wholesale stems. Compare it with your last ten weddings; a big difference means a recipe or a price is probably wrong.
  • Revenue per hour worked: take the total, subtract stems, sundries, the hired-in vases and mileage, and divide by every hour (33.2 of work plus 4 of driving). That is about $93 an hour, and it has to pay you and the studio's overheads, so set it against what the studio needs per hour.

Make ChatGPT audit the sheet instead of writing it

Once the numbers are in, flip the job. Copy the Quote tab and the Labour and hire tab as cells (they paste as tab-separated text) and ask for problems only. Giving it a narrow job and banning rewrites stops it from "fixing" figures you typed on purpose.

Below is my wedding quote sheet as tab-separated text. Check, and list problems only:
1. Does every SUM range include its last row?
2. Does each block (stems, sundries, labour, hire, delivery, contingency) appear in the total exactly once?
3. Do hours times rate match the labour total?
4. Is any cost missing for a wedding with these items?
Do not rewrite the sheet and do not change any number.

A useful reply (illustrative) names cells, like this:

  1. The total in Quote!B7 is =SUM(B2:B5), which stops one row early, so the contingency in B6 is missing from the total.
  2. The contingency formula covers B2:B4, which includes hire. The flowers and labour rows are B2 and B3 only.
  3. Mileage on the Labour and hire tab multiplies 76 miles, the delivery round trip only, so the collection trip isn't counted.

Each is a quick fix, and each is the kind of error that costs a few hundred dollars without anyone noticing. For a wider process, an approval step for AI-written quotes shows how to build a second pair of eyes into the routine, even when you are the only pair.

A tighter budget: change the lines, not the hourly rate

Couples often come back with a lower number. The sheet lets you answer with options rather than a discount, because the rate and the multiplier stay put while the work shrinks. Ask ChatGPT for ideas (five line changes that cut about 15% without touching the bridal party flowers), then put the ones you like through the sheet. The sheet prices the options; ChatGPT only suggests them.

Version What changes Total Saving against the full plan
Full plan As quoted above $4,470.28 –
No arch Drop the arch (117 stems), its $140 hire fee, its 3 making hours and 3 of the 6 set-up hours; keep the aisle ends $3,460.88 $1,009.40
Smaller centrepieces, no cake-table piece Centrepieces drop from 16 stems to 11 (one garden rose, one gypsophila, three eucalyptus and two each of spray rose, ranunculus and lisianthus) and from 36 to 24 minutes each to make $3,880.70 $589.58
Both changes No arch, smaller centrepieces, no cake-table piece $3,009.90 $1,460.38

Removing the arch saves the most because it takes out stems, making time, on-site hours and the hire fee together. Smaller centrepieces cost less in stems and in minutes. Notice that the two savings don't simply add up: once both changes are in, the bunch rounding falls differently, which is one more reason to let the sheet price every option rather than subtracting in your head. Offer the couple two or three of these rows and let them choose.

What the couple sees: a plain price summary

The sheet is for you. Couples get a one-page summary with the block totals, no stem counts and no hourly rates, because stem counts invite haggling over single flowers. Ask ChatGPT to write it from the numbers you pass in, and give it a hard rule not to change them.

Write a short, friendly price summary for a wedding florist quote. Use exactly these figures and do not change or add any:
Flowers and materials 2,647.50; Design, making and set-up 1,162.00; Hire of arch, stands and vases 231.50; Delivery and collection 238.80; Planning allowance 190.48; Total 4,470.28; Refundable hire deposit 300.00.
Address it to [first name], keep it under 120 words, and end by saying the quote is valid for 14 days.

The reply (illustrative) is a tidy paragraph plus a five-line list. Compare each figure with the sheet before sending, and change "14 days" to whatever your wholesaler's price updates justify. This is a price summary, not the proposal; the story, mood board and photographs belong in the separate proposal document linked near the top.

After the wedding: feed the real hours back

A quote sheet improves only if the actual numbers go back into it. Within a day of the wedding, note what really happened against each line.

Line Quoted Actual What to change
Processing and conditioning hours 4.0 h 5.5 h Set processing at 1 hour per 100 stems bought
Stems binned 15% allowance, about 67 stems 52 stems Keep 15% until three weddings agree
Mileage 152 miles 160 miles The loading entrance was on a different road; measure from it, not from the main address
Hired-in vases 9 returned 8 returned, 1 broken The hire company's breakage charge comes out of the deposit; order one spare vase next time

Here the processing hours were the surprise: 5.5 hours for 550 stems is one hour per 100 stems bought, so next time the sheet calculates processing time from stems bought instead of using a flat figure. Do this for three weddings and your waste percentage, your hours per piece and your mileage will all rest on your own evidence rather than anyone's guide, including this one.

Wedding flower quotes: the questions florists ask next

How much waste should a wedding quote allow for?

Start from your own bin counts. One florist-software guide suggests 15 to 20% of wholesale, and the sheet here uses 15% before rounding up to whole bunches. After three weddings, replace the guess with what you actually binned, and keep a separate allowance if a variety is known to arrive damaged.

Should the couple see the stem-by-stem breakdown?

Usually not. Show the block totals or a per-piece price and keep the recipes for yourself. Stem counts invite haggling over single flowers, whereas a clear list of options lets a couple lower the budget by changing the work, which protects your hourly rate.

Can ChatGPT read my wholesaler's price list?

If you can upload the list as a spreadsheet or PDF, it can pull prices into a table, but check every line against the original because similar varieties and grades get mixed up. Keep the live prices in your sheet rather than in the chat, and re-check them before you order.

How long should a wedding quote stay valid?

Long enough to decide, short enough that wholesale prices haven't moved. Pick the window from how often your wholesaler changes its list and how close the date is to a peak period, state it on the quote, and re-price any stems that have changed before you place the order.

Further reads

Sources: Curate's wedding florist pricing guide (24 March 2026) for the waste, markup, labour-share and substitution-allowance benchmarks. Every price, hour, rate and total in the worked example is invented for illustration.

Want your quote sheet checked line by line?

On a 1:1 call we can walk through your current quote layout, find the line that most often goes unpriced, and decide which parts of the sheet AI can safely draft for you.

Book a 1:1 call with me