Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

Próxima revisão
Revisão anterior
pres:gerti:gestao_de_ativos:portal:er_005 [20/03/2026 19:45] – criada pramorimpres:gerti:gestao_de_ativos:portal:er_005 [14/09/2026 20:55] (atual) – pramorim
Linha 4: Linha 4:
  
 **Menu / Local de acesso**: Portal TCE-GO | Serviços | Consulta de Pendências e Geração de Boletos **Menu / Local de acesso**: Portal TCE-GO | Serviços | Consulta de Pendências e Geração de Boletos
 +
 +**Documento relacionado**: [[pres:gerti:gestao_de_ativos:integracao-bb| Integração com o Banco do Brasil — Emissão de Boletos: guia de uso e testes]]
 +
 +===== Problema, Escopo e Fora de Escopo =====
 +
 +**Problema**: A emissão de boletos de multa hoje ocorre em tela do site legado em ASP.NET MVC que exige, obrigatoriamente e em conjunto, número do processo, número do ofício, ano do ofício e CPF/CNPJ. Quem recebeu a notificação e não guardou o ofício não consegue localizar a própria pendência, e a lista de parcelas é apresentada em grade DevExpress dentro de um modal, sem responsividade e sem informação sobre situação de vencimento. A geração abre uma nova janela e transfere o usuário ao Banco do Brasil sem qualquer confirmação intermediária no portal.
 +
 +**Escopo**:
 +
 +  * Consulta de pendências por CPF ou CNPJ, com validação do documento
 +  * Filtros avançados opcionais por número do processo, número e ano do ofício
 +  * Listagem das pendências em aberto com situação, valor total, vencimento e quantidade de parcelas
 +  * Detalhamento das parcelas de uma pendência, com seleção única e cálculo do valor a pagar
 +  * Geração do boleto pela API de Cobrança do Banco do Brasil (v2), incluindo segunda via
 +  * Prorrogação automática da data de vencimento de parcela vencida
 +  * Tela de confirmação com linha digitável copiável e acesso ao site do Banco do Brasil
 +  * Link do número do processo para o detalhamento do processo (RF-002)
 +
 +**Fora de escopo**:
 +
 +  * Renderização ou download da imagem do boleto dentro do portal — a impressão ocorre no site do Banco do Brasil (RN11)
 +  * Consulta de situação de pagamento, baixa ou conciliação bancária
 +  * Parcelamento, renegociação ou alteração de valores de multa
 +  * Emissão de boleto para débitos que não sejam multa vinculada a ofício
 +  * Integração MPAG, desativada pelo Banco do Brasil em 31/12/2025
 +  * Autenticação do usuário ou vínculo do boleto a uma conta
 +  * Tratamento do CNPJ alfanumérico (Instrução Normativa RFB nº 2.229/2024) na consulta de pendências, na validação do documento (RN01) e na base de dados do Tribunal — adiado por decisão de 2026-09-11, enquanto a estrutura do Tribunal afetada não for ajustada. O único ajuste admitido é o envio do documento do pagador ao Banco do Brasil como texto, conforme o contrato da API (RN17)
  
 ===== Atores ===== ===== Atores =====
Linha 53: Linha 80:
 |Lista de Parcelas|Seleção (Radio)|Sim|Parcelas disponíveis|–|Seleção única. Cada parcela exibe: número, valor, atualização monetária, vencimento e situação (RN07).| |Lista de Parcelas|Seleção (Radio)|Sim|Parcelas disponíveis|–|Seleção única. Cada parcela exibe: número, valor, atualização monetária, vencimento e situação (RN07).|
 |Situação da Parcela|Badge|Sim|Em Aberto; Vencido|–|Indica a situação individual de cada parcela (RN06).| |Situação da Parcela|Badge|Sim|Em Aberto; Vencido|–|Indica a situação individual de cada parcela (RN06).|
