Fill a price table from Google Sheets lines
Keep one sheet row per product line. When a quote request is marked ready, a Zap looks up all its lines and adds them to the new QuoteCloud quote as price-table rows.
- 5/5 on G2
- 4.2 on Capterra
- Building QuoteCloud since 2013
Yes, with line items. Google Sheets' Lookup Spreadsheet Rows (Advanced) returns up to 500 matching rows as line items, and QuoteCloud's Create Document takes line items in its price-table row fields: label, notes, price, quantity and more. One Zap, triggered when a request's status changes to Ready, builds the whole price table. Essentials and up.
Last reviewed by the QuoteCloud team
Two overlapping panels with sample data. Behind, Tanbark Trade Supply's draft supply quote TT-Q-4548 for Westbrook Schools Catering: five price-table rows created by a Zap from the sheet, hot cups, sip lids, napkins, takeaway boxes and gloves, $2,212.00 plus tax. In front, an illustration of Tanbark's Lines tab in Google Sheets: the same five lines for request Q-118, with quantities, unit prices and a SUMIFS total of $2,212.00.
Term 1 restock · from request Q-118
| Item | Qty | Rate | Amount |
|---|---|---|---|
| Packaging & consumables | $2,212 | ||
12 oz double-wall hot cup, kraftTT-CUP12 · carton of 500
|
12 ctn | $68 | $816.00 |
90 mm sip lid, blackTT-LID90 · carton of 1,000
|
6 ctn | $42 | $252.00 |
2-ply dinner napkin, whiteTT-NAP2P · carton of 2,000
|
8 ctn | $46 | $368.00 |
Kraft takeaway box, mediumTT-BOXM · carton of 200
|
10 ctn | $54 | $540.00 |
Nitrile gloves, mediumTT-GLVM · carton of 1,000
|
4 ctn | $59 | $236.00 |
- Subtotal
- $2,212.00
- Tax (10%)
- $221.20
- Total
- $2,433.20
- Plus, monthly
- $0.00/mo
- Deposit on signing (0%)
- $0.00
=SUMIFS(F2:F10, A2:A10, "Q-118")| A | B | C | D | E | F | |
| 5 | Request | SKU | Item | Qty | Unit price | Line |
|---|---|---|---|---|---|---|
| 6 | Q-118 | TT-CUP12 | 12 oz double-wall hot cup, kraft | 12 | $68.00 | $816.00 |
| 7 | Q-118 | TT-LID90 | 90 mm sip lid, black | 6 | $42.00 | $252.00 |
| 8 | Q-118 | TT-NAP2P | 2-ply dinner napkin, white | 8 | $46.00 | $368.00 |
| 9 | Q-118 | TT-BOXM | Kraft takeaway box, medium | 10 | $54.00 | $540.00 |
| 10 | Q-118 | TT-GLVM | Nitrile gloves, medium | 4 | $59.00 | $236.00 |
| 11 | Q-118 | Before tax | $2,212.00 |
- Requests
- Lines
Why keep quote lines in a sheet?
Tanbark Trade Supply's inside sales team takes term-start orders from school caterers by phone and email. Priti Desai has always built the list in a Google Sheet as the call goes: one row per product, with the SKU, quantity and trade price, and a formula for the line.
The quote used to mean copying those rows into QuoteCloud one by one. Now Priti sets the request's status to Ready to quote and a Zap does it: it looks up every line for the request and creates the quote with them as price-table rows.
- One request row on the Requests tab, many line rows on the Lines tab, joined by the request ID.
- The sheet's own formulas check the total before anything goes to QuoteCloud.
- QuoteCloud recalculates the table, tax and total itself once the rows are in.
How do several sheet rows become one price table?
The lookup returns the lines as line items; Create Document takes line items in its row fields.
ZapRequest ready: quote its lines
-
When
Google SheetsTriggerUpdated Spreadsheet RowOn the Requests worksheet, with Status as the trigger column.Passes on- Request
- Account
- Contact
- Status
- Only if ZaFilter by ZapierFilterOnly continue if Status is exactly Ready to quote.
-
Then
Google SheetsSearchLookup Spreadsheet Rows (Advanced)On the Lines worksheet. Returns up to 500 matching rows as line items.Searches on- Lookup column: Request
- Lookup value: Q-118
- Row count
-
Then
QCQuoteCloudSearchFind or Create ContactSearches on
- Email Address
- First Name
- Company Name
-
Then
QCQuoteCloudActionCreate DocumentEach line item becomes a price-table row. Replace Existing Pricing Table Rows on, so the template's sample rows go.Mapped in
- Document Title
- Table API Link Id
- Line Item Label ← Item
- Line Item Notes ← SKU
- Quantity ← Qty
- Price ← Unit price
-
Then
QCQuoteCloudActionAdd Document RecipientMapped in
- Document Number
- Existing Contact
-
Then
Google SheetsActionUpdate Spreadsheet RowBack on the Requests row: the document number and Status Quoted.Mapped in- Row
- Document
- Status: Quoted
Row Type (pricing) and Term Based Product (No) are required in Create Document: type them once and they apply to every line. The column map lists each field.
At 9:20 am on Tuesday 10 November Priti changes Q-118 to Ready to quote. Two minutes later TT-Q-4548 is a draft for Gemma Hartley with the five lines, $2,212.00 plus tax, and the request row says Quoted, TT-Q-4548.
Result
The quote's price table matches the sheet line for line, without anyone retyping a SKU.
Essentials and up · per-document fee for each document a Zap creates
How wholesalers send volume quotesFive lines in the sheet, five rows in the quote
Request Q-118's lines, beside the price table they built.
Term 1 restock · from request Q-118
| Item | Qty | Rate | Amount |
|---|---|---|---|
| Packaging & consumables | $2,212 | ||
12 oz double-wall hot cup, kraftTT-CUP12 · carton of 500
|
12 ctn | $68 | $816.00 |
90 mm sip lid, blackTT-LID90 · carton of 1,000
|
6 ctn | $42 | $252.00 |
2-ply dinner napkin, whiteTT-NAP2P · carton of 2,000
|
8 ctn | $46 | $368.00 |
Kraft takeaway box, mediumTT-BOXM · carton of 200
|
10 ctn | $54 | $540.00 |
Nitrile gloves, mediumTT-GLVM · carton of 1,000
|
4 ctn | $59 | $236.00 |
- Subtotal
- $2,212.00
- Tax (10%)
- $221.20
- Total
- $2,433.20
- Plus, monthly
- $0.00/mo
- Deposit on signing (0%)
- $0.00
Zap
- Updated Spreadsheet Row
- Lookup Spreadsheet Rows (Advanced)
- Create Document
=SUMIFS(F2:F10, A2:A10, "Q-118")| A | B | C | D | E | F | |
| 5 | Request | SKU | Item | Qty | Unit price | Line |
|---|---|---|---|---|---|---|
| 6 | Q-118 | TT-CUP12 | 12 oz double-wall hot cup, kraft | 12 | $68.00 | $816.00 |
| 7 | Q-118 | TT-LID90 | 90 mm sip lid, black | 6 | $42.00 | $252.00 |
| 8 | Q-118 | TT-NAP2P | 2-ply dinner napkin, white | 8 | $46.00 | $368.00 |
| 9 | Q-118 | TT-BOXM | Kraft takeaway box, medium | 10 | $54.00 | $540.00 |
| 10 | Q-118 | TT-GLVM | Nitrile gloves, medium | 4 | $59.00 | $236.00 |
| 11 | Q-118 | Before tax | $2,212.00 |
- Requests
- Lines
The sheet is our illustration of a generic spreadsheet with sample data, not Google's screen. Every business here is fictional.
The request row starts it and gets the answer
The Requests tab holds one row per quote: the account, the contact, their email and a Status column. The Zap only watches Status, so editing a quantity on the Lines tab doesn't start anything.
When the quote is created, the Zap writes its number back on the request row and sets Status to Quoted, so a second edit can't create a second quote.
- Updated Spreadsheet Row fires on edits to existing rows; New or Updated Spreadsheet Row also fires on new rows.
- Pick Status as the trigger column so other edits don't start the Zap.
| A | B | C | D | E | F | |
| 4 | Request | Account | Contact | Status | Document | |
|---|---|---|---|---|---|---|
| 5 | Q-117 | Bellmount Bakery | Tomasz Wren | tomasz.wren@example.com | Quoted | TT-Q-4502 |
| 6 | Q-118 | Westbrook Schools Catering | Gemma Hartley | gemma.hartley@example.com | Quoted (updated by a Zap) | TT-Q-4548 (updated by a Zap) |
- Requests
- Lines
Cell updated by a Zap
Variations for price rows from a sheet
Headings, discounts, prices from the library, or the Make route.
Headings between groups
Give a line Row Type heading instead of pricing to start a group, such as Packaging and Cleaning.
Discounts and tax per line
Map Discount Type, Discount, Tax Type and Tax from columns when lines differ; leave them blank to use the table's defaults.
Keep prices in one place
If the trade prices live in your price-list sheet, look them up there instead of typing them on the Lines tab.
Build it in Make instead
Bring your own: read the lines with Make's own Google Sheets modules and call QuoteCloud's API or Zapier endpoints through Make's built-in OAuth connection.
Build it with a free trial
QuoteCloud's Zapier app is on the Essentials plan and up. Start a free 14-day trial and test with a request whose contact uses @example.com.
Build the price-row Zap in five steps
- 1
Two tabs, one key
A Requests tab with one row per quote and a Status column; a Lines tab with one row per line, starting with the request ID.
- 2
Turn on API mode
In the template's price table settings, turn on API mode and copy its Table API Link Id.
- 3
Trigger on Status
Google Sheets' Updated Spreadsheet Row on Requests, trigger column Status, then Filter by Zapier for Ready to quote.
- 4
Look up, then create
Lookup Spreadsheet Rows (Advanced) on Lines by the request ID, then Create Document with each line item mapped to the row fields.
- 5
Write back and test
Update Spreadsheet Row sets Quoted and the number. Test with one request, check the table in QuoteCloud, then switch the Zap on.
Questions about price rows from a sheet
Can one Zap add many price-table rows?
Yes, with line items. Google Sheets' Lookup Spreadsheet Rows (Advanced) returns up to 500 matching rows as line items, and QuoteCloud's Create Document adds line items to the price table through its row fields: label, notes, price, quantity, term, tax, discount and cost.
What happens to the template's own price rows?
That's up to you. With Replace Existing Pricing Table Rows on, the template's rows in the target table are removed before the sheet's lines are added. With it off, the lines are added below them. If no line items are supplied, the table is left as it is.
Can the sheet tick optional items or choose packages?
No. A Zap adds the rows you map; it doesn't tick optional items or choose packages or content blocks. Optional items in the template stay for the client to tick, and packages stay for the client to choose.
Is there a limit to the number of lines?
Lookup Spreadsheet Rows (Advanced) returns up to 500 rows per run, set in its Row count field. Most quotes need far fewer; set Row count a little above your longest quote so nothing is cut off.
More on QuoteCloud and Google Sheets
Six use cases with the exact Zapier steps, then how to connect, test and what it costs.
- Log every quote event in Google SheetsSent, viewed, signed, paid and expired: each QuoteCloud event adds a row, and sheet formulas turn the log into a report.
- Keep a quote pipeline tracker in Google SheetsOne row per quote: a Zap adds it when the document is created and updates its status as it changes.
- Create quotes from Google Sheets rowsA new row creates the document from your template, with the row's details in data items and price-table rows.
- Feed the product library from a Google Sheets price listKeep prices in the sheet you already maintain: a Zap creates or updates each QuoteCloud product from its row.
- Google Sheets or QuoteCloud's Spreadsheet block?Two different spreadsheets: your Google Sheet outside, the Spreadsheet block inside the quote, and how a Zap reaches each.
- Connect Google Sheets to QuoteCloud, step by stepCheck the plan, set up the sheet's header row, connect both apps in Zapier and test your first Zap.
- Google Sheets column mapWhich column each Zap on this site writes or reads, which way it travels and a sample value.
- Test and troubleshoot the Google Sheets ZapsTest with a copy of the sheet, then fix the usual problems: no row found, blank columns, duplicate documents.
- What QuoteCloud with Google Sheets can and can't doWhat the Zaps do, where they stop, Zapier or Make, and what we haven't confirmed yet.
- What the Google Sheets connection costsEssentials and up for Zapier, plus a fee only for documents a Zap or the API creates. Logging rows is free.
- FAQAnswers to the questions teams ask before connecting QuoteCloud and Google Sheets.
Lines in the sheet. Rows in the quote.
Start a free 14-day trial, add a Lines tab to a copy of your sheet and build the Zap with one test request.
Price rows from Google SheetsFree 14 days · no card
Start free trial