How-to guide

How to turn a signed quote into a subscription and first invoice

Make the quote the order. In Bunny, the quote the customer signs holds the products, prices, dates and payment terms, so applying it creates the subscription, generates the first invoice and schedules every invoice after that, with nothing re-keyed into a billing system. Applying is one action in Bunny, and you can automate it with a workflow and the API.

Before you start

  • Your products, plans and price lists are in the Bunny catalog, so the quote is built from the same records billing uses.
  • The account has a billing contact with an email address. Bunny won't apply a quote without one.

How to go from signed quote to invoice in Bunny

  1. 1

    Build the quote from the catalog

    In the quote builder, add products and set the Effective date, Subscription end date, Invoice until, Net payment days and renewal settings. These aren't just for the PDF. They become the subscription's terms when the quote is applied.

  2. 2

    Clear approvals

    If the quote triggers an approval rule (amount, discount, plan, billing period or ramp), it goes to the approvers first. A quote that is in approval or rejected can't be shared or applied.

  3. 3

    Share it for acceptance or e-signature

    Click Share to email the customer a link to the quote in the portal. They accept with Bunny's confirmation box (name, title and an optional PO number) or sign with Bunny Sign, Docusign, Dropbox Sign or PandaDoc. The quote moves to Accepted and the quote owner gets an email.

  4. 4

    Apply the accepted quote

    Applying creates the subscriptions, sets up the billing schedule and, when the effective date is today or earlier, generates the first invoice with the PO number on it. It also updates the deal amount and triggers tenant provisioning if your product uses it.

  5. 5

    Let billing take over

    The New invoice email workflow sends the invoice to the billing contacts. If the customer has a card or bank account on file through Stripe, Bunny collects payment when the invoice falls due; if not, dunning reminders follow it up. Later periods are invoiced by the bill run on the account's billing day.

  6. 6

    Automate the apply step if you want zero clicks

    Add a workflow on the Quote object that fires when the state changes to accepted and calls a webhook. Your endpoint calls the quoteApplyChanges GraphQL mutation, and signed quotes turn into subscriptions and invoices with no one in the loop.

Worked example: from signature to first invoice

Fabrikam’s rep builds a quote for the Platform plan, 40 seats at $900 per seat per year ($36,000), plus a one-time $5,000 implementation fee. The effective date is November 1, 2026, the end date October 31, 2027, net payment days 30, evergreen with a 1-year renewal term.

The quote is over the $25,000 threshold on the team’s approval rule, so it goes to the CFO, who approves it. The rep clicks Share, and Fabrikam’s VP signs through Docusign on October 30, entering PO 7781. The quote moves to Accepted and the rep gets an email.

On November 1 the rep applies the quote. In that one step Bunny:

  • creates the Platform subscription, November 1, 2026 to October 31, 2027
  • generates an invoice for $41,000 plus tax ($36,000 + $5,000), PO 7781, due December 1
  • emails the invoice to Fabrikam’s billing contacts
  • updates the deal amount and provisions Fabrikam’s tenant

Fabrikam has a card on file, so Bunny collects the $41,000 on December 1. Next year’s $36,000 invoice comes from the renewal on November 1, 2027 with no new data entry. If the team had added the accepted-quote workflow, the apply step would have run the moment Fabrikam signed, without the rep.

Free trial

The RevOps expert your team never had.

Ask it anything about your book of business, and it answers from your live data. Point it at the renewal that needs a quote and it drafts one. All the digging, none of the digging.
  • Type "send upgrade quotes to all starter plan accounts" — done in seconds
  • Know which renewals need you this month, while there is still time to do something about it
  • Find every overdue invoice in one question, instead of one account at a time
Try free for 30 days

No credit card required. Cancel anytime.

FAQ

Frequently asked questions

Does applying a quote create the invoice immediately?
Yes, when the quote's effective date is today or earlier. For a future-dated quote, Bunny creates the subscription and billing schedule and the invoice follows on schedule. Quotes that only reduce quantities or add discounts don't produce an immediate invoice.
Does Bunny apply the quote as soon as the customer signs?
Not by default. Acceptance and application are separate, so finance can check a signed deal before it bills. To apply on acceptance, use a Quote workflow with a webhook that calls the quoteApplyChanges mutation.
What if a quote is applied by mistake?
Use Undo from the quote's ... menu. Bunny reverses the subscription changes; invoices the quote generated are corrected by hand, for example with a credit note.
Does the PO number carry onto the invoice?
Yes. A PO number the customer enters when accepting is stored on the quote and copied to the invoices it generates.
Does this work for renewals and upgrades too?
Yes. Renewals, quantity changes, plan changes and add-ons are all quotes, so the same accept-and-apply flow updates the subscription and bills any prorated difference.