Skip to content
Create account
or
Sign in
The Stripe Docs logo
/
Ask AI
Create account
Sign in
Get started
Payments
Revenue
Platforms and marketplaces
Money management
Developer resources
Overview
Billing
OverviewAbout the Billing APIs
Subscriptions
Invoicing
Usage-based billing
Quotes
    Overview
    Create a quote
    Renegotiate a quote
Customer management
Billing with other products
Revenue recovery
Automations
Test your integration
Tax
Overview
Use Stripe tax
Manage compliance
Reporting
Overview
Select a report
Configure reports
Reports API
Reports for multiple accounts
Revenue recognition
Data
OverviewSchema
Custom reports
Data Pipeline
Data management
HomeRevenueQuotes

Quotes

Learn how to provide price estimates to customers before starting a subscription or invoice.

Quotes allow you to provide your customers with a price estimate for requested goods or services. You can combine recurring and one-off line items, and include any discounts or taxes. After your customer accepts the quote, you can convert it into a recurring subscription or a one-time invoice.

Send and accept quotes

To send and accept quotes for one-time invoices:

  1. Log in to your Stripe Dashboard.
  2. On the Your plans page, sign up for Invoicing Plus.

Learn more about accessing quotes.

Quote statuses

Quotes can transition between these statuses:

StatusDescriptionPossible actions
draftThe starting status for all quotes. You can still edit the invoice when it’s in draft status.
  • Finalize the quote to move it to an open status.
  • Cancel the quote to move it to a canceled status.
openThe quote is finalized and awaiting action from the customer. You can only edit the expiration date.
  • Accept the quote to move it to an accepted status.
  • Cancel the quote to move it to a canceled status.
acceptedThe customer accepted the quote. The quote generates an invoice, subscription, or subscription schedule.N/A
canceledThe quote expired or was canceled. You can no longer accept it.N/A

Finalize a draft quote

Quotes are initially created as a draft. In this status, you can edit the quote and make any required changes. You can finalize the quote when you’re ready to send it to your customer.

Finalizing the quote assigns a number to it. The number consists of four parts:

  • The prefix QT
  • The customer’s invoice prefix
  • The quote sequence
  • The revision sequence

For example, QT-68BB114-0001-1 is the first quote for a customer, and the quote is on the first revision. Quote number QT-68BB114-0001-2is the same quote, but on the second revision. QT-68BB114-0002-1 is the second quote for the customer.

You can use the API to finalize a quote, as shown in the following example:

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node
Go
.NET
No results
curl -X POST https://api.stripe.com/v1/quotes/qt_1HDGlYClCIKljWvsIGaAA06B/finalize \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"

Quotes can transition from a draft status to one of the following end statuses:

  • open: The API endpoint POST /v1/quotes/:id/finalize emits a quote.finalized webhook.
  • canceled: The API endpoint POST /v1/quotes/:id/cancel emits a quote.canceled webhook.

Accept a quote

After your customer agrees to the quote, you can mark the open quote as accepted. Accepted quotes automatically generate an invoice, subscription, or subscription schedule.

  • Quotes with recurring prices: A subscription schedule is created if the effective date on the quote is in the future. Otherwise, a subscription is created. The first invoice on the subscription is in draft status with auto_advance set to true.
  • Quotes without recurring prices: A draft invoice is created with auto_advance set to false. You can modify the invoice before finalizing and sending it to your customer for payment.

You can use the Dashboard to mark a quote as accepted.

  1. In the Stripe Dashboard, go to the Quotes page.
  2. Select the quote you want to mark as accepted.
  3. On the quote details page, click Convert to invoice or Convert to subscription.

Cancel a quote

If your customer rejects the quote or you no longer want it to be valid, you can cancel the quote. To do so, mark the draft or open quote as canceled, or wait for these quotes to automatically cancel when they reach the expiration date. You can’t accept canceled quotes.

You can use the Dashboard to cancel a quote.

  1. In the Stripe Dashboard, go to the Quotes page.
  2. Select the quote you want to cancel.
  3. On the quote details page, click the overflow menu (), then click Cancel quote.

Download a quote PDF

Use the PDF method to download a quote PDF:

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node
Go
.NET
No results
curl https://files.stripe.com/v1/quotes/qt_0J1EnX589O8KAxCGEdmhZY3r/pdf \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"

Instead of returning data in JSON format, the PDF method returns a stream of data that represents the byte sequences of the incoming data. The byte stream is read in chunks or segments as the data streams in, allowing you to start processing incoming data before the entire data load completes. This method is especially useful for handling large data or real-time data processing.

Quote PDF

The generated quote PDF

Was this page helpful?
YesNo
  • Need help? Contact Support.
  • Join our early access program.
  • Check out our changelog.
  • Questions? Contact Sales.
  • LLM? Read llms.txt.
  • Powered by Markdoc