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

TaxProductRegistrationsResourceTaxRegistration

A Tax `Registration` lets us know that your business is registered to collect tax on payments within a region, enabling you to [automatically collect tax](https://docs.stripe.com/tax).

Stripe doesn't register on your behalf with the relevant authorities when you create a Tax `Registration` object. For more information on how to register to collect tax, see [our guide](https://docs.stripe.com/tax/registering).

Related guide: [Using the Registrations API](https://docs.stripe.com/tax/registrations-api)

# `create`

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

Create a registration

Creates a new Tax `Registration` object.

# `list`

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

List registrations

Returns a list of Tax `Registration` objects.

# `retrieve`

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

Retrieve a registration

Returns a Tax `Registration` object.

# `update`

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

Update a registration

Updates an existing Tax `Registration` object.

A registration cannot be deleted after it has been created. If you wish to end a registration you may do so by setting `expires_at`.

---

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