# Functions
Adds multiple line items to an invoice.
At any time, you can preview the upcoming invoice for a customer.
Permanently deletes a one-off invoice draft.
Stripe automatically finalizes drafts before sending and attempting payment on invoices.
Retrieves the invoice with the given ID.
You can list all invoices, or list the invoices for a specific customer.
When retrieving an invoice, you'll get a lines property containing the total count of line items and the first handful of those items.
Marking an invoice as uncollectible is useful for keeping track of bad debts that can be written off for accounting purposes.
This endpoint creates a draft invoice for a given customer.
Stripe automatically creates and then attempts to collect payment on invoices for customers on subscriptions according to your [subscriptions settings](https://dashboard.stripe.com/account/billing/automatic).
Removes multiple line items from an invoice.
Search for invoices you've previously created using Stripe's [Search Query Language](https://stripe.com/docs/search#search-query-language).
Stripe will automatically send invoices to customers according to your [subscriptions settings](https://dashboard.stripe.com/account/billing/automatic).
At any time, you can preview the upcoming invoice for a customer.
When retrieving an upcoming invoice, you'll get a lines property containing the total count of line items and the first handful of those items.
Draft invoices are fully editable.
Updates multiple line items on an invoice.
Mark a finalized invoice as void.
# Structs
Client is used to invoke /invoices APIs.
Iter is an iterator for invoices.
LineItemIter is an iterator for invoice line items.
SearchIter is an iterator for invoices.