HORIZON HASKELLDocslts/ghc-9.10.xc74966e2026-09-27Search names, modules, packages, or :: a typeCtrl K

GHC 9.10.3 · lts/ghc-9.10.x · c74966e · 2026-09-27

Modulestripeapi-3.0.0.0Haskell2010

StripeAPI.Types.Invoice

Contains the types generated from the schema Invoice

  • 39 types
  • 12 values
datadata Invoice
#

Defines the object schema located at components.schemas.invoice in the specification.

Invoices are statements of amounts owed by a customer, and are either generated one-off, or generated periodically from a subscription.

They contain invoice items, and proration adjustments that may be caused by subscription upgrades/downgrades (if necessary).

If your invoice is configured to be billed through automatic charges, Stripe automatically finalizes your invoice and attempts payment. Note that finalizing the invoice, when automatic, does not happen immediately as the invoice is created. Stripe waits until one hour after the last webhook was successfully sent (or the last webhook timed out after failing). If you (and the platforms you may have connected to) have no webhooks configured, Stripe waits one hour after creation to finalize the invoice.

If your invoice is configured to be billed by sending an email, then based on your email settings, Stripe will email the invoice to your customer and await payment. These emails can contain a link to a hosted page to pay the invoice.

Stripe applies any customer credit on the account before determining the amount due for the invoice (i.e., the amount that will be actually charged). If the amount due for the invoice is less than Stripe's minimum allowed charge per currency, the invoice is automatically marked paid, and we add the amount due to the customer's credit balance which is applied to the next invoice.

More details on the customer's credit balance are here.

Related guide: Send Invoices to Customers.

Constructors

Instances4Eq, Show, FromJSON, ToJSON
  • Eq InvoiceDefined in stripeapi-3.0.0.0 · StripeAPI.Types.Invoice
  • Show InvoiceDefined in stripeapi-3.0.0.0 · StripeAPI.Types.Invoice
  • FromJSON InvoiceDefined in stripeapi-3.0.0.0 · StripeAPI.Types.Invoice
  • ToJSON InvoiceDefined in stripeapi-3.0.0.0 · StripeAPI.Types.Invoice

Create a new Invoice with all required fields.

Defines the oneOf schema located at components.schemas.invoice.properties.account_tax_ids.items.anyOf in the specification.

Instances4Eq, Show, FromJSON, ToJSON

Defines the oneOf schema located at components.schemas.invoice.properties.application.anyOf in the specification.

ID of the Connect Application that created the invoice.

Instances4Eq, Show, FromJSON, ToJSON

Defines the enum schema located at components.schemas.invoice.properties.billing_reason in the specification.

Indicates the reason why the invoice was created. `subscription_cycle` indicates an invoice created by a subscription advancing into a new period. `subscription_create` indicates an invoice created due to creating a subscription. `subscription_update` indicates an invoice created due to updating a subscription. `subscription` is set for all old invoices to indicate either a change to a subscription or a period advancement. `manual` is set for all invoices unrelated to a subscription (for example: created via the invoice editor). The `upcoming` value is reserved for simulated invoices per the upcoming invoice endpoint. `subscription_threshold` indicates an invoice created due to a billing threshold being reached.

Constructors

Instances4Eq, Show, FromJSON, ToJSON

Defines the oneOf schema located at components.schemas.invoice.properties.charge.anyOf in the specification.

ID of the latest charge generated for this invoice, if any.

Instances4Eq, Show, FromJSON, ToJSON

Defines the enum schema located at components.schemas.invoice.properties.collection_method in the specification.

Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this invoice using the default source attached to the customer. When sending an invoice, Stripe will email this invoice to the customer with payment instructions.

Constructors

Instances4Eq, Show, FromJSON, ToJSON

Defines the oneOf schema located at components.schemas.invoice.properties.customer.anyOf in the specification.

The ID of the customer who will be billed.

Instances4Eq, Show, FromJSON, ToJSON

Defines the object schema located at components.schemas.invoice.properties.customer_address.anyOf in the specification.

The customer\'s address. Until the invoice is finalized, this field will equal \`customer.address\`. Once the invoice is finalized, this field will no longer be updated.

Constructors

Instances4Eq, Show, FromJSON, ToJSON

