Al ejecutar la reconstrucción de saldos de cuentas en CONTPAQi Contabilidad puede aparecer el mensaje: “error en póliza XX que no existe”, causado por movimientos sin póliza (registros huérfanos en MovimientosPoliza) o por inconsistencias entre las tablas Polizas y MovimientosPoliza en SQL Server desde Management Studio. Este tipo de error reconstrucción de saldos ocurre cuando hay movimientos huérfanos, inconsistencias internas o relaciones rotas, y provoca que la utilería no finalice correctamente. Por suerte, resolver un caso de póliza inexistente es sencillo si sigues los pasos correctos en SQL Server.

¿Qué está pasando?
La utilería de reconstrucción revisa pólizas y movimientos para recalcular saldos. Si existen movimientos huérfanos (registros en MovimientosPoliza cuyo IdPoliza ya no está en Polizas) o si la póliza se eliminó/dañó, la reconstrucción se interrumpe reportando una póliza “inexistente”.
Antes de empezar
- Respalda la empresa desde CONTPAQi Contabilidad.
- Cierra CONTPAQi y abre SQL Server Management Studio (SSMS).
- Conéctate a la instancia y selecciona la base de datos de la empresa.
Procedimiento A: Reconstrucción marca error en una póliza que “no existe”
- Verifica si la póliza existe en la tabla
Polizas(reemplazaXXpor el folio/ID reportado por la utilería):SELECT * FROM Polizas WHERE Folio = XX; -- o WHERE IdPoliza = XX - Si no existe la póliza, busca movimientos ligados a ese Id/Folio:
SELECT * FROM MovimientosPoliza WHERE IdPoliza = XX; - Si hay movimientos y la póliza no existe, elimina esos movimientos huérfanos:
DELETE FROM MovimientosPoliza WHERE IdPoliza = XX; - Cierra SSMS, vuelve a la empresa en CONTPAQi y ejecuta de nuevo Reconstrucción de saldos de cuentas. Verifica que finalice sin errores.
Procedimiento B: Limpiar “movimientos sin póliza” en bloque
Si el error no menciona un folio específico o sospechas múltiples inconsistencias, identifica y depura todos los movimientos huérfanos con un LEFT JOIN y luego elimínalos de forma segura:
1) Identificar movimientos sin póliza
SELECT m.*
FROM MovimientosPoliza AS m
LEFT JOIN Polizas AS p ON p.Id = m.IdPoliza
WHERE p.Id IS NULL; -- movimientos que apuntan a una póliza inexistente
2) Eliminar únicamente los huérfanos detectados
DELETE m
FROM MovimientosPoliza AS m
LEFT JOIN Polizas AS p ON p.Id = m.IdPoliza
WHERE p.Id IS NULL;
3) Reconstruir saldos
Regresa a CONTPAQi → Empresa → Utilerías → Reconstrucción de saldos de cuentas, y confirma que la utilería finalice correctamente.
Notas y buenas prácticas
- Trabaja siempre con respaldo reciente y, si es posible, haz la depuración primero en un ambiente de prueba.
- La reconstrucción de saldos se usa para corregir saldos y descuadres y es parte del mantenimiento regular cuando hay inconsistencias por ediciones, fallas eléctricas o cierres no concluidos.

Renueva, compra o actualiza tu licencia CONTPAQi®
Soporte vía: Remota, Telefónica, por Chat y Correo Electrónico
Solo cobramos por las horas trabajadas en servicios exitosos . . .
Asesor CONTPAQi® | Renovaciones CONTPAQi® | Sistemas CONTPAQi® | Actualizaciones CONTPAQi® | Soporte CONTPAQi®
correo: info@te-cinco.com
Tel y WhatsApp 55 73562991

