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

TaxProductResourceTaxTransaction

A Tax Transaction records the tax collected from or refunded to your customer.

Related guide: [Calculate tax in your custom payment flow](https://docs.stripe.com/tax/custom#tax-transaction)

# `create_from_calculation`

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

Create a transaction from a calculation

Creates a Tax Transaction from a calculation, if that calculation hasn’t expired. Calculations expire after 90 days.

# `create_reversal`

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

Create a reversal transaction

Partially or fully reverses a previously created `Transaction`.

# `retrieve`

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

Retrieve a transaction

Retrieves a Tax `Transaction` object.

---

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