# 17 - Devolução XML

No Motor de Cálculo é possivel consultar uma operação de devolução a partir de um XML.

Para isso basta indicar na tag “genérico” do cabeçalho a marcação "**finNFe=4**" e na tag “cData”, o XML em mãos da nota original ou até mesmo em formato Base64.

***<u>Nota</u>****: Caso o XML esteja em formato original, é necessário fazer um tratamento nele antes de enviar na requisição. Basta colocar antes de cada aspas dupla ( “ ), uma barra invertida ( \\ ). Caso o XML esteja em formato base64, não é necessário tratamento.*

Com isso a requisição não será feita por pesquisa de regra; somente será convertido os dados do XML em dados de devolução.

O retorno é exatamente os mesmos valores constantes no XML, o único cálculo que o motor fará é em relação a quantidade devolvida, pois como sabemos, algumas vezes uma devolução pode ocorrer de forma parcial.

Para a devolução parcial da quantidade do item, basta preencher um item na chamada, com a indicação da tag “**ID**” com o mesmo valor do “**ID**” do item do XML, e no campo “**qTrib**” da requisição indicar a quantidade a ser devolvido, com isso o motor de cálculo vai dividir os valores do XML pela quantidade do item, e depois multiplicar pela quantidade que será devolvida.

**<u>Exemplo</u>**:

Uma nota fiscal com 10 produtos diferentes, ou seja, contém 10 itens no XML, e um dos produtos, ID 1 da nota, consta uma quantidade de 5 (qTrib=5), mas a sua devolução será de apenas a quantidade de 1, então na chamada deve ser indicado um item com o ID “1” e o qTrib=1, assim o motor de cálculo vai calcular esse item:

 **<u>Dados do XML:</u>**

ID = 1  
qTrib = 5  
vBC = 520,00  
vIBSUF = 0,52

**<u>Dados enviado na chamada:</u>**

ID = 1  
qTrib = 1

**<u>Retorno do motor de cálculo desse item:</u>**

vBC = (vBC do XML/qTrib do XML)\*qTrib da chamada  
vBC = (520/5)\*1  
vBC = 104,00

vIBSUF = (vIBSUF do XML/qTrib do XML)\*qTrib da chamada  
vIBSUF = (0,52/5)\*1  
vIBSUF = 0,10

Caso a quantidade a ser devolvida seja a mesma do XML, não é necessário preencher nenhum campo da chamada, exceto data de cálculo que é obrigatório.

As definições que já temos para a Devolução por XML para o cálculo da tributação atual, não mudam, e podem ser consultadas através do manual abaixo:

[Clique aqui para acessar o manual de Devolução do Motor atual](https://documentacao.systax.com.br/books/tax-engine/page/anexo-1-devolucao)