Informe a data inicial.
QuandoSem data inicial.
Não grava. statuscode 400 com a frase abaixo, que a tela mostra como está.
Passa, mas com um comportamento que surpreende quem está conferindo — ou é conferido só na tela.
O servidor devolve a frase do sistema antigo, e várias eram em espanhol lá. Não é tradução faltando.
Informe a data inicial.
QuandoSem data inicial.
Informe a data final.
QuandoSem data final.
A data final nao pode ser anterior a inicial.
QuandoPeríodo invertido.
Sessao sem filial ativa.
QuandoA sessão perdeu a filial — saia e entre de novo.
(sem mensagem) — a nota nunca enviada some da lista
QuandoNo Brasil, com mostrar não enviadas desmarcado, some o que nunca foi transmitido. A inutilizada escapa e aparece com rótulo próprio.
(sem mensagem) — fora do Brasil a lista sai do tenant inteiro
QuandoA filial do documento vem da tabela de origem; no Brasil há filtro de filial, fora dele não há — como no sistema antigo.
Nenhum documento com XML no periodo escolhido.
QuandoExportar XML de um período sem XML gravado.
Nao foram encontrados documentos nesse periodo.
QuandoExportar a planilha de um período vazio.
Documento sem XML gravado.
QuandoPedir o XML de um documento que não tem.
(sem mensagem) — a nota cancelada sai reescrita
QuandoNa exportação, cStat 100 vira 101, o motivo vira "Cancelamento de NF-e homologado" e o arquivo ganha o prefixo canc_.
As recusas de cada ação (nota já autorizada, ambiente trocado, etc.) são as mesmas das telas de faturamento.
(botão desabilitado) — as ações exigem linhas de uma origem só
QuandoA barra age sobre UMA tabela de origem. Com linhas de origens diferentes marcadas, o botão fica desabilitado com o motivo no tooltip. Linha cujo tipo de faturamento não tem origem conhecida aparece sem ações.
Producto <código> [<descrição>] con <N>% de IVA - el DE solo acepta 0, 5 o 10. Corrija el % IVA del item en el lanzamiento antes de generar el DE.
QuandoValidar um DE (Paraguai) cujo item tem % de IVA diferente de 0, 5 e 10. Na prática é lançamento com os campos trocados — um serviço de almoxarifado já foi medido com 70 no % IVA e 10 no % retenção. Nova em 11/09/2026.
Conferiro % IVA do item no lançamento de origem — na compra de almoxarifado, almoxarifado_compra_produto.percentual_iva (tela 242)
AtençãoA compra de almoxarifado (tipos 1191, 11101 e 11166) passou a declarar o IVA do item. No sistema antigo toda ela saía como exenta, porque a consulta não lia a coluna — decisão do usuário em 12/09/2026.
grep hUsuarioRegras no programa do sistema antigo devolve
zero: esta tela não tem regra nomeada a conceder no Acesso dos Grupos (444).
Recusa de regra: HTTP 200 com statuscode 400 e a frase, que a tela mostra no
rodapé da janela. Pergunta do servidor: statuscode 409 com o campo a
reenviar como true. As mensagens que só a tela confere (marcadas como Aviso,
"conferido só na tela") não chegam ao servidor. Erro inesperado traz o código de
ocorrência de 8 caracteres — copie-o no chamado.
| O que | Valor |
|---|---|
| origem de cada linha | cinco listas fixas de tipo de faturamento (traduzTipoFaturamento) |
| Ponto | Situação |
|---|---|
| inutilização de faixa (:799) | não portada — depende do webservice de inutilização da SEFAZ, que o módulo de NF-e ainda não tem |
| o XML na listagem | o sistema antigo carrega o XML inteiro na grade; aqui ele sai só na exportação |
| IVA da compra de almoxarifado no DE (Paraguai) | o sistema antigo manda todo item como exento (a consulta não lê percentual_iva); aqui vai o % do item, e o item excluído fica de fora — decisão do usuário em 12/09/2026 |
Esta seção compara a 237 com o CEIF — sistema antecessor, em D:\CEIF,
anterior à obrigatoriedade da nota fiscal eletrônica no Brasil — por isso o gap esperado
logo abaixo. É uma comparação de três pontas (legado × CEIF × porte novo) que complementa,
sem repetir, as regras de validação já documentadas nas seções A a G acima.
O CEIF não tem nenhuma tela de NF-e, central ou não — grep -i "NFE" e
grep -i "NOTA FISCAL ELETRONICA" em D:\CEIF\*.PRG não retornam
nada de relevante. A comparação de botões e permissões abaixo é essencialmente
legado × porte; o CEIF só é citado onde há algo dele a dizer.
| Botão (legado) | CEIF | Equivalente no porte |
|---|---|---|
| DANFE | n/a (gap esperado) | Botão DANFE — NfeAcoesWindow |
| Consultar NFe | n/a | Botão Consultar |
| Cancelar NFe | n/a | Botão Cancelar (vermelho) |
| Carta Correção | n/a | Botão Carta de Correção |
| Enviar email | n/a | Botão Email |
| Atualizar | n/a | Botão Atualizar (topo da grade) |
| Exportar XMLs | n/a | Botão Exportar XML |
| Inutiliza | n/a | Botão Inutilizar (Brasil e Paraguai) |
| XLS | n/a | Botão XLS |
UPLOAD (login athayde,suporte) | n/a | Botão Upload XML — regra nomeada NFE_UPLOAD_XML |
Os dez botões reais do legado (BUTTONEX, menu237.prg:261-319) têm par no
porte — nenhum faltando. A mais no porte: "Gerar"/"Validar" e "DANFE Contingência",
compartilhados com outras telas de NF-e (2322/2333/243) — ampliação de conveniência, não
divergência de comportamento.
| Mecanismo | Legado | Porte |
|---|---|---|
| Gate de CRUD por opção de menu | testUsPermissao em 6 dos 10 botões (DANFE, Consultar, Cancelar, Carta Correção, Email, Exportar XMLs) | Sem gate por botão dentro da tela — decisão arquitetural do projeto: grupo_permissao só decide visibilidade de menu, JWT é a barreira nos endpoints |
| Upload de XML | Lista de login chumbada "athayde,suporte", recusa silenciosa | Regra nomeada NFE_UPLOAD_XML — checada em GET /central/permissoes (esconde o botão) e de novo em POST /central/upload, com mensagem explícita |
| Inutilizar | Sem gate de permissão nem de login | Idem — sem regra nomeada específica; o legado também não trava esse botão |
| Data inicial (campo) | dHoje-15 — abre com os últimos 15 dias | Início do mês corrente até hoje — ver Achado abaixo |
| Filtro de tipo de faturamento (campo, Brasil) | GET numérico + botão "..." de busca por nome/descrição | Campo de texto livre "ex. 113,114", sem busca — ver Achado abaixo |
| Busca livre da grade (campo) | Texto + combo de coluna + "contida" (filtro client-side) | Ausente — ver Achado abaixo |
| Colunas da grade (campo) | 22 colunas, incluindo Id.TF e Nome XML | 19 colunas visíveis — os dois campos existem no DTO mas não aparecem — ver Achado abaixo |
CEIF não tem tela de NF-e
OndeTela inteira — comparação de três pontas.
Por quêO CEIF é anterior à obrigatoriedade da nota fiscal eletrônica no Brasil (2008+) e não foi atualizado depois disso. Não é achado — a comparação se reduz, na prática, a legado × porte novo.
Data inicial default diverge
LegadodHoje-15 — abre mostrando os últimos 15 dias.
PorteInício do mês corrente até hoje.
EfeitoO recorte inicial mostrado ao abrir a tela é maior ou menor que o do legado dependendo do dia do mês. Não é erro de dado — muda só o filtro inicial — mas pode confundir quem migra do desktop.
Filtro de tipo de faturamento perdeu o botão de busca "..."
LegadoCampo numérico com VALID + botão "..." que abre busca de TIPO_FATURAMENTO por nome/descrição.
PorteCampo de texto livre com dica "ex. 113,114" — o usuário precisa digitar os IDs de memória.
EfeitoPerda de conveniência real, não de correção — o filtro funciona — mas é regressão de usabilidade perceptível para quem usava o legado.
Busca livre por coluna ("pesquisa" + "contida") não foi portada
LegadoCampo de texto + combo de colunas (populado dinamicamente pelo cabeçalho da grade) + checkbox "contida" — filtra a grade client-side.
PorteSem equivalente — só ordenação por cabeçalho e os filtros estruturados do formulário.
EfeitoConsistente com a arquitetura do projeto (nenhuma tela tem esse padrão de busca), mas é lacuna funcional concreta desta tela — o volume de documentos por período pode ser grande.
Grade oculta duas colunas que o legado sempre mostra
Legado22 colunas, incluindo Id.TF (idtipo_faturamento) e Nome XML.
Porte19 colunas visíveis — os dois campos existem no DTO (CentralNfeLinha) e são usados internamente (roteamento de ação, nome do arquivo na exportação), mas não aparecem na grade.
EfeitoProvavelmente intencional (campos técnicos, não de leitura para o usuário final), mas como o legado os expõe por padrão, fica registrado como divergência visível. Não afeta regra de negócio.
NFE_UPLOAD_XML substitui corretamente a lista de login chumbada
LegadoLista de login "athayde,suporte" checada em uploadNFe — recusa silenciosa (sem mensagem).
PorteRegra nomeada NFE_UPLOAD_XML, checada em GET /central/permissoes (esconde o botão) e de novo no POST /central/upload, com mensagem explícita.
ConferidoDivergência deliberada e já documentada — login chumbado virou regra nomeada, o padrão do projeto. Registrado só para constar.
Nenhuma regra bate com essa busca. Tente um trecho menor da mensagem, ou limpe os filtros.