Gestão da devolução
Para atender as necessidades dos clientes que realizam devolução via XML 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 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:
Ø 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.
Marcações no Cockpit – Configuração do Tax Engine:
ü "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
Dessa forma o cliente tem autonomia para definir as informações de CFOP e CST na devolução.