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

InvoiceLineItem

Invoice Line Items represent the individual lines within an [invoice](https://docs.stripe.com/api/invoices) and only exist within the context of an invoice.

Each line item is backed by either an [invoice item](https://docs.stripe.com/api/invoiceitems) or a [subscription item](https://docs.stripe.com/api/subscription_items).

# `list`

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

Retrieve an invoice's line items

When retrieving an invoice, you’ll get a **lines** property containing the total count of line items and the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.

# `update`

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

Update an invoice's line item

Updates an invoice’s line item. Some fields, such as `tax_amounts`, only live on the invoice line item,
so they can only be updated through this endpoint. Other fields, such as `amount`, live on both the invoice
item and the invoice line item, so updates on this endpoint will propagate to the invoice item as well.
Updating an invoice’s line item is only possible before the invoice is finalized.

---

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