# `Stripe.Services.InvoiceRenderingTemplateService`
[🔗](https://github.com/jeffhuen/tiger_stripe/blob/main/lib/stripe/services/invoice_rendering_template_service.ex#L2)

InvoiceRenderingTemplate

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.

# `archive`

```elixir
@spec archive(Stripe.Client.t(), String.t(), map(), keyword()) ::
  {:ok, term()} | {:error, Stripe.Error.t()}
```

Archive an invoice rendering template

Updates the status of an invoice rendering template to ‘archived’ so no new Stripe objects (customers, invoices, etc.) can reference it. The template can also no longer be updated. However, if the template is already set on a Stripe object, it will continue to be applied on invoices generated by it.

# `list`

```elixir
@spec list(Stripe.Client.t(), map(), keyword()) ::
  {:ok, term()} | {:error, Stripe.Error.t()}
```

List all invoice rendering templates

List all templates, ordered by creation date, with the most recently created template appearing first.

# `retrieve`

```elixir
@spec retrieve(Stripe.Client.t(), String.t(), map(), keyword()) ::
  {:ok, term()} | {:error, Stripe.Error.t()}
```

Retrieve an invoice rendering template

Retrieves an invoice rendering template with the given ID. It by default returns the latest version of the template. Optionally, specify a version to see previous versions.

# `unarchive`

```elixir
@spec unarchive(Stripe.Client.t(), String.t(), map(), keyword()) ::
  {:ok, term()} | {:error, Stripe.Error.t()}
```

Unarchive an invoice rendering template

Unarchive an invoice rendering template so it can be used on new Stripe objects again.

---

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