Aquí tienes **el PROMPT MAESTRO**, totalmente estructurado, pensado para que *cualquier futura instancia de ChatGPT* pueda retomar el proyecto desde cero, entenderlo todo y continuar desarrollándolo sin perder tiempo ni cometer errores.
Este prompt resume **el proyecto, los objetivos, la arquitectura, la lógica funcional, las tablas, el flujo contable, los módulos, la interacción con Nextcloud, el OCR, la conciliación bancaria, las necesidades contables reales y los requisitos de futuro**.
—
# ✅ **PROMPT MAESTRO PARA RESTAURAR EL PROYECTO “PRECONTA – SERVICESCOMPTABLES.EU”**
**IMPORTANTE:**
Lee este prompt como si fuera un *documento técnico del proyecto*.
Cuando lo introduzca en un nuevo chat, debes tomarlo como especificación oficial del sistema y continuar la implementación o reparación del plugin sin perder contexto.
—
# ⭐ TITULO DEL PROYECTO
**Sistema de Precontabilidad Integrada para WordPress + NextCloud + OCR + Conciliación Bancaria**
Sitio web: **[https://servicescomptables.eu](https://servicescomptables.eu)**
—
# ⭐ OBJETIVO GENERAL
Crear un sistema completo de **precontabilidad** que:
1. **Obtenga automáticamente documentos** (facturas y extractos bancarios) desde **Nextcloud**, vía **WebDAV**.
2. **Procese facturas** mediante OCR (Nanonets u OCR.space) extrayendo datos clave.
3. **Guarde las facturas procesadas** en tablas propias.
4. **Importe extractos bancarios** (CSV/Excel), normalizarlos automáticamente.
5. **Realice conciliación bancaria**:
* Cada movimiento del banco se vincula con una factura procesada **o** con una cuenta contable directa.
6. Genere una **tabla final de apuntes para su contabilización manual rápida en Contasol**.
7. Permita futura ampliación para **exportación automática a Contasol**, **conciliación automática**, **multi-IVA**, etc.
—
# ⭐ VISIÓN OPERATIVA DEL DESPACHO CONTABLE
El proyecto se diseña para un contable que trabaja así:
1. Sus clientes suben **facturas y extractos bancarios** a Nextcloud en carpetas:
`cliente1/proveedor1/factura.pdf`
2. En WordPress, el contable entra a:
* **Facturas Preconta → Explorar Nextcloud**
* Procesa cada PDF mediante OCR
3. Los datos se guardan en una tabla interna.
4. Luego importa los extractos del banco.
5. Va moviendo asiento por asiento y el sistema:
* Sugiere automáticamente facturas con importe similar.
* Permite elegir factura manualmente.
* Si no hay factura: introduce cuenta contable (ej: 6400000).
6. Finalmente, genera un listado de apuntes para pasar **rápidamente** al programa contable oficial.
—
# ⭐ ARQUITECTURA GENERAL
El sistema consta de **DOS PLUGINS independientes**:
—
## 🔷 1. FACTURAS PRECONTA (facturas-preconta.php)
### ✦ Funcionalidades principales:
#### **Módulo A — Explorador de NextCloud**
* Se conecta vía **WebDAV** usando:
* URL base WebDAV
* Usuario
* Contraseña
* Permite navegar carpetas recursivamente.
* Detecta archivos PDF.
* Muestra:
* *Nombre*
* *Tamaño*
* *Estado:* Pendiente / Procesado / No es factura
* *Botón Procesar OCR*
#### **Módulo B — OCR**
* Procesa PDF mediante Nanonets/OCR.space.
* Extrae:
* Proveedor
* NIF proveedor
* Nº factura
* Fecha
* Concepto (unificado a partir de tabla de líneas)
* Base imponible total
* IVA total
* Total factura
* Código cliente asignado por proveedor
* Detecta facturas multi-IVA (pendiente desarrollar en v2).
#### **Módulo C — Base de datos**
Tabla: `wp_facturas_preconta`
Campos importantes:
«`
id
cliente
proveedor
nif
num_factura
fecha_factura
base
iva
total
concepto
cuenta_gasto
cuenta_iva
cuenta_proveedor
archivo (nombre original en nextcloud)
ruta (path relativo nextcloud)
fecha_registro
«`
#### **Módulo D — Gestión Manual**
* Editar factura extraída.
* Desplegables configurables:
* Cuentas de gasto (600…)
* Cuentas de IVA (472…)
* Cuentas de proveedor (400…)
* Botón guardar.
—
## 🔷 2. BANCOS PRECONTA (bancos-preconta.php)
### ✦ Funcionalidades principales:
#### **Módulo A — Importación de Extractos**
* Acepta CSV o XLSX.
* Normaliza columnas:
* Fecha contable
* Fecha valor
* Descripción
* Importe
* Saldo
* Divisa
* Inserta movimientos en tabla propia.
#### **Módulo B — Base de datos**
Tabla: `wp_fp_mov_banco`
Campos relevantes:
«`
id
cliente
cuenta_bancaria
cuenta_contable (572xxxxx)
fecha_contable
descripcion
signo (CARGO/ABONO)
importe
saldo
divisa
factura_id
cuenta_contraparte
conciliado
«`
#### **Módulo C — Conciliación Bancaria**
Cada movimiento permite:
1. Ver **fecha**, **descripción**, **signo**, **importe**.
2. Desplegable:
* “Sin factura”
* Lista de **todas** las facturas del cliente.
* Prioriza mostrando:
* Facturas con **importe parecido** marcado «(≈ importe)».
3. Si no hay factura:
* Campo de “cuenta contrapartida” para registrar directamente una cuenta contable (gastos, nóminas, comisiones,…).
4. Botón “Guardar”.
#### **Módulo D — Registro de Apuntes**
* Muestra lista de movimientos ya conciliados.
* Muestra:
* Fecha
* Nº factura
* Base
* IVA (detalle futuro multi-IVA)
* Total
* Cuentas contables finales.
Objetivo: **usar como guía para introducir los asientos en Contasol**.
—
# ⭐ FLUJO COMPLETO DEL SISTEMA
1. **Cliente sube facturas y extractos** a Nextcloud.
2. Desde WordPress:
* Explorar Nextcloud
* Procesar PDF
* Guardar factura en BD
3. Importar extracto bancario
4. Conciliar movimientos:
* El sistema sugiere automáticamente
* El usuario confirma
5. Revisar “Registro de apuntes”
6. Contabilizar manualmente en Contasol.
—
# ⭐ PRINCIPIOS DE DISEÑO
* Nada debe borrar datos automáticamente.
* Los procesos deben ser **seguros**, **idempotentes** y **recuperables**.
* Evitar datos en blanco (ej. importes en 0,00).
* URLs relativas de nextcloud siempre válidas.
* No duplicar registros durante importación.
* Código siempre enviado **completo**, nunca fragmentado.
—
# ⭐ PUNTOS PENDIENTES DE DESARROLLO (Backlog Técnico)
* Facturas multi-IVA (varios tipos en la misma factura).
* Conciliación automática basada en NLP (en el futuro).
* Exportación a CSV/Excel con formato Contasol.
* Módulo de configuración de tablas (cuentas contables).
* Dashboard del cliente.
* Logs avanzados (trazas de OCR y WebDAV).
* Vista previa PDF con firma.
* Automatización: procesar facturas nuevas cada día.
—
# ⭐ INSTRUCCIONES PARA UN FUTURO CHATGPT
Si recibes este prompt:
1. Asume que estás continuando la programación del proyecto.
2. Si el usuario pide cambios:
* Envía SIEMPRE funciones completas.
* Nunca envíes código incompleto.
* Siempre verifica coherencia entre facturas-preconta y bancos-preconta.
3. Antes de modificar algo:
* Describe lo que vas a hacer.
* Asegúrate de no romper tablas.
4. Si el usuario sube PHP:
* Léelo completamente.
* Identifica diferencias.
* Reconstruye versión correcta.
—
# ⭐ RESUMEN EN UNA LÍNEA PARA CARGAR EN UN CHAT NUEVO
> *“Estoy trabajando en un sistema de precontabilidad para WordPress que integra OCR de facturas desde Nextcloud y conciliación bancaria automática/manual para facilitar la contabilidad en Contasol. Aquí tienes la especificación completa del proyecto; continúa desarrollando o arreglando lo que te pida.”*
—
## ✔️ PROMPT LISTO PARA PEGAR EN UN CHAT NUEVO
Aquí tienes la **VERSIÓN COMPACTA – PROMPT MAESTRO** lista para copiar y pegar en un nuevo chat.
Es **precisa, completa y optimizada** para que cualquier ChatGPT pueda retomar el proyecto desde cero sin perder nada.
—
# ⭐ **PROMPT MAESTRO (VERSIÓN COMPACTA)**
### *Pégalo directamente en un chat nuevo cuando quieras continuar el proyecto*
—
Quiero que actúes como **desarrollador principal** de un proyecto que ya está avanzado.
Voy a darte **toda la especificación compacta del sistema**, y tu misión será continuar, ampliar o corregir el desarrollo **sin perder coherencia**, manteniendo la arquitectura existente.
—
# 🔷 **TÍTULO DEL PROYECTO**
Sistema de Precontabilidad Integrada para **WordPress + NextCloud + OCR + Conciliación Bancaria**, para automatizar la precontabilidad de mis clientes desde la web:
**[https://servicescomptables.eu](https://servicescomptables.eu)**
—
# 🔷 **OBJETIVO DEL SISTEMA**
Crear un sistema completo de **precontabilidad** que permita:
1. Conectarse a **Nextcloud** (WebDAV).
2. **Explorar carpetas** de clientes y proveedores.
3. **Procesar facturas PDF** mediante OCR (Nanonets / OCR.Space).
4. Guardar datos contables (proveedor, NIF, nº factura, base, IVA, total, concepto, etc.).
5. **Importar extractos bancarios** desde CSV/XLSX.
6. **Conciliar movimientos bancarios** con facturas procesadas.
7. Si no hay factura: permitir asignar una **cuenta contable directa** (640…, 629…, etc).
8. Producir un **listado de apuntes contables** listo para contabilizar manualmente en Contasol.
Todo desde WordPress en un flujo único y optimizado.
—
# 🔷 **ARQUITECTURA DEL SISTEMA**
El proyecto tiene **2 plugins independientes**:
—
## 🔵 1) Plugin: **FACTURAS PRECONTA** (facturas-preconta.php)
### Funciones principales:
### ✔ Explorar NextCloud
* Autenticación WebDAV (URL, usuario, pass).
* Navegación por carpetas.
* Detección de archivos PDF.
* Estado: Pendiente / Procesado / No es factura.
* Botón “Procesar OCR”.
### ✔ OCR
Extrae automáticamente desde PDF:
* Proveedor
* NIF proveedor
* Nº factura
* Fecha
* Concepto (texto consolidado, incluyendo líneas de productos)
* Base imponible
* IVA
* Total
* Código cliente del proveedor
(Preparado para futura ampliación multi-IVA).
### ✔ Base de datos `wp_facturas_preconta`
Campos principales:
«`
id
cliente
proveedor
nif
num_factura
fecha_factura
base
iva
total
concepto
cuenta_gasto
cuenta_iva
cuenta_proveedor
archivo
ruta
fecha_registro
«`
### ✔ Edición manual
* Permite corregir datos.
* Desplegables configurables para:
* Cuenta gasto (600… compras)
* Cuenta IVA (472…)
* Cuenta proveedor (400…)
—
## 🔵 2) Plugin: **BANCOS PRECONTA** (bancos-preconta.php)
### Funciones principales:
### ✔ Importación de extractos
Acepta CSV o XLSX con columnas:
«`
Fecha contable; Fecha valor; Descripción; Importe; Saldo; Divisa
«`
Convierte importes negativos → CARGO.
Importes positivos → ABONO.
Guarda todo en la tabla:
### ✔ Base de datos `wp_fp_mov_banco`
Campos principales:
«`
id
cliente
cuenta_bancaria
cuenta_contable (ej: 572xxxxx)
fecha_contable
descripcion
signo
importe
saldo
divisa
factura_id
cuenta_contraparte
conciliado
«`
—
## 🔵 Conciliación Bancaria
Por cada movimiento del banco:
* Se muestra: Fecha, Descripción, Signo, Importe.
* Desplegable con facturas del cliente.
* Prioriza facturas con importe similar (≈).
* Si no hay factura:
* Campo “cuenta contrapartida” para gasto directo.
* Botón “Guardar conciliación”.
—
## 🔵 Registro de Apuntes
Lista final para llevar manualmente a Contasol:
* Fecha movimiento
* Nº factura (si existe)
* Base
* IVA
* Total
* Cuenta 572
* Cuenta proveedor (400…) o gasto directo (6…)
* IVA soportado (472…)
* Concepto
Objetivo: hacer los asientos **rápido**, sin buscar documentos.
—
# 🔷 **FLUJO COMPLETO DEL DESPACHO CONTABLE**
1. Cliente sube facturas + extractos a Nextcloud.
2. En WordPress → Facturas Preconta → Explorar Nextcloud.
3. Procesar cada PDF vía OCR.
4. Guardar factura.
5. Importar extracto.
6. Conciliar: vincular factura o cuenta contable.
7. Revisar “Registro de apuntes”.
8. Contabilizar en Contasol.
—
# 🔷 **PRINCIPIOS DE DESARROLLO PARA CHATGPT**
Cuando te pida cambios:
* Nunca envíes fragmentos de funciones.
* Envía **funciones completas** o el **archivo completo**.
* Mantén coherencia entre facturas-preconta y bancos-preconta.
* Verifica integridad de tablas y claves.
* Mantén rutas WebDAV, OCR y BD funcionales.
* Evita romper versiones operativas.
* Documenta cada mejora.
—
# 🔷 **BACKLOG (Pendientes futuros)**
* Soporte para facturas con varios tipos de IVA (multi-IVA).
* Exportación automática a formato Contasol.
* Detección automática de coincidencias movimiento ↔ factura.
* Dashboard.
* Logs detallados.
* Vista previa PDF.
—
# 🔷 **RESUMEN MUY BREVE (para nuevas sesiones)**
> *“Este proyecto es un sistema de precontabilidad en WordPress que integra OCR de facturas desde Nextcloud y conciliación bancaria. Continúa desarrollando o reparando según la especificación adjunta. Envíame siempre funciones o archivos completos, no fragmentos.”*
—
Sí, podemos retomarlo bien desde aquí.
He revisado el plugin **Facturas Preconta** que me has subido y encaja con la arquitectura que definiste: crea la tabla `wp_facturas_preconta`, añade menú de ajustes, conecta con Nextcloud vía WebDAV, descarga la factura al servidor, lanza OCR con Nanonets y guarda el resultado para después editarlo manualmente.
Lo importante ahora no es rehacerlo todo, sino ponerte una **dinámica de trabajo real** para arrancar el **1er trimestre de 2026** sin romper nada.
## Cómo retomarlo desde hoy
### 1) Prepara Nextcloud con una estructura fija
Para que el plugin trabaje de forma ordenada, usa siempre una estructura estable, por ejemplo:
«`text
CLIENTE_X/
2026/
T1/
facturas/
proveedor-1/
factura-001.pdf
proveedor-2/
factura-002.pdf
bancos/
banco-enero.csv
banco-febrero.csv
banco-marzo.csv
«`
Tu plugin de facturas toma el **cliente** desde el primer tramo de la ruta relativa, así que conviene que la primera carpeta sea siempre el identificador del cliente. Eso sale de `explode(‘/’, $relative_path)` dentro del proceso de descarga.
### 2) En WordPress, primero deja listos los ajustes
En **Facturas Preconta → Ajustes** debes tener completos:
* URL WebDAV base
* usuario WebDAV
* contraseña WebDAV
* API Key de Nanonets
* Model ID de Nanonets
* listas de cuentas contables
Todo eso está ya previsto en el plugin.
### 3) Flujo operativo semanal
Ésta sería la rutina práctica que te recomiendo:
**Paso A.** En Nextcloud subes o haces subir al cliente todas las facturas del mes en su carpeta.
**Paso B.** En WordPress:
* entra en **Facturas Preconta → Explorar Nextcloud**
* navega hasta `CLIENTE_X/2026/T1/facturas/…`
* pulsa **Procesar** en cada PDF pendiente
**Paso C.** Después entra en **Facturas guardadas**
* corriges proveedor, fecha, importes y concepto si el OCR falló
* asignas:
* cuenta gasto
* cuenta IVA
* cuenta proveedor
**Paso D.** Luego trabajas con **Bancos Preconta**
* importas el CSV/XLSX del banco
* concilias cada movimiento con una factura o con cuenta directa
**Paso E.** Revisas el listado final de apuntes para pasarlo a Contasol.
## Lo que ya hace bien este plugin
Ahora mismo el plugin ya te da una base usable para arrancar:
* crea o actualiza la tabla de facturas al activar el plugin
* lista archivos y carpetas de Nextcloud por WebDAV
* distingue carpetas de archivos
* permite procesar PDF/JPG/JPEG/PNG
* descarga el archivo a `uploads/facturas-preconta`
* envía el archivo a Nanonets
* guarda también `json_original`, lo cual es muy valioso para depurar OCR
* permite edición manual posterior de la factura guardada.
## El punto que más me preocupa antes de usarlo “en producción”
Hay una debilidad clara: la detección de duplicados se hace por **nombre de archivo** (`archivo`) y no por `ruta_nextcloud`. Eso significa que si dos clientes o dos proveedores tienen un archivo con el mismo nombre, por ejemplo `factura.pdf`, el plugin puede creer que ya existe cuando en realidad es otra factura distinta. Eso se ve en la comprobación `SELECT COUNT(*) FROM $tabla WHERE archivo = %s`.
Para trabajar el trimestre ya, mi consejo práctico es este:
* evita nombres genéricos como `factura.pdf`
* usa nombres únicos, por ejemplo:
* `2026-01-15-proveedor-x-fra-1548.pdf`
* `2026-02-03-orange-fv-8891.pdf`
Así reduces mucho el riesgo hasta que lo dejemos fino.
## Dinámica concreta para arrancar el trimestre 1 de 2026
### Enero
1. Sube todas las facturas de enero a:
«`text
CLIENTE_X/2026/T1/facturas/01-enero/
«`
2. Sube el extracto bancario de enero a:
«`text
CLIENTE_X/2026/T1/bancos/
«`
3. Procesa OCR de todas las facturas de enero.
4. Revisa las facturas guardadas.
5. Importa banco enero.
6. Conciliación.
### Febrero
Repite exactamente el mismo patrón.
### Marzo
Repite exactamente el mismo patrón.
### Cierre del trimestre
* revisa que no queden movimientos sin conciliar
* revisa que las facturas tengan cuentas contables asignadas
* genera el listado final de apuntes
* pasa el trimestre a Contasol
## Orden recomendado en el escritorio
Para no perderte, trabaja siempre así:
1. **Facturas Preconta → Ajustes**
2. **Facturas Preconta → Explorar Nextcloud**
3. **Facturas Preconta → Facturas guardadas**
4. **Bancos Preconta → Importar extracto**
5. **Bancos Preconta → Conciliación**
6. **Bancos Preconta → Registro de apuntes**
## Qué haría yo ahora mismo como siguiente fase
No tocaría todavía OCR ni WebDAV salvo que fallen. Haría primero una **versión 2.1 de estabilización** con solo estas mejoras:
* detectar duplicados por `ruta_nextcloud` en vez de `archivo`
* añadir filtro por cliente en “Facturas guardadas”
* añadir filtro por trimestre/fecha
* mostrar si una factura ya está conciliada con banco
* botón de reprocesar OCR en una factura ya guardada
* búsqueda por proveedor, número de factura o importe
Eso sí te daría una base seria para trabajar el trimestre con comodidad.
## Mi recomendación inmediata
Haz una prueba real con un solo cliente y un solo mes:
* 5 facturas PDF en Nextcloud
* 1 extracto bancario CSV
* procesa todo
* corrige OCR
* concilia
* revisa si el flujo te resulta natural
Si quieres, en el siguiente paso te preparo yo el **plan operativo exacto de uso**, en formato muy práctico, tipo:
**“Sube esto aquí → entra en esta pantalla → pulsa esto → revisa estos campos → después abre Bancos Preconta y haz esto otro”**
y después pasamos a la **v2.1 del plugin Facturas Preconta** con las mejoras prioritarias.
CONNOTACIONES EN LA DINAMICA CONTABLE:
1.- Las domiciliaciones hay que meterlas a mano por el momento (el OCR no es el de Factura)