# `PaperTiger.Resources.TaxRate`
[🔗](https://github.com/EnaiaInc/paper_tiger/blob/v1.2.2/lib/paper_tiger/resources/tax_rate.ex#L1)

Handles TaxRate resource endpoints.

## Endpoints

- POST   /v1/tax_rates      - Create tax rate
- GET    /v1/tax_rates/:id  - Retrieve tax rate
- POST   /v1/tax_rates/:id  - Update tax rate
- GET    /v1/tax_rates      - List tax rates

Note: Tax rates cannot be deleted (audit purposes).

## TaxRate Object

    %{
      id: "txr_...",
      object: "tax_rate",
      created: 1234567890,
      active: true,
      display_name: "VAT",
      inclusive: false,
      jurisdiction: "EU",
      percentage: 20.0,
      metadata: %{},
      # ... other fields
    }

# `create`

```elixir
@spec create(Plug.Conn.t()) :: Plug.Conn.t()
```

Creates a new tax rate.

## Required Parameters

- display_name - Tax rate display name (e.g., "VAT")
- percentage - Tax percentage as decimal (e.g., 20.0 for 20%)
- inclusive - Whether tax is included in price (boolean)

## Optional Parameters

- active - Whether tax rate is active (default: true)
- jurisdiction - Geographic jurisdiction (e.g., "EU", "US-CA")
- metadata - Key-value metadata

# `list`

```elixir
@spec list(Plug.Conn.t()) :: Plug.Conn.t()
```

Lists all tax rates with pagination.

## Parameters

- limit - Number of items (default: 10, max: 100)
- starting_after - Cursor for pagination
- ending_before - Reverse cursor
- active - Filter by active status

# `retrieve`

```elixir
@spec retrieve(Plug.Conn.t(), String.t()) :: Plug.Conn.t()
```

Retrieves a tax rate by ID.

# `update`

```elixir
@spec update(Plug.Conn.t(), String.t()) :: Plug.Conn.t()
```

Updates a tax rate.

Note: Tax rates can only have limited fields updated.

## Updatable Fields

- active
- metadata

---

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