> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lerian.studio/llms.txt
> Use this file to discover all available pages before exploring further.

# Criando um Pacote de Tarifas

> Monte um novo Pacote de Tarifas no Módulo Midaz configurando informações básicas, faixas de valores, regras de tarifa fixa ou percentual, isenções e prioridades pela interface do Console.

Um Pacote de Tarifas agrupa regras de tarifa e define quando elas se aplicam a Transações.

## Antes de começar

***

* Habilite o **Fees Engine** em [Configurações do Módulo Midaz](/pt/platform/console/plugin-settings).
* Você precisa de um Ledger existente e pelo menos uma Conta que possa receber valores de tarifa.
* Se o pacote for para se aplicar apenas a uma rota ou segmento específico, crie esses registros primeiro.

## Criar o Pacote de Tarifas

***

<Steps>
  <Step>
    Vá para a página **Pacotes de Tarifas** e clique no botão **Novo Pacote**.
  </Step>

  <Step>
    O formulário **Novo Pacote de Tarifas** abre com várias seções para configurar.

    <Tip>
      Consulte o guia de campos para mais informações sobre os campos do formulário.
    </Tip>

    <Steps>
      <Step>
        Preencha a seção **Informações Básicas**.
      </Step>

      <Step>
        Configure a seção **Faixa de Valores**.

        <Note>
          Transações fora dessa faixa não recebem tarifas deste pacote.
        </Note>
      </Step>

      <Step>
        Clique no botão **Próximo**.
      </Step>

      <Step>
        Selecione uma das opções na seção **Adicionar Tarifa**:

        * `Flat Fee` - Valor fixo, independente do valor da transação.
        * `Percentage` - Percentual do valor da transação.
        * `Max Between Types` - Maior valor entre o fixo e o percentual.
      </Step>

      <Step>
        Adicione as informações da tarifa.
      </Step>

      <Step>
        (Opcional) Você pode adicionar outra regra de tarifa, se necessário. Para isso, selecione um novo tipo de tarifa e preencha as informações.
      </Step>

      <Step>
        Clique no botão **Próximo**.
      </Step>

      <Step>
        (Opcional) Configure a seção **Contas Isentas**:

        * Adicione os aliases de conta que você quer isentar de tarifas neste pacote
        * Clique em **Adicionar** para cada conta isenta
      </Step>

      <Step>
        Clique no botão **Próximo**.
      </Step>

      <Step>
        Revise as informações e confirme que está tudo correto.
      </Step>

      <Step>
        Clique no botão **Criar Pacote**.
      </Step>
    </Steps>
  </Step>
</Steps>

Se tudo der certo, o Console mostra uma mensagem de confirmação e abre a lista de Pacotes de Tarifas.

## Guia de campos

***

### Informações básicas

| Campo                     | Descrição                                                                  | Exemplo                            |
| ------------------------- | -------------------------------------------------------------------------- | ---------------------------------- |
| Nome do Pacote de Tarifas | Nome obrigatório do pacote. Use um nome que descreva o modelo de cobrança. | `Standard Transfer Fee`            |
| Descrição                 | Explicação de quando e por que o pacote se aplica.                         | `Fixed fee for standard transfers` |
| Rota de Transação         | Filtro de rota opcional para o pacote.                                     | `Pix Transfer Route`               |
| Segmento                  | Filtro de segmento opcional para tarifas direcionadas.                     | `Retail Customers`                 |
| Valor Mínimo              | Menor valor de transação elegível para o pacote.                           | `10.00`                            |
| Valor Máximo              | Maior valor de transação elegível para o pacote.                           | `500.00`                           |

### Regras de tarifa

Cada tarifa dentro de um pacote tem uma **Prioridade** (1 = aplicada primeiro). A tarifa com prioridade `1` deve usar `Original Amount` como Valor de Referência.

#### Tarifa fixa

Um valor fixo aplicado à Transação, independente do seu valor.

| Campo                   | Descrição                                                                                                                                               | Exemplo           |
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------- |
| Valor                   | O valor fixo cobrado por esta tarifa. Deve ser um número positivo.                                                                                      | `5.00`            |
| Nome da Tarifa          | Identificador único desta tarifa, usado como chave do objeto JSON. **Deve começar com uma letra ou underscore** e conter apenas letras, números ou `_`. | `taxaAdm`         |
| Valor de Referência     | Base usada no cálculo: `Original Amount` (valor da transação como enviado) ou `After Fees Amount` (valor após tarifas anteriores no pacote).            | `Original Amount` |
| ID da Conta de Crédito  | Alias da conta que recebe o valor da tarifa.                                                                                                            | `@fees_transfers` |
| Rota de Origem          | Opcional. Nome ou UUID da rota de origem para esta operação de tarifa.                                                                                  | `payments_in`     |
| Rota de Destino         | Opcional. Nome ou UUID da rota de destino para esta operação de tarifa.                                                                                 | `fees_revenue`    |
| Dedutível da transação? | Quando habilitado, a tarifa é deduzida do valor da transação (o recebedor paga); quando desabilitado, a tarifa é somada por cima (o remetente paga).    | Desligado         |

