> For the complete documentation index, see [llms.txt](https://desenvolvedores.skyhub.com.br/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://desenvolvedores.skyhub.com.br/americanas-fulfillment/faturador/regras-tributarias.md).

# Regras Tributárias

As Regras Tributárias implicam o conjunto de dados fiscais que definirão como o imposto do produto será calculado e seu cadastro é realizado com o intuito de auxiliar no processo de geração da nota fiscal.

A estrutura da Regra Tributária seguirá campos pré-definidos de acordo com a necessidade do *seller* e para a criação, atualização e consulta destas regras serão utilizados os headers padronizados na API da Americanas e visualizados a seguir:

#### **Request headers:**

| Key                  | Value                                       |
| -------------------- | ------------------------------------------- |
| X-User-Email         | email\_de\_usuario                          |
| X-Api-Key            | token\_de\_integracao de sua conta SkyHub   |
| X-Accountmanager-Key | token\_account único de cada Plataforma/ERP |
| Accept               | application/json                            |
| Content-Type         | application/json                            |

Todas as ações descritas neste guia utilizarão a URL base:

```
https://api.skyhub.com.br/taxes/{platform}/rule
```

{% hint style="info" %}
O `{platform}` deve ser preenchido como **b2w**.
{% endhint %}

## POST - Cadastrando uma Regra Tributária

A criação de uma Regra Tributária via API deverá ser realizada através de um POST, contendo os headers padronizados e descritos acima, para o endpoint:

```
https://api.skyhub.com.br/taxes/b2w/rule
```

#### Request body:

```
{
  "name": "Nome da Regra",
  "origin": "SP",
  "operations": [
    {
      "type": "C",
      "ipi_cst": 50,
      "ipi_aliq": 1.1,
      "ipi_cod_enq": 999,
      "pis_cst": 1,
      "pis_aliq": 1.1,
      "confis_cst": 1,
      "confis_aliq": 1.1,
      "configs": [
        "BASE_ICMS",
        "FRETE_BASE_ICMS"
      ],
      "destinations": [
        {
          "uf": "SP",
          "icms_cst": 0,
          "icms_aliq_interna": 1.1,
          "icms_aliq_interestadual": 1.1,
          "icms_aliq_red": 1.1,
          "icms_aliq_fecp": 1.1,
          "icms_st_aliq_red": 1.1,
          "icms_efet_aliq": 1.1,
          "icms_efet_aliq_red": 1.1,
          "icms_difal_aliq_red": 1.1,
          "icms_st_aliq_mva": 1.1,
          "icms_cod_benef": "1",
          "icms_mot_des_icms": 0
        },
        {
          "uf": "RJ",
          "icms_cst": 0,
          "icms_aliq_interna": 2,
          "icms_aliq_interestadual": 2,
          "icms_aliq_red": 2,
          "icms_aliq_fecp": 2,
          "icms_st_aliq_red": 2,
          "icms_efet_aliq": 2,
          "icms_efet_aliq_red": 2,
          "icms_difal_aliq_red": 2,
          "icms_st_aliq_mva": 2,
          "icms_cod_benef": "2",
          "icms_mot_des_icms": 0
        }
      ]
    }
  ]
}
```

#### Atributos da requisição:

{% hint style="info" %}
A seguir temos algumas informações fornecidas pelo marketplace sobre os campos presentes na requisição para criação da Regra Tributária.
{% endhint %}

<table><thead><tr><th width="200.33333333333331">Atributo</th><th>Descrição</th><th>Exemplo</th></tr></thead><tbody><tr><td><em>name</em></td><td>Nome da Regra Tributária</td><td>"regra teste"</td></tr><tr><td><em>origin</em></td><td>UF de Origem</td><td>"SP"</td></tr><tr><td><em>type</em></td><td>Tipo de Destinatário</td><td><p>"C" - Contribuente /</p><p>"N" - Não contribuente /</p><p>"T" - Envio de estoque (Transferência ou Remessa)</p></td></tr><tr><td><em>ipi_cst</em></td><td>Situação Tributária do IPI</td><td><p>50 - Saída Tributada/</p><p>51 - Saída Tributável com Alíquota Zero/</p><p>52 - Saída Isenta/</p><p>53 - Saída Não-Tributada/</p><p>54 - Saída Imune/</p><p>55 - Saída com Suspensão/</p><p>99 - Outras Saídas</p></td></tr><tr><td><em>ipi_aliq</em></td><td>Alíquota de IPI</td><td>1.1</td></tr><tr><td><em>ipi_cod_enq</em></td><td>Cód. Enquadramento Legal IPI</td><td>999</td></tr><tr><td><em>pis_cst</em></td><td>Situação Tributária do PIS</td><td><p>1 - Op. Trib. com Alíquota Básica/</p><p>2 - Op. Trib. com Alíquota Diferenciada/ </p><p>4 - Op. Trib. Monofásica - Revenda a Alíquota Zero/</p><p>6 - Op. Trib. a Alíquota Zero/</p><p>7 - Op. Isenta da Contribuição/ </p><p>8 - Op. sem Incidência da Contribuição/ </p><p>9 - Op. com Suspensão da Contribuição/ </p><p>49 - Outras Op. de Saída/ </p><p>99 - Outras Operações</p></td></tr><tr><td><em>pis_aliq</em></td><td>Alíquota de PIS</td><td>1.1</td></tr><tr><td><em>confis_cst</em></td><td>Situação Tributária do CONFINS</td><td><p>1 - Operação Tributável com Alíquota Básica/</p><p>2 - Operação Tributável com Alíquota Diferenciada/</p><p>4 - Operação Tributável Monofásica - Revenda a Alíquota Zero/</p><p>6 - Operação Tributável a Alíquota Zero/</p><p>7 - Operação Isenta da Contribuição/</p><p>8 - Operação sem Incidência da Contribuição/</p><p>9 - Operação com Suspensão da Contribuição/</p><p>49 - Outras Operações de Saída/</p><p>99 - Outras Operações</p></td></tr><tr><td><em>confis_aliq</em></td><td>Alíquota de COFINS</td><td>1.1</td></tr><tr><td><em>configs</em></td><td>Regras Fiscais (constantes) que quando informadas constarão como SIM no Marketplace.</td><td>"BASE_ICMS"</td></tr><tr><td><em>destinations</em></td><td>Lista de Destinos</td><td></td></tr><tr><td><em>uf</em></td><td>UF Destino</td><td>SP</td></tr><tr><td><em>icms_cst</em></td><td>SitTrib. CST Regime Normal</td><td><p>0 - Tributada integralmente/</p><p>10 - Tributada e com cobrança do ICMS por substituição tributária/ </p><p>20 - Com redução de base de cálculo/ </p><p>30 - Isenta ou não tributada e com cobrança do ICMS por substituição tributária/</p><p>40 - Isenta/ </p><p>41 - Não tributada/ </p><p>50 - Suspensão/ </p><p>51 - Diferimento/ </p><p>60 - ICMS cobrado anteriormente por substituição tributária/ </p><p>70 - Com redução de base de cálculo e cobrança do ICMS por substituição tributária/ </p><p>90 - Outras</p></td></tr><tr><td><em>icms_aliq_interna</em></td><td>Aliquota de ICMS interna</td><td>1.1</td></tr><tr><td><em>icms_aliq_interestadual</em></td><td>Aliquota de ICMS Interestadual</td><td>1.1</td></tr><tr><td><em>icms_aliq_red</em></td><td>Reducao da Base de Calculo</td><td>1.1</td></tr><tr><td><em>icms_aliq_fecp</em></td><td>Aliquota ICMS FCP</td><td>1.1</td></tr><tr><td><em>icms_st_aliq_red</em></td><td>Redução da Base de Calculo ST</td><td>1.1</td></tr><tr><td><em>icms_efet_aliq</em></td><td>Aliquota do ICMS Efetivo</td><td>1.1</td></tr><tr><td><em>icms_efet_aliq_red</em></td><td>Redução da Base de Calculo do ICMS Efetivo</td><td>1.1</td></tr><tr><td><em>icms_difal_aliq_red</em></td><td>Redução da Base de Calculo do DIFAL</td><td>1.1</td></tr><tr><td><em>icms_st_aliq_mva</em></td><td>MVA (Ajustado)</td><td>1.1</td></tr><tr><td><em>icms_cod_benef</em></td><td>Código de benefício fiscal na UF</td><td>1</td></tr><tr><td><em>icms_mot_des_icms</em></td><td>Motivo de Desoneração</td><td>0</td></tr></tbody></table>

#### Example request:

```
curl --location --request POST 'https://api.skyhub.com.br/taxes/b2w/rule' \
--header 'X-User-Email: email_de_usuario' \
--header 'X-Api-Key: token_de_integracao de sua conta SkyHub' \
--header 'X-Accountmanager-Key: token_account único de cada Plataforma/ERP' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{
  "name": "Nova Regra - Teste",
  "origin": "SP",
  "operations": [
    {
      "type": "C",
      "ipi_cst": 50,
      "ipi_aliq": 1.1,
      "ipi_cod_enq": 999,
      "pis_cst": 1,
      "pis_aliq": 1.1,
      "confis_cst": 1,
      "confis_aliq": 1.1,
      "configs": [
        "BASE_ICMS",
        "FRETE_BASE_ICMS"
      ],
      "destinations": [
        {
          "uf": "SP",
          "icms_cst": 0,
          "icms_aliq_interna": 1.1,
          "icms_aliq_interestadual": 1.1,
          "icms_aliq_red": 1.1,
          "icms_aliq_fecp": 1.1,
          "icms_st_aliq_red": 1.1,
          "icms_efet_aliq": 1.1,
          "icms_efet_aliq_red": 1.1,
          "icms_difal_aliq_red": 1.1,
          "icms_st_aliq_mva": 1.1,
          "icms_cod_benef": "1",
          "icms_mot_des_icms": 0
        },
        {
          "uf": "RJ",
          "icms_cst": 0,
          "icms_aliq_interna": 2,
          "icms_aliq_interestadual": 2,
          "icms_aliq_red": 2,
          "icms_aliq_fecp": 2,
          "icms_st_aliq_red": 2,
          "icms_efet_aliq": 2,
          "icms_efet_aliq_red": 2,
          "icms_difal_aliq_red": 2,
          "icms_st_aliq_mva": 2,
          "icms_cod_benef": "2",
          "icms_mot_des_icms": 0
        }
      ]
    }
  ]
}'
```

#### Response esperado:

{% hint style="success" %}
200 \[Success] - OK: O retorno trará os dados inclusos para a regra criada, conforme exemplo a seguir:
{% endhint %}

```
{
    "filial": "cnpj_cd_direct",
    "id": "",
    "name": "Nova Regra - Teste",
    "operations": [
        {
            "configs": [
                "BASE_ICMS",
                "FRETE_BASE_ICMS"
            ],
            "confis_aliq": 1.1,
            "confis_cst": 1,
            "destinations": [
                {
                    "icms_aliq_fecp": 1.1,
                    "icms_aliq_interestadual": 1.1,
                    "icms_aliq_interna": 1.1,
                    "icms_aliq_red": 1.1,
                    "icms_cod_benef": "1",
                    "icms_cst": 0,
                    "icms_difal_aliq_red": 1.1,
                    "icms_efet_aliq": 1.1,
                    "icms_efet_aliq_red": 1.1,
                    "icms_mot_des_icms": 0,
                    "icms_st_aliq_mva": 1.1,
                    "icms_st_aliq_red": 1.1,
                    "uf": "SP"
                },
                {
                    "icms_aliq_fecp": 2.0,
                    "icms_aliq_interestadual": 2.0,
                    "icms_aliq_interna": 2.0,
                    "icms_aliq_red": 2.0,
                    "icms_cod_benef": "2",
                    "icms_cst": 0,
                    "icms_difal_aliq_red": 2.0,
                    "icms_efet_aliq": 2.0,
                    "icms_efet_aliq_red": 2.0,
                    "icms_mot_des_icms": 0,
                    "icms_st_aliq_mva": 2.0,
                    "icms_st_aliq_red": 2.0,
                    "uf": "RJ"
                }
            ],
            "ipi_aliq": 1.1,
            "ipi_cod_enq": 999,
            "ipi_cst": 50,
            "pis_aliq": 1.1,
            "pis_cst": 1,
            "type": "C"
        }
    ],
    "origin": "SP"
}
```

## GET - Consultando as Regras Tributárias&#x20;

É possível consultar via API as regras cadastradas na conta. Para esta ação, basta realizar um GET, utilizando os [headers](#request-headers) padronizados, para o endpoint base:

```
https://api.skyhub.com.br/taxes/b2w/rule
```

#### **Example request:**

```
curl --location --request GET 'https://api.skyhub.com.br/taxes/b2w/rule' \
--header 'X-User-Email: email_de_usuario' \
--header 'X-Api-Key: token_de_integracao de sua conta SkyHub' \
--header 'X-Accountmanager-Key: token_account único de cada Plataforma/ERP' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json'
```

#### Response esperado:

{% hint style="success" %}
200 \[Success] - OK: O retorno seguirá o modelo visualizado a seguir, contendo uma listagem das regras criadas:
{% endhint %}

```
{
    "rules": [
        {
            "date": "31/05/2023 14:32",
            "id": 1411,
            "name": "Nova Regra - Teste",
            "origin": "SP"
        },
        {
            "date": "06/06/2022 09:08",
            "id": 1410,
            "name": "Regra: Teste 02",
            "origin": "MG"
        },
        {
            "date": "03/06/2022 17:46",
            "id": 1409,
            "name": "Regra: Teste 01",
            "origin": "SP"
        }
    ]
}
```

## POST - Atualizando uma Regra Tributária

Ao realizar a consulta das regras cadastradas é possível observar que há um campo chamado **id**; este <mark style="color:red;">não deve ser adicionado na criação</mark> da Regra Tributária, pois é atribuído automaticamente à regra criada.&#x20;

O campo **id** visualizado na consulta será utilizado para a <mark style="color:green;">atualização</mark> da regra. A atualização de uma Regra Tributária se dá através da execução de um POST, utilizando os [headers](#request-headers) padronizados na API, para o endpoint base:

```
https://api.skyhub.com.br/taxes/b2w/rule
```

#### **Example request:**

```
curl --location --request POST 'https://api.skyhub.com.br/taxes/b2w/rule' \
--header 'X-User-Email: email_de_usuario' \
--header 'X-Api-Key: token_de_integracao de sua conta SkyHub' \
--header 'X-Accountmanager-key: token_account único de cada Plataforma/ERP' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{
  "id": "1411",
  "name": "Regra Atualizada - Teste",
  "origin": "SP",
  "operations": [
    {
      "type": "C",
      "ipi_cst": 50,
      "ipi_aliq": 1.1,
      "ipi_cod_enq": 999,
      "pis_cst": 1,
      "pis_aliq": 1.1,
      "confis_cst": 1,
      "confis_aliq": 1.1,
      "configs": [
        "BASE_ICMS",
        "FRETE_BASE_ICMS"
      ],
      "destinations": [
        {
          "uf": "SP",
          "icms_cst": 0,
          "icms_aliq_interna": 1.1,
          "icms_aliq_interestadual": 1.1,
          "icms_aliq_red": 1.1,
          "icms_aliq_fecp": 1.1,
          "icms_st_aliq_red": 1.1,
          "icms_efet_aliq": 1.1,
          "icms_efet_aliq_red": 1.1,
          "icms_difal_aliq_red": 1.1,
          "icms_st_aliq_mva": 1.1,
          "icms_cod_benef": "1",
          "icms_mot_des_icms": 0
        }
      ]
    }
  ]
}'
```

#### Response esperado:

{% hint style="success" %}
200 \[Success] - OK: Assim como na requisição de criação, o retorno trará os dados inclusos para a regra atualizada:
{% endhint %}

```
{
    "filial": "cnpj_cd_direct",
    "id": "1411",
    "name": "Regra Atualizada - Teste",
    "operations": [
        {
            "configs": [
                "BASE_ICMS",
                "FRETE_BASE_ICMS"
            ],
            "confis_aliq": 1.1,
            "confis_cst": 1,
            "destinations": [
                {
                    "icms_aliq_fecp": 1.1,
                    "icms_aliq_interestadual": 1.1,
                    "icms_aliq_interna": 1.1,
                    "icms_aliq_red": 1.1,
                    "icms_cod_benef": "1",
                    "icms_cst": 0,
                    "icms_difal_aliq_red": 1.1,
                    "icms_efet_aliq": 1.1,
                    "icms_efet_aliq_red": 1.1,
                    "icms_mot_des_icms": 0,
                    "icms_st_aliq_mva": 1.1,
                    "icms_st_aliq_red": 1.1,
                    "uf": "SP"
                }
            ],
            "ipi_aliq": 1.1,
            "ipi_cod_enq": 999,
            "ipi_cst": 50,
            "pis_aliq": 1.1,
            "pis_cst": 1,
            "type": "C"
        }
    ],
    "origin": "SP"
}
```
