# Manual de Uso Completo - ERP OPENMINDS (Fase 1)

Versión: 1.0  
Fecha: 2026-02-28  
Perfiles: `admin`, `supplier`, `accountant`

## 1. Alcance del sistema

El sistema cubre 2 grandes procesos:

1. **Cuentas por pagar / egresos**
   1. Alta y aprobación de proveedores.
   2. Carga y validación de facturas.
   3. Programación y registro de pagos.
   4. Complementos de pago para facturas PPD/99.
2. **Control de ingresos / bancos**
   1. Importación de estado de cuenta.
   2. Relación de movimientos bancarios con prefacturas y solicitudes.
   3. Seguimiento por solicitud (proyecto/JN/RC).

---

## 2. Reglas generales para todos los perfiles

1. El usuario debe iniciar sesión en `/login`.
2. Si el correo no está verificado, debe validar en `/verify-email`.
3. El menú cambia automáticamente según el rol.
4. Los errores de captura se muestran en pantalla y deben corregirse antes de continuar.

---

## 3. Manual detallado - SUPPLIER

## 3.1 Objetivo del perfil supplier

El supplier (proveedor) puede:

1. Completar su perfil fiscal.
2. Subir facturas (PDF + XML + OC).
3. Consultar estatus y motivo de rechazo.
4. Subir complemento de pago cuando aplique.

## 3.2 Primer ingreso (obligatorio)

### Paso 1 - Registro

Ruta: `/register`

1. Capturar nombre, correo y contraseña.
2. Confirmar registro.

### Paso 2 - Verificación de correo

Ruta: `/verify-email`

1. Abrir enlace recibido por correo.
2. Si no llega, usar **Reenviar verificación**.

### Paso 3 - Completar perfil

Ruta: `/profile`

Campos obligatorios:

1. Razón social.
2. RFC.
3. Tipo de persona (`fisica` o `moral`).
4. Régimen fiscal.
5. Uso CFDI.
6. Contacto.
7. Teléfono.

Documentos obligatorios:

1. Constancia de situación fiscal (PDF).
2. Comprobante de domicilio (PDF).
3. Identificación oficial (PDF/JPG/PNG).
4. Carátula estado de cuenta (PDF).
5. Opinión de cumplimiento positiva (PDF).
6. Acta constitutiva (PDF).
7. Contrato firmado (PDF).

Reglas:

1. El correo en perfil es solo lectura.
2. Límite de documento: **5 MB por archivo**.
3. Si falta un documento obligatorio, no se completa el perfil.

### Paso 4 - Revisión por contabilidad

1. Al guardar, el perfil pasa a revisión.
2. Mensaje esperado: **“Estamos validando tu información...”**
3. Hasta ser aprobado, no se habilita carga de facturas.

## 3.3 Menú supplier

1. `Facturas > Subir factura`
2. `Facturas > Ver facturas`
3. `Mi perfil`
4. `Cerrar sesión`

## 3.4 Subir factura

Ruta: `/supplier/invoices/create`

Entradas obligatorias:

1. RC.
2. PDF factura.
3. XML factura.
4. Orden de compra (PDF).

Validaciones automáticas al guardar:

1. El RC debe existir en una solicitud.
2. La razón social del perfil debe coincidir con proveedor de esa solicitud.
3. El XML debe poder leerse.
4. Deben existir códigos de concepto en formato `COD:XXXX`.
5. Los COD del XML deben coincidir con artículos de solicitud para ese proveedor.
6. No se permiten COD ya facturados para ese proveedor.
7. Se guarda método y forma de pago del XML.

## 3.5 Facturación parcial (habilitada)

Caso típico:

1. Solicitud tiene 12 artículos.
2. Primera factura solo cubre 10 artículos.
3. Segunda factura cubre 2 pendientes.

Comportamiento esperado:

1. Se permite guardar factura parcial si los COD son válidos.
2. En listado se muestra parcial/completa y COD pendientes.
3. Al cubrir todos los COD, proveedor queda completo para esa solicitud.

## 3.6 Complemento de pago (PPD/99)

Aplica cuando la factura tiene:

1. Método de pago: `PPD`
2. Forma de pago: `99`

Flujo:

1. Contabilidad marca factura como pagada.
2. Supplier sube complemento.
3. Contabilidad aprueba/rechaza complemento.

Regla de bloqueo:

1. Si existe factura PPD/99 pagada sin complemento aprobado, puede bloquearse subida de nuevas facturas.

## 3.7 Ver facturas

Ruta: `/supplier/invoices`

Información visible:

1. Estatus de la factura.
2. Fecha de pago (si aplica).
3. Motivo de rechazo (si fue rechazada).
4. Comprobante de pago (si existe).
5. Estado de complemento.
6. Avance parcial/completo por proveedor.

