Skip to content
Sign in
An image of the Stripe logo
/
Create account
Sign in
Home
Payments
Finance automation
Banking as a service
Developer tools
No-code
All products
Home
Payments
Finance automation
Home
Payments
Finance automation
Banking as a service
Developer tools
Overview
Billing
    Overview
    Subscriptions
    Invoicing
    Quotes
      How quotes work
      Create a quote
      Renegotiate a quote
    Collection methods
    Revenue recovery
    Manage recurring revenue
    Products and prices
    Customer management
    About the Billing APIs
    Test your integration
    Strong Customer Authentication (SCA)
    Invoices API updates
Tax
Reporting
Data
Startup incorporation
HomeFinance automationBillingQuotes

Create and send a quote

Learn how to create, send, and accept a quote.

Note

You can use quotes in test mode, but you must upgrade to Invoicing Plus or Billing Scale to unlock full functionality in live mode. See which plan is right for you.

A quote is a way to show prospective or existing customers the costs for a set of products and services. Quotes show the cost of either a one-off invoice or subscription. When a customer accepts the quote, ​​Stripe automatically creates all relevant invoices and subscriptions. ​​Many sales workflows use this common tool.

Create a customer
Server-side

​​To create a quote, pass in a line item for each product or service. Attach a Customer object to the quote to represent the customer. After you create the customer, store the id in your database so you can use it later. In the next step, you’ll use the customer to create a quote.

Create a quote
Server-side

To create a quote, pass in the Customer and Line items. You can use prices to model the offerings that your business provides. Learn how to set up your product catalog to use prices with quotes.

You can add each offering from your business to the quote as a line item by specifying the price and quantity. For example, if you were to create a quote for a monthly software license that comes with a one-time consultation fee to install the software, the quote would contain two line items:

  • The first line item represents five licenses of the 100 USD per month per license cost of the software.
  • The second line item represents the one-time 1000 USD consultation fee.

A newly created quote has a draft status. You can modify draft quotes by adding or removing line items.

Command Line
curl
curl https://api.stripe.com/v1/quotes \ -u "
sk_test_4eC39HqLyjWDarjtT1zdp7dc
:"
\ -d customer=cus_GBV60HKsE0mb5v \ -d "line_items[0][price]"=price_CBb6IXqvTLXp3f \ -d "line_items[0][quantity]"=5 \ -d "line_items[1][price]"=price_HGd7M3DV3IMXkC

Send a quote
Server-side

When you’re ready to send the quote to your customer, you can move it to an open state by finalizing the quote. Because the quote is for a specific customer, you must attach a Customer object to it before it can transition to the new state.

Command Line
curl
curl -X POST https://api.stripe.com/v1/quotes/qt_1HDGlYClCIKljWvsIGaAA06B/finalize \ -u "
sk_test_4eC39HqLyjWDarjtT1zdp7dc
:"

After you finalize a quote, you can download the PDF, which contains an overview of the quote. Attach it to an email and send it to your customer.

Command Line
curl
curl https://files.stripe.com/v1/quotes/qt_1HDGlYClCIKljWvsIGaAA06B/pdf \ -u
sk_test_4eC39HqLyjWDarjtT1zdp7dc
:
\ -G

You can also set a header, footer and description on your quote, which the PDF displays. You can specify the default settings for the header, footer and description in the Quote template. Remember to keep the quote in an open state while your customer reviews it.

Mark a quote as accepted
Server-side

​​After the customer agrees to the quote, move it to the accepted state, which automatically creates an invoice or subscription (depending on whether or not you’ve added line items with a recurring price). When you use a quote for one-time payments, Stripe creates an invoice in the draft state. You can make modifications to your invoice before sending it to your customer.

Command Line
curl
curl -X POST https://api.stripe.com/v1/quotes/qt_1HDGlYClCIKljWvsIGaAA06B/accept \ -u "
sk_test_4eC39HqLyjWDarjtT1zdp7dc
:"

OptionalConvert a quote to a subscription
Server-side

Was this page helpful?
Need help? Contact Support.
Watch our developer tutorials.
Check out our product changelog.
Questions? Contact Sales.
Powered by Markdoc
You can unsubscribe at any time. Read our privacy policy.
On this page
Create a customer
Create a quote
Send a quote
Mark a quote as accepted
Products Used
Billing
Invoicing
Stripe Shell
Test mode
Welcome to the Stripe Shell! Stripe Shell is a browser-based shell with the Stripe CLI pre-installed. Log in to your Stripe account and press Control + Backtick (`) on your keyboard to start managing your Stripe resources in test mode. - View supported Stripe commands: - Find webhook events: - Listen for webhook events: - Call Stripe APIs: stripe [api resource] [operation] (e.g., )
The Stripe Shell is best experienced on desktop.
$