# Diferencias pendientes en la base local — Fase 7

La revisión se realizó en modo de sólo lectura sobre `seatsacomsayuc_lab_schema`. No se ejecutaron migrations, seeders ni scripts SQL.

## Tablas ausentes

1. `portal_usuario_documentos`
2. `portal_usuario_documento_requisitos`
3. `portal_usuario_documento_recordatorios`
4. `portal_empresa_documento_expedientes`
5. `portal_empresa_documento_requisitos`
6. `portal_empresa_documentos`
7. `portal_empresa_documento_historiales`
8. `portal_solicitud_documentos`
9. `portal_solicitud_prueba_partidas`
10. `portal_chat_conversaciones`
11. `portal_chat_mensajes`
12. `cobranza_pago_comprobante_aplicaciones`
13. `cotizacion_archivos_portal`
14. `portal_clientes_banners`
15. `portal_clientes_cat_document_types`

Todas están enumeradas por `main` en `database/sql/diagnostico_portal_admin_main.sql` y son esperadas por el bloque administrativo. Sin embargo, su respaldo formal no es uniforme:

- Con migration de creación en `main`: `portal_usuario_documentos`, `portal_usuario_documento_requisitos`, `portal_usuario_documento_recordatorios`, `cobranza_pago_comprobante_aplicaciones` y `cotizacion_archivos_portal`.
- Sin migration de creación en `main`: las diez tablas restantes. `main` contiene sus modelos, consultas o diagnóstico esperado, pero no el SQL completo que permita crearlas con seguridad.

## Columnas formales ausentes en tablas existentes

- `portal_usuarios`: `id_cliente_contacto_factura`.
- `cobranza_pago_comprobantes`: `origen`.
- `cotizaciones`: `origen_carga`, `estatus_portal`, `id_portal_usuario`.
- `portal_solicitud_pruebas`: `fecha_muestra_recibida`.
- `recibo_muestras`: `origen_ingreso`.

Estas siete columnas sí están definidas por migrations recientes de `main`. El diagnóstico también contempla campos opcionales y variantes de esquema, pero no deben presentarse como migrations disponibles cuando `main` no contiene la instrucción que los crea.

## Estructuras verificadas como existentes

Sí existen las tablas base `portal_usuarios`, `portal_solicitud_pruebas`, `cobranza_pago_comprobantes`, `cotizaciones`, `legal_documents`, `recibo_muestras`, `cliente_facturas`, `cliente_contacto_facturas`, `cliente_informes`, `cliente_factura_x_informes` y `facturacion_timbrado_operaciones`.

## Consecuencia para la Fase 8

Los contratos y comportamientos aislados están cubiertos con bases SQLite temporales. Sin incorporar estas estructuras a la copia local, no puede afirmarse una prueba integral con datos reales de los flujos administrativos del Portal, sus expedientes, chat, banners, archivos de cotización ni aplicaciones múltiples de comprobantes. Las diez tablas sin definición de creación deberán obtenerse de un esquema autorizado que realmente las contenga; no deben reconstruirse suponiendo tipos, índices o llaves foráneas.