## 3.8 Corrección de errores frecuentes (supplier)

1. “Completa tu perfil fiscal...”
   1. Terminar `/profile` y esperar aprobación.
2. “No se encontró una solicitud para este RC.”
   1. Revisar RC exacto.
3. “El código de los productos no coincide...”
   1. Corregir COD del XML.
4. “Estos COD ya fueron facturados...”
   1. Subir solo COD pendientes.
5. Error por tamaño de archivo.
   1. Reducir tamaño y volver a cargar.

---

## 4. Manual detallado - ACCOUNTANT

## 4.1 Objetivo del perfil accountant

El accountant puede:

1. Aprobar/rechazar altas de proveedor.
2. Aprobar/rechazar facturas.
3. Gestionar pagos parciales/totales.
4. Revisar complementos de pago.
5. Dar seguimiento a solicitudes de pago.
6. Analizar movimientos bancarios y conciliación operativa.

## 4.2 Menú accountant

1. `Dashboard`
2. `Mi perfil`
3. `Facturas > Aprobación de facturas`
4. `Facturas > Ver facturas`
5. `Facturas > Complementos`
6. `Egresos > Ver pagos`
7. `Egresos > Solicitudes de pago`
8. `Egresos > Ver egresos`
9. `Egresos > Proveedores`
10. `Ingresos > Ver ingresos`
11. `Ingresos > Generar factura`
12. `Ingresos > Oficinas`
13. `Ingresos > Clientes`
14. `Bancos > Ver movimientos`

## 4.3 Flujo diario recomendado

### 1) Dashboard

Ruta: `/accountant/dashboard`

1. Revisar pendientes de facturas.
2. Revisar proveedores pendientes.
3. Revisar pagos de la semana.

### 2) Alta de proveedores

Ruta: `/accountant/providers`

1. Abrir perfil del proveedor.
2. Validar datos fiscales y documentos.
3. Definir estatus:
   1. `approved`
   2. `pending`
   3. `rejected` (motivo obligatorio)
4. Guardar.

Resultado:

1. Se notifica a supplier y admin.

### 3) Aprobación de facturas

Ruta: `/accountant/invoices`

1. Revisar PDF, XML y OC.
2. Cambiar estatus:
   1. `approved`
   2. `rejected` (motivo obligatorio)
   3. `on_hold`
3. Guardar.

Reglas:

1. Fecha de pago se calcula al aprobar/programar.
2. Rechazo siempre debe llevar motivo.

### 4) Ver facturas

Ruta: `/accountant/invoices/list`

1. Revisar montos facturados y pendientes.
2. Revisar estatus y evidencia de comprobantes.

### 5) Complementos

Ruta: `/accountant/invoices/complements`

1. Revisar complemento de pago.
2. Aprobar o rechazar.
3. Si rechaza, capturar motivo.

### 6) Pagos

Ruta: `/accountant/expenses/payments`

1. Buscar factura aprobada/programada.
2. Clic en **Pagar**.
3. Capturar monto pago.
4. Adjuntar comprobante.
5. Guardar.

Reglas de pago:

1. Se permite pago parcial.
2. No se permite exceder saldo pendiente.
3. Si liquida total, estatus cambia a `paid`.

### 7) Solicitudes de pago

Ruta: `/accountant/expenses/payment-requests`

1. Revisar avance por solicitud.
2. Revisar avance por proveedor.
3. Revisar avance por monto.
4. Identificar pendientes críticos.

### 8) Bancos (movimientos)

Ruta: `/accountant/incomes`

Reglas de relación:

1. Ingresos -> prefacturas (monto exacto).
2. Egresos -> solicitudes.
3. Movimientos relacionados quedan bloqueados.

Categorías disponibles:

1. Operativo.
2. Proveedores (solicitudes).
3. Impuestos.
4. Nómina.
5. Bancos y comisiones.
6. Otros.

## 4.4 Errores frecuentes (accountant)

1. “Debes subir comprobante para marcar pagada.”
2. “El monto excede saldo pendiente.”
3. “La prefactura seleccionada ya está relacionada.”
4. “Movimiento ya relacionado y bloqueado.”
5. “Complemento sin archivo para revisar.”

## 4.5 Checklist contable diario

1. Aprobar/rechazar nuevos proveedores.
2. Resolver facturas pendientes.
3. Registrar pagos del día.
4. Revisar complementos pendientes.
5. Revisar movimientos bancarios sin relación.

---

## 5. Manual detallado - ADMIN

## 5.1 Objetivo del perfil admin

El admin tiene visión y control integral:

1. Operación completa de facturas y pagos.
2. Gestión de usuarios y roles.
3. Supervisión de ingresos/egresos.
4. Conciliación bancaria.
5. Seguimiento de KPIs y excepciones.

## 5.2 Menú admin