-|Valor da Parcela (calculado)|Moeda (R$)|Sim|Valor monetário|–|Exibido após seleção de parcela. Calculado como: Valor da Parcela + Atualização Monetária (RN08).|+|Valor da Parcela (calculado)|Moeda (R$)|Sim|Valor monetário|–|Exibido no rodapé após a seleção de parcela. Calculado como: Valor da Parcela + Atualização Monetária + Tarifa Bancária (RN08, RN21). Abaixo do valor, o sistema exibe nota indicando o montante da tarifa incluída. Antes da seleção, exibe "—".|
 |Botão "Gerar Boleto"|Botão|Sim|–|–|Aciona o **[[#fluxo_04_-_gerar_boleto|Fluxo 04]]** para a parcela selecionada.| |Botão "Gerar Boleto"|Botão|Sim|–|–|Aciona o **[[#fluxo_04_-_gerar_boleto|Fluxo 04]]** para a parcela selecionada.|
 |Link "Voltar"|Link|Sim|–|–|Retorna à Tela 02.| |Link "Voltar"|Link|Sim|–|–|Retorna à Tela 02.|
Linha 65: Linha 92:
 |Beneficiário|Texto|Sim|Tribunal de Contas do Estado|–|CNPJ do TCE-GO.| |Beneficiário|Texto|Sim|Tribunal de Contas do Estado|–|CNPJ do TCE-GO.|
 |Pagador (Interessado)|Texto|Sim|Nome do interessado|–|CPF/CNPJ do interessado.| |Pagador (Interessado)|Texto|Sim|Nome do interessado|–|CPF/CNPJ do interessado.|
 +|Parcela|Texto|Sim|"1x"; "2x"; …; "Única"|–|Número da parcela que originou o boleto. Referência exibida junto de Vencimento da Parcela, distinta do Vencimento.|
 +|Vencimento da Parcela|Data (dd/MM/yyyy)|Sim|Data válida|–|Data de vencimento original da parcela, sem prorrogação. Exibida apenas como referência.|
 |Número do Processo|Texto|Sim|15 dígitos|–|Processo vinculado ao boleto gerado.| |Número do Processo|Texto|Sim|15 dígitos|–|Processo vinculado ao boleto gerado.|
-|Vencimento|Data (dd/MM/yyyy)|Sim|Data válida|–|Data de vencimento do boleto gerado (RN09).| +|Vencimento|Data (dd/MM/yyyy)|Sim|Data válida|–|Data de vencimento efetiva do boleto, já considerada a prorrogação (RN09). Distinta do Vencimento da Parcela, exibido acima como referência.| 
-|Valor|Moeda (R$)|Sim|Valor monetário|–|Valor total do boleto (Parcela + Atualização Monetária).| +|Valor|Moeda (R$)|Sim|Valor monetário|–|Valor total do boleto: Parcela + Atualização Monetária + Tarifa Bancária (RN08, RN21). Abaixo do valor, o sistema exibe nota indicando o montante da tarifa incluída.| 
-|Linha Digitável|Texto com botão "Copiar"|Sim|Código numérico|–|Código da linha digitável retornado pelo Banco do Brasil (RN10).| +|Linha Digitável|Texto com botão "Copiar"|Sim|Código numérico|–|Devolvida pela geração do boleto ou, na segunda via, pelo detalhamento do Banco do Brasil (RN10).| 
-|Botão "Acessar Banco do Brasil"|Botão com link externo|Sim|–|–|Redireciona o usuário ao site do Banco do Brasil para visualização e impressão do boleto (RN11).|+|Botão "Imprimir no site Banco do Brasil"|Botão com link externo|Sim|–|–|Redireciona o usuário ao site do Banco do Brasil para visualização e impressão do boleto (RN11).|
 |Instruções para Pagamento|Lista informativa|Sim|–|–|Exibe as instruções fixas de pagamento (RN12).| |Instruções para Pagamento|Lista informativa|Sim|–|–|Exibe as instruções fixas de pagamento (RN12).|
  
Linha 105: Linha 134:
 |03|O sistema exibe a Tela 03 com os dados da pendência e a lista de parcelas disponíveis.|RN07|Tela 03| |03|O sistema exibe a Tela 03 com os dados da pendência e a lista de parcelas disponíveis.|RN07|Tela 03|
 |04|O usuário seleciona uma parcela.|RN07|Tela 03| |04|O usuário seleciona uma parcela.|RN07|Tela 03|
-|05|O sistema calcula e exibe o valor total da parcela selecionada: Valor da Parcela + Atualização Monetária.|RN08|Tela 03|+|05|O sistema calcula e exibe o valor total da parcela selecionada: Valor da Parcela + Atualização Monetária + Tarifa Bancária, com nota indicando o montante da tarifa incluída.|RN08, RN21|Tela 03|
 |06|O usuário aciona o botão "Gerar Boleto".| | | |06|O usuário aciona o botão "Gerar Boleto".| | |
 |07|O sistema executa o **[[#fluxo_04_-_gerar_boleto|Fluxo 04]]**.| | | |07|O sistema executa o **[[#fluxo_04_-_gerar_boleto|Fluxo 04]]**.| | |
Linha 114: Linha 143:
 |01|O sistema recebe a solicitação de geração de boleto para a parcela selecionada.| |Tela 03| |01|O sistema recebe a solicitação de geração de boleto para a parcela selecionada.| |Tela 03|
 |02|O sistema consulta os dados da boleta correspondente via ''TCE.Compartilhado → ServicoDeOficioWeb → GeraBoleta'' → ''RepositorioDeOficioWeb → ConsultaBoleta'' → view ''VWEB_BOLETA''.| | | |02|O sistema consulta os dados da boleta correspondente via ''TCE.Compartilhado → ServicoDeOficioWeb → GeraBoleta'' → ''RepositorioDeOficioWeb → ConsultaBoleta'' → view ''VWEB_BOLETA''.| | |
-|03|O sistema verifica a data de vencimento da parcela.|RN09| | +|03|O sistema verifica a data de vencimento da parcela e, se houver, o novo vencimento de boleto emitido anteriormente.|RN09| | 
-|03.1|Caso a data de vencimento esteja expirada e o valor não tenha sido alterado no mês corrente, o sistema prorroga a data de vencimento para 2 dias a partir da data atual e incrementa a versão do boleto.|RN09| | +|03.1|Caso o vencimento esteja expirado e não haja novo vencimento vigente, o sistema emite novo título: incrementa a versão e o número do título, define o vencimento para 2 dias a partir da data atual e utiliza o valor atualizado (parcela + atualização monetária até a data atual + tarifa bancária).|RN08, RN09, RN22| | 
-|03.2|Caso a data de vencimento esteja expirada e o valor tenha sido alterado, o sistema prorroga somente a data de vencimento para 2 dias a partir da data atual.|RN09| | +|03.2|Caso o vencimento original esteja expirado, mas o novo vencimento do título emitido anteriormente ainda esteja vigente, o sistema mantém esse título, sem emitir outro.|RN09| | 
-|04|O sistema verifica se já existe boleto gerado anteriormente para esta parcela via integração com a API do Banco do Brasil.|RN17| | +|04|O sistema verifica se já existe boleto gerado para o número do título via integração com a API do Banco do Brasil.|RN17| | 
-|04.1|Caso já exista boleto gerado e o valor não tenha sido alterado, o sistema executa o **[[#fluxo_05_-_gerar_segunda_via_do_boleto|Fluxo 05]]**.|RN17| |+|04.1|Caso já exista boleto gerado para o número do título e o valor não tenha sido alterado, o sistema executa o **[[#fluxo_05_-_gerar_segunda_via_do_boleto|Fluxo 05]]**.|RN17| |
 |04.2|Caso não exista boleto gerado anteriormente, o sistema realiza a geração do boleto junto à API do Banco do Brasil.|RN17| | |04.2|Caso não exista boleto gerado anteriormente, o sistema realiza a geração do boleto junto à API do Banco do Brasil.|RN17| |
 |05|O sistema envia os dados do boleto à API do Banco do Brasil (''POST https://api.bb.com.br/cobrancas/v2/boletos'').|RN17| | |05|O sistema envia os dados do boleto à API do Banco do Brasil (''POST https://api.bb.com.br/cobrancas/v2/boletos'').|RN17| |
-|06|O sistema salva a URL da imagem do boleto retornada pelo Banco do Brasil na tabela ''PRO_URLIMAGEMBOLETO'' (campos: PROOFIC_ID, NUMERO_TITULO_CLIENTE, URL_IMAGEM_BOLETO).|RN18| |+|06|O sistema salva o link de segunda via do boleto (''urlImagemBoleto'') retornado pelo Banco do Brasil na tabela ''PRO_URLIMAGEMBOLETO'' (campos: PROOFIC_ID, NUMERO_TITULO_CLIENTE, URL_IMAGEM_BOLETO).|RN18| |
 |07|O sistema registra o envio de e-mail de monitoramento interno com os dados do boleto gerado.|RN19| | |07|O sistema registra o envio de e-mail de monitoramento interno com os dados do boleto gerado.|RN19| |
-|08|O sistema exibe a Tela 04 com as informações do boleto gerado: Beneficiário, Pagador, Processo, Vencimento, Valor e Linha Digitável.|RN10|Tela 04|+|08|O sistema exibe a Tela 04 com as informações do boleto gerado: Beneficiário, Pagador, Parcela e Vencimento da Parcela (referência), Processo, Vencimento do boleto, Valor e a Linha Digitável devolvida na geração.|RN10|Tela 04|
 |08.1|Caso a API do Banco do Brasil retorne erro na geração, o sistema apresenta a mensagem: "Problema ao acessar endereço [URL] hospedado nos servidores do Banco do Brasil. Tente novamente mais tarde. Se o problema persistir entre em contato com o suporte do TCE-GO." e redireciona para a Tela 01.| | | |08.1|Caso a API do Banco do Brasil retorne erro na geração, o sistema apresenta a mensagem: "Problema ao acessar endereço [URL] hospedado nos servidores do Banco do Brasil. Tente novamente mais tarde. Se o problema persistir entre em contato com o suporte do TCE-GO." e redireciona para a Tela 01.| | |
  
Linha 129: Linha 158:
  
 ^Passo^Ação^Regra^Tela| ^Passo^Ação^Regra^Tela|
-|01|O sistema identifica que já existe boleto gerado anteriormente para a parcela selecionada.|RN17|Tela 03| +|01|O sistema identifica que já existe boleto gerado para o número do título, dentro do vencimento original ou do novo vencimento vigente. O boleto existente não é alterado no Banco do Brasil.|RN09, RN17|Tela 03| 
-|02|O sistema verifica se a data de vencimento foi prorrogada.|RN09| | +|02|O sistema aciona o detalhamento do boleto na API do Banco do Brasil (''GET https://api.bb.com.br/cobrancas/v2/boletos/:id'') para obter o código da linha digitável.|RN10| | 
-|02.1|Caso a data tenha sido prorrogada, o sistema aciona a alteração do boleto junto à API do Banco do Brasil (''PATCH https://api.bb.com.br/cobrancas/v2/boletos/:id''), atualizando a data de vencimento.|RN09| | +|02.1|O sistema utiliza como destino do botão de impressão o link de segunda via persistido ou, na falta dele, monta a URL de redirecionamento a partir da linha digitável e do número de inscrição do pagador.|RN11, RN18| | 
-|02.1.1|Caso a alteração falhe, o sistema apresenta a mensagem de erro retornada pela API e redireciona para a Tela 01.| | | +|03|O sistema registra o envio de e-mail de monitoramento interno com os dados do boleto.|RN19| | 
-|03|O sistema aciona o detalhamento do boleto na API do Banco do Brasil (''GET https://api.bb.com.br/cobrancas/v2/boletos/:id'') para obter o código da linha digitável.|RN17| | +|04|O sistema exibe a Tela 04 com as informações da segunda via do boleto.|RN10|Tela 04|
-|03.1|O sistema monta a URL de redirecionamento e o código da linha digitável a partir dos dados retornados pelo detalhamento.|RN17| | +
-|04|O sistema registra o envio de e-mail de monitoramento interno com os dados do boleto.|RN19| | +
-|05|O sistema exibe a Tela 04 com as informações da segunda via do boleto.|RN10|Tela 04|+
  
 ===== RN – Regras de Negócio ===== ===== RN – Regras de Negócio =====
 +
 +**RN15 e RN16 não existem** — nunca foram atribuídos e não devem ser reutilizados.
  
 ^ID^Descrição^ ^ID^Descrição^
Linha 148: Linha 176:
 |RN06|**Situação da Pendência e das Parcelas** – A situação é exibida como badge e pode assumir os valores: "Em Aberto" ou "Vencido". Aplica-se tanto ao nível da pendência (Tela 02) quanto ao nível de cada parcela (Tela 03).| |RN06|**Situação da Pendência e das Parcelas** – A situação é exibida como badge e pode assumir os valores: "Em Aberto" ou "Vencido". Aplica-se tanto ao nível da pendência (Tela 02) quanto ao nível de cada parcela (Tela 03).|
 |RN07|**Seleção Única de Parcela** – A seleção de parcela para geração de boleto é exclusiva (radio button). Somente uma parcela pode ser selecionada por vez. A consulta e exibição das parcelas seguem as regras definidas em RN14.| |RN07|**Seleção Única de Parcela** – A seleção de parcela para geração de boleto é exclusiva (radio button). Somente uma parcela pode ser selecionada por vez. A consulta e exibição das parcelas seguem as regras definidas em RN14.|
-|RN08|**Cálculo do Valor Total da Parcela** – Ao selecionar uma parcela, o sistema calcula e exibe o valor total: Valor da Parcela + Atualização Monetária. Este valor é o que será cobrado no boleto gerado.| +|RN08|**Cálculo do Valor Total da Parcela** – Ao selecionar uma parcela, o sistema calcula e exibe o valor total: Valor da Parcela + Atualização Monetária + Tarifa Bancária (RN21). A atualização monetária (''VALR_CORRECAO'', na view ''VWEB_PARCMULTAS'') é calculada pela função Oracle ''fweb_correcao_monet'', que aplica o cálculo do GCAR (''PCAR_CALCULO'') ao valor da parcela, do vencimento original até a data atual, somente para parcela vencida; nas demais, é zero. A atualização soma-se ao valor nominal do boleto enviado ao Banco do Brasil (''valorOriginal'', lido de ''VALOR_BOLETA''), e a tarifa é somada à parte. Ex.: parcela R$ 100,00 + atualização R$ 0,15 + tarifa R$ 1,87 = R$ 102,02. Este valor é o que será cobrado no boleto gerado e é replicado na Tela 04. A tela indica separadamente o montante da tarifa incluída.| 
-|RN09|**Prorrogação Automática de Vencimento** – Quando a data de vencimento da parcela estiver expirada na data da geração do boleto, o sistema prorroga automaticamente a data de vencimento para 2 (dois) dias a partir da data atual. \\ – Se o valor da parcela não foi alterado no mês corrente (ValorParcelaAntiga == Valor), o sistema também incrementa a versão do boleto (NUMR_VERSBOLETA_N + 1) na tabela ''PRO_PARCMULTAS'' e registra a nova data de vencimento no campo ''DATA_VENCNOVA_D''. \\ – Se o valor da parcela foi alterado, o sistema atualiza apenas a data de vencimento no boleto existente via API do Banco do Brasil.| +|RN09|**Boleto de Parcela Vencida** – Quando o vencimento da parcela — ou o novo vencimento de boleto emitido anteriormente (''DATA_VENCNOVA_D'') — estiver expirado na data da geração, o sistema emite **novo título**: incrementa a versão do boleto (''NUMR_VERSBOLETA_N'' + 1) e o número do título (RN22), grava em ''DATA_VENCNOVA_D'', na tabela ''PRO_PARCMULTAS'', o novo vencimento — 2 (dois) dias a partir da data atual — e registra o boleto com o valor atualizado (RN08). \\ – Enquanto esse novo vencimento estiver vigente, nova solicitação para a mesma parcela devolve a segunda via do título dessa versão (Fluxo 05). \\ – Também é emitido novo título quando o valor da boleta mudou desde a última emissão (''VALOR_PARCELA_ANTIGO'' ≠ ''VALOR_BOLETA''). \\ – O título anterior **não é alterado nem baixado** no Banco do Brasil e permanece registrado no convênio, sem efeito de cobrança ao pagador: os boletos do TCE-GO não são enviados a protesto nem recebidos após o vencimento (RN12). Se o convênio tarifar a entrada do boleto, cada novo título não pago é custo do Tribunal. Comportamento **herdado do legado** e mantido na migração para a API; o tratamento do título anterior está descrito em **[[#melhorias_previstas|Melhorias Previstas — Melhoria 01]]**.| 
-|RN10|**Linha Digitável** – O código da linha digitável é obtido via API de Detalhamento do Banco do Brasil (''GET https://api.bb.com.br/cobrancas/v2/boletos/:id''). É exibido na Tela 04 com botão de cópia para área de transferência.| +|RN10|**Linha Digitável** – Exibida na Tela 04 com botão de cópia para a área de transferência. Na geração, é obtida da própria resposta do registro do boleto (''POST https://api.bb.com.br/cobrancas/v2/boletos'', campo ''linhaDigitavel''). Na segunda via, é obtida pelo detalhamento do boleto (''GET https://api.bb.com.br/cobrancas/v2/boletos/:id'', campo ''codigoLinhaDigitavel''). Como o boleto existente nunca tem o vencimento alterado (RN09), a linha digitável da segunda via é a mesma devolvida na geração do título.| 
-|RN11|**Redirecionamento para Impressão** – A imagem do boleto não é disponibilizada diretamente pela integração. O sistema exibe um botão "Acessar Banco do Brasil" que redireciona o usuário ao site do Banco do Brasil para visualização e impressão do boleto.|+|RN11|**Redirecionamento para Impressão** – A imagem do boleto não é disponibilizada pela integração: a API de Cobrança devolve, no campo ''urlImagemBoleto'', o link de emissão da segunda via no site do Banco do Brasil. A Tela 04 apresenta o botão "Imprimir no site Banco do Brasil", que encaminha o usuário a esse link, persistido conforme RN18. Na falta de link persistido, o encaminhamento é para ''https://boleto.apps.bb.com.br/segunda-via'', com a linha digitável e o número de inscrição do pagador na URL.|
 |RN12|**Instruções para Pagamento** – As seguintes instruções são exibidas fixamente na Tela 04: \\ – "Este boleto pode ser pago até a data de vencimento, após o vencimento, o boleto não pode ser pago." \\ – "O pagamento pode ser efetuado via internet banking em qualquer banco ou casas lotéricas." \\ – "Guarde o comprovante de pagamento."| |RN12|**Instruções para Pagamento** – As seguintes instruções são exibidas fixamente na Tela 04: \\ – "Este boleto pode ser pago até a data de vencimento, após o vencimento, o boleto não pode ser pago." \\ – "O pagamento pode ser efetuado via internet banking em qualquer banco ou casas lotéricas." \\ – "Guarde o comprovante de pagamento."|
 |RN13|**Consulta de Pendências** – A consulta de pendências é realizada via ''TCE.Compartilhado → ServicoDeOficioWeb → ConsulteSeExisteOficio'' → ''RepositorioDeOficioWeb → ConsulteSeExisteOficio'', que verifica na base de dados o ofício correspondente ao CPF/CNPJ e, quando informados, ao Nº Processo, Nº Ofício e Ano Ofício. Ofícios com situação "CANCELADO" não são retornados.| |RN13|**Consulta de Pendências** – A consulta de pendências é realizada via ''TCE.Compartilhado → ServicoDeOficioWeb → ConsulteSeExisteOficio'' → ''RepositorioDeOficioWeb → ConsulteSeExisteOficio'', que verifica na base de dados o ofício correspondente ao CPF/CNPJ e, quando informados, ao Nº Processo, Nº Ofício e Ano Ofício. Ofícios com situação "CANCELADO" não são retornados.|
 |RN14|**Consulta de Parcelas** – A consulta de parcelas é realizada via ''TCE.Compartilhado → ServicoDeOficioWeb → ConsulteParcelas'' → ''RepositorioDeOficioWeb → ConsulteParcelas''. As parcelas são exibidas ordenadas por data de vencimento em ordem crescente. Parcelas canceladas não devem ser retornadas. A exibição é paginada com 5 (cinco) parcelas por vez (RN20).| |RN14|**Consulta de Parcelas** – A consulta de parcelas é realizada via ''TCE.Compartilhado → ServicoDeOficioWeb → ConsulteParcelas'' → ''RepositorioDeOficioWeb → ConsulteParcelas''. As parcelas são exibidas ordenadas por data de vencimento em ordem crescente. Parcelas canceladas não devem ser retornadas. A exibição é paginada com 5 (cinco) parcelas por vez (RN20).|
-|RN17|**Integração com API de Cobrança do Banco do Brasil** – A geração e o gerenciamento de boletos utilizam a API de Cobrança do Banco do Brasil (v2), ativa a partir de 01/01/2026, substituindo a integração MPAG encerrada em 31/12/2025. \\ – Geração: ''POST https://api.bb.com.br/cobrancas/v2/boletos'' \\ – Alteração de vencimento: ''PATCH https://api.bb.com.br/cobrancas/v2/boletos/:id'' \\ – Detalhamento: ''GET https://api.bb.com.br/cobrancas/v2/boletos/:id'' \\ A autenticação é realizada via OAuth 2.0 com escopo de cobrança, utilizando ''clientId'' e ''clientSecret'' configurados em ''ApiBancoBrasilHelper''. A comunicação exige TLS 1.2.|+|RN17|**Integração com API de Cobrança do Banco do Brasil** – A geração e o gerenciamento de boletos utilizam a API de Cobrança v2, ativa desde 01/01/2026, em substituição à integração MPAG encerrada em 31/12/2025. Geração: ''POST /cobrancas/v2/boletos''; detalhamento: ''GET /cobrancas/v2/boletos/:id''. Autenticação por OAuth 2.0 com escopo de cobrança, usando ''clientId'' e ''clientSecret'' configurados em ''ApiBancoBrasilHelper''. A comunicação exige TLS 1.2. A existência de boleto anterior é verificada pelo detalhamento: retorno de sucesso indica boleto existente; o código de "número do título não encontrado" indica ausência. A alteração de boleto (''PATCH /cobrancas/v2/boletos/:id'') **não é utilizada** pela funcionalidade (RN09); pela API, só é aceita a partir de 30 minutos após a geração, admite uma alteração por chamada e não devolve a linha digitável. O número de inscrição do pagador é enviado como texto, conforme o contrato vigente da API (''OpenAPI_BB_Cobranças_v2.json'', versão 3.2.2).|
 |RN18|**Persistência da URL do Boleto** – Após geração bem-sucedida do boleto, o sistema salva a URL da imagem retornada pelo Banco do Brasil na tabela Oracle ''PRO_URLIMAGEMBOLETO'' (campos: PROOFIC_ID, NUMERO_TITULO_CLIENTE, URL_IMAGEM_BOLETO). Esta URL é consultada nas gerações de segunda via antes de acionar novamente a API do Banco do Brasil.| |RN18|**Persistência da URL do Boleto** – Após geração bem-sucedida do boleto, o sistema salva a URL da imagem retornada pelo Banco do Brasil na tabela Oracle ''PRO_URLIMAGEMBOLETO'' (campos: PROOFIC_ID, NUMERO_TITULO_CLIENTE, URL_IMAGEM_BOLETO). Esta URL é consultada nas gerações de segunda via antes de acionar novamente a API do Banco do Brasil.|
 |RN19|**Monitoramento por E-mail** – A cada geração ou segunda via de boleto, o sistema envia automaticamente um e-mail de monitoramento interno para a lista de destinatários configurada em ''ApiBancoBrasilHelper'', a partir do remetente ''informatica@tce.go.gov.br'', com os dados do boleto gerado: data de vencimento, valor, nosso número, nome do pagador, CPF/CNPJ, Id do Ofício e código do processo.| |RN19|**Monitoramento por E-mail** – A cada geração ou segunda via de boleto, o sistema envia automaticamente um e-mail de monitoramento interno para a lista de destinatários configurada em ''ApiBancoBrasilHelper'', a partir do remetente ''informatica@tce.go.gov.br'', com os dados do boleto gerado: data de vencimento, valor, nosso número, nome do pagador, CPF/CNPJ, Id do Ofício e código do processo.|
 |RN20|**Paginação de Parcelas** – A lista de parcelas exibida na Tela 03 é paginada com 5 (cinco) parcelas por página.| |RN20|**Paginação de Parcelas** – A lista de parcelas exibida na Tela 03 é paginada com 5 (cinco) parcelas por página.|
 +|RN21|**Mensagem e Tarifa do Boleto** – O boleto é emitido com a mensagem: "Multa pertinente ao processo [nº]. Após prazo definido pelo TCE-GO o valor será corrigido pelo IPCA Acumulado. Tarifa de cobrança bancária de R$ [valor]." A tarifa vem de ''VALR_TARIBANCARIA_N'' e compõe o valor da boleta. O título é emitido como duplicata de serviço, com aceite "A" e sem permissão de recebimento parcial.|
 +|RN22|**Número do Título do Cliente** – Identificador do boleto junto ao Banco do Brasil, formado por "000" + número do convênio com 7 dígitos + 10 dígitos finais do número de controle interno do TCE-GO (''NUMR_PEDIDO'', na view ''VWEB_BOLETA''). É a chave usada para detalhamento e recuperação da URL da imagem. Na emissão de novo título (RN09), os 2 (dois) últimos dígitos do número de controle são incrementados em 1.|
 +
 +===== Melhorias Previstas =====
 +
 +==== Melhoria 01 - Tratar o boleto anterior na geração de boleto de parcela vencida ====
 +
 +**Comportamento atual (herdado do legado)**: quando o vencimento da parcela — ou o novo vencimento de boleto emitido anteriormente — está expirado, o sistema emite um **novo título** no Banco do Brasil, com vencimento em 2 dias a partir da data atual e valor atualizado (RN08, RN09). O título anterior **não é alterado nem baixado** e permanece registrado no convênio do Tribunal.
 +
 +**Origem**: comportamento do site legado anterior à API de Cobrança v2. Na migração para a API ([[https://projetos.tce.go.gov.br/issues/35881|#35881]]), decidiu-se mantê-lo: a alteração do título existente enfrentou resistência técnica, não estava claro se a data de vencimento e o valor nominal do boleto podiam ser alterados pela API — a especificação vigente confirma que ambos são alteráveis —, e o escopo da demanda era apenas migrar a integração.
 +
 +**Impacto atual**: sem efeito de cobrança ao pagador — os boletos do TCE-GO não são enviados a protesto nem recebidos após o vencimento (RN12). Cada nova emissão, porém, deixa um título anterior em aberto no convênio.
 +
 +**Custo a confirmar**: a tarifa repassada ao pagador (RN21) só é recuperada quando o boleto é pago. Se o contrato do convênio tarifar a entrada (registro) do boleto, cada título emitido e não pago é custo do Tribunal — e, no comportamento atual, uma mesma parcela vencida pode gerar vários títulos.
 +
 +**Melhoria proposta** — uma das alternativas:
 +  * **alterar o título existente** pela API (''PATCH /cobrancas/v2/boletos/:id''), atualizando a data de vencimento e, quando a atualização monetária mudar, o valor nominal; ou
 +  * **baixar o título anterior** (''POST /cobrancas/v2/boletos/:id/baixar'') ao emitir o novo.
 +
 +**Pontos a confirmar antes da implementação**:
 +  * **alterabilidade — confirmada na especificação da API** (''OpenAPI_BB_Cobranças_v2.json'', versão 3.2.2): o ''PATCH'' altera a data de vencimento (''"indicadorNovaDataVencimento": "S"'' com ''"alteracaoData": {"novaDataVencimento": "dd.mm.aaaa"}'') e o valor nominal (''"indicadorNovoValorNominal": "S"'' com ''"alteracaoValor": {"novoValorNominal": 0.00}''); os demais indicadores obrigatórios seguem com ''"N"''. Resta confirmar em homologação se as duas alterações podem ir na mesma chamada — a documentação do banco admite uma alteração por chamada, aceita só a partir de 30 minutos após a geração;
 +  * **ajustar o contrato de alteração do código existente**: o ''BoletoAlterar'' do ''TCE.Compartilhado'' e do site legado já tem ''indicadorNovoValorNominal'' e ''novoValorNominal'', mas serializa ''novoValorNominal'' na raiz do corpo, e não dentro de ''alteracaoValor'' como exige a especificação — reaproveitado sem ajuste, o banco não recebe o novo valor;
 +  * o desvio de alteração de vencimento já existe no código do site legado e do Catálogo de Serviços, mas está inalcançável desde a correção de 2025-12-22 (commit ''cf619de'', erro 500 relatado em [[https://projetos.tce.go.gov.br/issues/38054|#38054]]) — deve ser corrigido ou removido;
 +  * quais eventos o convênio tarifa (entrada, liquidação, baixa, alteração) — define o custo atual dos títulos não pagos e se alterar o título existente, que pode ter tarifa própria, custa menos que emitir novo; consultar o contrato ou os movimentos do convênio pela API (''POST /convenios/{id}/listar-retorno-movimento'', campo ''valorTarifa'');
 +  * priorização com a área de arrecadação.
 +
 +**Situação**: não iniciada. Não bloqueia a entrega do RF-005.
 +
 +----
 +//Gerado com: documentar-funcionalidade-v2.md — projeção parcial do PRD 1.4: seções Problema, Escopo e Fora de Escopo e Restrições, Dependências e Impactos; RN08, RN10, RN11, RN17, RN21 e RN22; Telas 03 e 04; Fluxos 03, 04 e 05. Atualizada manualmente para o PRD 1.5: RN08, RN09, RN10, RN17 e RN22; Fluxos 04 e 05; seção Melhorias Previstas, a partir da melhoria registrada no § 22 do PRD. Não projetadas: Critérios de Aceite, Pendências e Dúvidas em Aberto, Histórico de Versões// \\
 +//Revisado por: @pramorim - Paulo Ricardo Amorim Silva//
  • pres/gerti/gestao_de_ativos/portal/er_005.1774035946.txt.gz
  • Última modificação: 20/03/2026 19:45
  • por pramorim