Pular para o conteúdo

Documentação do Fulgoria

O Fulgoria extrai dados estruturados de documentos que foram projetados para serem lidos, não analisados. Você o ensina um layout uma vez marcando colunas; a partir daí ele lê todos os documentos desse tipo e lhe dá um CSV limpo. Tudo abaixo acontece no seu navegador.

Clique em Abrir PDF ou imagem e escolha um arquivo, ou selecione Ver um exemplo para carregar um extrato bancário de amostra. PDFs digitais e digitalizações ou fotos são ambos aceitos. Digitalizações e imagens são lidas com OCR local (Tesseract.js), de modo que até uma imagem de um extrato vira texto sem sair da sua máquina.

O Fulgoria detecta as colunas automaticamente como primeira passagem. Você as refina arrastando sobre o documento para indicar onde cada dado fica. Em seguida, atribua um papel a cada coluna:

  • date — a data da transação
  • description — o conceito ou o beneficiário
  • debit / credit / amount with sign — o valor do movimento
  • balance — o saldo corrente
  • text — qualquer outra coluna que você queira manter

Você também pode aplicar formatação livre, no estilo Excel por coluna (padrões de data e número, WYSIWYG) e definir regras de exclusão por conteúdo para pular cabeçalhos repetidos, linhas de “TOTAIS” e ruído semelhante.

Um editor estilo planilha permite corrigir qualquer célula, com o saldo recalculado ao vivo. Ele suporta localizar e substituir, adicionar e excluir linhas, colar do Excel, desfazer/refazer, preenchimento para baixo, categorização assistida, sinalizadores de qualidade e valores de abertura/fechamento editáveis.

Quando os dados estiverem limpos, exporte-os:

  • CSV — os movimentos, prontos para uma planilha ou sua ferramenta de contabilidade.
  • Modelo — a geometria como um arquivo reutilizável .ext.json ou .ext.yaml (veja abaixo).
  • Enviar ao Escriba — entregue o resultado limpo ao seu Escriba local.

Entrada

PDFs digitais e digitalizações / imagens (PNG, JPG e similares). Documentos multipágina e PDFs multiconta — por exemplo pesos e dólares em um único arquivo — produzem um cartão por conta.

Saída

CSV para os movimentos, e arquivos de modelo em .ext.json ou .ext.yaml para o layout. Um handoff “Enviar ao Escriba” passa o resultado para o resto da suite.

Na primeira vez que você marca o extrato de um banco, o Fulgoria pode salvar esse layout como um modelo. Na próxima vez que você abrir um documento do mesmo tipo, ele é reconhecido automaticamente e as colunas já estão no lugar — sem remarcar.

Modelos podem ser carregados a partir de um arquivo .json baixado ou escolhidos entre seus modelos salvos dentro do app.

Tudo é executado no seu navegador. O PDF é aberto, lido e processado dentro da sua máquina, e não há uma única requisição externa — fontes e bibliotecas são embarcadas no app. A privacidade não é um recurso acoplado; é a arquitetura.

Quando o Fulgoria é self-hosted, o servidor enxuto ainda assim nunca recebe o documento. Ele apenas serve os arquivos estáticos e cuida do login opcional. Ele aplica uma CSP estrita e cabeçalhos de segurança, e nunca expõe .env, server.js ou quaisquer amostras privadas.

Para produção, o Fulgoria inclui um servidor enxuto (server.js, Node/Express) cujas únicas tarefas são servir o app estático e protegê-lo atrás de um login opcional lido do .env.

Defina AUTH_ENABLED=true e configure AUTH_USER e AUTH_PASSWORD. As sessões são assinadas com SESSION_SECRET e duram SESSION_TTL_HOURS horas. Atrás de HTTPS, mantenha COOKIE_SECURE=true.

Gere um hash de senha bcrypt e um segredo de sessão assim:

Terminal window
node server.js --hash 'your-password' # → AUTH_PASSWORD
openssl rand -hex 32 # → SESSION_SECRET

Todas as configurações vivem no .env:

VariávelPadrãoFinalidade
PORT3000Porta do servidor.
AUTH_ENABLEDtrueLiga ou desliga o login.
AUTH_USERdiegoNome de usuário do login.
AUTH_PASSWORD(vazio)Senha em texto simples ou hash bcrypt.
SESSION_SECRET(vazio)Assina o cookie de sessão.
SESSION_TTL_HOURS12Duração da sessão em horas.
COOKIE_SECUREtruetrue atrás de HTTPS, false para http:// local.
ESCRIBA_URL(vazio)Alvo de “Enviar ao Escriba”; vazio recai para /.