1. `Dashboard`
2. `Facturas`
3. `Egresos > Ver pagos`
4. `Egresos > Solicitudes de pago`
5. `Egresos > Ver egresos`
6. `Egresos > Proveedores`
7. `Ingresos > Ver ingresos`
8. `Ingresos > Generar factura`
9. `Ingresos > Oficinas`
10. `Ingresos > Clientes`
11. `Bancos > Importar Estado`
12. `Bancos > Ver movimientos`
13. `Usuarios`
14. `Mi perfil`

## 5.3 Control operativo diario

### Dashboard ejecutivo

Ruta: `/admin/dashboard`

1. Revisar estatus por solicitud.
2. Revisar % de completado (proveedor/monto).
3. Revisar top de pendientes.
4. Revisar gráficas y alertas.

### Facturas

Ruta: `/admin/invoices`

1. Revisar facturas rechazadas y motivos.
2. Revisar facturas aprobadas pendientes de pago.
3. Revisar evidencia documental.

### Egresos

Rutas:

1. `/admin/expenses/payments`
2. `/admin/expenses/payment-requests`
3. `/admin/incomes?type=expense`

1. Validar pagos parciales y saldos.
2. Revisar solicitudes incompletas.
3. Revisar egresos por categoría.

### Ingresos

Rutas:

1. `/admin/incomes/summary`
2. `/admin/incomes/generate-invoice`

1. Comparar ingreso esperado vs ligado.
2. Detectar sobreingreso/incompleto.
3. Validar relación cliente-solicitud.

### Bancos

Importación:

1. `/admin/incomes/import`
2. Subir CSV bancario.

Relación:

1. `/admin/incomes`
2. Ingreso con prefactura.
3. Egreso con solicitud.
4. Clasificación por tipo de gasto/operación.

### Usuarios

Ruta: `/admin/users`

1. Crear usuario (`admin` o `accountant`).
2. Definir verificación de correo.
3. Editar rol/estatus si es necesario.

## 5.4 Gobierno de datos

1. No modificar movimientos relacionados manualmente en DB.
2. Mantener catálogos (clientes/oficinas) actualizados.
3. Evitar duplicidad de prefacturas.
4. Verificar migraciones aplicadas en cada despliegue.

## 5.5 Checklist ejecutivo semanal

1. KPIs de aprobación de proveedores.
2. KPIs de facturas aprobadas/rechazadas.
3. KPIs de pagos y pendientes.
4. Movimientos bancarios sin conciliar.
5. Solicitudes con atraso.

---

## 6. Matriz de estatus de factura

Estatus posibles:

1. `received`
2. `validating`
3. `approved`
4. `scheduled`
5. `paid`
6. `rejected`
7. `on_hold`

Regla clave:

1. La fecha de pago se calcula al aprobar/programar, no al cargar factura.

---

## 7. Validaciones críticas del sistema

1. Carga de factura requiere XML + PDF + OC.
2. Relación por RC contra solicitud existente.
3. COD de XML deben empatar contra artículos del proveedor.
4. Se permiten facturas parciales por proveedor.
5. Ingresos solo con prefactura (monto exacto).
6. Egresos solo con solicitud.
7. Movimiento relacionado queda bloqueado.

---

## 8. Buenas prácticas de operación

1. Definir SLA de revisión de proveedor (ej. 24-48h).
2. Definir SLA de resolución de facturas (ej. mismo día hábil).
3. Usar motivos de rechazo claros y accionables.
4. Cerrar diariamente la conciliación de movimientos nuevos.
5. Revisar semanalmente pendientes por solicitud.

---

## 9. Rutas principales de referencia rápida

SUPPLIER:

1. `/supplier/invoices/create`
2. `/supplier/invoices`
3. `/profile`

ACCOUNTANT:

1. `/accountant/dashboard`
2. `/accountant/providers`
3. `/accountant/invoices`
4. `/accountant/invoices/list`
5. `/accountant/invoices/complements`
6. `/accountant/expenses/payments`
7. `/accountant/expenses/payment-requests`
8. `/accountant/incomes`

ADMIN:

1. `/admin/dashboard`
2. `/admin/invoices`
3. `/admin/expenses/payments`
4. `/admin/expenses/payment-requests`
5. `/admin/incomes/import`
6. `/admin/incomes`
7. `/admin/incomes/summary`
8. `/admin/users`

---

## 10. Soporte y escalamiento sugerido

Escalar a soporte técnico cuando:

1. Faltan tablas/columnas tras despliegue.
2. Error de lectura XML persistente con archivo válido.
3. Error de correo/notificaciones.
4. Errores 500 o 404 en rutas existentes.

Escalar a soporte funcional cuando:

1. Hay ambigüedad de estatus.
2. Hay duda de rechazo/aprobación documental.
3. No está claro cómo conciliar un movimiento.
