Edmilson Santin Postado 7 Novembro, 2025 Postado 7 Novembro, 2025 Olá pessoal, tudo bem? Depois que atualizei o ACBR para a revisão 42300 do dia 20/10/2025 começaram a ser apresentados alertas na validação de notas com ICMS monofásico. Ao avaliar o problema, peguei como base a montagem da tag "pDIF" do grupo ICMS53. No meu sistema, configurei com 90, sendo que no XML monta "90.0000". Com isso, está tendo um alerta de que o campo tem o tamanho maior do que o preenchido. Lá no ACBrNFe.XmlWriter.pas temos o trecho que monta a tag "pDif" no grupo do ICMS53 (Monofásico): xmlNode.AppendChild(AddNode(tcDe4, 'N15', 'pDif', 01, 5, 0, NFe.Det[i].Imposto.ICMS.pDif, DSC_PDIF)); Nesse caso, o ACBr vai validar que o tamanho máximo do valor desse campo seja 5. Mas lá na NT, o tamanho do campo é "3v2-4", onde eu entendo que sejam 3 inteiros e de 2 a 4 decimais, podendo o tamanho do campo chegar até 7, e não 5. Nesse caso, não teria que fazer o mesmo tratamento que temos na montagem da tag "pICMS" por exemplo? Onde o tipo do campo é "FormatoValor4ou2" e o tamanho é montado dinamicamente: xmlNode.AppendChild(AddNode(FormatoValor4ou2, 'N16', 'pICMS', 01, IfThen(FpUsar_tcDe4, 07, 05), 1, NFe.Det[i].Imposto.ICMS.pICMS, DSC_PICMS)); Ou ainda na montagem da tag "pIBSUF"? Onde o tipo continua sendo "tcDe4" mas o tamanho está fixo em 7, permitindo 3 inteiras e 4 decimais: Result.AppendChild(AddNode(tcDe4, 'UB18', 'pIBSUF', 1, 7, 1, IBSUF.pIBSUF, DSC_PIBSUF)); Me parece que isso resolveria. Só que não vi nenhuma modificação nisso recentemente, mas após atualizar o ACBr começou a apresentar essa validação de alerta quando tenho um pDif de 10% ou maior. Aí não estou entendendo como antes não estava apresentando esse alerta. Alguém consegue me dizer se minha análise está errada e o que preciso fazer pra validar corretamente uma nota com pDif maior ou igual a 10%? Vale lembrar que o pDif é só um exemplo, mas temos outros campos das 4 CST's do ICMS monofásico que também estão assim. Estou anexando um XML que não consigo autorizar e também a NT em que me baseei para a análise. Desde já agradeço pela ajuda. NT2023.001v1.60-Tributação monofásica dos combustíveis.pdf 41251113284396000198550020000003121381083205-nfe.xml
Consultores juliomar.marchetti Postado 19 Novembro, 2025 Consultores Postado 19 Novembro, 2025 Chegou a aplicar uma das mudanças e tentar emitir ? viu se continuou o alerta? Juliomar Marchetti Ajude o Projeto ACBr crescer - Seja Pro discord: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!
Edmilson Santin Postado 19 Novembro, 2025 Autor Postado 19 Novembro, 2025 Olá Juliomar! Sim, alterei o tamanho dos campos conforme o tamanho máximo que o manual permite. Com isso deixou de exibir os alertas e a nota foi autorizada. Porém, percebi que foi feita uma modificação hoje mesmo pelo Ítalo, que corrige uma das tags (pDif). Então vou deixar aqui o trecho que código que modifiquei para que possa ser validado qual a melhor alternativa: case NFe.Det[i].Imposto.ICMS.CST of cst02 : begin xmlNode.AppendChild(AddNode(tcDe4, 'N15', 'qBCMono', 01, 15, 1, NFe.Det[i].Imposto.ICMS.qBCMono, DSC_QBCMONO)); xmlNode.AppendChild(AddNode(tcDe4, 'N15', 'adRemICMS', 01, 07, 1, NFe.Det[i].Imposto.ICMS.adRemICMS, DSC_ADREMICMS)); xmlNode.AppendChild(AddNode(tcDe2, 'N17', 'vICMSMono', 01, 15, 1, NFe.Det[i].Imposto.ICMS.vICMSMono, DSC_VICMSMONO)); end; cst15 : begin xmlNode.AppendChild(AddNode(tcDe4, 'N15', 'qBCMono', 01, 15, 1, NFe.Det[i].Imposto.ICMS.qBCMono, DSC_QBCMONO)); xmlNode.AppendChild(AddNode(tcDe4, 'N15', 'adRemICMS', 01, 07, 1, NFe.Det[i].Imposto.ICMS.adRemICMS, DSC_ADREMICMS)); xmlNode.AppendChild(AddNode(tcDe2, 'N17', 'vICMSMono', 01, 15, 1, NFe.Det[i].Imposto.ICMS.vICMSMono, DSC_VICMSMONO)); xmlNode.AppendChild(AddNode(tcDe4, 'N15', 'qBCMonoReten', 01, 15, 1, NFe.Det[i].Imposto.ICMS.qBCMonoReten, DSC_QBCMONORETEN)); xmlNode.AppendChild(AddNode(tcDe4, 'N15', 'adRemICMSReten', 01, 07, 1, NFe.Det[i].Imposto.ICMS.adRemICMSReten, DSC_ADREMICMSRETEN)); xmlNode.AppendChild(AddNode(tcDe2, 'N17', 'vICMSMonoReten', 01, 15, 1, NFe.Det[i].Imposto.ICMS.vICMSMonoReten, DSC_VICMSMONORETEN)); if NFe.Det[i].Imposto.ICMS.qBCMono <> 0 then begin xmlNode.AppendChild(AddNode(tcDe2, 'N15', 'pRedAdRem', 01, 05, 1, NFe.Det[i].Imposto.ICMS.pRedAdRem, DSC_PREDADREM)); xmlNode.AppendChild(AddNode(tcStr, 'N33b', 'motRedAdRem', 01, 01, 1, motRedAdRemToStr(nfe.Det[i].Imposto.ICMS.motRedAdRem), DSC_MOTREDADREM)); end; end; cst53 : begin xmlNode.AppendChild(AddNode(tcDe4, 'N15', 'qBCMono', 01, 15, 1, NFe.Det[i].Imposto.ICMS.qBCMono, DSC_QBCMONO)); xmlNode.AppendChild(AddNode(tcDe4, 'N15', 'adRemICMS', 01, 07, 0, NFe.Det[i].Imposto.ICMS.adRemICMS, DSC_ADREMICMS)); xmlNode.AppendChild(AddNode(tcDe2, 'N15', 'vICMSMonoOp', 01, 15, 0, NFe.Det[i].Imposto.ICMS.vICMSMonoOp, DSC_VICMSMONOOP)); xmlNode.AppendChild(AddNode(tcDe4, 'N15', 'pDif', 01, 07, 0, NFe.Det[i].Imposto.ICMS.pDif, DSC_PDIF)); xmlNode.AppendChild(AddNode(tcDe2, 'N43', 'vICMSMonoDif', 01, 15, 0, NFe.Det[i].Imposto.ICMS.vICMSMonoDif, DSC_VICMSMONODIF)); xmlNode.AppendChild(AddNode(tcDe2, 'N39', 'vICMSMono', 01, 15, 0, NFe.Det[i].Imposto.ICMS.vICMSMono, DSC_VICMSMONO)); end; cst61 : begin xmlNode.AppendChild(AddNode(tcDe4, 'N15', 'qBCMonoRet', 01, 15, 1, NFe.Det[i].Imposto.ICMS.qBCMonoRet, DSC_QBCMONORET)); xmlNode.AppendChild(AddNode(tcDe4, 'N15', 'adRemICMSRet', 01, 07, 1, NFe.Det[i].Imposto.ICMS.adRemICMSRet, DSC_ADREMICMSRET)); xmlNode.AppendChild(AddNode(tcDe2, 'N17', 'vICMSMonoRet', 01, 15, 1, NFe.Det[i].Imposto.ICMS.vICMSMonoRet, DSC_VICMSMONORET)); end; end; Qualquer dúvida estou à disposição!
Consultores juliomar.marchetti Postado 19 Novembro, 2025 Consultores Postado 19 Novembro, 2025 no caso anexe sua unit Juliomar Marchetti Ajude o Projeto ACBr crescer - Seja Pro discord: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!
Edmilson Santin Postado 19 Novembro, 2025 Autor Postado 19 Novembro, 2025 Segue em anexo. Ressalto que nessa versão eu sobrescrevi o que o Italo fez no último commit na montagem da tag pDif, então só precisa confirmar se fica OK dessa maneira que eu fiz. ACBrNFe.XmlWriter.pas 1
Edmilson Santin Postado 23 Abril Autor Postado 23 Abril Bom dia pessoal, tudo bem? Conseguem incorporar isso no repositório? Já tenho essa alteração há um bom tempo e está estável. Desde já agradeço!
Consultores juliomar.marchetti Postado 10 Julho Consultores Postado 10 Julho Em 23/04/2026 at 08:22, Edmilson Santin disse: Bom dia pessoal, tudo bem? Conseguem incorporar isso no repositório? Já tenho essa alteração há um bom tempo e está estável. Desde já agradeço! no svn At revision: 47136 Juliomar Marchetti Ajude o Projeto ACBr crescer - Seja Pro discord: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!
Consultores juliomar.marchetti Postado 10 Julho Consultores Postado 10 Julho Obrigado por reportar. Fechando. Para novas dúvidas, criar um novo tópico. Juliomar Marchetti Ajude o Projeto ACBr crescer - Seja Pro discord: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!
Recommended Posts