Ao tentar transmitir uma nota, você pode ser deparar com este erro:

Rejeição 531: Total da BC ICMS difere do somatório dos itens

Causa

Este erro ocorre quando o valor total da Base de Cálculo do ICMS (ICMSTot) que é informado nos Totais da NF-e, for diferente da somatória dos itens (vProd) contidos na nota. Veja no exemplo abaixo

<det nItem="1">
    <prod>
        <cProd>789654</cProd>
        <cEAN/>
        <xProd>CALOTA</xProd>
        <NCM>87087090</NCM>
        <CFOP>5102</CFOP>
        <uCom>UN</uCom>
        <qCom>1.0000</qCom>
        <vUnCom>25,99</vUnCom>
        <vProd>25.99</vProd>
        <cEANTrib/>
        <uTrib>UN</uTrib>
        <qTrib>1.0000</qTrib>
        <vUnTrib>25.9900000000</vUnTrib>
        <indTot>1</indTot>
    </prod>
    <imposto>
        <ICMS>
            <ICMS00>
                <orig>0</orig>
                <CST>00</CST>
                <modBC>1</modBC>
                <vBC>25,99</vBC>
                <pICMS>12.00</pICMS>
                <vICMS>03,11</vICMS>
            </ICMS00>
        </ICMS>
...
 
    </imposto>
</det>
<det nItem="2">
    <prod>
        <cProd>789654</cProd>
        <cEAN/>
        <xProd>CALOTA</xProd>
        <NCM>87087090</NCM>
        <CFOP>5102</CFOP>
        <uCom>UN</uCom>
        <qCom>1.0000</qCom>
        <vUnCom>25.9900000000</vUnCom>
        <vProd>25.99</vProd>
        <cEANTrib/>
        <uTrib>UN</uTrib>
        <qTrib>1.0000</qTrib>
        <vUnTrib>25.9900000000</vUnTrib>
        <indTot>1</indTot>
    </prod>
    <imposto>
        <ICMS>
            <ICMS00>
                <orig>0</orig>
                <CST>00</CST>
                <modBC>1</modBC>
                <vBC>25.99</vBC>
                <pICMS>12.00</pICMS>
                <vICMS>03,11</vICMS>
            </ICMS00>
        </ICMS>
...
 
</det>
<total>
    <ICMSTot>
        <vBC>52,00</vBC>
        <vICMS>06,22</vICMS>
        <vICMSDeson>0.00</vICMSDeson>
        <vBCST>0.00</vBCST>
        <vST>0.00</vST>
        <vProd>51,98</vProd>
        <vFrete>0.00</vFrete>
        <vSeg>0.00</vSeg>
        <vDesc>0.00</vDesc>
        <vII>0.00</vII>
        <vIPI>0.00</vIPI>
        <vPIS>0.00</vPIS>
        <vCOFINS>0.00</vCOFINS>
        <vOutro>0.00</vOutro>
        <vNF>51,98</vNF>
        <vTotTrib>0.00</vTotTrib>
    </ICMSTot>
</total>

Neste exemplo, emitimos uma nota com dois itens, cada um com a Base de Cálculo no valor de R$25.99, totalizando R$51,98 porém foi informado no total da BC 52,00, o que dá uma pequena diferença, mas já é o necessário para gerar o erro. Como o somatório correto é R$ 51.98, a NF-e será rejeitada retornando o erro 531.

Como resolver?

A solução neste caso é bem simples, com exceção de alguns casos, em geral o valor total da base de cálculo é: BC total = bcprod.1 + bcprod.2 = valor.prod.1 + valor.prod.2 = valor total prod. Portanto, basta se atentar se o valor que está sendo passado na base de cálculo é o mesmo valor que está sendo passado no valor do produto, e se o total da base de cálculo bate com valor total dos produtos.