Defines the object schema located at components.schemas.invoice.properties.customer_shipping.anyOf in the specification.

The customer\'s shipping information. Until the invoice is finalized, this field will equal \`customer.shipping\`. Once the invoice is finalized, this field will no longer be updated.

Constructors

Instances4Eq, Show, FromJSON, ToJSON

Defines the enum schema located at components.schemas.invoice.properties.customer_tax_exempt in the specification.

The customer's tax exempt status. Until the invoice is finalized, this field will equal `customer.tax_exempt`. Once the invoice is finalized, this field will no longer be updated.

Constructors

Instances4Eq, Show, FromJSON, ToJSON

Defines the oneOf schema located at components.schemas.invoice.properties.default_payment_method.anyOf in the specification.

ID of the default payment method for the invoice. It must belong to the customer associated with the invoice. If not set, defaults to the subscription's default payment method, if any, or to the default payment method in the customer's invoice settings.

Instances4Eq, Show, FromJSON, ToJSON

Defines the oneOf schema located at components.schemas.invoice.properties.default_source.anyOf in the specification.

ID of the default payment source for the invoice. It must belong to the customer associated with the invoice and be in a chargeable state. If not set, defaults to the subscription's default source, if any, or to the customer's default source.

Instances4Eq, Show, FromJSON, ToJSON

Defines the object schema located at components.schemas.invoice.properties.discount.anyOf in the specification.

Describes the current discount applied to this invoice, if there is one. Not populated if there are multiple discounts.

Constructors

Instances4Eq, Show, FromJSON, ToJSON

Defines the oneOf schema located at components.schemas.invoice.properties.discount.anyOf.properties.customer.anyOf in the specification.

The ID of the customer associated with this discount.

Instances4Eq, Show, FromJSON, ToJSON

Defines the enum schema located at components.schemas.invoice.properties.discount.anyOf.properties.object in the specification.

String representing the object's type. Objects of the same type share the same value.

Constructors

Instances4Eq, Show, FromJSON, ToJSON

Defines the oneOf schema located at components.schemas.invoice.properties.discount.anyOf.properties.promotion_code.anyOf in the specification.

The promotion code applied to create this discount.

Instances4Eq, Show, FromJSON, ToJSON

Defines the oneOf schema located at components.schemas.invoice.properties.discounts.items.anyOf in the specification.

Instances4Eq, Show, FromJSON, ToJSON

Defines the object schema located at components.schemas.invoice.properties.last_finalization_error.anyOf in the specification.

The error encountered during the previous attempt to finalize the invoice. This field is cleared when the invoice is successfully finalized.

Constructors

Instances4Eq, Show, FromJSON, ToJSON

Defines the object schema located at components.schemas.invoice.properties.last_finalization_error.anyOf.properties.source.anyOf in the specification.

The source object for errors returned on a request involving a source.

Constructors

Instances4Eq, Show, FromJSON, ToJSON

Defines the oneOf schema located at components.schemas.invoice.properties.last_finalization_error.anyOf.properties.source.anyOf.properties.account.anyOf in the specification.

The ID of the account that the bank account is associated with.

Instances4Eq, Show, FromJSON, ToJSON

Defines the enum schema located at components.schemas.invoice.properties.last_finalization_error.anyOf.properties.source.anyOf.properties.available_payout_methods.items in the specification.

Constructors

Instances4Eq, Show, FromJSON, ToJSON

Defines the oneOf schema located at components.schemas.invoice.properties.last_finalization_error.anyOf.properties.source.anyOf.properties.customer.anyOf in the specification.

The ID of the customer that the bank account is associated with.

Instances4Eq, Show, FromJSON, ToJSON

Defines the enum schema located at components.schemas.invoice.properties.last_finalization_error.anyOf.properties.source.anyOf.properties.object in the specification.

String representing the object's type. Objects of the same type share the same value.

Constructors

Instances4Eq, Show, FromJSON, ToJSON

Defines the object schema located at components.schemas.invoice.properties.last_finalization_error.anyOf.properties.source.anyOf.properties.owner.anyOf in the specification.

Information about the owner of the payment instrument that may be used or required by particular source types.

Constructors

Instances4Eq, Show, FromJSON, ToJSON

