MFC033 — Gerenciamento Boleto Rápido Junsoft (enriquecimento)
Menu: Financeiro > Movimentações > Gerenciamento Boleto Rápido Junsoft
Objetivo
A tela MFC033 permite ao usuário financeiro consultar títulos de Contas a Receber/Adiantamento pendentes ou parcialmente pagos que possuam cadastro de Boleto integrado via API, selecionar os títulos desejados e enviá-los ao banco/financeira para Gerar Boleto, Alterar Registro, Cancelar Registro ou Reimprimir — cobrindo tanto boletos tradicionais quanto cobranças PIX. Ao final do processamento, o sistema gera o leiaute do boleto para impressão/visualização (exceto em cancelamento) e atualiza a situação dos títulos na consulta.
Fluxo principal
- Abrir a tela: a aba "Filtros para Consulta" aparece com Empresa já preenchida com a empresa logada e Situação padrão "Todos". (Filtros para Consulta) —
source/MFC033/UMFC033.pas:385-424 (TfrmMFC033.btnNovoClick) - Preencher os filtros: no mínimo Empresa e (Forma de Pagamento ou Banco); opcionalmente Situação do Boleto, datas de Emissão/Vencimento, Pessoas, Tipos de Pessoa, Documentos/Lançamentos/Números de Boleto, Vendedor. (Filtros para Consulta) —
source/MFC033/UMFC033.pas:254-345 (MontaWhere) - Clicar em Consultar (F3) ou OK. O sistema valida datas e campos obrigatórios, executa a consulta e abre a aba Contas com os títulos encontrados. (Contas) —
source/MFC033/UMFC033.pas:524-641 (TfrmMFC033.btnProcurarClick) - Marcar os títulos desejados na coluna STATUS (clique ou espaço); usar o botão Marcar/Desmarcar Todos para seleção em massa. Em lançamentos Vendor, marcar uma parcela marca todas as parcelas do mesmo lançamento. (Contas) —
source/MFC033/UMFC033.pas:669-733 (TfrmMFC033.btnMarcaClick) - Na seção Detalhes, escolher a Operação (Gerar Boleto, Alterar Registro, Cancelar Registro ou Reimpressão) e preencher campos complementares (Data/Valor de Desconto, % e Valor de Abatimento, Avalista, Impressora, Instrução — quando aplicável). (Detalhes (aba Contas)) —
source/MFC033/UMFC033.dfm:2009-2019 - Ao final, o sistema exibe mensagem de sucesso específica da operação e reexecuta a consulta automaticamente para atualizar a situação dos títulos. (Contas) —
source/MFC033/UMFC033.pas:1086-1101 (TfrmMFC033.btnSalvarClick)
Campos obrigatórios
| Campo | Condição | Mensagem | Fonte |
|---|---|---|---|
| Empresa | Sempre, para executar a Consulta (F3/OK) | É Obrigatório Informar a Empresa para Executar a Consulta! | source/MFC033/UMFC033.pas:552-555 (TfrmMFC033.btnProcurarClick) |
| Forma de Pagamento ou Banco | Ao menos um dos dois deve estar preenchido para executar a Consulta | É Obrigatório Informar a Forma de Pagamento ou o Banco para Executar a Consulta! | source/MFC033/UMFC033.pas:557-560 (TfrmMFC033.btnProcurarClick) |
| Documento marcado (STATUS) | Ao Salvar/Processar, ao menos um documento da grade de Contas deve estar marcado | Não foi Selecionado nenhum Documento. Verifique! | source/MFC033/UMFC033.pas:1021-1022 (TfrmMFC033.btnSalvarClick) |
| Sequência do Boleto (parametrização BOLETO) | Ao processar Gerar/Alterar/Reimprimir, o cadastro de parâmetros de Boleto (BOLETO) para a combinação Empresa/Banco/Forma de Pagto/Agência precisa ter NM_SEQBOLETO preenchida | A Sequencia do Boleto não foi informado. Verifique[FNC003]! | source/MFC033/UMFC033.pas:888-900 (TfrmMFC033.btnSalvarClick) |
| Endereço da Pessoa | Ao processar Gerar/Alterar/Reimprimir boleto, a Pessoa do título deve ter endereço cadastrado | A Pessoa [%s] não possui Endereço Cadastrado. Verifique [TFA001]! | source/MFC033/UMFC033.pas:880-885 (TfrmMFC033.btnSalvarClick) |
Mensagens: causa e ação
A Consulta não Retornou Registros!
Causa: Os filtros informados (Empresa, Forma de Pagamento/Banco, datas, situação etc.) não encontraram nenhum título elegível — lembrando que só entram títulos com cadastro de Boleto via API (ST_APIBOLETOS <> 'N') para a combinação Banco/Agência/Forma de Pagamento.
Ação: Revise os filtros (principalmente Situação do boleto e datas) e confirme se existe cadastro de Boleto ativo para a Forma de Pagamento/Banco usados.
Fonte: source/MFC033/UMFC033.pas:606-612 (TfrmMFC033.btnProcurarClick)
É Obrigatório Informar a Empresa para Executar a Consulta!
Causa: O campo Empresa do filtro está vazio ao clicar em Consultar.
Ação: Preencha o campo Empresa (normalmente já vem preenchido com a empresa logada; verifique se não foi limpo).
Fonte: source/MFC033/UMFC033.pas:552-555 (TfrmMFC033.btnProcurarClick)
É Obrigatório Informar a Forma de Pagamento ou o Banco para Executar a Consulta!
Causa: Nem Forma de Pagamento nem Banco foram informados no filtro.
Ação: Informe pelo menos um dos dois campos (Forma de Pagamento ou Banco) antes de consultar.
Fonte: source/MFC033/UMFC033.pas:557-560 (TfrmMFC033.btnProcurarClick)
O Boleto selecionado já foi Registrado no Banco/Financeira. Utilize a opção "Alterar Registro" ou "Reimpressão"!
Causa: O usuário selecionou a Operação "Gerar Boleto" para um título cuja situação já é "Boleto Registrado".
Ação: Troque a Operação para "Alterar Registro" (para mudar dados do boleto já registrado) ou "Reimpressão" (para reemitir o mesmo boleto).
Fonte: source/MFC033/UMFC033.pas:752-759 (TfrmMFC033.btnSalvarClick)
O boleto do documento %s se encontra Vencido. Verifique!
Causa: A data de vencimento do título já passou e a operação escolhida não é Reimpressão nem Baixa via API (instrução 'Baixar Título' dentro de Alterar Registro).
Ação: Use a Operação "Reimpressão" para reenviar o boleto vencido ao cliente (ele pagará com juros calculados à parte), ou corrija/atualize o vencimento do título antes de gerar/alterar.
Fonte: source/MFC033/UMFC033.pas:855-863 (TfrmMFC033.btnSalvarClick)
A Pessoa [%s] não possui Endereço Cadastrado. Verifique [TFA001]!
Causa: O cliente/pessoa vinculado ao título não tem endereço cadastrado, e o boleto/PIX exige endereço para ser gerado.
Ação: Cadastre o endereço da Pessoa na tela TFA001 (Cadastro de Pessoa) e repita o processamento.
Fonte: source/MFC033/UMFC033.pas:880-885 (TfrmMFC033.btnSalvarClick)
Não é Possivel Emitir Boletos de NFSE(s) não Transmitidas. Verifique! [CNF011, MFA013] Empresa.: %s N° NF.: %s Série.: %s Espécie.: NFSE
Causa: O título está vinculado a uma Nota Fiscal de Serviço (NFSE) que ainda não foi transmitida à prefeitura, e o parâmetro da empresa não permite gerar boleto de NFSE pendente.
Ação: Transmita a NFSE (tela MFA013 ou de emissão de NFSE) antes de gerar o boleto; se a empresa permitir gerar boleto mesmo sem transmissão, ajuste o parâmetro correspondente em Configurações de NFSE (CONFIGNFSE).
Fonte: source/MFC033/UMFC033.pas:911-935 (TfrmMFC033.btnSalvarClick)
Não é permitido gerar Contas a partir de Notas não Fiscais! [FNC001]
Causa: O parâmetro financeiro da empresa bloqueia a seleção de contas originadas de notas não fiscais, e a nota vinculada ao título marcado não é fiscal.
Ação: Verifique o Modelo de Nota Fiscal vinculado ao lançamento de origem, ou ajuste o parâmetro "Bloqueia Baixa de Notas Não Fiscais" nos Parâmetros Financeiros (FNC001) da empresa se aplicável.
Fonte: source/MFC033/UdmMFC033.pas:576-606 (TdmMFC033.tabCONTASSTATUSValidate)
Nenhum Boleto está cadastrado com esta Forma de Pagamento! [FNC003]
Causa: Não existe cadastro de parâmetros de Boleto (tela de Boleto) vinculado à Forma de Pagamento informada, para a empresa logada.
Ação: Cadastre os parâmetros de Boleto (FNC003) para a Forma de Pagamento e Banco desejados, ou informe outra Forma de Pagamento já configurada.
Fonte: source/MFC033/UdmMFC033.pas:386-422 (TdmMFC033.tabFILTROCD_FORMAPAGTOValidate)
Parâmetros de Boleto Inativo. Verifique[FNC003]!
Causa: O cadastro de parâmetros de Boleto para a combinação Empresa/Banco/Forma de Pagamento/Agência do título existe, mas está com ST_ATIVO = 'N'.
Ação: Ative o cadastro de parâmetros de Boleto (FNC003) correspondente a esse Banco/Agência/Forma de Pagamento.
Fonte: source/MFC033/UMFC033.pas:888-897 (TfrmMFC033.btnSalvarClick)
A Sequencia do Boleto não foi informado. Verifique[FNC003]!
Causa: O cadastro de parâmetros de Boleto está ativo, mas não tem a Sequência Numérica (NM_SEQBOLETO) configurada para gerar o número do boleto.
Ação: Complete o cadastro de parâmetros de Boleto (FNC003) informando a Sequência Numérica a ser usada.
Fonte: source/MFC033/UMFC033.pas:899-900 (TfrmMFC033.btnSalvarClick)
Para Cobrança do Tipo "PIX" não é permitido a Operação "Alterar Registro". Utilize a opção "Reimpressão".
Causa: O título selecionado é uma cobrança PIX pura, e o usuário escolheu a Operação "Alterar Registro", que não se aplica a PIX.
Ação: Use a Operação "Reimpressão" para reobter o QR Code/Copia e Cola do PIX.
Fonte: source/MFC033/UMFC033.pas:865-867 (TfrmMFC033.btnSalvarClick)
Para Cobrança do Tipo "Boleto PJ Bank" não é permitido a Operação "Reimpressão". Utilize a opção "Alterar Registro" ou "Gerar Boleto".
Causa: O título é uma cobrança do tipo Boleto PJ Bank, e o usuário escolheu Reimpressão, operação não suportada para esse tipo de integração.
Ação: Use "Alterar Registro" (para boletos já registrados) ou "Gerar Boleto" (para não registrados).
Fonte: source/MFC033/UMFC033.pas:869-871 (TfrmMFC033.btnSalvarClick)
O Boleto selecionado não foi Registrado no Banco/Financeira. Utilize a opção "Gerar Boleto"!
Causa: O usuário escolheu Alterar Registro ou Reimpressão para um título que ainda não foi enviado/registrado no banco.
Ação: Use a Operação "Gerar Boleto" para este título primeiro.
Fonte: source/MFC033/UMFC033.pas:873-878 (TfrmMFC033.btnSalvarClick)
O Boleto selecionado não foi Registrado no Banco. Não é possível Cancelar. Verifique!
Causa: O usuário tentou Cancelar Registro de um título que nunca teve NossoNúmero da API preenchido, ou seja, nunca foi registrado no banco.
Ação: Não há boleto registrado para cancelar; se o objetivo é apenas não cobrar mais o cliente, avalie liquidar/cancelar o título pela rotina financeira normal, não pelo cancelamento de boleto.
Fonte: source/MFC033/UMFC033.pas:833-835 (TfrmMFC033.btnSalvarClick)
Não foi Selecionado nenhum Documento. Verifique!
Causa: Nenhum título da grade de Contas foi marcado (coluna STATUS) antes de clicar em Processar/Salvar.
Ação: Marque ao menos um título na grade (clique na coluna de seleção ou pressione Espaço) antes de processar.
Fonte: source/MFC033/UMFC033.pas:1021-1022 (TfrmMFC033.btnSalvarClick)
Os seguintes boletos foram enviados à API mas o retorno (NossoNumero) não foi informado pelo banco. Verifique o log, site ou app do banco. %s
Causa: O sistema enviou o pedido de registro do boleto à API do banco, mas o campo NossoNúmero não foi persistido na conta (pode ter havido queda de conexão entre o retorno da API e a gravação).
Ação: Confira no site/app do banco ou no log de integração se o boleto realmente foi registrado, para evitar reenvio duplicado; se confirmado, o ajuste do NossoNúmero pode exigir correção manual/suporte técnico.
Fonte: source/MFC033/UMFC033.pas:1050-1076 (TfrmMFC033.btnSalvarClick)
Regras de negócio
MFC033.R001(verregras/MFC033/MFC033.R001.md)MFC033.R002(verregras/MFC033/MFC033.R002.md)MFC033.R003(verregras/MFC033/MFC033.R003.md)MFC033.R004(verregras/MFC033/MFC033.R004.md)MFC033.R005(verregras/MFC033/MFC033.R005.md)MFC033.R006(verregras/MFC033/MFC033.R006.md)MFC033.R007(verregras/MFC033/MFC033.R007.md)MFC033.R008(verregras/MFC033/MFC033.R008.md)MFC033.R009(verregras/MFC033/MFC033.R009.md)MFC033.R010(verregras/MFC033/MFC033.R010.md)MFC033.R011(verregras/MFC033/MFC033.R011.md)MFC033.R012(verregras/MFC033/MFC033.R012.md)MFC033.R013(verregras/MFC033/MFC033.R013.md)MFC033.R014(verregras/MFC033/MFC033.R014.md)MFC033.R015(verregras/MFC033/MFC033.R015.md)MFC033.R016(verregras/MFC033/MFC033.R016.md)MFC033.R017(verregras/MFC033/MFC033.R017.md)MFC033.R018(verregras/MFC033/MFC033.R018.md)MFC033.R019(verregras/MFC033/MFC033.R019.md)MFC033.R020(verregras/MFC033/MFC033.R020.md)MFC033.R021(verregras/MFC033/MFC033.R021.md)
Perguntas frequentes
P: Por que a consulta não traz nenhum boleto mesmo com contas em aberto para o cliente?
R: Só aparecem títulos de Contas a Receber/Adiantamento (TIPOCONTA 'CR'/'AF') pendentes ou parcialmente pagos, e que tenham cadastro de Boleto (Banco/Agência/Forma de Pagamento) com integração via API habilitada (diferente de 'Nenhum'). Verifique se a Forma de Pagamento do cliente tem esse cadastro configurado.
Fonte: source/MFC033/UMFC033.pas:587-594 (TfrmMFC033.btnProcurarClick)
P: Deu a mensagem "O Boleto selecionado já foi Registrado no Banco/Financeira...", o que eu faço?
R: Você tentou usar "Gerar Boleto" em um título que já está registrado. Troque a Operação para "Alterar Registro" (mudar dados) ou "Reimpressão" (reemitir o mesmo boleto).
Fonte: source/MFC033/UMFC033.pas:752-759 (TfrmMFC033.btnSalvarClick)
P: Consigo reimprimir um boleto vencido?
R: Sim. A operação "Reimpressão" é permitida mesmo com o boleto vencido — o objetivo é o cliente pagar com juros calculados à parte caso tenha perdido o boleto original. Já as operações "Gerar Boleto" e a maioria das instruções de "Alterar Registro" ficam bloqueadas para títulos vencidos.
Fonte: source/MFC033/UMFC033.pas:855-863 (TfrmMFC033.btnSalvarClick)
P: Por que não consigo usar "Alterar Registro" numa cobrança PIX?
R: Cobranças 100% PIX (ST_APIBOLETOS='PX') não suportam a operação de Alterar Registro no banco — use "Reimpressão" para reobter o QR Code/Copia e Cola.
Fonte: source/MFC033/UMFC033.pas:865-867 (TfrmMFC033.btnSalvarClick)
P: Deu a mensagem sobre NFSE não transmitida ao tentar gerar o boleto, o que fazer?
R: O título está vinculado a uma nota de serviço (NFSE) que ainda não foi transmitida à prefeitura e a empresa não permite gerar boleto nessa condição. Transmita a NFSE primeiro; se a política da empresa permitir emitir boleto antes da transmissão, isso é configurado no cadastro de Configurações de NFSE.
Fonte: source/MFC033/UMFC033.pas:911-935 (TfrmMFC033.btnSalvarClick)
P: Marquei só uma parcela mas o sistema selecionou todas as parcelas do cliente, por quê?
R: Isso acontece quando o boleto é do tipo Vendor: o sistema marca automaticamente todas as parcelas do mesmo lançamento junto, não é possível selecionar apenas uma parcela isolada nesse tipo de cobrança.
Fonte: source/MFC033/UMFC033.pas:1299-1373 (TfrmMFC033.marcaContasIguais)
P: Por que apareceu a mensagem "A Pessoa não possui Endereço Cadastrado"?
R: O boleto/PIX exige que o cliente tenha um endereço cadastrado. Cadastre o endereço na tela de Pessoa (TFA001) e processe novamente.
Fonte: source/MFC033/UMFC033.pas:880-885 (TfrmMFC033.btnSalvarClick)
P: Recebi o aviso de que o "retorno (NossoNumero) não foi informado pelo banco". O boleto foi gerado ou não?
R: O pedido foi enviado à API do banco, mas o sistema não conseguiu confirmar/gravar o NossoNúmero de retorno (pode ter havido queda de conexão nesse meio-tempo). É preciso checar manualmente no site/app do banco ou no log de integração se o boleto foi mesmo registrado antes de tentar novamente, para não duplicar o registro.
Fonte: source/MFC033/UMFC033.pas:1050-1076 (TfrmMFC033.btnSalvarClick)
P: Deu a mensagem "Nenhum Boleto está cadastrado com esta Forma de Pagamento", o que preciso configurar?
R: É necessário existir um cadastro de parâmetros de Boleto (Banco/Agência/Convênio) vinculado a essa Forma de Pagamento para a empresa. Procure o suporte/administrador financeiro para configurar essa Forma de Pagamento na tela de Boleto.
Fonte: source/MFC033/UdmMFC033.pas:386-422 (TdmMFC033.tabFILTROCD_FORMAPAGTOValidate)
Dúvidas em aberto (o código não responde)
- Quais são exatamente os valores/significados de ST_APIBOLETOS além de 'PX' (PIX), 'AC' (API Boleto com QR e link) e 'PJ' (Boleto PJ Bank)? O código trata 'PJ' na descrição de TP_COBRANCA como 'BOLETO' e qualquer outro valor não-PX/PJ como 'API BOLETO', mas não há cadastro/documentação lida que liste todos os códigos possíveis. — TfrmMFC033.btnProcurarClick monta TP_COBRANCA com CASE em ST_APIBOLETOS (source/MFC033/UMFC033.pas:584-586); TdmMFC033.tabCONTASAfterScroll trata 'PX' e 'AC' e um bloco 'senão' genérico (source/MFC033/UdmMFC033.pas:432-494).
- O que exatamente cada código numérico do combo Instrução (2 a 12: Baixar Título, Conceder/Cancelar Abatimento, Descontar/Cancelar Descontado, Alterar Vencimento, Protestar/Cancelar Protesto, Dispensar Juros, Negativar/Excluir Negativação) faz no processamento pela API do banco? O módulo apenas grava o código em TP_INSTRUCAO na tabela CONFBOLETO; o processamento efetivo (chamada à API) não está neste módulo. — source/MFC033/UMFC033.pas:1005 grava Se(cmbTipo.Value, 'I', '1', cmbInstrucao.Value) como TP_INSTRUCAO em CONFBOLETO; source/MFC033/UMFC033.dfm:2107-2118 lista os itens do combo.
- Qual processo/serviço externo (mencionado como 'JunsoftAPIBoletos' em comentário) efetivamente lê a tabela CONFBOLETO e chama a API do banco? Não está neste módulo. — Comentário em source/MFC033/UMFC033.pas:1052-1054 menciona 'JunsoftAPIBoletos' como responsável por gravar NR_NOSSONUMEROAPI, mas o processo não está nos arquivos lidos.
- Quais parâmetros exatos habilitam o TIPOCONTA 'AF' (visto no filtro MontaWhere) — é 'Adiantamento a Fornecedor' ou outro significado? Não há leitura do cadastro TIPOCONTA neste módulo para confirmar a descrição completa da sigla. — source/MFC033/UMFC033.pas:262 filtra TIPOCONTA.TP_TIPOCONTA IN ('CR','AF').