Definições e Fluxo Operacional
Definições
Para atender as necessidades dos clientes que realizam devolução via XML ou considerando a regra enviada no TaaS ou no motor de cálculo, criamos a tela de “Gestão de Devolução”.
Com o apoio das informações preenchidas nessa tela, permite que o cliente envie na chamada do TaaS ou do motor de cálculo, o arquivo XML da nota fiscal de venda ou compra e retona o cálculo da devolução considerando as informações do XML ou considere as informações da regra original de compra ou venda ou qualquer outra operação e realizando as trocas de CFOP e CST conforme definido na tabela de Gestão de Devolução.
O funcionamento dessa rotina consiste no seguinte fluxo para os clientes que utilizam o formato de envio do XML na chamada do TaaS ou do motor:
Ø A chamada no TaaS deverá ser enviada com os OperationNatureCode = RV ou RC ou RO e outros OperationNatureCodes definidos pelos clientes e que atendam operações de devolução e assim como ocorre normalmente, vai passar pela determinação e perfil e enviar a requisição para o motor de cálculo considerando a regra definida conforme parâmetros enviados;
Ø Para os casos de clientes que usam a rotina de envio do XML na chamada do TaaS, deve ser enviado na tag “referenceIDXML” ou na chamada do motor de cálculo deve ser enviado na tag “Cdata” o XML da nota fiscal original (de compra ou venda) convertido ou não em Base 64;
Ø deverá ser enviado nas tags "itemCode" e "quantity", respectivamente, o código do item que será devolvido, além da quantidade (que poderá ser total ou parcial),
Ø Nas chamadas do TaaS também é enviado a tag “referenceIDItem”, essa marcação serve para indicar qual é o item da NF que está sendo devolvido.
Ø A chamada enviada pelo TaaS vai passar pela determinação e perfil e enviar a requisição para o motor de cálculo que utilizará as informações da nota fiscal para executar os cálculos e devolver o resultado;
Ø o motor receberá os campos de "cprod" e "qtrib" e considerará as informações do XML para devolução;
Ø mesmo que seja enviado um determinado valor na tag "unitPrice" o mesmo será desconsiderado no cálculo, pois será usado exclusivamente o valor unitário da NF;
Ø Os campos de CFOP e CST serão retornados conforme a informação da tabela de “Gestão de Devolução” no cockpit;
Ø Para calcular os valores referente o Pis e Cofins:
Quando tem o bloco de Pis e Cofins na NF:
- O motor utiliza o vBC/quantidade total * quantidade devolvida
- aplica as alíquotas de Pis e Cofins que também foram enviadas no documento
- calcula os valores e devolve nas tags correspontes ("rate", "value" e "taxable")
Quando não tem o bloco de Pis e Cofins na NF:
- O motor de cálculo irá calcular a base de cálculo que basicamente deve ser (valor unitário x quantidade devolvida)
- O TaaS deverá receber esse valor nas tags "otherBaseAmount" ou "exemptedBaseAmount", de acordo com o CST previsto nas definições do TaaS;
- Nas devoluções, o motor não considera o parâmetro "gross or net", portanto, não há diferenciação entre cálculo net ou gross.
Para os clientes que utilizam o formato do consumo da regra no cockpit:
Ø A chamada no TaaS deverá ser enviada com os OperationNatureCode = RV ou RC ou RO e assim como ocorre normalmente, vai passar pela determinação e perfil e enviar a requisição para o motor de cálculo considerando a regra definida conforme parâmetros enviados;
Ø A tag “referenceID” é enviada na chamada referenciando o ID da chamada original, isto é, do cálculo que originou a devolução.
Configurações TaxEngine
Para que o taxEngine retorne corretamente as informações nas operações devolução, foi necessário ativar algumas marcações específicas no cockpit.
Para os clientes que usam a rotina do envio do XML, as marcações são:
ü "devolucaoParcialXML" – Se estiver ativa, será retornado na chamada apenas o item que for indicado no campo itemCode ou cprod, ou seja os demais itens do XML ou base64, deverão ser desconsiderados;
ü "buscacProdXML" – Se estiver ativa, deverá identificar no XML ou base64 enviado qual o cProd correspondente ao cProd enviado na chamada, devendo ignorar o ID enviado na chamada;
ü "FederalDevolucaoXML" – Se estiver ativa, deverá buscar na tabela do Cockpit (Gestão de Devolução), um registro considerando:
o 1. registro vigente e ativo na data do cálculo;
o 2. Busca das linhas da tabela de acordo com as condições cadastradas;
o 3. Se encontrar um registro, o retorno das tags "CFOP" e "CST" serão alterados, considerando as informações da tabela.
Para o clientes que usam a rotina de utilização da regra do cockpit, a marcação é a seguinte:
ü “FederalDevolução” – Se estiver ativa, deverá buscar na tabela do Cockpit (Gestão de Devolução), um registro considerando:
o 1. registro vigente e ativo na data do cálculo;
o 2. Busca das linhas da tabela de acordo com as condições cadastradas;
o 3. Se encontrar um registro, o retorno das tags "CFOP" e "CST" serão alterados, considerando as informações da tabela;
o 4. Se não encontrar um registro na tabela de “Gestão de Devolução” no cockpit, o motor seguirá com a troca padrão conforme as tabelas:
| TPNF = 0 (Entrada) |
| Informação Original: | Troca para: |
|
CFOP da regra encontrada igual a 5101 ou 5102 e perfil destinação diferente de 1 |
CFOP 5202 |
| CFOP da regra encontrada igual a 5101 e destinação contém perfil igual a 1 |
CFOP 5202 |
| CFOP da regra encontrada igual a 6101 ou 6102 e perfil destinação diferente de 1 | CFOP 6202 |
| CFOP da regra encontrada igual a 5401 ou 5403 ou 5405 e perfil destinação diferente de 1 | CFOP 5411 |
|
CFOP da regra encontrada igual a 6401 ou 6403 e perfil destinação diferente de 1 |
CFOP 6411 |
| CFOP da regra encontrada igual a 7101 ou 7102 | CFOP 7202 |
|
CFOP da regra encontrada igual a 6409 ou 6152 e perfil destinação diferente de 1 |
CFOP 6209 |
| CFOP da regra encontrada igual a 5409 ou 5152 e perfil destinação diferente de 1 | CFOP 5209 |
| CFOP de Entrada na regra igual a 1556 | CFOP 5556 |
|
CFOP de Entrada na regra igual a 2556 |
CFOP 6556 |
| CFOP de Entrada na regra igual a 1407 | CFOP 5413 |
| CFOP de Entrada na regra igual a 2407 | CFOP 6413 |
| CFOP de Entrada na regra igual a 1551 | CFOP 5553 |
| CFOP de Entrada na regra igual a 2551 | CFOP 6553 |
| CFOP de Entrada na regra igual a 1406 |
CFOP 5412 |
| CFOP de Entrada na regra igual a 2406 | CFOP 6412 |
|
CFOP de Entrada na regra igual a 1653 |
CFOP 5662 |
| CFOP de Entrada na regra igual a 2653 | CFOP 6662 |
| TPNF = 1 (Saída) |
| Informação Original: | Troca para: |
|
CFOP da regra encontrada igual a 5101 e perfil destinação diferente a 1 |
CFOP 1201 |
| CFOP da regra encontrada igual a 6101 ou 6107 e perfil destinação diferente a 1 |
CFOP 2201 |
| CFOP da regra encontrada igual a 5102 e perfil destinação diferente de 1 | CFOP 1202 |
| CFOP da regra encontrada igual a 5117 ou 5910 ou 5120 ou 5118 ou 5119 e CST diferente de 10 ou 30 ou 70 e 60 e perfil destinação diferente de 1 | CFOP 1202 |
| CFOP da regra encontrada igual a 6108 e perfil destinação diferente de 1 | CFOP 2202 |
| CFOP da regra encontrada igual a 6108 e marcação no generico do item "CFOP igual a 2949" |
CFOP 2949 |
| CFOP da regra encontrada igual a 6117 ou 6910 ou 6120 ou 6118 ou 6119 e CST diferente de 10 ou 30 ou 70 e perfil destinação diferente de 1 | CFOP 2202 |
| CFOP da regra encontrada igual a 5401 | CFOP 1410 |
| CFOP da regra encontrada igual a 6401 | CFOP 2410 |
| CFOP da regra encontrada igual a 5403 ou 5405 |
CFOP 1411 |
| CFOP da regra encontrada igual a 5117 ou 5910 ou 5120 ou 5118 ou 5119 e CST igual a 10 ou 30 ou 70 ou 60 e perfil destinação diferente de 1 | CFOP 1411 |
|
CFOP da regra encontrada igual a 6401 ou 6403 |
CFOP 2411 |
| CFOP da regra encontrada igual a 6117 ou 6910 ou 6120 ou 6118 ou 6119 e CST igual a 10 ou 30 ou 70 e perfil destinação diferente de 1 |
CFOP 2411 |
| CFOP da regra encontrada igual a 7101 ou 7102 | CFOP 3210 |
| CFOP da regra encontrada igual a 5409 ou 5152 | CFOP 1209 |
| CFOP da regra encontrada igual a 6409 ou 6152 | CFOP 2209 |
|
CFOP da regra encontrada igual a 5922 |
CFOP 1949 |
|
CFOP da regra encontrada igual a 6922 ou 6949 |
CFOP 2949 |
|
CFOP da regra encontrada igual a 5949 |
CFOP 1949 |
|
CFOP da regra encontrada igual a 5106 |
CFOP 1202 |
|
CFOP da regra encontrada igual a 6106 |
CFOP 2202 |
|
CFOP da regra encontrada igual a 6109 |
CFOP 2203 |
|
CFOP da regra encontrada igual a 6110 |
CFOP 2204 |
IPI – Se estiver ativa a configuração “federalDevolução”:
o Cenq = 999
o Se o CFOP definido iniciar com 1 ou 2, o CST será 49
o Se o CFOP definido iniciar com 5 ou 6, o CST será 99
Pis e Cofins – Entrada – Se estiver ativa a configuração “federalDevolução”:
o Se o CFOP convertido iniciar com 5 ou 6, o CST será 49
Pis e Cofins – Saída - Se estiver ativa a configuração “federalDevolução”:
| Pis e Cofins |
| Informação Original: | Troca para: |
| Se regra com PIS_CST e COFINS_CST saida igual a 01 ou 02 ou 03 ou 05 |
CST 50
|
| Se regra com PIS_CST e COFINS_CST saida igual a 04 ou 06 | CST 73 |
| Se regra com PIS_CST e COFINS_CST saida igual a 09 | CST 72 |
| Se regra com PIS_CST e COFINS_CST saida igual a 07 | CST 71 |
|
Se regra com PIS_CST e COFINS_CST saida igual a 08
|
CST 74 |
|
Se regra com PIS_CST e COFINS_CST saida igual a 49
|
CST 98 |
Pis e Cofins – Saída - Se estiver inativa a configuração “federalDevolução”:
o Se o CST for igual a 1 – o motor fará a troca para o CST 50;
o Se o CST for diferente de 1 – o motor fará a troca para o CST 98;
o Se o CFOP convertido for igual a 1949 ou 2949, independente do CST – o motor fará troca para o CST 98.
Dessa forma o cliente tem autonomia para definir as informações de CFOP e CST na devolução.
Determinação de Perfil
As operações de devolução também passam pela tabela de determinação de perfil, assim como ocorre nas chamadas regulares. Para retornar correamente resultado, deve ser enviado o “operationNature” correspondente à devolução que está sendo praticada.
Os parâmetros de “operationNatureCode” standard para as operações de devolução são:
RO - Devolução com nota fiscal própria (utilizado para devolução de venda)
RC - Devolução com nota fiscal do cliente (utilizado para devolução de venda)
RV - Devolução ao fornecedor (utilizado para devolução de compra)
A informação está inserida nas linhas de determinação de perfil no cockpit: