# PROC005.3 - Ajustes Jasper

<table border="1" id="bkmrk-%C2%A0-projeto%2Fsistema%3Age" style="border-collapse: collapse; width: 100.123%; height: 68px;"><tbody><tr style="border-style: solid;"><td rowspan="3" style="width: 26.6667%; height: 68px; border-color: black; border-top-style: hidden; border-left-style: hidden; border-bottom-style: hidden;">  
<span style="color: #000000;">[![image-1762776253666.png](https://docs.softensistemas.com.br/uploads/images/gallery/2025-11/scaled-1680-/image-1762776253666.png)](https://docs.softensistemas.com.br/uploads/images/gallery/2025-11/image-1762776253666.png)</span>

</td><td style="width: 49.9999%; height: 10px; border-color: black; border-style: solid;"><span style="color: #000000;">**Projeto/Sistema:**</span>  
<span style="color: #000000;">GERENCIAMENTO DE PROJETOS</span></td><td class="align-center" style="width: 23.3333%; height: 10px; border-color: black; border-style: solid;"><span style="color: #000000;">**Versão do *Template:***</span>  
<span style="color: #000000;">1.2</span></td></tr><tr style="border-style: solid;"><td style="width: 49.9999%; height: 29px; border-color: black; border-style: solid;"><span style="color: #000000;">**Processo:**</span>  
<span style="color: #000000;">Descrição Processo</span></td><td class="align-center" style="width: 23.3333%; height: 29px; border-color: black; border-style: solid;"><span style="color: #000000;">**Versão do Documento:**</span>  
<span style="color: #000000;">1.0</span></td></tr><tr style="border-style: solid;"><td style="width: 49.9999%; height: 29px; border-color: black; border-style: solid;"><span style="color: #000000;">**Responsável(eis):** </span>  
<span style="color: #000000;">-</span></td><td class="align-center" style="width: 23.3333%; height: 29px; border-color: black; border-style: solid;"><span style="color: #000000;">**Data:** </span>

<span style="color: #000000;">05/01/2026</span>

</td></tr></tbody></table>

##### <span style="color: #000000;">**1. Introdução**</span>

<span style="font-family: 'Segoe UI', sans-serif; color: #000000;"><span style="font-size: small;">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).</span></span>

##### <span style="color: #000000;">**2. Processo** </span>

<table cellpadding="9" cellspacing="0" id="bkmrk-processo-envolvidos-" width="100%"><tbody><tr valign="top"><td bgcolor="#acb9ca" style="border-style: solid; border-color: black;" width="27%"><span style="font-size: small; color: #000000;">**Processo**</span>

</td><td bgcolor="#acb9ca" style="border-style: solid; border-color: black;" width="19%"><span style="font-size: small; color: #000000;">**Envolvidos**</span>

</td><td bgcolor="#acb9ca" style="border-style: solid; border-color: black;" width="27%"><span style="font-size: small; color: #000000;">**Dados de Entrada**</span>

</td><td bgcolor="#acb9ca" style="border-style: solid; border-color: black;" width="27%"><span style="font-size: small; color: #000000;">**Dados de Saída**</span>

</td></tr><tr valign="top"><td style="border-style: solid; border-color: black;" width="27%"><span style="font-size: small; color: #000000;">Processo</span>

</td><td style="border-style: solid; border-color: black;" width="19%"><span style="font-size: small; color: #000000;">N/A</span>

</td><td style="border-style: solid; border-color: black;" width="27%"><span style="font-size: small; color: #000000;">N/A</span>

</td><td style="border-style: solid; border-color: black;" width="27%"><span style="font-size: small; color: #000000;">N/A</span>

</td></tr></tbody></table>

#### <span style="color: #000000;">**Processos Relacionados** </span>

- - - - - -

<span style="color: #000000;">Documentação Exemplo 1 </span>  
  
<span style="color: #000000;">Documentação Exemplo 2</span>

#### <span style="color: #000000;">**Especificação Funcional**</span>

- - - - - -

#### <span style="color: #000000;">**PROC005.3 - Ajustes Jasper:**</span>

##### <span style="color: #000000;">***Protótipo de Tela:***</span>

##### <span style="color: #000000;">***Descrição dos Campos:***</span>

<table border="1" cellpadding="7" cellspacing="0" id="bkmrk-campo-tipo-tamanho-o" style="width: 843px;"><tbody><tr valign="top"><td bgcolor="#acb9ca" style="width: 168px; border-style: solid; border-color: black;"><span style="color: #000000;">**Campo**</span>

</td><td bgcolor="#acb9ca" style="width: 102px; border-style: solid; border-color: black;"><span style="color: #000000;">**Tipo**</span>

</td><td bgcolor="#acb9ca" style="width: 88px; border-style: solid; border-color: black;"><span style="color: #000000;">**Tamanho**</span>

</td><td bgcolor="#acb9ca" style="width: 165px; border-style: solid; border-color: black;"><span style="color: #000000;">**Obrig. ?**</span>

</td><td bgcolor="#acb9ca" style="width: 119px; border-style: solid; border-color: black;"><span style="color: #000000;">**Máscara**</span>

</td><td bgcolor="#acb9ca" style="width: 201px; border-style: solid; border-color: black;"><span style="color: #000000;">**Observações**</span>

</td></tr><tr><td style="width: 168px; border-style: solid; border-color: black;"><span style="color: #000000;">Campo</span>

</td><td style="width: 102px; border-style: solid; border-color: black;"><span style="color: #000000;">Texto</span>

</td><td style="width: 88px; border-style: solid; border-color: black;"><span style="color: #000000;">100</span>

</td><td style="width: 165px; border-style: solid; border-color: black;"><span style="color: #000000;">Sim</span>

</td><td style="width: 119px; border-style: solid; border-color: black;"><span style="color: #000000;">-</span>

</td><td style="width: 201px; border-style: solid; border-color: black;"><span style="color: #000000;">-</span>

</td></tr></tbody></table>

##### <span style="color: #000000;">***Regras de Interface:***</span>

<span style="color: #000000;">***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.</span>

##### <span style="color: #000000;">***Regras de Negócio:***</span>

<span style="color: #000000;">**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).</span>  
<span style="color: #000000;">**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.</span>  
<span style="color: #000000;">**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.</span>

#### <span style="color: #000000;">**PROC005.3.1 - Ajustes Jasper - DANFe - Código de Barras da Chave de Acesso:**</span>

##### <span style="color: #000000;">***Regras de Negócio:***</span>

<span style="color: #000000;">**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.</span>

#### <span style="color: #000000;">**PROC005.3.2 - Ajustes Jasper - DANFCe:**</span>

##### <span style="color: #000000;">***Regras de Negócio:***</span>

<span style="color: #000000;">**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. </span>  
<span style="color: #000000;">**2.** **Identificador estrangeiro inalterado:** Documentos que não se enquadrem em 11 ou 14 caracteres continuam sendo rotulados como "Id. Estrangeiro:". </span>  
<span style="color: #000000;">**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.</span>

#### <span style="color: #000000;">**PROC005.3.2 - Ajustes Jasper - DANFCe:**</span>

##### <span style="color: #000000;">***Regras de Negócio:***</span>

<span style="color: #000000;">**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. </span>  
<span style="color: #000000;">**2.** **Identificador estrangeiro inalterado:** Documentos que não se enquadrem em 11 ou 14 caracteres continuam sendo rotulados como "Id. Estrangeiro:". </span>  
<span style="color: #000000;">**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</span>

#####  

<span style="color: #000000;">©SOFTEN SISTEMAS 2026</span>