<Note>
  Quando você habilita **Dedutível da transação?**, o formulário força o **Valor de Referência** para `Original Amount` e desabilita a opção `After Fees Amount`.
</Note>

#### Tarifa percentual

Um percentual do valor da Transação.

| Campo                   | Descrição                                                                                                                                                  | Exemplo           |
| ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------- |
| Percentual              | Taxa percentual aplicada ao valor de referência. Deve ser maior que `0` e menor ou igual a `100`.                                                          | `2.5`             |
| Nome da Tarifa          | Identificador único desta tarifa, usado como chave do objeto JSON. Deve começar com uma letra ou underscore e conter apenas letras, números ou `_`.        | `processingFee`   |
| Valor de Referência     | `Original Amount` para cobrar sobre o valor da transação como enviado, ou `After Fees Amount` para cobrar sobre o valor após tarifas anteriores no pacote. | `Original Amount` |
| ID da Conta de Crédito  | Alias da conta que recebe o valor da tarifa.                                                                                                               | `@fees_revenue`   |
| Rota de Origem          | Opcional. Nome ou UUID da rota de origem para esta operação de tarifa.                                                                                     | `payments_in`     |
| Rota de Destino         | Opcional. Nome ou UUID da rota de destino para esta operação de tarifa.                                                                                    | `fees_revenue`    |
| Dedutível da transação? | Habilite para que a tarifa seja deduzida do valor da transação; desabilite para somar a tarifa por cima da transação.                                      | `Disabled`        |

#### Máximo entre tipos

Calcula um valor fixo **e** um percentual, depois aplica o maior resultado. O formulário exige os dois cálculos.

| Campo                        | Descrição                                                                                                                                           | Exemplo           |
| ---------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------- |
| Tarifa Fixa (Cálculos)       | Primeira linha de cálculo. Candidato a valor fixo. Deve ser um número positivo.                                                                     | `1.00`            |
| Tarifa Percentual (Cálculos) | Segunda linha de cálculo. Candidato a percentual; deve ser maior que `0` e menor ou igual a `100`.                                                  | `2.0`             |
| Nome da Tarifa               | Identificador único desta tarifa, usado como chave do objeto JSON. Deve começar com uma letra ou underscore e conter apenas letras, números ou `_`. | `guaranteeFee`    |
| Valor de Referência          | Base usada para calcular o candidato percentual antes da comparação.                                                                                | `Original Amount` |
| Conta de Crédito             | Alias da conta que recebe o valor final (o maior) da tarifa.                                                                                        | `@fees_guarantee` |
| Rota de Origem               | Opcional. Nome ou UUID da rota de origem para esta operação de tarifa.                                                                              | `payments_in`     |
| Rota de Destino              | Opcional. Nome ou UUID da rota de destino para esta operação de tarifa.                                                                             | `fees_revenue`    |
| Dedutível da transação?      | Quando habilitado, o maior dos dois resultados é deduzido do valor da transação; quando desabilitado, ele é somado por cima.                        | `Disabled`        |

<Note>
  O formulário **Máximo entre Tipos** sempre exige exatamente dois cálculos: um do tipo `Flat Fee` e um do tipo `Percentage Fee`. O Console calcula os dois e aplica o maior.
</Note>

### Contas isentas

| Campo          | Descrição                         | Exemplo                   |
| -------------- | --------------------------------- | ------------------------- |
| Alias da Conta | O alias da conta que será isenta. | `@customer_john_checking` |

## Notas importantes

***

### Ordem de prioridade das tarifas

Quando um pacote contém múltiplas tarifas, o Console as aplica em ordem de prioridade (menor número primeiro). Isso importa quando você usa `After Fees Amount` como referência, já que tarifas anteriores afetam a base de cálculo das tarifas seguintes.

**Exemplo**:

* Tarifa A (Prioridade 1): 1% sobre o valor original
* Tarifa B (Prioridade 2): 0,5% sobre o valor após tarifas

Em uma transação de \$100:

* Tarifa A = \$1,00 (1% de \$100)
* Tarifa B = \$0,495 (0,5% de \$99)

### Considerações sobre a faixa de valores

* Recomenda-se que as faixas não se sobreponham entre pacotes da mesma rota de transação
* Use `0.01` como mínimo para pacotes aos quais se recomenda que se apliquem a todas as transações
* Use um máximo alto (por exemplo, `999999999.99`) para não ter limite superior
* A faixa inclui Transações exatamente nos valores mínimo ou máximo

### Comportamento das contas isentas

* Contas isentas ignoram todas as tarifas do pacote, não apenas tarifas específicas
* Use aliases de conta (não IDs) ao adicionar contas isentas
* As isenções se aplicam quando a conta isenta é a **origem** da transação

## O que fazer a seguir

***

Depois de criar o Pacote de Tarifas, execute um cálculo de teste em [Executando uma Estimativa de Tarifa](/pt/products/midaz/fees/console/fe-fee-simulation) antes de usá-lo com Transações reais.

<Card title="Equivalente na API" type="tip" horizontal>
  [Endpoint de criação de pacote](/pt/reference/products/midaz/v2/create-package)
</Card>
