Keep It Simple Storage Playbooks
↓Download .md

Sales · Billing

Working with Quotes

Everything you do with a quote happens in HubSpot — you set a few fields on the deal and the system builds, sends, and tracks it for you. This covers how to create, change, and cancel a quote, how the payment dates you choose shape the order, and what the customer experiences from signing to paid.

// what you do in HubSpot

Create, change, cancel

All three are done from the deal in HubSpot. Generating sends the customer a signing link; editing updates that same link; voiding kills it. You never open the billing site to do any of this.

Create

Generate a quote

Turns a deal into a signable quote and emails the customer a link. The fields you set here, above all the payment dates, decide everything that follows.

  1. On the deal, make sure there's a Company and the signing Contact. Tag that contact with the Signer label so the quote goes to the right person. (No Signer label? It falls back to the Primary contact, then the first one associated.)
  2. Optional: on hardware line items, set Payment due date for when that part gets paid. Leave it blank and it is due on signing, which is the normal case. Any date you do set must be within 12 months.
  3. Optional: to offer a deposit instead of paying in full, set Deposit percent on the deal (20–99%), and optionally a Deposit due date. Leave it blank for pay-in-full. Works on any timeline.
  4. Optional: set Quote expiration for a custom expiry. Blank = 30 days.
  5. Check Generate quote on the deal. That's the trigger.
✓
What happens: the quote is built, a Billing Quote record appears on the deal, and the customer gets a link to review and sign. A Slack note confirms it went out.
!
If it doesn't send: generation is blocked and Slack gets a note. The reasons are: no company on the deal or the company has no name; no contact, or the contact is missing a first name, last name, or email; no line items, or a line missing its SKU, name, quantity, or price; a payment due date more than 12 months out (this one goes to the fulfillment channel); or a deposit percent outside 20 to 99%. Fix the field and check Generate quote again.
// the choice that shapes the order

The payment dates set the schedule

The Payment due date on each hardware line is the collection schedule, exactly as you write it. Nothing is counted back from a delivery date, and you do not set delivery dates at quote time at all: onboarding puts a delivery deadline on the ticket after the kickoff call, and the ship-by is worked out from that.

Pay in full at signing

The default. Leave Payment due date blank on the line items and this is what the customer gets.

Default
Whole balance due on signing. The order ships once it clears.
Spread the payments

Put a Payment due date on each hardware line. Those dates become the schedule exactly as you write them. Available on any timeline — there is no minimum lead time any more.

Option A
Staged payments — one payment per distinct date across the lines.
Option B
Deposit + balance — set Deposit percent (20–99%) and optionally a Deposit due date; the balance falls on the dates you declared.

Multiple payment dates on one quote? That's tranches.

If the hardware lines carry more than one payment due date, the order splits into tranches: each payment date becomes its own shipment, invoice, and collection schedule, all tied to the same signed quote. Leave a line's payment date blank and it is due on signing. A deposit is not a tranche: a deposit plus a balance is two payment dates for one shipment, so a deposit quote stays a single order. The takeaway: the payment dates you put on the lines are what split the order, so set them deliberately.

Change

Edit a quote

Change a quote you've already sent — price, dates, deposit, line items — without giving the customer a new link.

  1. Open the deal's Billing Quote record and set its Status to Edit.
  2. Make your changes on the deal and line items.
  3. Check Generate quote again.
✓
What happens: the system updates the same quote in place — the link the customer already has now shows the new version — and flips the status back to Pending. A "Quote Updated" Slack confirms.
!
Edits are for unsigned quotes only. You can't edit one that's already Signed or Expired — it'll fail with a Slack note. And only flag one quote as Edit at a time. Once a quote is signed, the terms are locked; talk to onboarding rather than re-cutting it.
Cancel

Void a quote

Cancel a quote so the customer can no longer open or sign it.

  1. On the deal's Billing Quote record, set Status to Void.
✓
What happens: the customer's link immediately stops working (it shows "no longer available"). A "Quote voided" Slack confirms.
↺
Changed your mind? Set the Status back to Pending and the same link works again. A signed quote can't be voided — the link stays protected.
✓
You rarely need to void by hand. When the customer signs one quote, every other open quote on that deal is voided for you. And once a deal has a signed quote, it won't generate another: a reorder or another facility is a new deal.
↗
If the customer opens a dead link (voided or expired), they see your name and email and a Request an updated quote button. Clicking it tags you in #sales-automation with a link to the deal. Treat it as a hot lead.
// the customer's experience

What the customer sees

The link opens a single signing page on billing.keepitsimplestorage.com — not HubSpot's quote tool. After they sign, that same page becomes their bill, and a short run of emails carries them to paid.

Signing, in five steps

billing.keepitsimplestorage.com/quote/…
  1. Review hardware + premium features, with any discounts called out
  2. Details shipping address + billing contact
  3. Order pick a payment method (bank or card), see the totals
  4. Sign agree to terms + type-name e-signature
  5. Billing enter card/bank, or hand payment to a colleague

After they sign

same link, now their bill

The signed quote becomes a read-only bill: a Delivery & Payment Schedule with due dates, amounts, paid ✓ marks, and a downloadable PDF.

  1. Pay by bank or card right on the bill, per milestone
  2. Download the signed quote & invoice as PDF
  3. Routed payment? the billing contact gets their own pay link
// from signing to paid

The emails they get

From the moment they sign, a short sequence carries the customer to paid-in-full. The welcome comes from Marc (onboarding@); the payment emails come from KISS Accounting (accounting@) and BCC Michael. A pay-in-full order sees just the welcome, a receipt, and the paid-in-full note. A deposit order also gets a same-day reminder before each scheduled bank payment.

#EmailWhen it sendsFrom
01Welcome to KISSInstantly, on signingMarc · onboarding@
02Payment request optionalOnly if the signer hands payment to a colleagueKISS Accounting
03Payment due today bank onlyMorning an installment is due (deposit orders)KISS Accounting
04Payment receivedRight when a payment is collectedKISS Accounting
05Paid in fullWhen the final payment clears the balanceKISS Accounting

Keep this playbook in sync with

  • HubSpot properties — Billing Quote object (status, deposit_percent, requested_ship_date) and deal fields (generate_quote, quote_expiration, deposit_percent) + the line-item payment_due_date (docs/hubspot.md).
  • Generate / Edit — workflow S1 (validation, signer resolution, the Edit branch).
  • Void — workflow S4 (status → Void/Pending, link kill/restore).
  • Customer signing + bill — the billing app (apps/billing): the 5-step wizard and the signed-view-as-bill.
  • After signing — F21 (booking), the collection engine, and the customer emails F27 / F28 / F29.
Working with Quotes. Everything the rep does is in HubSpot; the customer's side is the billing site. Questions the doc doesn't answer? team@keepitsimplestorage.com.
Audience · sales & onboarding LLM file · working-with-quotes.md Last reviewed · Jun 19, 2026