# `PhoenixKitBilling.Web.InvoiceDetail.TimelineEvent`
[🔗](https://github.com/BeamLabEU/phoenix_kit_billing/blob/0.5.1/lib/phoenix_kit_billing/web/invoice_detail/timeline_event.ex#L1)

Struct representing a single event in the invoice timeline.

## Fields

- `type` - Event type atom (`:created`, `:invoice_sent`, `:payment`, `:paid`,
  `:receipt_generated`, `:receipt_sent`, `:refund`, `:credit_note_sent`, `:voided`,
  `:invoice_sent_legacy`)
- `datetime` - When the event occurred
- `data` - Event-specific payload (transaction, send history entry, receipt number, or nil)

# `event_type`

```elixir
@type event_type() ::
  :created
  | :invoice_sent
  | :invoice_sent_legacy
  | :payment
  | :paid
  | :receipt_generated
  | :receipt_sent
  | :refund
  | :credit_note_sent
  | :voided
```

# `t`

```elixir
@type t() :: %PhoenixKitBilling.Web.InvoiceDetail.TimelineEvent{
  data: term(),
  datetime: DateTime.t() | NaiveDateTime.t() | nil,
  type: event_type()
}
```

---

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