Causa:
Quando for emitida uma NF-e com o Total do IPI da NF-e (Campo: total / ICMSTot / vIPI) diferente do somatório do valor do IPI de cada item, será retornado a rejeição "538 - Total do IPI difere do somatório dos itens".
Exemplo:
Foi emitida uma NF-e com dois itens informados, cada um com o IPI calculado em R$ 144,67 e foi informado no Total do IPI o valor de R$ 290,00. Sendo o valor correto dessa soma R$ 289,34, a NF-e será rejeitada pelo motivo 538.
Campos no XML:
<det nItem="1"> ... <imposto> ... <IPI> <cEnq>999</cEnq> <IPITrib> <CST>50</CST> <vBC>2066.67</vBC> <pIPI>7.00</pIPI> <vIPI>144.67</vIPI> </IPITrib> </IPI>... </imposto></det><det nItem="2"> ... <imposto> ... <IPI> <cEnq>999</cEnq> <IPITrib> <CST>50</CST> <vBC>2066.67</vBC> <pIPI>7.00</pIPI> <vIPI>144.67</vIPI> </IPITrib> </IPI> ... </imposto></det><total> <ICMSTot> <vBC>2466.54</vBC> <vICMS>303.98</vICMS> <vICMSDeson>0.00</vICMSDeson> <vBCST>0.00</vBCST> <vST>0.00</vST> <vProd>4000.00</vProd> <vFrete>0.00</vFrete> <vSeg>0.00</vSeg> <vDesc>0.00</vDesc> <vII>0.00</vII> <vIPI>290.00</vIPI> <vPIS>68.20</vPIS> <vCOFINS>314.14</vCOFINS> <vOutro>0.00</vOutro> <vNF>4289.34</vNF> </ICMSTot></total>Solução:
Deve-se verificar e refazer o somatório do Valor do IPI de cada item e corrigir o Valor do IPI informado nos Totais da NF-e.
Há uma tolerância para mais ou para menos de R$ 0,01 de diferença do valor calculado sem aproximações.
<total> <ICMSTot> <vBC>2466.54</vBC> <vICMS>303.98</vICMS> <vICMSDeson>0.00</vICMSDeson> <vBCST>0.00</vBCST> <vST>0.00</vST> <vProd>4000.00</vProd> <vFrete>0.00</vFrete> <vSeg>0.00</vSeg> <vDesc>0.00</vDesc> <vII>0.00</vII> <vIPI>289.34</vIPI> <vPIS>68.20</vPIS> <vCOFINS>314.14</vCOFINS> <vOutro>0.00</vOutro> <vNF>4289.34</vNF> </ICMSTot></total>