Adds multiple line items to an invoice. This is only possible when an invoice is still a draft.
Parameters
- linesarray of objectsRequired
The line items to add.
- invoice_
metadataobject Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to
metadata
.
Returns
The updated invoice with newly added line items is returned upon success. Otherwise, this call raises an error.
{ "id": "in_1NuhUa2eZvKYlo2CWYVhyvD9", "object": "invoice", "account_country": "US", "account_name": "Stripe.com", "account_tax_ids": null, "amount_due": 998, "amount_paid": 0, "amount_remaining": 998, "amount_shipping": 0, "application": null, "application_fee_amount": null, "attempt_count": 0, "attempted": false, "auto_advance": false, "automatic_tax": { "enabled": false, "liability": null, "status": null }, "billing_reason": "manual", "charge": null, "collection_method": "charge_automatically", "created": 1695758664, "currency": "usd", "custom_fields": null, "customer": "cus_9s6XKzkNRiz8i3", "customer_address": null, "customer_email": "test@test.com", "customer_name": null, "customer_phone": null, "customer_shipping": null, "customer_tax_exempt": "none", "customer_tax_ids": [], "default_payment_method": null, "default_source": null, "default_tax_rates": [], "description": null, "discount": null, "discounts": [], "due_date": null, "effective_at": null, "ending_balance": null, "footer": null, "from_invoice": null, "hosted_invoice_url": null, "invoice_pdf": null, "issuer": { "type": "self" }, "last_finalization_error": null, "latest_revision": null, "lines": { "object": "list", "data": [ { "id": "il_1NuhUa2eZvKYlo2CC98Fg3Bo", "object": "line_item", "amount": 799, "amount_excluding_tax": 799, "currency": "usd", "description": "test description", "discount_amounts": [], "discountable": true, "discounts": [], "invoice_item": "ii_1NuhUa2eZvKYlo2CGeF7Qgx0", "livemode": false, "metadata": {}, "period": { "end": 1695758664, "start": 1695758664 }, "price": { "id": "price_1NuhLA2eZvKYlo2Cq1tIGEBp", "object": "price", "active": true, "billing_scheme": "per_unit", "created": 1695758080, "currency": "usd", "custom_unit_amount": null, "livemode": false, "lookup_key": null, "metadata": {}, "nickname": null, "product": "prod_Oi7aO1GPi1dWX7", "recurring": null, "tax_behavior": "unspecified", "tiers_mode": null, "transform_quantity": null, "type": "one_time", "unit_amount": 799, "unit_amount_decimal": "799" }, "proration": false, "proration_details": { "credited_items": null }, "quantity": 1, "subscription": null, "tax_amounts": [], "tax_rates": [], "type": "invoiceitem", "unit_amount_excluding_tax": "799" }, { "id": "il_1NuLVe2eZvKYlo2Canh35EfU", "object": "line_item", "amount": 199, "amount_excluding_tax": 199, "currency": "usd", "description": "Canned Coffee", "discount_amounts": [], "discountable": true, "discounts": [], "invoice_item": "ii_1NuLVd2eZvKYlo2CRWY0Hqgi", "livemode": false, "metadata": {}, "period": { "end": 1695674161, "start": 1695674161 }, "price": { "id": "price_1NuI212eZvKYlo2CWgdD8kET", "object": "price", "active": true, "billing_scheme": "per_unit", "created": 1695660793, "currency": "usd", "custom_unit_amount": null, "livemode": false, "lookup_key": null, "metadata": {}, "nickname": null, "product": "prod_OhhQNWDYdIbXYv", "recurring": null, "tax_behavior": "unspecified", "tiers_mode": null, "transform_quantity": null, "type": "one_time", "unit_amount": 199, "unit_amount_decimal": "199" }, "proration": false, "proration_details": { "credited_items": null }, "quantity": 1, "subscription": null, "tax_amounts": [], "tax_rates": [], "type": "invoiceitem", "unit_amount_excluding_tax": "199" } ], "has_more": false, "url": "/v1/invoices/upcoming/lines?customer=cus_9s6XKzkNRiz8i3" }, "livemode": false, "metadata": {}, "next_payment_attempt": null, "number": null, "on_behalf_of": null, "paid": false, "paid_out_of_band": false, "payment_intent": null, "payment_settings": { "default_mandate": null, "payment_method_options": null, "payment_method_types": null }, "period_end": 1688482163, "period_start": 1688395763, "post_payment_credit_notes_amount": 0, "pre_payment_credit_notes_amount": 0, "quote": null, "receipt_number": null, "redaction": null, "rendering": null, "rendering_options": null, "shipping_cost": null, "shipping_details": null, "starting_balance": 0, "statement_descriptor": null, "status": "draft", "status_transitions": { "finalized_at": null, "marked_uncollectible_at": null, "paid_at": null, "voided_at": null }, "subscription": null, "subscription_details": { "metadata": null }, "subtotal": 998, "subtotal_excluding_tax": 998, "tax": null, "test_clock": null, "total": 998, "total_discount_amounts": [], "total_excluding_tax": 998, "total_tax_amounts": [], "transfer_data": null, "webhooks_delivered_at": null}
Removes multiple line items from an invoice. This is only possible when an invoice is still a draft.
Parameters
- linesarray of objectsRequired
The line items to remove.
- invoice_
metadataobject Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to
metadata
.
Returns
The updated invoice without the removed line items is returned upon success. Otherwise, this call raises an error.
{ "id": "in_1NuhUa2eZvKYlo2CWYVhyvD9", "object": "invoice", "account_country": "US", "account_name": "Stripe.com", "account_tax_ids": null, "amount_due": 998, "amount_paid": 0, "amount_remaining": 998, "amount_shipping": 0, "application": null, "application_fee_amount": null, "attempt_count": 0, "attempted": false, "auto_advance": false, "automatic_tax": { "enabled": false, "liability": null, "status": null }, "billing_reason": "manual", "charge": null, "collection_method": "charge_automatically", "created": 1695758664, "currency": "usd", "custom_fields": null, "customer": "cus_9s6XKzkNRiz8i3", "customer_address": null, "customer_email": "test@test.com", "customer_name": null, "customer_phone": null, "customer_shipping": null, "customer_tax_exempt": "none", "customer_tax_ids": [], "default_payment_method": null, "default_source": null, "default_tax_rates": [], "description": null, "discount": null, "discounts": [], "due_date": null, "effective_at": null, "ending_balance": null, "footer": null, "from_invoice": null, "hosted_invoice_url": null, "invoice_pdf": null, "issuer": { "type": "self" }, "last_finalization_error": null, "latest_revision": null, "lines": { "object": "list", "data": [ { "id": "il_1NuhUa2eZvKYlo2CC98Fg3Bo", "object": "line_item", "amount": 799, "amount_excluding_tax": 799, "currency": "usd", "description": "test description", "discount_amounts": [], "discountable": true, "discounts": [], "invoice_item": "ii_1NuhUa2eZvKYlo2CGeF7Qgx0", "livemode": false, "metadata": {}, "period": { "end": 1695758664, "start": 1695758664 }, "price": { "id": "price_1NuhLA2eZvKYlo2Cq1tIGEBp", "object": "price", "active": true, "billing_scheme": "per_unit", "created": 1695758080, "currency": "usd", "custom_unit_amount": null, "livemode": false, "lookup_key": null, "metadata": {}, "nickname": null, "product": "prod_Oi7aO1GPi1dWX7", "recurring": null, "tax_behavior": "unspecified", "tiers_mode": null, "transform_quantity": null, "type": "one_time", "unit_amount": 799, "unit_amount_decimal": "799" }, "proration": false, "proration_details": { "credited_items": null }, "quantity": 1, "subscription": null, "tax_amounts": [], "tax_rates": [], "type": "invoiceitem", "unit_amount_excluding_tax": "799" }, { "id": "il_1NuLVe2eZvKYlo2Canh35EfU", "object": "line_item", "amount": 199, "amount_excluding_tax": 199, "currency": "usd", "description": "Canned Coffee", "discount_amounts": [], "discountable": true, "discounts": [], "invoice_item": "ii_1NuLVd2eZvKYlo2CRWY0Hqgi", "livemode": false, "metadata": {}, "period": { "end": 1695674161, "start": 1695674161 }, "price": { "id": "price_1NuI212eZvKYlo2CWgdD8kET", "object": "price", "active": true, "billing_scheme": "per_unit", "created": 1695660793, "currency": "usd", "custom_unit_amount": null, "livemode": false, "lookup_key": null, "metadata": {}, "nickname": null, "product": "prod_OhhQNWDYdIbXYv", "recurring": null, "tax_behavior": "unspecified", "tiers_mode": null, "transform_quantity": null, "type": "one_time", "unit_amount": 199, "unit_amount_decimal": "199" }, "proration": false, "proration_details": { "credited_items": null }, "quantity": 1, "subscription": null, "tax_amounts": [], "tax_rates": [], "type": "invoiceitem", "unit_amount_excluding_tax": "199" } ], "has_more": false, "url": "/v1/invoices/upcoming/lines?customer=cus_9s6XKzkNRiz8i3" }, "livemode": false, "metadata": {}, "next_payment_attempt": null, "number": null, "on_behalf_of": null, "paid": false, "paid_out_of_band": false, "payment_intent": null, "payment_settings": { "default_mandate": null, "payment_method_options": null, "payment_method_types": null }, "period_end": 1688482163, "period_start": 1688395763, "post_payment_credit_notes_amount": 0, "pre_payment_credit_notes_amount": 0, "quote": null, "receipt_number": null, "redaction": null, "rendering": null, "rendering_options": null, "shipping_cost": null, "shipping_details": null, "starting_balance": 0, "statement_descriptor": null, "status": "draft", "status_transitions": { "finalized_at": null, "marked_uncollectible_at": null, "paid_at": null, "voided_at": null }, "subscription": null, "subscription_details": { "metadata": null }, "subtotal": 998, "subtotal_excluding_tax": 998, "tax": null, "test_clock": null, "total": 998, "total_discount_amounts": [], "total_excluding_tax": 998, "total_tax_amounts": [], "transfer_data": null, "webhooks_delivered_at": null}
Updates multiple line items on an invoice. This is only possible when an invoice is still a draft.
Parameters
- linesarray of objectsRequired
The line items to update.
- invoice_
metadataobject Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to
metadata
. For type=subscription line items, the incoming metadata specified on the request is directly used to set this value, in contrast to type=invoiceitem line items, where any existing metadata on the invoice line is merged with the incoming data.
Returns
The updated invoice is returned upon success. Otherwise, this call raises an error.
{ "id": "in_1NuhUa2eZvKYlo2CWYVhyvD9", "object": "invoice", "account_country": "US", "account_name": "Stripe.com", "account_tax_ids": null, "amount_due": 998, "amount_paid": 0, "amount_remaining": 998, "amount_shipping": 0, "application": null, "application_fee_amount": null, "attempt_count": 0, "attempted": false, "auto_advance": false, "automatic_tax": { "enabled": false, "liability": null, "status": null }, "billing_reason": "manual", "charge": null, "collection_method": "charge_automatically", "created": 1695758664, "currency": "usd", "custom_fields": null, "customer": "cus_9s6XKzkNRiz8i3", "customer_address": null, "customer_email": "test@test.com", "customer_name": null, "customer_phone": null, "customer_shipping": null, "customer_tax_exempt": "none", "customer_tax_ids": [], "default_payment_method": null, "default_source": null, "default_tax_rates": [], "description": null, "discount": null, "discounts": [], "due_date": null, "effective_at": null, "ending_balance": null, "footer": null, "from_invoice": null, "hosted_invoice_url": null, "invoice_pdf": null, "issuer": { "type": "self" }, "last_finalization_error": null, "latest_revision": null, "lines": { "object": "list", "data": [ { "id": "il_1NuhUa2eZvKYlo2CC98Fg3Bo", "object": "line_item", "amount": 799, "amount_excluding_tax": 799, "currency": "usd", "description": "test description", "discount_amounts": [], "discountable": true, "discounts": [], "invoice_item": "ii_1NuhUa2eZvKYlo2CGeF7Qgx0", "livemode": false, "metadata": {}, "period": { "end": 1695758664, "start": 1695758664 }, "price": { "id": "price_1NuhLA2eZvKYlo2Cq1tIGEBp", "object": "price", "active": true, "billing_scheme": "per_unit", "created": 1695758080, "currency": "usd", "custom_unit_amount": null, "livemode": false, "lookup_key": null, "metadata": {}, "nickname": null, "product": "prod_Oi7aO1GPi1dWX7", "recurring": null, "tax_behavior": "unspecified", "tiers_mode": null, "transform_quantity": null, "type": "one_time", "unit_amount": 799, "unit_amount_decimal": "799" }, "proration": false, "proration_details": { "credited_items": null }, "quantity": 1, "subscription": null, "tax_amounts": [], "tax_rates": [], "type": "invoiceitem", "unit_amount_excluding_tax": "799" }, { "id": "il_1NuLVe2eZvKYlo2Canh35EfU", "object": "line_item", "amount": 199, "amount_excluding_tax": 199, "currency": "usd", "description": "Canned Coffee", "discount_amounts": [], "discountable": true, "discounts": [], "invoice_item": "ii_1NuLVd2eZvKYlo2CRWY0Hqgi", "livemode": false, "metadata": {}, "period": { "end": 1695674161, "start": 1695674161 }, "price": { "id": "price_1NuI212eZvKYlo2CWgdD8kET", "object": "price", "active": true, "billing_scheme": "per_unit", "created": 1695660793, "currency": "usd", "custom_unit_amount": null, "livemode": false, "lookup_key": null, "metadata": {}, "nickname": null, "product": "prod_OhhQNWDYdIbXYv", "recurring": null, "tax_behavior": "unspecified", "tiers_mode": null, "transform_quantity": null, "type": "one_time", "unit_amount": 199, "unit_amount_decimal": "199" }, "proration": false, "proration_details": { "credited_items": null }, "quantity": 1, "subscription": null, "tax_amounts": [], "tax_rates": [], "type": "invoiceitem", "unit_amount_excluding_tax": "199" } ], "has_more": false, "url": "/v1/invoices/upcoming/lines?customer=cus_9s6XKzkNRiz8i3" }, "livemode": false, "metadata": {}, "next_payment_attempt": null, "number": null, "on_behalf_of": null, "paid": false, "paid_out_of_band": false, "payment_intent": null, "payment_settings": { "default_mandate": null, "payment_method_options": null, "payment_method_types": null }, "period_end": 1688482163, "period_start": 1688395763, "post_payment_credit_notes_amount": 0, "pre_payment_credit_notes_amount": 0, "quote": null, "receipt_number": null, "redaction": null, "rendering": null, "rendering_options": null, "shipping_cost": null, "shipping_details": null, "starting_balance": 0, "statement_descriptor": null, "status": "draft", "status_transitions": { "finalized_at": null, "marked_uncollectible_at": null, "paid_at": null, "voided_at": null }, "subscription": null, "subscription_details": { "metadata": null }, "subtotal": 998, "subtotal_excluding_tax": 998, "tax": null, "test_clock": null, "total": 998, "total_discount_amounts": [], "total_excluding_tax": 998, "total_tax_amounts": [], "transfer_data": null, "webhooks_delivered_at": null}
Invoice Rendering Templates are used to configure how invoices are rendered on surfaces like the PDF. Invoice Rendering Templates can be created from within the Dashboard, and they can be used over the API when creating invoices.
A billing alert is a resource that notifies you when a certain usage threshold on a meter is crossed. For example, you might create a billing alert to notify you when a certain user made 100 API requests.