# `StripeManaged.Invoice`
[🔗](https://github.com/safemyprivacy0-bit/stripe_managed/blob/main/lib/stripe_managed/invoice.ex#L1)

Retrieve invoices generated by Managed Payments subscriptions.

Invoices include the `hosted_invoice_url` field which gives
customers access to a Stripe-hosted invoice page.

Note: One-off invoices cannot be created on Managed Payments
subscriptions outside of billing periods.

# `list`

```elixir
@spec list(
  map(),
  keyword()
) :: StripeManaged.Client.response()
```

Lists invoices. Filter by `customer`, `subscription`, `status`, etc.

# `list_all`

```elixir
@spec list_all(
  map(),
  keyword()
) :: Enumerable.t()
```

Returns a lazy Stream of all invoices, auto-paginating.

# `retrieve`

```elixir
@spec retrieve(
  String.t(),
  keyword()
) :: StripeManaged.Client.response()
```

Retrieves an invoice by ID.

# `upcoming`

```elixir
@spec upcoming(
  map(),
  keyword()
) :: StripeManaged.Client.response()
```

Retrieves the upcoming invoice for a subscription.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