Defines the object schema located at components.schemas.invoice.properties.last_finalization_error.anyOf.properties.source.anyOf.properties.owner.anyOf.properties.address.anyOf in the specification.

Owner\'s address.

Constructors

Instances4Eq, Show, FromJSON, ToJSON

Defines the object schema located at components.schemas.invoice.properties.last_finalization_error.anyOf.properties.source.anyOf.properties.owner.anyOf.properties.verified_address.anyOf in the specification.

Verified owner\'s address. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated.

Constructors

Instances4Eq, Show, FromJSON, ToJSON

Defines the oneOf schema located at components.schemas.invoice.properties.last_finalization_error.anyOf.properties.source.anyOf.properties.recipient.anyOf in the specification.

The recipient that this card belongs to. This attribute will not be in the card object if the card belongs to a customer or account instead.

Instances4Eq, Show, FromJSON, ToJSON

Defines the enum schema located at components.schemas.invoice.properties.last_finalization_error.anyOf.properties.source.anyOf.properties.type in the specification.

The `type` of the source. The `type` is a payment method, one of `ach_credit_transfer`, `ach_debit`, `alipay`, `bancontact`, `card`, `card_present`, `eps`, `giropay`, `ideal`, `multibanco`, `klarna`, `p24`, `sepa_debit`, `sofort`, `three_d_secure`, or `wechat`. An additional hash is included on the source with a name matching this value. It contains additional information specific to the payment method used.

Constructors

Instances4Eq, Show, FromJSON, ToJSON

Defines the enum schema located at components.schemas.invoice.properties.last_finalization_error.anyOf.properties.type in the specification.

The type of error returned. One of `api_error`, `card_error`, `idempotency_error`, or `invalid_request_error`

Constructors

Instances4Eq, Show, FromJSON, ToJSON
datadata InvoiceLines'
#

Defines the object schema located at components.schemas.invoice.properties.lines in the specification.

The individual line items that make up the invoice. `lines` is sorted as follows: invoice items in reverse chronological order, followed by the subscription, if any.

Constructors

Instances4Eq, Show, FromJSON, ToJSON

Defines the oneOf schema located at components.schemas.invoice.properties.on_behalf_of.anyOf in the specification.

The account (if any) for which the funds of the invoice payment are intended. If set, the invoice will be presented with the branding and support information of the specified account. See the Invoices with Connect documentation for details.

Instances4Eq, Show, FromJSON, ToJSON

Defines the oneOf schema located at components.schemas.invoice.properties.payment_intent.anyOf in the specification.

The PaymentIntent associated with this invoice. The PaymentIntent is generated when the invoice is finalized, and can then be used to pay the invoice. Note that voiding an invoice will cancel the PaymentIntent.

Instances4Eq, Show, FromJSON, ToJSON

Defines the oneOf schema located at components.schemas.invoice.properties.quote.anyOf in the specification.

The quote this invoice was generated from.

Instances4Eq, Show, FromJSON, ToJSON

Defines the object schema located at components.schemas.invoice.properties.rendering_options.anyOf in the specification.

Options for invoice PDF rendering.

Constructors

Instances4Eq, Show, FromJSON, ToJSON

Defines the enum schema located at components.schemas.invoice.properties.status in the specification.

The status of the invoice, one of `draft`, `open`, `paid`, `uncollectible`, or `void`. Learn more

Constructors

Instances4Eq, Show, FromJSON, ToJSON

Defines the oneOf schema located at components.schemas.invoice.properties.subscription.anyOf in the specification.

The subscription that this invoice was prepared for, if any.

Instances4Eq, Show, FromJSON, ToJSON

Defines the oneOf schema located at components.schemas.invoice.properties.test_clock.anyOf in the specification.

ID of the test clock this invoice belongs to.

Instances4Eq, Show, FromJSON, ToJSON

Defines the object schema located at components.schemas.invoice.properties.transfer_data.anyOf in the specification.

The account (if any) the payment will be attributed to for tax reporting, and where funds from the payment will be transferred to for the invoice.

Constructors

Instances4Eq, Show, FromJSON, ToJSON

Defines the oneOf schema located at components.schemas.invoice.properties.transfer_data.anyOf.properties.destination.anyOf in the specification.

The account where funds from the payment will be transferred to upon payment success.

Instances4Eq, Show, FromJSON, ToJSON