Total da BC do ICMS difere do somatório dos itens
Rejeição 531: Total da BC ICMS difere do somatório dos itens
vBCtotalICMSTotO que significa esta rejeição
O valor declarado em <vBC> dentro do grupo <total><ICMSTot> (totalizador da nota) não bate com o somatório das bases de cálculo do ICMS dos itens. A SEFAZ percorre cada <det>, soma o vBC de cada <ICMS>, e compara com o valor declarado no totalizador. Diferença de mais que um centavo gera a 531.
Esse erro é comum em sistemas que calculam o ICMS item a item e fazem o totalizador a partir de uma fórmula independente, em vez de simplesmente somar os itens.
Causas mais comuns
- Cálculo de totais usando função estatística (round na média) em vez de soma direta dos itens.
- Itens com CST de isenção ou imunidade somados ao total quando não deveriam (CST
40,41,50não geram base de cálculo). - Arredondamento item por item, gerando soma diferente do total declarado.
- Frete ou despesas acessórias somadas no totalizador mas não nas bases dos itens.
- Cancelamento de um item após o cálculo do totalizador, sem recalcular.
- Conversão de moeda em operação de exportação aplicada em momentos diferentes.
Regra de validação oficial
O Anexo I do MOC define, na regra W03-10, que <vBC> em <ICMSTot> deve ser exatamente igual à soma de todos os <vBC> dos itens (<det>), considerando apenas os itens com CST que geram base tributada (00, 10, 20, 30, 51, 60, 70, 90 para CRT 3; ou ICMSSN* correspondentes para Simples).
Exemplo XML, antes (errado)
<det nItem="1">
<imposto>
<ICMS><ICMS00><vBC>18000.00</vBC></ICMS00></ICMS>
</imposto>
</det>
<det nItem="2">
<imposto>
<ICMS><ICMS00><vBC>5000.00</vBC></ICMS00></ICMS>
</imposto>
</det>
<total>
<ICMSTot>
<vBC>20000.00</vBC>
</ICMSTot>
</total>(soma correta seria 23000.00, não 20000.00)
Exemplo XML, depois (correto)
<det nItem="1">
<imposto>
<ICMS><ICMS00><vBC>18000.00</vBC></ICMS00></ICMS>
</imposto>
</det>
<det nItem="2">
<imposto>
<ICMS><ICMS00><vBC>5000.00</vBC></ICMS00></ICMS>
</imposto>
</det>
<total>
<ICMSTot>
<vBC>23000.00</vBC>
</ICMSTot>
</total>Passo a passo para corrigir
- Identifique cada item da nota e seu respectivo
<vBC>. - Some todos os
<vBC>dos itens com CST/CSOSN que geram base tributada. Itens isentos ou imunes têm<vBC>0.00</vBC>. - Atribua o resultado à tag
<vBC>em<ICMSTot>. - Não use fórmulas independentes para o total. Sempre derive do somatório dos itens.
- Reenvie a nota.
Como o FazendaNota previne
O FazendaNota calcula <ICMSTot> por agregação direta a partir dos itens, sem fórmula paralela. Cada <vBC> em <ICMSTot> é a soma matemática dos itens correspondentes, com a mesma regra de arredondamento usada nos itens, evitando divergência de centavos.
Rejeições relacionadas
- Rejeição 938, Não informada BCST, pST e ICMSST retido na operação anterior
- Rejeição 600, CSOSN incompatível na operação com não contribuinte
- Rejeição 215, Falha no Schema XML
Referência oficial
Esta rejeição está descrita no Anexo I - Leiaute e Regra de Validação do Manual de Orientação do Contribuinte (MOC) v7.0 da NF-e, publicado pelo CONFAZ. Texto integral em https://www.confaz.fazenda.gov.br/legislacao/arquivo-manuais/moc7-visao-geral.pdf