CNF011 — Consulta de NFS-e (enriquecimento)
Menu: Faturamento > Consultas > Notas Fiscais > Consulta de NFS-e
Objetivo
A CNF011 é a tela de consulta e acompanhamento do ciclo de vida das NFS-e (Nota Fiscal de Serviço Eletrônica) emitidas pelo ERP: mostra o status de cada RPS/lote junto ao provedor municipal, permite gerar e salvar os arquivos de envio no layout do provedor configurado, importar o retorno da prefeitura, cancelar/excluir notas, reenviar por e-mail, reimprimir e corrigir manualmente dados de notas já autenticadas. Todo o comportamento da tela (quais abas e botões aparecem, qual layout de arquivo é gerado) depende do provedor de NFS-e configurado para a empresa em MFA013, então a mesma tela se comporta de forma diferente conforme a prefeitura atendida. É usada principalmente pelo setor fiscal/faturamento após a emissão da nota, para garantir que ela seja de fato autenticada perante o município.
Fluxo principal
- Abrir a tela pelo menu Faturamento > Consultas > Notas Fiscais > Consulta de NFS-e. O sistema carrega a configuração de NFS-e da empresa (MFA013) e ajusta abas/botões conforme o provedor. (Consulta) —
source/CNF011/UCNF011.pas:274-391 (iniciar) - O sistema abre automaticamente a aba Saldo (provedores webservice) ou Arquivos (provedores por arquivo) com o resultado da busca. (Saldo / Arquivos) —
source/CNF011/UCNF011.pas:1636-1647 (TfrmCNF011.btnProcurarClick) - Marcar (checkbox CHECKED) as notas/RPS que serão transmitidas, ou usar 'Marcar Todos'. (Saldo / Arquivos) —
source/CNF011/UCNF011.pas:1853-1878 (TfrmCNF011.gridSALDOCellClick) - Para provedores que retornam arquivo (aba Retorno visível), usar 'Importar' para carregar o arquivo de retorno da prefeitura; conferir os dados carregados e pressionar F6/Confirmar para gravar. (Retorno) —
source/CNF011/UCNF011.pas:3840-3894 (TfrmCNF011.btniMPORTARClick) - Clicar em 'Salvar' para efetivar as notas da aba Retorno: grava NR_NOTAFISCAL/Código de Autenticação em NOTA/NFSE e dispara GERA_INTEGRACAO. (Retorno) —
source/CNF011/UCNF011.pas:3344-3441 (TfrmCNF011.btnSalvarClick)
Campos obrigatórios
| Campo | Condição | Mensagem | Fonte |
|---|---|---|---|
| NR_NFSE (Nº da Nota Fiscal) | Ao clicar em 'Salvar NFS-e' (botão btnSalvarNFSe) enquanto o registro ainda não está em modo de edição manual (stEditandoNFSe = False) e o campo está em branco. | É Obrigado Informar o Número da Nota Fiscal! | source/CNF011/UCNF011.pas:6245-6252 (TfrmCNF011.btnSalvarNFSeClick) |
| CD_AUTENTICACAO (Código de Autenticação) | Na tela 'Atualizar Dados da Nota Fiscal' (menu de contexto sobre a grade), só é possível gravar o Nº da Nota Fiscal ou o Nº da Nota de Serviço se o Código de Autenticação já estiver preenchido no formulário. | Para definir a Nota Fiscal é necessário possuir o código de autenticação! / Para definir a Nota de Serviço é necessário possuir o código de autenticação! | source/CNF011/UCNF011.pas:7880-7884 (TfrmCNF011.AtualizarDadosdaNotaFiscal1Click) |
| Pelo menos uma nota marcada (CHECKED = 1) na grade | Obrigatório marcar ao menos um registro da grade (aba Saldo/Arquivos) antes de clicar em 'Salvar' (aba Retorno) ou 'Gerar Arquivos'. | Nenhuma Nota Informada! Verifique! / Nenhuma Nota Fiscal foi Selecionada. Verifique! / Nenhuma Nota Fiscal Foi Selecionada. Verifique! | source/CNF011/UCNF011.pas:3424-3433 (TfrmCNF011.btnSalvarClick) |
| Código de Autenticação (cdsDADOSNF) não repetido | Ao informar um Código de Autenticação no formulário auxiliar de atualização de dados da nota, o sistema impede gravar um valor já existente em NFSE. | Este Código de Autenticação já existe no Sistema. | source/CNF011/UdmCNF011.pas:680-696 (TdmCNF011.cdsDADOSNFCD_AUTENTICACAOValidate) |
Mensagens: causa e ação
Não foi Encontrado Parâmetros para NFS-e para a Empresa! Verifique [MFA013]
Causa: A empresa selecionada na sessão não tem cadastro de Configuração de NFS-e (provedor emissor) em MFA013.
Ação: Cadastrar/associar o provedor NFS-e da empresa na tela MFA013 e reabrir a CNF011.
Fonte: source/CNF011/UCNF011.pas:306-327 (iniciar)
A Data Final não pode ser Menor que a Data Inicial!
Causa: No filtro da aba Consulta, a Data Final informada é anterior à Data Inicial.
Ação: Corrigir a Data Final para uma data igual ou posterior à Data Inicial e buscar novamente.
Fonte: source/CNF011/UCNF011.pas:1425-1430 (TfrmCNF011.btnProcurarClick)
Deseja Liberar as RPSs para Reenvio?
Causa: O usuário marcou uma ou mais RPS com problema (lote aguardando ou não processado) e clicou em 'Alterar Reenvio'.
Ação: Confirmar para remover o vínculo da RPS com o lote atual, permitindo que ela seja incluída em um novo lote no próximo envio.
Fonte: source/CNF011/UCNF011.pas:1791-1793 (TfrmCNF011.btnAlterarReenvioClick)
O Lote Selecionado, está [EM PROCESSAMENTO], deseja liberar mesmo assim a RPS?
Causa: A RPS marcada pertence a um lote com status 'Em Processamento' (ST_LOTE=1), que normalmente ainda está sendo tratado pela prefeitura/webservice.
Ação: Confirmar apenas se tiver certeza de que o lote realmente travou; caso contrário, aguardar o processamento normal antes de liberar.
Fonte: source/CNF011/UCNF011.pas:1811-1813 (TfrmCNF011.btnAlterarReenvioClick)
É Obrigado Informar o Número da Nota Fiscal!
Causa: O usuário tentou clicar em 'Salvar NFS-e' com o campo Nº NFS-e vazio, fora do fluxo de edição manual iniciado pelo botão Editar.
Ação: Informar o número da nota fiscal (Nº NFS-e) retornado pela prefeitura antes de salvar.
Fonte: source/CNF011/UCNF011.pas:6245-6252 (TfrmCNF011.btnSalvarNFSeClick)
Não é Possível Selecionar Notas Já Transmitidas!
Causa: Uma das notas marcadas para geração de arquivo já está com status de NFS-e 'Transmitida' (ST_NFSE='T'), ou seja, já foi enviada/autenticada.
Ação: Desmarcar a nota já transmitida; se precisar reenviá-la, usar antes 'Alterar Reenvio' para liberar o vínculo do lote.
Fonte: source/CNF011/UCNF011.pas:4974-4976 (TfrmCNF011.btnGera_ArquivosClick)
Não é Possível Selecionar uma Nota Fiscal Cancelada no Sistema que Ainda não foi Transmitida.
Causa: A nota está com status Cancelada (ST_NOTA='C') no ERP, mas nunca chegou a ter Código de Autenticação (nunca foi enviada/autenticada na prefeitura).
Ação: Desmarcar essa nota da seleção; ela não deve ser incluída em arquivo de envio pois não existe RPS/NFS-e válida a transmitir.
Fonte: source/CNF011/UCNF011.pas:4978-4979 (TfrmCNF011.btnGera_ArquivosClick)
A Empresa NFS-e não aceita mais de um Serviço por Nota! Utilize o Agrupamento de Serviços [MFA013]
Causa: O provedor configurado (ex.: SIGISS, STS) exige que cada NFS-e tenha apenas um item de serviço, mas a nota selecionada possui mais de um item.
Ação: Ativar o parâmetro 'Agrupa Serviços' em MFA013 para consolidar os itens em um único serviço antes de gerar o arquivo, ou reemitir a nota com apenas 1 item.
Fonte: source/CNF011/UCNF011.pas:3142-3143 (TfrmCNF011.geraNota), source/CNF011/UCNF011.pas:1220-1221 (TfrmCNF011.GeraArquivoSTS)
O provedor não aceita mais de um serviço por arquivo xml. Favor utilizar o parâmetro "Agrupa Serviços"! [MFA013]
Causa: Provedor Futurize configurado sem o parâmetro StAgrupaServico ativo em MFA013, ao tentar gerar o XML de envio.
Ação: Habilitar o parâmetro 'Agrupa Serviços' em MFA013 para este provedor antes de gerar o arquivo.
Fonte: source/CNF011/UCNF011.pas:5122-5125 (TfrmCNF011.btnGera_ArquivosClick)
O cancelamento via WebService não está disponivel para este provedor,o cancelamento deve ser feito primeiramente pelo sistema da prefeitura! Deseja continuar com o cancelamento no sistema?
Causa: O provedor configurado é UDigital V2 ou GovDigital, que não suportam cancelamento automático via webservice a partir do ERP.
Ação: Cancelar a nota primeiro no portal/sistema da prefeitura; confirmar a mensagem apenas para refletir o cancelamento também no ERP (módulo MNF005/MNF006).
Fonte: source/CNF011/UCNF011.pas:5269-5273 (TfrmCNF011.btnCancelarRpsClick)
W-0017
Causa: O usuário tentou consultar a Nota (CNF001), a Pessoa (TFA001), o Produto (TPO001) ou realizar o Cancelamento (MNF005/MNF006) a partir da CNF011, mas não possui permissão de acesso ao respectivo programa no menu.
Ação: Solicitar ao administrador a liberação de acesso ao módulo correspondente (CNF001, TFA001, TPO001, MNF005 ou MNF006) no cadastro de permissões do usuário.
Fonte: source/CNF011/UCNF011.pas:1905-1907 (TfrmCNF011.btnConsultaNFClick), source/CNF011/UCNF011.pas:5280-5282 (TfrmCNF011.btnCancelarRpsClick), source/CNF011/UCNF011.pas:5327-5329 (TfrmCNF011.btnConsultarProdutoClick)
O Usuário Não Tem Acesso a Alteração de Nota. Verifique! [ADM012]
Causa: O usuário logado não tem o parâmetro de permissão para alterar dados de nota (PARMUSUARIO.ST_ALTERANOTA) habilitado para a empresa atual.
Ação: Solicitar ao administrador que habilite a permissão de 'Alterar Nota' para o usuário em Parâmetros de Usuário, para a empresa em questão.
Fonte: source/CNF011/UCNF011.pas:7847-7848 (TfrmCNF011.AtualizarDadosdaNotaFiscal1Click)
Somente é Possível Alteração de Nota "Válida" e "Cancelada". Verifique!
Causa: O usuário tentou usar 'Atualizar Dados da Nota Fiscal' em uma nota cujo status não é Válida (V) nem Cancelada (C) — por exemplo, uma nota em outro status intermediário.
Ação: Selecionar uma nota com status Válida ou Cancelada antes de usar essa função de atualização manual.
Fonte: source/CNF011/UCNF011.pas:7850-7853 (TfrmCNF011.AtualizarDadosdaNotaFiscal1Click)
Não Existe Notas Validas Selecionadas!
Causa: Nenhuma das notas marcadas na grade usa o layout de impressão LNF220, único suportado pela exportação em lote (ZIP com PDFs).
Ação: Marcar apenas notas cuja Empresa/Série/Tipo de Nota está configurada em PARMNOTA com layout LNF220, ou ajustar o layout da nota antes de exportar.
Fonte: source/CNF011/UCNF011.pas:7586-7612 (TfrmCNF011.btnExportarNotaClick)
Regras de negócio
CNF011.R001(verregras/CNF011/CNF011.R001.md)CNF011.R002(verregras/CNF011/CNF011.R002.md)CNF011.R003(verregras/CNF011/CNF011.R003.md)CNF011.R004(verregras/CNF011/CNF011.R004.md)CNF011.R005(verregras/CNF011/CNF011.R005.md)CNF011.R006(verregras/CNF011/CNF011.R006.md)CNF011.R007(verregras/CNF011/CNF011.R007.md)CNF011.R008(verregras/CNF011/CNF011.R008.md)CNF011.R009(verregras/CNF011/CNF011.R009.md)CNF011.R010(verregras/CNF011/CNF011.R010.md)CNF011.R011(verregras/CNF011/CNF011.R011.md)CNF011.R012(verregras/CNF011/CNF011.R012.md)CNF011.R013(verregras/CNF011/CNF011.R013.md)CNF011.R014(verregras/CNF011/CNF011.R014.md)CNF011.R015(verregras/CNF011/CNF011.R015.md)CNF011.R016(verregras/CNF011/CNF011.R016.md)CNF011.R017(verregras/CNF011/CNF011.R017.md)CNF011.R018(verregras/CNF011/CNF011.R018.md)CNF011.R019(verregras/CNF011/CNF011.R019.md)CNF011.R020(verregras/CNF011/CNF011.R020.md)CNF011.R021(verregras/CNF011/CNF011.R021.md)CNF011.R022(verregras/CNF011/CNF011.R022.md)CNF011.R023(verregras/CNF011/CNF011.R023.md)
Perguntas frequentes
P: Abri a CNF011 para uma empresa e a tela não mostra nenhuma aba de resultado nem os botões de ação. Por quê?
R: A empresa não possui parâmetros de NFS-e cadastrados no módulo MFA013 (Config. NFS-e). O sistema exibe a mensagem informativa e oculta Novo, Salvar, Procurar, Excluir e as abas Saldo/Arquivos/Retorno. Peça para cadastrar/verificar o provedor NFS-e da empresa em MFA013.
Fonte: source/CNF011/UCNF011.pas:306-327 (iniciar)
P: Cliquei em Procurar e deu 'A Data Final não pode ser Menor que a Data Inicial!'. Como resolvo?
R: Ajuste o campo Data Final para uma data igual ou posterior à Data Inicial informada no filtro da aba Consulta antes de buscar novamente.
Fonte: source/CNF011/UCNF011.pas:1425-1430 (TfrmCNF011.btnProcurarClick)
P: Por que o botão da nota mudou de 'Cancelar Nota' para 'Excluir Nota'?
R: O rótulo do botão acompanha o status da nota (ST_NOTA): se a nota está 'Válida' (V) o botão mostra 'Cancelar Nota'; se já está 'Cancelada' (C) mostra 'Excluir Nota', pois nesse caso a ação abre o módulo de exclusão (MNF006) em vez do de cancelamento (MNF005).
Fonte: source/CNF011/UdmCNF011.pas:283-283 (TdmCNF011.tabSALDOAfterScroll), source/CNF011/UCNF011.pas:5275-5314 (TfrmCNF011.btnCancelarRpsClick)
P: Não consigo digitar no campo Nº NFS-e / Código de Autenticação na aba Saldo. Está travado?
R: Esses campos só ficam editáveis quando a nota ainda não tem Código de Autenticação preenchido (nota ainda não autenticada na prefeitura). Se já houver autenticação, os campos ficam somente leitura; para provedor ENota é possível liberar a edição clicando no botão Editar, quando ele estiver visível.
Fonte: source/CNF011/UdmCNF011.pas:263-265 (TdmCNF011.tabSALDOAfterScroll), source/CNF011/UCNF011.pas:7822-7836 (TfrmCNF011.btnEditarClick)
P: Ao gerar o arquivo, deu a mensagem 'A Empresa NFS-e não aceita mais de um Serviço por Nota! Utilize o Agrupamento de Serviços [MFA013]'. Como corrijo?
R: O provedor configurado (ex.: SIGISS/Colombo, STS/Parnaíba, entre outros) só aceita um item de serviço por nota fiscal. Ative o parâmetro 'Agrupa Serviços' em MFA013 para consolidar os itens em um único serviço antes de gerar o arquivo, ou emita a nota com um único item de serviço.
Fonte: source/CNF011/UCNF011.pas:3142-3143 (TfrmCNF011.geraNota), source/CNF011/UCNF011.pas:1220-1221 (TfrmCNF011.GeraArquivoSTS)
P: Marquei uma nota para gerar arquivo, mas o sistema recusa com 'Não é Possível Selecionar Notas Já Transmitidas!'. O que fazer?
R: A nota já está com status de NFS-e 'Transmitida' (ST_NFSE = 'T'), ou seja, já foi enviada e autenticada anteriormente (exceto para o provedor Barueri, que permite reenvio). Desmarque essa nota; se ela precisar ser reenviada, use antes o botão 'Alterar/Liberar Reenvio'.
Fonte: source/CNF011/UCNF011.pas:4974-4976 (TfrmCNF011.btnGera_ArquivosClick)
P: Como faço para reenviar uma RPS que ficou com erro no lote?
R: Na aba Saldo, marque a(s) NFS-e desejada(s) (checkbox) e clique em 'Alterar Reenvio'. O sistema só libera RPS cujo lote está em status 'Aguardando' ou 'Não Processado'; se o lote estiver 'Em Processamento', pede confirmação extra antes de liberar.
Fonte: source/CNF011/UCNF011.pas:1791-1841 (TfrmCNF011.btnAlterarReenvioClick)
P: Deu a mensagem 'O Usuário Não Tem Acesso a Alteração de Nota. Verifique! [ADM012]' ao tentar atualizar dados da nota. Como libero?
R: O usuário não tem o parâmetro 'Permite Alterar Nota' habilitado no cadastro de Parâmetros do Usuário (PARMUSUARIO) para a empresa. Solicite ao administrador que habilite essa permissão para o usuário na tela de parâmetros de usuário.
Fonte: source/CNF011/UCNF011.pas:7847-7848 (TfrmCNF011.AtualizarDadosdaNotaFiscal1Click), source/CNF011/UCNF011.pas:414-419 (iniciar)
P: Por que ao importar o retorno da prefeitura o sistema diz que as notas já foram importadas?
R: Para cada registro do arquivo de retorno, o sistema consulta o ST_NFSE da nota correspondente; se já estiver 'T' (Transmitida/autenticada), o registro é descartado da importação por já ter sido processado anteriormente.
Fonte: source/CNF011/UCNF011.pas:3882-3893 (TfrmCNF011.btniMPORTARClick)
P: Por que o botão 'Exportar Nota' não aparece para a nota que estou consultando?
R: Esse botão só fica visível quando o layout de impressão configurado em PARMNOTA para aquela empresa/série/tipo de nota é o LNF220. Para outros layouts a exportação em lote (ZIP com PDFs) não está disponível.
Fonte: source/CNF011/UdmCNF011.pas:326-337 (TdmCNF011.tabSALDOAfterScroll)
P: Marquei notas e cliquei em Exportar Nota, mas deu 'Não Existe Notas Validas Selecionadas!'. Por quê?
R: Nenhuma das notas marcadas usa o layout LNF220 (o único suportado pela exportação em lote). Verifique o layout configurado em PARMNOTA para a série/tipo de nota das notas selecionadas.
Fonte: source/CNF011/UCNF011.pas:7586-7612 (TfrmCNF011.btnExportarNotaClick)
Dúvidas em aberto (o código não responde)
- O que representam os status de lote ST_LOTE = 5 (branco) e ST_LOTE = 7 (preto/texto branco) exibidos na grade de Saldo? — gridSALDODrawColumnCell (source/CNF011/UCNF011.pas:1717-1768) pinta a coluna NR_RPS conforme ST_LOTE (1=Aguardando, 2=Não Processado, 3=Processado, 4=Aguardando Cancelamento, 6=Cancelado), mas os checkboxes de filtro da aba Consulta só cobrem 1,2,3,4,6. Os valores 5 e 7 aparecem apenas no código de cores, sem checkbox equivalente nem comentário explicando seu significado de negócio.
- A validação de Código de Autenticação duplicado em cdsDADOSNF está comparando o campo certo? — TdmCNF011.cdsDADOSNFCD_AUTENTICACAOValidate (source/CNF011/UdmCNF011.pas:680-696) recebe o Validate do campo CD_AUTENTICACAO, mas a consulta SQL filtra 'WHERE CD_AUTENTICACAO = ' usando dmCNF011.cdsDADOSNFNR_NOTASERVICO.AsString (outro campo) em vez de Sender.AsString (o valor digitado). Isso pode fazer a validação nunca disparar corretamente, ou disparar por um motivo diferente do esperado.
- A exigência de Código de Verificação da Nota Fiscal para o provedor Tinus foi removida de propósito? — Em TfrmCNF011.btnSalvarNFSeClick (source/CNF011/UCNF011.pas:6254-6263) existe um bloco inteiro comentado ({ ... }) que validaria 'É Obrigatório Informar o Código de Verificação da Nota Fiscal!' para o provedor Tinus quando CD_AUTENTICACAO está vazio. Não há indicação se a remoção foi intencional (regra descontinuada) ou um bug de código morto.