Entrada
PDFs digitales y escaneos / imágenes (PNG, JPG y similares). Los documentos multipágina y los PDFs multicuenta — por ejemplo pesos y dólares en un mismo archivo — producen una tarjeta por cuenta.
Fulgoria extrae datos estructurados de documentos que fueron diseñados para ser leídos, no parseados. Le enseñas una disposición una sola vez marcando columnas; a partir de entonces lee todos los documentos de ese tipo y te da CSV limpio. Todo lo de abajo ocurre en tu navegador.
Haz clic en Abrir PDF o imagen y elige un archivo, o selecciona Ver un ejemplo para cargar un extracto bancario de muestra. Se aceptan tanto PDFs digitales como escaneos o fotos. Los escaneos y las imágenes se leen con OCR local (Tesseract.js), así que incluso una imagen de un extracto se vuelve texto sin salir de tu máquina.
Fulgoria autodetecta las columnas como primera pasada. Las refinas arrastrando sobre el documento para indicar dónde vive cada dato. Luego asigna un rol a cada columna:
También puedes aplicar formato libre, estilo Excel por columna (patrones de fecha y número, WYSIWYG) y definir reglas de exclusión por contenido para saltear encabezados repetidos, filas de “TOTALES” y ruido similar.
Un editor estilo planilla te permite corregir cualquier celda, con el saldo recalculándose en vivo. Soporta buscar y reemplazar, agregar y eliminar filas, pegar desde Excel, deshacer/rehacer, rellenar hacia abajo, categorización asistida, banderas de calidad, y valores de apertura/cierre editables.
Cuando los datos están limpios, expórtalos:
.ext.json o .ext.yaml (ver más abajo).Entrada
PDFs digitales y escaneos / imágenes (PNG, JPG y similares). Los documentos multipágina y los PDFs multicuenta — por ejemplo pesos y dólares en un mismo archivo — producen una tarjeta por cuenta.
Salida
CSV para los movimientos, y archivos de plantilla en .ext.json o .ext.yaml para
la disposición. Un traspaso “Enviar a Escriba” pasa el resultado al resto de la suite.
La primera vez que marcas el extracto de un banco, Fulgoria puede guardar esa disposición como una plantilla. La próxima vez que abras un documento del mismo tipo, se reconoce automáticamente y las columnas ya están en su lugar — sin volver a marcar.
Las plantillas se pueden cargar desde un archivo .json descargado o elegir entre tus plantillas guardadas
dentro de la app.
Todo se ejecuta en tu navegador. El PDF se abre, lee y procesa dentro de tu máquina, y no hay una sola solicitud externa — las fuentes y librerías están incorporadas en la app. La privacidad no es una función agregada; es la arquitectura.
Cuando Fulgoria está self-hosted, el servidor fino sigue sin recibir nunca el documento. Solo
sirve los archivos estáticos y maneja el login opcional. Aplica una CSP estricta y cabeceras de
seguridad, y nunca expone .env, server.js ni muestras privadas.
Para producción, Fulgoria incluye un servidor fino (server.js, Node/Express) cuyas únicas tareas
son servir la app estática y protegerla detrás de un login opcional leído desde .env.
Define AUTH_ENABLED=true y configura AUTH_USER y AUTH_PASSWORD. Las sesiones se
firman con SESSION_SECRET y duran SESSION_TTL_HOURS horas. Detrás de HTTPS, mantén
COOKIE_SECURE=true.
Define AUTH_ENABLED=false para servir la app sin contraseña — conveniente para uso local
o una red privada de confianza.
Genera un hash bcrypt de contraseña y un secreto de sesión así:
node server.js --hash 'your-password' # → AUTH_PASSWORDopenssl rand -hex 32 # → SESSION_SECRETTodos los ajustes viven en .env:
| Variable | Predeterminado | Propósito |
|---|---|---|
PORT | 3000 | Puerto del servidor. |
AUTH_ENABLED | true | Activa o desactiva el login. |
AUTH_USER | diego | Nombre de usuario del login. |
AUTH_PASSWORD | (vacío) | Contraseña en texto plano o hash bcrypt. |
SESSION_SECRET | (vacío) | Firma la cookie de sesión. |
SESSION_TTL_HOURS | 12 | Duración de la sesión en horas. |
COOKIE_SECURE | true | true detrás de HTTPS, false para http:// local. |
ESCRIBA_URL | (vacío) | Destino de “Enviar a Escriba”; vacío recurre a /. |