# Create invoice payment plans Learn how to create payment plans for your Stripe invoices. Invoice payment plans let you break up an [invoice’s](https://docs.stripe.com/api/invoices.md) total amount into separate payments with different due dates. This can expand your billing flexibility. For example, you could first collect a deposit and then the balance amount of a transaction at a later date. Alternatively, you could break up dues into more favorable terms for your customers by splitting them into multiple, smaller increments over time. Stripe reminds your customers of upcoming payments that they have to make and shows them a history of past payments. You can use both the Dashboard and the API to generate payment plans. > This feature is in private preview. You can request early access by filling in the form below. ## Limitations Payment plans are currently a preview feature and have a few important limitations. Make sure that the following limitations don’t conflict with your use case: - Payment plans aren’t supported by Stripe Revenue Recognition or the Stripe Connector for NetSuite. - Payment plans don’t auto-charge customers with saved payment details. Customers must return to the payment page to make subsequent payments. You can’t use them with `charge_automatically` invoices. - Stripe automatically emails reminders to your customers to complete subsequent payments. We send these emails 1 week before payments are due by default. Sending these emails overrides any email reminder schedules and settings for one-off invoices. You can turn off the email reminders by disabling the setting for [Send finalized invoices and credit notes to customers](https://dashboard.stripe.com/settings/billing/automatic). - For Connect users, application fees can’t be set on payment plan-enabled invoices. You can only set fees on PaymentIntents. - Additional fields associated with payment plans aren’t available in Sigma. - Some Billing Analytics charts (Top Subscribers, Collections) only register invoices that are fully paid. Other charts are unaffected. - Subscription invoices can’t have payment plans applied. > If you want to enable [buy now, pay later](https://docs.stripe.com/payments/buy-now-pay-later.md) for B2C invoices, read our [buy now, pay later guide](https://stripe.com/guides/buy-now-pay-later) for more information. # Dashboard > This is a Dashboard for when testing-method is without-code. View the full page at https://docs.stripe.com/invoicing/payment-plans?testing-method=without-code. This guide shows how to set up and manage payment plans without any code using the [Dashboard](https://dashboard.stripe.com/test/dashboard). ## Create an invoice in the Dashboard add line item details In the Dashboard, [create an Invoice](https://docs.stripe.com/invoicing/dashboard.md#create-invoice) and add relevant details such as the customer, desired line items, and their prices and quantities. ![Create an invoice with the Dashboard](https://b.stripecdn.com/docs-statics-srv/assets/invoice-payment-plans-create-invoice.ea35a3ec40146a37ee1c95ae1849cf7d.png) Create an invoice with the Dashboard ## Enable the invoice to collect dues in multiple payments After entering customer and line item details, select **Request in Multiple Payments** under **Payment Collection** in the invoice editor to enable payment plans on the invoice. By default, Stripe sets up a payment plan where the amount due is evenly divided into four payments due over 4 months. ![Enable multiple payments in the Dashboard](https://b.stripecdn.com/docs-statics-srv/assets/invoice-payment-plans-collect-multiple-payments.b9a022fdf84d089a35bc4b4026d035cf.png) Enable multiple payments in the Dashboard ## Configure individual payments and due dates To customize the payment plan, click **Edit payment plans**. You can customize a payment plan in the following ways: - Change due dates or amounts due - Add or subtract payments, - Relabel the names of individual payments Toggle inputs between absolute values and percentage by selecting the gear next to the percentage / fixed amount column. You can use **Quick actions** as a shortcut to evenly redistribute amounts across payments or even out amounts that don’t add up to the total amount due for the invoice. By selecting **Use as deposit**, the first payment is relabeled as a deposit and the redistribution of amounts due only affects subsequent payments. You can’t exit this view unless the sum of all payments is equal to the total amount due on the overall invoice. ![Configure the payment plan through the Dashboard](https://b.stripecdn.com/docs-statics-srv/assets/invoice-payment-plans-configure.17a9ccb6f7b3877c9bf8f83142ec7572.png) Configure the payment plan through the Dashboard ## Finalize the invoice After customizing the payment plan, you can finalize and send the invoice by clicking **Review invoice**. You can’t finalize an invoice if the amounts of the individual payments don’t add up to the total amount due on the invoice (for example, if line items changed after you set up the payment plan). # API > This is a API for when testing-method is with-code. View the full page at https://docs.stripe.com/invoicing/payment-plans?testing-method=with-code. This guide shows how to set up and manage payment plans using the [amounts_due](https://docs.stripe.com/api/invoices/create.md#create_invoice-amounts_due) field on the [Invoicing API](https://docs.stripe.com/api/invoices.md). ## Create supporting objects Before setting up payment plans, make sure to review the concepts in the [integrate with the Invoicing API](https://docs.stripe.com/invoicing/integration.md) guide. You need an understanding of how to create products, prices, and customers using the Stripe API or Dashboard to use this feature. ## Create an invoice with a payment plan The [amounts_due](https://docs.stripe.com/api/invoices/create.md#create_invoice-amounts_due) field helps you set up payment plans with Stripe Invoices. To use this feature, set the [collection_method](https://docs.stripe.com/api/invoices/create.md#create_invoice-collection_method) for the invoice to `send_invoice`. Payment plans aren’t supported for `charge_automatically` invoices. This section goes through two common use cases for payment plans: flexible payment terms and initial deposit. ### Flexible payment terms Use payment plans when you want to divide the amount due from your customer into smaller increments. For example, suppose you have an invoice of 6,000 USD, and you want the customer to pay it in three payments. You can set up the payment plan using the `amounts_due` field as shown below: ```curl curl https://api.stripe.com/v1/invoices \ -u "<>:" \ -H "Stripe-Version: 2026-02-25.preview; invoice_payment_plans_beta=v1" \ -d customer="{{CUSTOMER_ID}}" \ -d collection_method=send_invoice \ -d auto_advance=true \ -d "amounts_due[0][amount]"=2000 \ -d "amounts_due[0][days_until_due]"=30 \ -d "amounts_due[0][description]"="Payment 1" \ -d "amounts_due[1][amount]"=2000 \ -d "amounts_due[1][days_until_due]"=60 \ -d "amounts_due[1][description]"="Payment 1" \ -d "amounts_due[2][amount]"=2000 \ -d "amounts_due[2][days_until_due]"=90 \ -d "amounts_due[2][description]"="Payment 2" ``` ### Initial deposit In some situations, you might want to ask for an initial deposit followed by a payment plan for the remaining amount. For example, suppose you have an invoice of 5,000 USD, and you want the customer to pay a 1,000 USD deposit followed by two equal payments for the remaining amount. You can set up the payment plan as follows: ```curl curl https://api.stripe.com/v1/invoices \ -u "<>:" \ -H "Stripe-Version: 2026-02-25.preview; invoice_payment_plans_beta=v1" \ -d customer="{{CUSTOMER_ID}}" \ -d collection_method=send_invoice \ -d auto_advance=true \ -d "amounts_due[0][amount]"=1000 \ -d "amounts_due[0][days_until_due]"=1 \ -d "amounts_due[0][description]"=Deposit \ -d "amounts_due[1][amount]"=2000 \ -d "amounts_due[1][days_until_due]"=30 \ -d "amounts_due[1][description]"="Payment 1" \ -d "amounts_due[2][amount]"=2000 \ -d "amounts_due[2][days_until_due]"=60 \ -d "amounts_due[2][description]"="Payment 2" ``` The examples above illustrate how to set up payment plans using the `amounts_due` field for invoices with various payment structures. Keep in mind that the total amount from the `amounts_due` field must equal the final [amount_due](https://docs.stripe.com/api/invoices/object.md#invoice_object-amount_due) of the invoice. With these examples, you can begin creating tailored payment plans based on your specific needs. ## Update the payment plan You can update the `amounts_due` field for an invoice before finalizing it, letting you modify the payment plan as needed. This allows you to make adjustments, such as changing due dates, altering payment amounts, or adding new payments. In addition to setting the number of days until a payment is due with [days_until_due](https://docs.stripe.com/api/invoices/update.md#update_invoice-amounts_due-days_until_due), you can also set a specific due date using the [due_date](https://docs.stripe.com/api/invoices/update.md#update_invoice-amounts_due-due_date) field. The `due_date` field lets you specify an exact date for a payment, providing more customization options for your payment plans. Here’s an example of updating an invoice’s payment plan: ```curl curl https://api.stripe.com/v1/invoices/{{INVOICE_ID}} \ -u "<>:" \ -H "Stripe-Version: 2026-02-25.preview; invoice_payment_plans_beta=v1" \ -d "amounts_due[0][amount]"=1000 \ -d "amounts_due[0][due_date]"=1677514200 \ -d "amounts_due[0][description]"="Updated Payment 1" \ -d "amounts_due[1][amount]"=3000 \ -d "amounts_due[1][due_date]"=1678132000 \ -d "amounts_due[1][description]"="Updated Payment 2" ``` In this example, we update an invoice’s payment plan to use specific due dates instead of `days_until_due`. The `amounts_due` field also adjusts to show new payment amounts, showcasing the flexibility in modifying payment plans before finalizing an invoice. ## Finalize the invoice You can finalize an invoice after setting up the payment plan and adding the desired invoice items. You can’t modify a finalized invoice, for example, updating the payment plan, adding or removing invoice items, or making changes to the invoice’s amounts or dates. Before finalizing your invoice, make sure you’ve added the required invoice items. Here’s an example of adding an invoice item: ```curl curl https://api.stripe.com/v1/invoiceitems \ -u "<>:" \ -d customer="{{CUSTOMER_ID}}" \ -d invoice="{{INVOICE_ID}}" \ -d "pricing[price]"="{{PRICE_ID}}" \ -d currency=usd ``` After adding the necessary invoice items and making sure your payment plan is set up correctly, proceed with finalizing the invoice. Here’s an example of how to finalize an invoice: ```curl curl -X POST https://api.stripe.com/v1/invoices/{{INVOICE_ID}}/finalize \ -u "<>:" ``` After finalizing an invoice, it’s ready to be sent to the customer for payment. Any adjustments to the invoice need to be done before finalization, so review the invoice details before doing this step. Learn more about finalization from our [status transitions and finalization](https://docs.stripe.com/invoicing/integration/workflow-transitions.md) guide. [You can configure a longer grace period](https://docs.stripe.com/billing/subscriptions/usage-based/configure-grace-period.md). ## Post-finalization actions on invoices You can still revise, void, or mark as uncollectible a finalized invoice with a payment plan, only before the first payment is received. Additionally, payment plans can only be “marked as paid” outside Stripe for the entire remaining amount due of the invoice, and not for a partial amount.