| Código XML | CNPJ | Nome | Número | Série | Emissão | Saída | Valor produtos | Valor nota | Recebido por | Entrada por | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
Este documento descreve o sistema de gestão de Notas Fiscais Eletrônicas (NF-e) desenvolvido para uso em rede local multiusuário, com foco em confiabilidade operacional, integridade dos dados e continuidade de uso ao longo do tempo.
O sistema centraliza o lançamento, a organização e a análise de notas fiscais recebidas por uma operação, substituindo processos manuais dispersos por um fluxo único, auditável e consistente. Contempla desde o registro individual de cada nota até análises agregadas por empresa, categoria, período e participante envolvido no processo.
A solução adota uma arquitetura cliente-servidor simples e de baixo custo operacional: um servidor local (FastAPI) expõe uma API HTTP consumida por uma interface web própria, sem dependência de serviços externos ou conexão com a internet. A persistência dos dados é feita em banco SQLite operando em modo WAL, adequado a cenários de múltiplos usuários simultâneos e resiliente a interrupções de energia durante a escrita.
Um princípio central do projeto é a separação estrita entre código-fonte e dados: atualizações do sistema substituem apenas os arquivos de aplicação, nunca o banco de dados, eliminando o risco de perda de informação decorrente de uma atualização.
Lançamento de notas — registro assistido de NF-e, com extração automática de dados a partir do código de acesso, verificação de duplicidade em tempo real e validação cruzada entre a numeração da nota e o período de competência informado.
Curadoria de dados — conjunto de ferramentas para identificação e correção de inconsistências históricas: divergências cadastrais de CNPJ, nomes de empresas semelhantes, registros duplicados e informações não classificadas na importação inicial.
Cadastro de empresas — consolidação de razões sociais, CNPJs associados e categorização, com mecanismos de análise comparativa (ranking) e evolução histórica entre períodos.
Cadastro de participantes — controle de responsáveis pelo recebimento e lançamento de notas, com unificação de variações de escrita e rastreabilidade das notas associadas a cada pessoa.
Estatísticas gerenciais — apuração de indicadores por categoria, empresa e período, incluindo comparações interanuais.
O acesso ao sistema é individualizado por usuário, com autenticação própria. Operações sensíveis - exclusão de registros, edição de períodos já encerrados e alterações estruturais em cadastros - são protegidas por um mecanismo de senha adicional, dissociado das credenciais de uso corrente.
Toda alteração ou exclusão de registro é precedida do armazenamento do estado anterior em um histórico próprio, garantindo rastreabilidade completa das mudanças realizadas no sistema, por quem e quando foram feitas.
O sistema mantém rotina de cópias de segurança automatizadas e disponibiliza, adicionalmente, exportação manual do banco de dados sob demanda. O usuário é notificado quando o intervalo desde a última cópia de segurança excede o período recomendado.
Guia prático do dia a dia — atalhos, comportamentos automáticos e detalhes que o sistema não explica sozinho na tela. Não repete o que já está em "Visão geral".
A linha de lançamento (no topo da tabela) foi pensada pra nunca precisar de mouse:
Tab / Enter — avança pro próximo campo. No último campo (Entrada por), o primeiro Enter só foca o botão Salvar; um segundo Enter ali confirma (padrão do navegador para botão focado).
Setas ← → — também avançam/voltam de campo, mas só quando o cursor de texto já está bem no início ou no fim do que foi digitado (senão as setas só movem o cursor dentro do campo, normalmente).
Setas ↑ ↓ — dentro do autocomplete de "Nome" ou "Recebido por", navegam pelas sugestões. Enter confirma a sugestão destacada (ou a primeira, se nenhuma foi destacada com as setas) e já avança de campo sozinho.
Enter no campo CNPJ — se tiver algo digitado, busca a empresa por esse CNPJ na hora, mesmo sem ter vindo de um código de acesso.
Código de acesso incompleto + Enter — se o campo tiver menos de 44 dígitos, o campo pisca avisando quantos dígitos faltam, em vez de deixar passar em branco.
Colar ou bipar um código de acesso completo (44 dígitos) dispara, na hora, sem precisar de Enter: verificação de duplicidade, extração do CNPJ (posições 7 a 20 da chave), busca do nome da empresa por esse CNPJ, e o mês/ano de emissão (posições 3 a 6, o "AAMM" da própria chave) — o dia vem sempre como "01" e fica pra você ajustar.
Sem código de acesso, o campo Número também tenta reconhecer o padrão antigo (UF+ano+mês, ex: 352612 = SP, ano 26, dezembro) e preenche o mês/ano da mesma forma, assim que você sai do campo.
Depois de salvar, a linha volta inteiramente em branco (nada é herdado da nota anterior, nem a data) — cada nota nova começa do zero, pra garantir que o que ficou salvo reflete exatamente o que foi lido/digitado para ela.
Saída copia o valor de Emissão assim que ela é preenchida (automática ou manualmente), mas só se Saída ainda estiver vazia. Valor da nota copia de "Valor produtos" do mesmo jeito. Nos dois casos, o valor copiado já vem selecionado: aperte Enter/Tab pra manter, ou comece a digitar pra substituir.
Se o CNPJ digitado/extraído já tiver notas de mais de uma empresa cadastrada com esse mesmo CNPJ, aparece um aviso — vale conferir em "Empresas cadastradas" antes de salvar.
A checagem de duplicidade por código de acesso acontece assim que os 44 dígitos ficam completos — não precisa tentar salvar pra descobrir. Sem código de acesso, a checagem some o CNPJ da empresa com o número da nota dentro do mesmo mês/ano.
Clique em qualquer linha da tabela pra abrir os detalhes. Campos com destaque ao passar o mouse são editáveis: clique no campo, digite o novo valor, Enter salva e Esc cancela só aquele campo (o resto da tela de detalhes continua aberta).
Se duas pessoas editarem a mesma nota ao mesmo tempo, quem salvar por último recebe um aviso de conflito e a tela atualiza sozinha com a versão mais recente — a edição não se perde silenciosamente, mas também não é salva por cima da do outro sem avisar.
NF-e emitida há mais de 60 dias corridos fica somente leitura (ícone de cadeado na linha) — editar exige a senha especial do momento. Essa senha muda a cada hora; peça pra alguém com privilégio ativo. Sem ela, dá pra ver os detalhes normalmente, só não salva alteração.
A busca no topo (empresa, CNPJ, número ou valor) procura dentro do mês que você está vendo, a partir de 2 letras digitadas. No rodapé dos resultados: "Buscar em todos os anos" repete a mesma busca sem travar no mês atual, e "Filtrar por período…" abre um intervalo de datas livre, misturando vários meses numa lista só. Clicar num resultado leva direto pro mês/ano certo e já abre os detalhes da nota.
O autocomplete de "Nome da empresa" e "Recebido por" (na linha de lançamento) já sugere a partir de 1 letra, priorizando quem já tem mais notas lançadas.
Em "Empresas cadastradas", cada empresa pode ter apelidos cadastrados (formas alternativas de escrever o nome) — isso não muda o nome oficial, só faz a empresa aparecer em buscas por esses apelidos também. Categoria e subcategoria (editáveis ali mesmo) alimentam as Estatísticas por categoria. Uma empresa pode ter mais de um CNPJ associado (matriz/filiais); o valor total pago fica escondido por padrão e exige a senha especial pra revelar.
Em "Participantes cadastrados", "Unificar" faz um nome passar a aparecer como outro em todo o sistema (é só uma regra de exibição, nenhuma nota é alterada de verdade) — útil pra juntar variações de escrita da mesma pessoa. As regras já criadas ficam listadas e podem ser desfeitas a qualquer momento em "Ver regras de unificação/renomeação ativas". Já "Remover" apaga o participante de verdade das notas (exige senha especial) — as notas em que ele aparecia como "recebido por" ficam sem essa informação, e as que aparecia como "entrada por" passam a mostrar quem removeu.
O botão "Tratamento de dados" reúne curadoria em 4 abas: Não classificados (registros da importação inicial que não puderam ser interpretados sozinhos), Empresas parecidas (nomes muito semelhantes, sugestão de qual manter baseada em quem tem mais notas no grupo todo), CNPJ divergentes (uma empresa com notas usando CNPJs diferentes — o painel mostra qual é o majoritário e deixa comparar antes de corrigir; "Não é erro — é filial válida" existe pra quando o CNPJ "divergente" é, na verdade, uma filial de verdade, e não uma digitação errada) e Notas duplicadas (mesmo código de acesso lançado mais de uma vez — compare e escolha qual manter; as outras ficam registradas no histórico, não somem sem rastro).
O selo no cabeçalho mostra o total de pontos (Ⓦ) acumulados. Conquistas desbloqueadas em tempo real aparecem como um aviso no canto da tela pra quem estiver com o sistema aberto naquele instante — quem não estava online não recebe o aviso depois, mas a conquista continua registrada e aparece na aba Conquistas dentro de Estatísticas.
A sessão fica ativa por 30 minutos sem nenhuma interação (mouse, teclado ou rolagem) — depois disso, desloga sozinho e pede login de novo. O último usuário digitado fica lembrado no navegador pra a próxima vez. Criar um novo usuário sempre exige a aprovação de alguém com privilégio já ativo.
Editar nome/descrição, remover, restaurar e excluir permanentemente qualquer conquista do Redes. Exclusivo do usuário mestre - não aparece em lugar nenhum pra mais ninguém.
Ver, mudar nível de acesso (e permissões, se personalizado), renomear e ativar/desativar qualquer usuário já cadastrado. Desativar nunca apaga nada - a pessoa só não consegue mais entrar até ser reativada. Ninguém, nem daqui, define a senha de outra conta - cada um troca só a própria.
Só você troca a sua própria senha - nem admin, nem quem tem privilégio, consegue trocar a de outra conta.
| Código XML | CNPJ | Nome | Número | Série | Emissão | Saída | Valor produtos | Valor nota | Recebido por | Entrada por | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|