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
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!
Recommended Posts
Crie uma conta ou entre para comentar
Você precisar ser um membro para fazer um comentário
Criar uma conta
Crie uma nova conta em nossa comunidade. É fácil!
Crie uma nova contaEntrar
Já tem uma conta? Faça o login.
Entrar Agora