Em função de o Ambiente Nacional estar apresentando erro não catalogado no dia de hoje, não foi possível emitir notas para validar a alteração proposta.
A intenção, neste momento, é apenas compartilhar a ideia com a comunidade e avaliar se a abordagem faz sentido, não sendo ainda o momento de submeter a alteração.
Segue sugestão de correção para tratamento do erro:
Durante um atendimento de chamado aqui na empresa, nos deparamos com um cliente emitindo NFSe para um tomador no exterior com CodPaisIBGE 1508 – JERSEY, ILHA DO CANAL.
Na análise do caso, foi identificado que esse código IBGE não estava retornando a respectiva sigla ISO2 (JE), o que ocasionava a rejeição pelo Ambiente Nacional.
A partir desse ponto, foi realizada uma verificação mais ampla do relacionamento entre os códigos IBGE e ISO2. Durante essa análise, constatou-se que alguns códigos não existem na tabela de Países IBGE que utilizamos (base consolidada do EFD Contribuições), apesar de o array SiglaISO2Pais trazer uma equivalência ISO2.
Os códigos identificados foram: 200, 420, 990, 1023, 2925, 3212, 3433, 3930, 4898, 6939, 7552, 7811, 8753.
Para tratar esses cenários de forma mais explícita e previsível, a lógica de obtenção da sigla ISO2 passou a ser feita de forma controlada, em uma única estrutura.
Na implementação anterior, o relacionamento era feito com base em dois arrays distintos; com a solução proposta, o mapeamento IBGE × ISO2 fica centralizado em um único array, com o auxílio de um record, tornando a leitura, a manutenção e a validação dos códigos mais facil e centralizada.
O comportamento atual foi preservado, e a nova abordagem está protegida por uma diretiva de compilação (USAR_MATRIZ_TPAIS) dentro do método
ACBrNFSeXConversao.CodIBGEPaisToSiglaISO2, permitindo a avaliação da mudança sem impacto imediato para quem não optar por utilizá-la.
Fontes/ACBrDFe/ACBrNFSeX/Base/ACBrNFSeXConversao.pas - modified
Fontes/ACBrDFe/ACBrNFSeX/Base/PaisesIBGEISO.pas - added
acbr_pais_ibge_iso.zip
Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.