2. Fiscal - NFe PROC005 - Ajustes Chave de Acesso Alfanumérica NF-e e NFC-e Projeto/Sistema:GERENCIAMENTO DE PROJETOS Versão do Template:1.2 Processo:Descrição Processo Versão do Documento:1.0 Responsável(eis): - Data: 05/01/2026 1. Introdução Este processo visa exemplificar a documentação padrão 2. Processo (adicionar fluxograma exemplo) I - Fluxograma Exemplo Processo Envolvidos Dados de Entrada Dados de Saída Processo N/A N/A N/A Processos Relacionados Documentação Exemplo 1 Documentação Exemplo 2 Especificação Funcional PROC005 - Ajustes Chave de Acesso Alfanumérica NF-e e NFC-e: Regras de Negócio: 1. Estrutura da chave de acesso (44 caracteres): A chave é composta por 9 blocos concatenados: UF(2) + AAMM(4) + CNPJ emitente(14) + modelo(2) + série(3) + número da nota(9) + tipo de emissão(1) + código numérico aleatório(8) + DV(1). Apenas o bloco do CNPJ pode conter letra, os demais blocos permanecem numéricos. 1.1 Exemplo de chave NUMÉRICA legada (referência): Para CNPJ numérico 12.345.678/0001-95 emitindo NF-e em SP (UF=35) em julho/2026, modelo 55, série 1, nota 123, tipo emissão normal (1), código 12345678 — a chave fica: 35 2607 12345678000195 55 001 000000123 1 12345678 + DV. Resultado: 35260712345678000195550010000001231123456786 (DV=6 calculado). 1.2. Exemplo de chave ALFANUMÉRICA nova: Para o mesmo cenário mas com CNPJ alfanumérico oficial 12.ABC.345/01DE-35 (publicado pela RFB como exemplo), a chave fica: 35 2607 12ABC34501DE35 55 001 000000123 1 12345678 + DV. Resultado: 35260712ABC34501DE3555001000000123112345678 + DV. O DV é calculado pelo mesmo algoritmo, agora considerando os valores ASCII das letras. 2. DV da chave gerado localmente (não pela lib): O dígito verificador da chave de acesso (44º caractere) é calculado pelo próprio projeto antes de enviar para a SEFAZ. A biblioteca de comunicação fiscal apenas recebe a chave já pronta. O algoritmo de cálculo (módulo 11 sobre os 43 caracteres anteriores, usando ASCII menos 48 para cada caractere) já é compatível com o formato alfanumérico. 2.1 Calculo: Serão utilizados, no cálculo do módulo 11, os valores relativos a letras maiúsculas da tabela código ASCII, como solução para unificar a representação de caracteres alfanuméricos. 2.2 Na rotina de cálculo do Dígito Verificador (DV) no CNPJ, serão substituídos os valores numéricos e alfanuméricos pelo valor decimal correspondente ao código constante na tabela ASCII e dele subtraído o valor 48. Desta forma os caracteres numéricos continuarão com os mesmos montantes, e os caracteres alfanuméricos terão os seguintes valores: A=17, B=18, C=19… e assim sucessivamente. Caractere ASCII Valor no cálculo '0' a '9' 48–57 0 a 9 'A' 65 17 'B' 66 18 'C' 67 19 'D' 68 20 'E' 69 21 'F' 70 22 'G' 71 23 'H' 72 24 'I' 73 25 'J' 74 26 'K' 75 27 'L' 76 28 'M' 77 29 'N' 78 30 'O' 79 31 'P' 80 32 'Q' 81 33 'R' 82 34 'S' 83 35 'T' 84 36 'U' 85 37 'V' 86 38 'W' 87 39 'X' 88 40 'Y' 89 41 'Z' 90 42 1.3 O calculo do DV chave de acesso deverá ser feito considerando o valor ASCII das letras do CNPJ contidos na chave, ATUALMENTE O SISTEMA JÁ APLICARIA ESSE ALGORITMO. Exemplo de chave: CHAVE ALFANUMÉRICA: 35260712ABC34501DE3555001000000123112345678 Bloco Tam Valor Significado cUF 2 35 São Paulo AAMM 4 2607 Julho/2026 CNPJ emitente 14 12ABC34501DE35 CNPJ alfanumérico (sem pontuação, em maiúsculas) mod 2 55 NF-e série 3 001 Série 1 (preenchida com zeros à esquerda) nNF 9 000000123 Nota nº 123 (zeros à esquerda) tpEmis 1 1 Emissão normal cNF 8 12345678 Código numérico aleatório da nota 1.3.1 Aplicado pesos cíclicos 2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9... da direita para a esquerda. 1.3.2 Soma dos produtos (por blocos para conferência): Posições 1–8 (cUF + AAMM + parte do CNPJ): 12+15+4+54+0+49+6+10 = 150 Posições 9–16 (CNPJ — bloco com A B C): 68+54+38+27+32+35+0+5 = 259 Posições 17–24 (CNPJ D E + mod + série + início nNF): 80+63+6+45+40+35+0+0 = 269 Posições 25–32 (nNF): 4+0+0+0+0+0+0+5 = 9 Posições 33–40 (tpEmis + parte do cNF): 8+9+2+9+16+21+24+25 = 114 Posições 41–43 (final do cNF): 24+21+16 = 61 Total = 862 Aplicado módulo 11 = 862 / 11 = 78  (resto 4,  porque 78 x 11  = 858 e 862 - 858 = 4). Resto = 4 Como o resto foi acima de 1, DV = 11-4=7. 2. Composição da chave preservando letras: Hoje a composição da chave aplica uma rotina que apaga letras do CNPJ antes de concatená-lo. Essa rotina precisa ser substituída por uma que preserve A-Z e 0-9, removendo apenas pontuação. Após a correção, o CNPJ alfanumérico entra na chave inteira e o DV sai correto automaticamente. Questões Técnicas: 1. A coluna 'nfe'.'chaveAcesso' esta como VARCHAR(255), não sendo necessário ajuste em banco. 2. Arquivos a alterar da composição da chave - Pontos críticos da montagem da chave: Arquivo : linha Risco Descrição / Ação adapters/xml/nfe/EnvioNfeAdapter.java : 29 Crítico CpfOrCnpjUtil.clean(empresa.getCnpj()) — herda correção de PROC001 (clean preserva letras). adapters/xml/nfe/EnvioNfeAdapter.java : 46 Sem ação ModValidador.of(11, value, value.length(), 4).calc() — algoritmo já compatível. adapters/xml/nfce/EnvioNfceAdapter.java : 36, 53 Crítico/Sem ação Mesma estrutura do NFe — herda PROC001. util/NFCeUtil.java : 145, 151 Crítico lpadTo(cnpjCpf.replaceAll("\D",""), 14, '0') — substituir limpeza por uma que preserve letras. adapters/xml/nfe/NfeAdapter.java : 67 Sem ação Apenas extrai o DV via chaveAcesso.substring(chaveAcesso.length() - 1) — agnóstico. validadores/ModValidador.java : 179, 192 Sem ação char - '0' é o algoritmo oficial alfanumérico. ©SOFTEN SISTEMAS 2026PROC005.1 - Ajustes em Preenchimentos em Tela Projeto/Sistema:GERENCIAMENTO DE PROJETOS Versão do Template:1.2 Processo:PROC005.1 - Ajustes em Preenchimentos em Tela Versão do Documento:1.0 Responsável(eis): Luís Leite Data: 27/05/2026 1. Introdução Este processo visa exemplificar a documentação padrão 2. Processo Processo Envolvidos Dados de Entrada Dados de Saída PROC005.1.1 - NFE - Ajustes em Preenchimentos em Tela - Referenciar Documento PROC005.1.2 - NFE - Ajustes em Preenchimentos em Tela - Imposto por Produto Processos Relacionados Documentação Exemplo 1 Documentação Exemplo 2 Especificação Funcional PROC005.1.1 - NFE - Ajustes em Preenchimentos em Tela - Referenciar Documento: Tela: Imagem I - Chave NFe Referenciada. Imagem II - Chave NFe Referenciada de antecipação de pagamento. Imagem III - NF-e de Produtor Rural. Descrição dos Campos: Campo Tipo Tamanho Obrig. ? Máscara Observações Chave Nota (Ref NF-e) Texto 44 - - - CNPJ/CPF Emitente* Texto 14 Sim - - Regras de Interface: 1. Chave Nota (Ref NF-e): Deve ser alterado para permitir o uso de alfanumérico. Atualmente existe tratamento para limpar a chave caso existam valores incorretos para a validação atual. Manter normalização para remoção de espaços e caracteres especiais. Normalizar para caixa alta as letras inseridas.2. CNPJ/CPF Emitente*: Conferir validação do campo para aceitar alfanumérico. Reaproveitar validações do PROC001 - Núcleo de validação de formatação de CNPJ 2.1. Normalização: Deve ser tratado para deixar todas as letras em caixa alta(maiúsculo) visando a padronização da informação. Regras de Negócio: 1. Chave Nota (Ref NF-e): A chave de acesso passa por validação de DV. Manter a validação de chave vazia e 44 digitos. O tratamento para caixa maior visa manter a validação do DV. 1.1. Mapeamento de valores para o cálculo (ASCII menos 48): Cada caractere da chave entra no cálculo do DV com seu valor ASCII menos 48: dígitos '0' a '9' valem 0 a 9 (como sempre); letras 'A' a 'Z' valem 17 a 42 ('A'=17, 'B'=18, 'C'=19, 'D'=20, 'E'=21, ..., 'Z'=42). O salto entre '9' (valor 9) e 'A' (valor 17) é por causa dos caracteres ASCII entre eles (':;<=>?@') que não são usados. 1.2. Cálculo do DV (algoritmo mantido): O DV é calculado por módulo 11 sobre os 43 caracteres anteriores, lendo da direita para a esquerda, multiplicando cada caractere por pesos cíclicos 2, 3, 4, 5, 6, 7, 8, 9, 2, 3, 4... Soma-se tudo, calcula o resto da divisão por 11. Se o resto for 0 ou 1, DV = 0; senão DV = 11 - resto. O resultado é sempre um dígito de 0 a 9, o DV NUNCA é letra. 1.3 O calculo do DV chave de acesso deverá ser feito considerando o valor ASCII das letras do CNPJ contidos na chave, ATUALMENTE O SISTEMA JÁ APLICARIA ESSE ALGORITMO.Exemplo de chave: CHAVE ALFANUMÉRICA: 35260712ABC34501DE3555001000000123112345678 Bloco Tam Valor Significado cUF 2 35 São Paulo AAMM 4 2607 Julho/2026 CNPJ emitente 14 12ABC34501DE35 CNPJ alfanumérico (sem pontuação, em maiúsculas) mod 2 55 NF-e série 3 001 Série 1 (preenchida com zeros à esquerda) nNF 9 000000123 Nota nº 123 (zeros à esquerda) tpEmis 1 1 Emissão normal cNF 8 12345678 Código numérico aleatório da nota 1.3.1 Aplicado pesos cíclicos 2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9... da direita para a esquerda. 1.3.2 Soma dos produtos (por blocos para conferência): Posições 1–8 (cUF + AAMM + parte do CNPJ): 12+15+4+54+0+49+6+10 = 150 Posições 9–16 (CNPJ — bloco com A B C): 68+54+38+27+32+35+0+5 = 259 Posições 17–24 (CNPJ D E + mod + série + início nNF): 80+63+6+45+40+35+0+0 = 269 Posições 25–32 (nNF): 4+0+0+0+0+0+0+5 = 9 Posições 33–40 (tpEmis + parte do cNF): 8+9+2+9+16+21+24+25 = 114 Posições 41–43 (final do cNF): 24+21+16 = 61 Total = 862 Aplicado módulo 11 = 862 / 11 = 78  (resto 4,  porque 78 x 11  = 858 e 862 - 858 = 4). Resto = 4 Como o resto foi acima de 1, DV = 11-4=7. PROC005.1.2 - NFE - Ajustes em Preenchimentos em Tela - Imposto por Produto: Tela: Imagem I - CNPJ Encomendante da importação na Tela de Imposto Produto na Nota Imagem II - Chave de Acesso de exportação na Tela de Imposto Produto na Nota Imagem III - CNPJ Fabricante na aba 'Outros' na Nota Fiscal. Imagem IV - CNPJ Fabricante na aba 'Outros' na Nota Fiscal. Descrição dos Campos: Campo Tipo Tamanho Obrig. ? Máscara Observações Aba de Importação CNPJ Encomendante Texto 14 - - - Aba de Exportação Chave da NF-e Texto 44 - - - Aba Outros CNPJ Fabricante Texto 14 - - - DFe Referenciado Texto 44 - - - Regras de Interface: 1. CNPJ Encomendante: O campo aceita alfanumérico. Validar o tamanho máximo e a normalização para caixa alta.2. Chave da NF-e: Atualmente permite a inserção alfanumérica. Normalizar para remoção de espaços e caracteres especiais e transformar em caixa alta as letras inseridas.3. CNPJ Fabricante: O campo aceita alfanumérico. Validar o tamanho máximo e a normalização para caixa alta.4. DFe Referenciado: Deve ser alterado para permitir o uso de alfanumérico. Normalizar removendo espaços e caracteres especiais, manter as letras em caixa alta. Regras de Negócio: 1. Não são feitas validações de DV. Questões Técnicas: 1. O campo 'nfereferenciada'.'refNfe' esta como VARCHAR(255), não necessitando mudanças.2. O campo 'nfeproduto'.'cnpjEncomendante' esta como VARCHAR(255), não necessitando mudanças.3. O campo 'nfeproduto'.'chaveNfeExport' esta como VARCHAR(44), não necessitando mudanças.4. O campo 'nfeprodutosinfo'.'CNPJFab' esta como VARCHAR(14), não necessitando mudanças.5. O campo 'nfeproduto'.'chaveDfe' esta como VARCHAR(44), não necessitando mudanças. ©SOFTEN SISTEMAS 2026PROC005.2 - Alterações em XML Projeto/Sistema:GERENCIAMENTO DE PROJETOS Versão do Template:1.2 Processo:PROC005.2 - Alterações em XML Versão do Documento:1.0 Responsável(eis): - Data: 05/01/2026 1. Introdução Este processo visa exemplificar a documentação padrão 2. Processo Processo Envolvidos Dados de Entrada Dados de Saída Processo N/A N/A N/A Processos Relacionados Documentação Exemplo 1 Especificação Funcional PROC005.2 - Alterações em XML: Regras de Negócio: 1. A geração de XML é realizada pela LIB, basta passar os valores tratados em concordância com o alfanumérico.2. Os retornos do governo de eventos e autorizações também irão retornar CNPJ alfanumérico.3. O Schema XSD deve estar atualizado em conformidade com a ultima versão. Questões Técnicas: 1. Grupo BA. Documento Fiscal Referenciado: 2. Grupo C. Identificação do Emitente da Nota Fiscal eletrônica: 3. Grupo E. Identificação do Destinatário da Nota Fiscal eletrônica 4. Grupo G. Identificação do Local de Retirada 5. Grupo G. Identificação do Local de Entrega 6. Grupo GA. Autorização para obter XML 7. Grupo I. Produtos e Serviços da NF-e 8. Grupo I01. Produtos e Serviços / Declaração de Importação 9. Grupo I03. Produtos e Serviços / Grupo de Exportação 10. Grupo O. Imposto sobre Produtos Industrializados 11. Grupo X. Informações do Transporte da NF-e 12.Grupo YA. Informações de Pagamento 13. Grupo YB. Informações do Intermediador da Transação 14. Grupo VC. Referenciamento de item de outro Documento Fiscal Eletrônico - DF-e 14. Grupo ZD. Informações do Responsável Técnico ©SOFTEN SISTEMAS 2026PROC005.3 - Ajustes Jasper Projeto/Sistema:GERENCIAMENTO DE PROJETOS Versão do Template:1.2 Processo:Descrição Processo Versão do Documento:1.0 Responsável(eis): - Data: 05/01/2026 1. Introdução Este processo descreve a adaptação dos relatórios Jasper (DANFE NF-e, DANFE NFC-e e Carta de Correção) ao CNPJ Alfanumérico previsto pela NT 2026.004. Com a entrada das letras nas 12 primeiras posições do CNPJ, a chave de acesso de 44 caracteres também pode conter letras (nas posições 7 a 20, faixa do CNPJ do emitente). 2. Processo Processo Envolvidos Dados de Entrada Dados de Saída Processo N/A N/A N/A Processos Relacionados Documentação Exemplo 1 Documentação Exemplo 2 Especificação Funcional PROC005.3 - Ajustes Jasper: Protótipo de Tela: Descrição dos Campos: Campo Tipo Tamanho Obrig. ? Máscara Observações Campo Texto 100 Sim - - Regras de Interface: 1.Renderização visual mantida: O layout do DANFE NF-e, DANFE NFC-e e Carta de Correção permanece inalterado. As mudanças são internas ao template e ao subtipo do código de barras. Regras de Negócio: 1. Subtipo do código de barras da chave: O código de barras Code 128 usado para representar a chave de acesso na DANFE NF-e e na Carta de Correção deve aceitar caracteres alfanuméricos. O subtipo atual (Code 128C, otimizado para apenas pares de dígitos) precisa ser substituído por Code 128B (que aceita letras A-Z, dígitos 0-9 e símbolos) ou Code 128 em modo automático (que escolhe o subtipo conforme o conteúdo).2. Formatação visual do CNPJ e da chave: A formatação do CNPJ na máscara XX.XXX.XXX/XXXX-XX e da chave em blocos de 4 caracteres é feita por substring. Funciona corretamente com letras sem nenhum ajuste.3. Determinação do rótulo CPF × CNPJ no destinatário (NFC-e): O rótulo do destinatário ("CPF:" ou "CNPJ:") deve ser determinado pelo número de caracteres do documento APÓS remover pontuação, considerando que letras devem ser preservadas. CPF tem 11 caracteres (numéricos); CNPJ tem 14 caracteres (alfanuméricos ou numéricos). A lógica atual baseada exclusivamente no comprimento do valor formatado (14 = CPF formatado, 18 = CNPJ formatado) falha quando o CNPJ alfanumérico chega sem máscara passa a ter 14 caracteres e seria rotulado erroneamente como CPF. PROC005.3.1 - Ajustes Jasper - DANFe - Código de Barras da Chave de Acesso: Regras de Negócio: 1. Troca obrigatória de subtipo Code 128: O subtipo Code 128C é incompatível com letras. Precisa ser trocado por Code 128B (alfanumérico maiúsculo) ou Code 128 (modo automático).2. Sem mudança no conteúdo codificado: O dado codificado no código de barras continua sendo a chave de acesso de 44 caracteres. Apenas o algoritmo de codificação muda. PROC005.3.2 - Ajustes Jasper - DANFCe: Regras de Negócio: 1. Ajustes Label consumidor: O rótulo deve ser escolhido pelo número de caracteres do documento APÓS remover pontuação (preservando letras): 11 caracteres = CPF (numérico); 14 caracteres = CNPJ (alfanumérico ou numérico); qualquer outro tamanho = Id. Estrangeiro. A lógica atual decide pelo comprimento do valor formatado (14 = CPF, 18 = CNPJ), o que falha quando o CNPJ alfanumérico chega sem máscara pois tem 14 caracteres e seria rotulado como CPF. 2. Identificador estrangeiro inalterado: Documentos que não se enquadrem em 11 ou 14 caracteres continuam sendo rotulados como "Id. Estrangeiro:". 3. CPF continua exclusivamente numérico: Apenas CPF formatado (14 com pontuação) ou puro (11 numérico) recebe rótulo "CPF:". CPF não tem letras. PROC005.3.2 - Ajustes Jasper - DANFCe: Regras de Negócio: 1. Ajustes Label consumidor: O rótulo deve ser escolhido pelo número de caracteres do documento APÓS remover pontuação (preservando letras): 11 caracteres = CPF (numérico); 14 caracteres = CNPJ (alfanumérico ou numérico); qualquer outro tamanho = Id. Estrangeiro. A lógica atual decide pelo comprimento do valor formatado (14 = CPF, 18 = CNPJ), o que falha quando o CNPJ alfanumérico chega sem máscara pois tem 14 caracteres e seria rotulado como CPF. 2. Identificador estrangeiro inalterado: Documentos que não se enquadrem em 11 ou 14 caracteres continuam sendo rotulados como "Id. Estrangeiro:". 3. CPF continua exclusivamente numérico: Apenas CPF formatado (14 com pontuação) ou puro (11 numérico) recebe rótulo "CPF:". CPF não tem letras.6 ©SOFTEN SISTEMAS 2026