Tengo una caja de zapatos llena de facturas, contratos, y papeles varios que acumulo desde hace años. Cada vez que necesito algo (el contrato del seguro, la factura de hace 3 meses, el certificado de no sé qué) tardo media hora en encontrarlo. O no lo encuentro. O lo encuentro pero resulta que era otro documento parecido.
Hace 6 meses instalé Paperless-ngx en mi homelab. Desde entonces, he escaneado más de 800 documentos. Y sí, sigue habiendo una caja de zapatos con papeles, pero ahora cuando necesito algo lo encuentro en 10 segundos.
Qué es Paperless-ngx#
Es un sistema de gestión documental (DMS) que tomas tú mismo. No es un servicio en la nube tipo Evernote o Google Drive. Es un software que instalas en tu servidor y que hace OCR (reconocimiento óptico de caracteres) a tus documentos.
Subes un PDF o una foto de una factura, Paperless-ngx extrae el texto, lo indexa, detecta fechas, remitentes, y te permite buscarlo después. También genera thumbnails, agrupa documentos relacionados, y te deja añadir tags y categorías.
El proyecto original se llamaba “Paperless”. Luego alguien hizo un fork llamado “Paperless-ng”. Y después otro fork llamado “Paperless-ngx” que es el que está activo ahora. Es el que debes usar. Los otros están abandonados.
Por qué lo uso#
Antes de Paperless-ngx probé varias cosas. Google Drive con carpetas organizadas por año/mes/tipo. Evernote. Incluso un tiempo escaneaba todo con la app de Dropbox y lo subía ahí. Nada me funcionaba bien.
El problema de Google Drive es que no hace OCR decente en español. Puedes buscar, pero no encuentra nada. Evernote hace OCR, pero es lento, la app es pesada, y no me gusta depender de un servicio que puede cerrar o cambiar de modelo de negocio.
Paperless-ngx hace OCR en local con Tesseract. Funciona en español, francés, inglés, lo que quieras. Puedes buscar “factura octubre” y te saca todas las facturas de octubre aunque no las hayas etiquetado así. Busca en el contenido del documento, no solo en el nombre del archivo.
Además, tiene reglas de automatización. Puedes decir “si el documento contiene ‘Endesa’ en el texto, añade el tag ’electricidad’ y asígnalo al correspondiente ‘Facturas’”. Se configura una vez y luego va solo.
Cómo lo tengo montado#
Corre en Docker. Usa PostgreSQL para la base de datos, Redis para caché, y Tesseract para OCR. No es un contenedor único, son varios que trabajan juntos.
He usado docker-compose porque es más fácil de gestionar que contenedores sueltos. Esta es mi configuración (sin los secretos, obviamente):
| |
La carpeta /consume es especial. Cualquier archivo que pongas ahí se procesa automáticamente. Yo tengo configurado un script que cuando escaneo algo con el móvil, lo sube por SSH a esa carpeta. Paperless-ngx lo detecta, hace OCR, y lo añade al sistema.
El proceso de escaneo#
Tengo varias formas de añadir documentos:
Escáner de casa: Un Brother DCP-L2550DN que tengo conectado por red. Escanea directamente a una carpeta compartida en el NAS. De ahí, un cron job mueve los archivos a la carpeta consume de Paperless-ngx cada 5 minutos.
Móvil: Uso la app “Microsoft Lens” (antes se llamaba Office Lens). Hace fotos, las recorta automáticamente, y exporta a PDF. Luego tengo un shortcut de iOS que sube el PDF por SFTP a la carpeta consume.
Email: He configurado un email específico para Paperless-ngx. Si recibo una factura por email, la reenvío a ese email y se añade automáticamente. Usa la integración de IMAP de Paperless-ngx.
Upload manual: Desde la web. Arrastras el archivo y listo. Es lo que uso cuando estoy en el ordenador y tengo el PDF ya descargado.
Lo más cómodo es el móvil. Llega una carta, le hago foto, y en 2 minutos está en Paperless-ngx con OCR hecho y todo. Puedo tirar el papel (o guardarlo si es importante, pero ya sé que está digitalizado).
Tags y correspondientes#
Paperless-ngx tiene tres formas de organizar documentos: tags, correspondientes, y tipos de documento.
Tags: Etiquetas libres. Yo tengo tags tipo “fiscal”, “casa”, “coche”, “salud”, “trabajo”, etc. Un documento puede tener varios tags.
Correspondientes: De quién viene el documento. Tengo correspondientes tipo “Endesa”, “Movistar”, “Hacienda”, “Banco Santander”, etc. Un documento solo puede tener un correspondiente.
Tipos de documento: Factura, contrato, certificado, recibo, carta, etc. También un documento solo puede tener un tipo.
Puedes buscar combinando las tres cosas. “Facturas de Endesa con tag fiscal del año 2025”. Y te saca exactamente eso.
Al principio creas todos los tags y correspondientes a mano. Después de procesar 50 documentos, Paperless-ngx empieza a sugerirte tags automáticamente. Usa machine learning (un modelo básico, nada fancy) para detectar patrones.
Reglas de automatización#
Esta es la parte más potente. Las reglas se ejecutan cada vez que añades un documento. Puedes hacer cosas tipo:
Asignar correspondiente automáticamente: Si el documento contiene “Endesa” en el texto o en el nombre del archivo, asigna el correspondiente “Endesa”.
Añadir tags: Si el documento es del correspondiente “Hacienda”, añade el tag “fiscal” automáticamente.
Cambiar nombre del archivo: Usa una plantilla tipo {created_year}-{created_month}-{correspondent}-{title}. Así todos los archivos quedan con el mismo formato.
Mover a inbox: Los documentos nuevos van al inbox hasta que los revises. Una vez revisados, los marcas como procesados y salen del inbox.
Yo tengo unas 15 reglas configuradas. La mayoría son para asignar correspondientes y tags. Me ha ahorrado un montón de tiempo porque ya no tengo que etiquetar cada documento a mano.
Hay una regla que me gusta especialmente: si el documento contiene “PAGADO” o “PAID” (facturas de proveedores en inglés), le añade el tag “pagado” automáticamente. Así puedo buscar qué facturas están pagadas y cuáles no.
Búsqueda y filtros#
La búsqueda funciona bien. Muy bien. Puedes buscar por contenido, por título, por tags, por correspondiente, por fecha, o combinar todo.
Algunos ejemplos reales que he usado:
- “contrato internet”: Me saca el contrato de fibra de Movistar, el de O2, y el de Vodafone de hace 3 años
- “octubre 2025”: Todos los documentos con fecha de octubre del año pasado
- “certificado energetico”: El certificado de la casa que necesitaba para una gestión
- “factura > 500”: Facturas de más de 500 euros (Paperless-ngx detecta cantidades en el OCR)
Los filtros son muy completos. Puedes filtrar por: correspondiente, tag, tipo, fecha (rango), ASN (número secuencial interno), si tiene o no título personalizado, si está en inbox, si está archivado, etc.
También tiene “saved views”. Son búsquedas guardadas. Yo tengo una llamada “Facturas pendientes” que me muestra documentos del último mes que son facturas y no tienen el tag “pagado”. La consulto cada semana para ver qué tengo que pagar.
OCR y idiomas#
Paperless-ngx usa Tesseract para OCR. Es gratis, open source, y funciona en decenas de idiomas. Yo tengo configurado español e inglés (PAPERLESS_OCR_LANGUAGE: spa+eng).
El OCR se ejecuta automáticamente al añadir un documento. Si subes un PDF que ya tiene texto (tipo un PDF generado por ordenador), Paperless-ngx extrae el texto directamente y no hace OCR. Solo hace OCR si el PDF es una imagen (tipo un escaneo).
La calidad del OCR depende de la calidad del escaneo. Si la foto está borrosa o torcida, el OCR va a ser malo. Por eso uso la app Microsoft Lens, que recorta y endereza automáticamente.
He tenido algún documento donde el OCR ha fallado (letra muy pequeña, mala calidad). En esos casos, he vuelto a escanear con mejor resolución y ha funcionado.
Una cosa útil: Paperless-ngx guarda el documento original SIN modificar. El OCR y los metadatos van en la base de datos, pero el archivo original está intacto. Si en el futuro Tesseract mejora, puedes volver a hacer OCR a todos los documentos con un comando.
Acceso desde fuera#
Lo tengo configurado detrás de un Cloudflare Tunnel con autenticación. Solo yo puedo acceder. He pensado en dar acceso a mi pareja, pero de momento no ha hecho falta.
Desde el móvil uso el navegador. No hay app nativa, pero la web responsive funciona bien. Puedes buscar documentos y verlos sin problemas.
Para subir documentos desde el móvil uso el shortcut de iOS que comentaba antes. Hago foto con Microsoft Lens, ejecuto el shortcut, y el documento se sube por SFTP. Tarda 10 segundos de principio a fin.
Algunas personas usan Nextcloud para esto. Suben documentos a una carpeta de Nextcloud que luego Paperless-ngx consume. Es más cómodo si ya tienes Nextcloud montado. Yo no lo necesito.
Backup y exportación#
Los backups son obligatorios. Paperless-ngx tiene una función de exportación que genera un ZIP con todos los documentos, metadatos, tags, correspondientes, y reglas.
Yo hago backup de dos formas:
Backup completo: Exporto todo cada semana a un ZIP. Va a una carpeta en el NAS que después se sincroniza a Backblaze B2. Son unos 15GB comprimidos.
Backup incremental: La carpeta /media (donde están los documentos originales) y la base de datos PostgreSQL se copian cada noche con restic. Va al mismo NAS y también a B2.
He restaurado el backup una vez para probar que funciona. Tardé 20 minutos en tener todo de vuelta. Es un proceso sencillo: subes el ZIP, ejecutas el comando de importación, y listo.
Si pierdes la base de datos pero conservas los archivos, puedes volver a hacer OCR a todo. Es lento (tardas horas si tienes muchos documentos), pero es posible. Por eso es importante guardar los archivos originales en un sitio seguro.
Plugins y extensiones#
Paperless-ngx no tiene un sistema de plugins oficial, pero hay varias cosas que la gente ha hecho:
Workflows con n8n: Puedes usar la API de Paperless-ngx para crear workflows. Por ejemplo, cuando se añade un documento con el tag “fiscal”, se crea un recordatorio en Things 3.
Integración con Home Assistant: Hay una integración custom que te deja ver cuántos documentos tienes en inbox desde Home Assistant. Yo no la uso, pero está ahí.
Telegram bot: Alguien hizo un bot de Telegram que te deja subir documentos enviándole fotos. Yo no lo he probado porque ya tengo el shortcut de iOS, pero suena útil.
Yo uso la API para un script que cada mes me envía un resumen por email: cuántos documentos he añadido, cuáles son los correspondientes más frecuentes, y qué facturas tengo pendientes de pago.
Problemas que he tenido#
No ha sido todo perfecto. He tenido algunos problemillas:
PostgreSQL se quedó sin espacio: Una vez la base de datos creció mucho porque no había configurado el VACUUM automático. La solución fue ejecutar VACUUM FULL y liberar 2GB. Ahora lo tengo configurado para que se ejecute cada semana.
OCR lento: Al principio, procesar un documento tardaba 2-3 minutos. Era porque el contenedor no tenía suficiente CPU asignada. Le di 2 cores más y ahora tarda 20-30 segundos.
Tesseract no detectaba fechas: Algunos documentos tienen fechas en formato raro (tipo “Oct-2025” en lugar de “octubre 2025”). Paperless-ngx no las detectaba. La solución fue añadir una regla manual para esos casos.
Duplicados: He añadido el mismo documento dos veces por error un par de veces. Paperless-ngx no detecta duplicados automáticamente. Hay una función de búsqueda de similares, pero no es automática. Cada cierto tiempo ejecuto una búsqueda manual para limpiar duplicados.
Acceso concurrente: Si dos personas suben documentos a la vez (yo desde el móvil y mi pareja desde el ordenador), a veces se ralentiza. No es un problema grave, pero es algo a tener en cuenta si sois varios usando el sistema.
Vale la pena?#
Para mí, totalmente sí. Pero depende de cuántos documentos tengas y cuánto los necesites.
Si recibes 2 o 3 facturas al mes y las guardas en una carpeta de Google Drive, probablemente no necesitas Paperless-ngx. Es más esfuerzo del que vale.
Si eres autónomo, tienes una empresa, o simplemente eres de los que guarda todo (recibos, garantías, contratos, manuales), Paperless-ngx te va a cambiar la vida.
La parte más pesada es escanear todo el backlog. Yo tardé una semana en escanear la caja de zapatos entera. 800 documentos a mano. Pero una vez hecho, solo tienes que mantenerlo: escaneas lo que llega y ya está.
El hecho de poder buscar cualquier cosa en 10 segundos no tiene precio. He recuperado documentos que pensaba que había perdido. He encontrado facturas que necesitaba para Hacienda. He sacado contratos antiguos para comparar condiciones.
Y lo mejor de todo: cuando mi pareja me pregunta “dónde está el contrato del seguro del coche?”, en lugar de rebuscar en carpetas y cajones, entro en Paperless-ngx, busco “seguro coche”, y lo tengo. Me siento un genio cada vez que pasa.
Siguientes pasos#
Si quieres probarlo, mi recomendación es:
- Monta Paperless-ngx en Docker con la configuración que he puesto arriba
- Escanea 5-10 documentos para probar (facturas, recibos, lo que tengas a mano)
- Configura un par de reglas básicas (asignar correspondientes)
- Prueba a buscar documentos por contenido
- Si te convence, escanea el resto de tu archivo
No hace falta escanear todo el primer día. Yo empecé con lo del último año y luego fui hacia atrás. Lo más viejo lo dejé para el final (y todavía me quedan papeles de hace 10 años sin escanear, pero tampoco es urgente).
Si tienes autenticación de dos factores (2FA), actívala. Los documentos que guardas aquí son sensibles. No querrás que alguien acceda si te roban la contraseña.
Y por último: haz backups. No confíes en que “nunca va a pasar nada”. Un día algo va a fallar (disco duro, fallo de software, lo que sea) y vas a agradecer tener una copia.
Paperless-ngx no es perfecto, pero es lo mejor que he probado para gestión documental self-hosted. Si tienes un homelab y documentos que organizar, dale una oportunidad. Probablemente te quedes con él.