# Regras de Imposto

As regras de imposto definem como os impostos são calculados para os produtos da sua loja. Cada regra de imposto especifica uma alíquota genérica (aplicada por padrão) e substituições opcionais específicas por país. Você atribui regras de imposto a produtos individuais — quando um cliente finaliza o checkout, o sistema consulta a regra de imposto de cada produto e calcula o imposto com base no **país de cobrança** do cliente.

> **Preços com imposto incluído na loja.** Conforme exigido para vendas B2C na UE, todos os preços que o cliente vê na loja do Capyshop — cards de produto, página do produto, carrinho, checkout e e-mails de confirmação de pedido — já incluem o imposto. O preço que você insere no formulário do produto é a base sem imposto; a loja recalcula e exibe o valor com imposto incluído.

## Navegando pelas suas regras de imposto

Abra **Tax Rules** na barra lateral do admin para ver a lista completa. A tabela exibe o nome, tipo, valor, status padrão e data de criação de cada regra.

![Lista de regras de imposto](/features/tax-rules/tax-rules-list.png)

| Coluna     | Descrição                                                                             |
| ---------- | ------------------------------------------------------------------------------------- |
| Name       | O nome da regra de imposto (clique para editar)                                       |
| Type       | **Percentage (%)** ou **Amount** (valor fixo por unidade)                             |
| Value      | A alíquota genérica (ex.: 21% ou R$ 2,00 por unidade)                                 |
| Default    | Exibe um badge **Default** se esta é a regra pré-selecionada no formulário de produto |
| Created At | Data em que a regra foi criada                                                        |
| Actions    | Menu suspenso com as opções Edit e Delete                                             |

Você pode **ordenar** clicando no cabeçalho de qualquer coluna e **pesquisar** digitando na barra de busca.

### Ações em lote

Selecione múltiplas regras de imposto usando as caixas de seleção para exibir o botão de ação em lote **Delete**. Um diálogo de confirmação será exibido antes que as regras sejam removidas permanentemente.

> **Importante:** Excluir uma regra de imposto a remove de todos os produtos que a utilizam. Esses produtos ficarão sem regra de imposto atribuída até que você defina uma nova.

## Criando uma regra de imposto

Clique em **Add Tax Rule** na página de listagem para abrir o formulário de criação.

![Criar regra de imposto](/features/tax-rules/create-tax-rule.png)

### Detalhes da regra de imposto

| Campo         | Obrigatório | Descrição                                                                                                                |
| ------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------ |
| Name          | Sim         | Um nome descritivo (ex.: "Standard VAT", "Reduced Rate")                                                                 |
| Generic Type  | Sim         | Escolha entre **Percentage (%)** ou **Amount** (valor fixo por unidade)                                                  |
| Generic Value | Sim         | A alíquota padrão. Insira uma porcentagem (ex.: 20 para 20%) ou um valor fixo por unidade                                |
| Default       | Não         | Alterne para tornar esta a regra de imposto pré-selecionada no formulário de produto. Apenas uma regra pode ser o padrão |

### Alíquotas específicas por país

Abaixo da alíquota genérica, você pode adicionar substituições para países específicos. Clique em **Add Country Rate** para adicionar uma nova entrada.

| Campo   | Obrigatório | Descrição                                                       |
| ------- | ----------- | --------------------------------------------------------------- |
| Country | Sim         | O país ao qual esta substituição se aplica                      |
| Type    | Sim         | **Percentage (%)** ou **Amount** para este país                 |
| Value   | Sim         | A alíquota para este país (substitui a alíquota genérica acima) |

Você pode adicionar quantas alíquotas específicas por país forem necessárias. Países não listados recorrerão à alíquota genérica.

> **Dica:** Use alíquotas específicas por país quando as alíquotas de imposto variam por região. Por exemplo, uma regra "Standard VAT" pode ter uma alíquota genérica de 21%, mas sobrescrever para 19% na Alemanha e 25% na Suécia.

#### Onde a alíquota por país entra em ação

A loja usa a **alíquota genérica** para exibir preços com imposto incluído nos cards, na página do produto, no carrinho e no checkout — nesse momento o país de cobrança do cliente ainda não é conhecido. A substituição por país é aplicada **no checkout**, depois que o endereço de cobrança é coletado, e a linha de imposto no resumo do pedido é recalculada para corresponder ao país de cobrança.

Quando uma regra de imposto possui sobreposições por país, a página do produto na loja exibe um pequeno aviso informando ao cliente que o valor final pode ser recalculado no checkout com base em sua localização.

#### Prévia de preços por país no formulário do admin

Abaixo do campo **Base Price** no formulário do produto, o Capyshop mostra o preço com imposto que os clientes verão. Quando a regra de imposto atribuída tiver alguma sobreposição por país, um botão **View per-country prices** aparece — clique nele para ver um detalhamento por país (Country, Rate, Final price), assim você pode confirmar quanto cada mercado pagará antes de salvar o produto.

## Editando uma regra de imposto

Clique em qualquer nome de regra de imposto na lista (ou escolha **Edit** no menu suspenso de ações) para abrir o formulário de edição. Ele contém os mesmos campos do formulário de criação, preenchidos com os dados atuais.

![Editar regra de imposto](/features/tax-rules/edit-tax-rule.png)

Clique em **Save Changes** quando terminar.

## Atribuindo regras de imposto a produtos

As regras de imposto são atribuídas no formulário de edição do produto. Ao editar um produto, você encontrará um menu suspenso **Tax Rule** que lista todas as regras de imposto disponíveis. Se você definir uma regra como padrão, ela será pré-selecionada para novos produtos.

![Menu suspenso de regra de imposto do produto](/features/tax-rules/product-tax-rule.png)

Um produto pode ter no máximo uma regra de imposto. Se nenhuma regra de imposto for atribuída, nenhum imposto será cobrado para aquele produto.

## Como as regras de imposto funcionam no checkout

Quando um cliente avança para o checkout, o sistema calcula o imposto para cada item no carrinho:

1. A regra de imposto atribuída a cada produto é consultada
2. O **país de cobrança** define a alíquota (quando "billing same as shipping" está ativo, o país de entrega é usado; caso contrário, o endereço de cobrança determina a alíquota)
3. Se o país de cobrança tiver uma alíquota **específica por país**, essa alíquota é usada
4. Caso contrário, a **alíquota genérica** é usada como fallback
5. Se o produto não tiver regra de imposto, o imposto é zero para aquele item

Quando o cliente altera o país de cobrança durante o checkout, o método de pagamento selecionado e qualquer Stripe PaymentIntent em andamento são limpos para que a linha de imposto seja recalculada para a nova jurisdição antes de o cliente pagar.

### Cálculo do imposto

| Tipo           | Fórmula                               | Exemplo                                      |
| -------------- | ------------------------------------- | -------------------------------------------- |
| **Percentage** | Preço x Quantidade x (Alíquota / 100) | R$ 50 x 2 x (21 / 100) = R$ 21,00 de imposto |
| **Amount**     | Alíquota x Quantidade                 | R$ 2,00 x 2 = R$ 4,00 de imposto             |

O **Estimated Tax** exibido no checkout é a soma dos valores de imposto de todos os itens. O preço que o cliente vê na loja já inclui esse imposto — a linha no resumo do pedido é o mesmo valor, detalhado para transparência.

> **Importante:** Os valores de imposto são capturados no momento em que o checkout é criado. Se você alterar uma regra de imposto depois que um cliente já iniciou o checkout, o pedido dele utilizará a alíquota que estava em vigor quando ele entrou no checkout.
