Saltar a contenido

Bloqueos: Banco, contabilidad, conciliación y cierre

Catálogo histórico; no es el comportamiento vigente completo

Mensajes extraídos de 4073760e, no errores provocados en el build actual. La línea de origen solo corresponde a ese árbol. Para el corte 067ec7a21cf049451cd349ae473e872883f98e77, prevalecen las guías actualizadas por cambio integrado y sus recuperaciones. No usar una frase histórica de “no implementado” para negar una capacidad incorporada después (FSP, F220, conector nominal o asistentes).

Ficha de verificación

Catalogo generado el 2026-08-17 por lectura del arbol congelado 4073760e880a de dev-fase3 en xdiegob/PayrollBPS. Cada fila corresponde a un raise real localizado en el código, con su archivo y linea. No hay mensajes redactados para esta wiki.

Bloqueos de orden de pago, archivo bancario, causación contable, conciliación, reportes y cierre de período.

349 mensajes en 55 modelos. Pegue el texto del mensaje en el buscador para llegar directamente a su fila.

Como leer una fila

Cuando aparece dice en qué momento se dispara: al pulsar un botón, al crear, al modificar o por una validación automática. Origen es el archivo y la línea exactos del árbol congelado, para que cualquiera pueda comprobar el texto sin creerle a esta wiki. Las llaves {} marcan dónde el sistema inserta un valor concreto (un nombre, una fecha, un importe).

(sin modelo declarado)

Mensaje Cuando aparece Tipo Origen
La ratificacion no se ejecuta con privilegios de superusuario ni en modo elevado: es un acto humano identificable, no una operacion de servicio. Operación (verificar_ratificador_humano) Operación no permitida models/ratificacion_po.py:45
Solo el rol de ratificacion de alcance (PO) puede ratificar. Ningun rol operativo, contable, juridico ni administrador de nomina lo implica. Operación (verificar_ratificador_humano) Operación no permitida models/ratificacion_po.py:50
El usuario '{}' es el ejecutor de una accion planificada: una identidad de servicio no ratifica decisiones de alcance. Operación (verificar_ratificador_humano) Operación no permitida models/ratificacion_po.py:60
El acta exige una referencia de ratificacion del PO (formato PO-AAAA-IDENTIFICADOR): sin ella el bloque de aprobaciones no autoriza ningun caso. Operación (normalizar_referencia_po) Operación no permitida models/ratificacion_po.py:88
'{}' es la marca de PROPUESTA pendiente, no una ratificacion: el validador del inventario la rechaza de forma expresa. Operación (normalizar_referencia_po) Operación no permitida models/ratificacion_po.py:93
La referencia '{}' no cumple el formato que el validador del inventario acepta: PO-AAAA-IDENTIFICADOR en mayusculas (por ejemplo PO-2026-RC1-001). Operación (normalizar_referencia_po) Operación no permitida models/ratificacion_po.py:97

account.move

Mensaje Cuando aparece Tipo Origen
Publicar un asiento productivo de nomina BPS exige el rol contable de Odoo (Contabilidad: administrador): la publicacion es un acto contable y no se omiten los permisos contables. Botón o acción (action_post) Operación no permitida models/account_move_productivo.py:151
Publicar un asiento productivo de nomina exige el rol contable de Odoo (Contabilidad: administrador), no solo la capacidad BPS. Botón o acción (action_publicar_bps) Operación no permitida models/account_move_productivo.py:190
Esta accion solo publica asientos productivos de nomina BPS. Botón o acción (action_publicar_bps) Operación no permitida models/account_move_productivo.py:195
El asiento ya no esta en borrador: no se vuelve a publicar. Botón o acción (action_publicar_bps) Operación no permitida models/account_move_productivo.py:198

bps.asiento.nomina

Mensaje Cuando aparece Tipo Origen
El asiento tecnico solo se crea por el servicio. Al crear (create) Operación no permitida models/asiento_nomina.py:167
El asiento tecnico de nomina es inmutable. Al modificar (write) Operación no permitida models/asiento_nomina.py:171
Los asientos tecnicos no se eliminan. Al eliminar (unlink) Operación no permitida models/asiento_nomina.py:175

bps.asiento.nomina.linea

Mensaje Cuando aparece Tipo Origen
Las lineas de asiento solo se crean por el servicio. Al crear (create) Operación no permitida models/asiento_nomina.py:534
Las lineas de asiento tecnico son inmutables. Al modificar (write) Operación no permitida models/asiento_nomina.py:538
Las lineas de asiento tecnico no se eliminan. Al eliminar (unlink) Operación no permitida models/asiento_nomina.py:542

bps.auditoria.bitacora

Mensaje Cuando aparece Tipo Origen
No tiene permiso para consultar la bitacora de auditoria. Validación automática (_check_lectura) Operación no permitida models/control_cierre.py:363
La bitacora solo se genera por el servicio (generar). Al crear (create) Operación no permitida models/control_cierre.py:368
La bitacora es una consolidacion de solo lectura: no se edita. Al modificar (write) Operación no permitida models/control_cierre.py:372
La bitacora no se elimina manualmente (limpieza tecnica). Al eliminar (unlink) Operación no permitida models/control_cierre.py:376
No puede consolidar una compania fuera de su contexto. Operación (generar) Operación no permitida models/control_cierre.py:397
No puede leer la bitacora de una compania fuera de su contexto. Operación (resumen_tecnico) Operación no permitida models/control_cierre.py:430
No puede abrir los eventos de una bitacora de una compania fuera de su contexto. Botón o acción (action_ver_eventos) Operación no permitida models/control_cierre.py:501

bps.banco.formato

Mensaje Cuando aparece Tipo Origen
Una plantilla bancaria aprobada exige fuente bancaria formal. Validación automática (_check_fuente_aprobada) Validación models/pago_banco.py:191
El motivo de alta de la plantilla bancaria es obligatorio. Al crear (create) Validación models/pago_banco.py:200
El estado de la plantilla se cambia por acciones gobernadas. Al modificar (write) Operación no permitida models/pago_banco.py:218
Todo cambio de plantilla bancaria exige motivo en contexto bps_motivo_cambio. Al modificar (write) Operación no permitida models/pago_banco.py:222
Las plantillas bancarias no se eliminan: retire la plantilla con motivo. Al eliminar (unlink) Operación no permitida models/pago_banco.py:243
Aprobar una plantilla bancaria exige motivo. Botón o acción (action_aprobar) Operación no permitida models/pago_banco.py:257
Solo una plantilla en borrador puede aprobarse. Botón o acción (action_aprobar) Operación no permitida models/pago_banco.py:259
PENDIENTE_BANCO_TEMPLATE: no se aprueba una plantilla bancaria sin fuente formal del banco/cliente. Botón o acción (action_aprobar) Operación no permitida models/pago_banco.py:262
Retirar una plantilla bancaria exige motivo. Botón o acción (action_retirar) Operación no permitida models/pago_banco.py:281
Solo una plantilla aprobada puede retirarse. Botón o acción (action_retirar) Operación no permitida models/pago_banco.py:283
El perfil declarativo nace en borrador y su aprobacion solo se registra mediante la accion gobernada. Al crear (create) Operación no permitida models/pago_banco_lote.py:207
Los metadatos de aprobacion del perfil solo cambian mediante acciones gobernadas. Al modificar (write) Operación no permitida models/pago_banco_lote.py:221
Un perfil de lote aprobado o retirado es inmutable. Retirelo y cree una version nueva con su manual y motivo. Al modificar (write) Operación no permitida models/pago_banco_lote.py:228
Aprobar el perfil bancario exige motivo. Botón o acción (action_aprobar) Operación no permitida models/pago_banco_lote.py:337
Solo un perfil en borrador puede aprobarse. Botón o acción (action_aprobar) Operación no permitida models/pago_banco_lote.py:339

bps.banco.formato.campo

Mensaje Cuando aparece Tipo Origen
Los campos solo se crean en perfiles declarativos en borrador. Al crear (create) Operación no permitida models/pago_banco_lote.py:469
Los campos de un perfil aprobado o retirado son inmutables. Al modificar (write) Operación no permitida models/pago_banco_lote.py:484
Cambiar un campo del perfil exige bps_motivo_cambio. Al modificar (write) Operación no permitida models/pago_banco_lote.py:488
Los campos de un perfil aprobado o retirado no se eliminan. Al eliminar (unlink) Operación no permitida models/pago_banco_lote.py:506

bps.banco.lote

Mensaje Cuando aparece Tipo Origen
Los lotes solo se crean desde el servicio gobernado. Al crear (create) Operación no permitida models/pago_banco_lote.py:776
El lote bancario es inmutable; use acciones gobernadas. Al modificar (write) Operación no permitida models/pago_banco_lote.py:781
Los lotes bancarios no se eliminan: conservan archivo, hash y evidencia. Al eliminar (unlink) Operación no permitida models/pago_banco_lote.py:786
No puede crear un lote de una compania fuera de su contexto. Operación (crear_lote) Operación no permitida models/pago_banco_lote.py:795
No hay ordenes preparadas para el lote solicitado. Operación (crear_lote) Operación no permitida models/pago_banco_lote.py:807
El intento identico fue anulado. Cree una nueva version del perfil para que el reintento conserve una clave y trazabilidad diferentes. Operación (crear_lote) Operación no permitida models/pago_banco_lote.py:815
Una o mas ordenes ya pertenecen a otro lote vigente; no se duplican. Operación (crear_lote) Operación no permitida models/pago_banco_lote.py:822
El lote fue creado en paralelo y no pudo resolverse de forma segura. Operación (crear_lote) Operación no permitida models/pago_banco_lote.py:853
El perfil vigente cambio antes de generar. Cree un lote nuevo para conservar una resolucion trazable. Botón o acción (action_generar_archivo) Operación no permitida models/pago_banco_lote.py:1038
No puede operar un lote de otra compania. Validación automática (_check_compania) Operación no permitida models/pago_banco_lote.py:1097
La carga manual solo se registra desde archivo_generado_local. Operación (registrar_carga_portal) Operación no permitida models/pago_banco_lote.py:1124
Resultado manual de portal no permitido. Operación (registrar_resultado_portal) Operación no permitida models/pago_banco_lote.py:1145
El resultado solo se registra despues de la carga con evidencia. Operación (registrar_resultado_portal) Operación no permitida models/pago_banco_lote.py:1150
El resultado manual ya fue registrado y es inmutable. Operación (registrar_resultado_portal) Operación no permitida models/pago_banco_lote.py:1153
Anular un lote exige motivo. Botón o acción (action_anular) Operación no permitida models/pago_banco_lote.py:1222
Solo se anula un lote antes de validarlo o despues de un resultado observado/rechazado. El resultado pendiente debe resolverse primero. Botón o acción (action_anular) Operación no permitida models/pago_banco_lote.py:1231
Un lote con ordenes confirmadas no puede anularse. Botón o acción (action_anular) Operación no permitida models/pago_banco_lote.py:1235

bps.banco.lote.portal.wizard

Mensaje Cuando aparece Tipo Origen
Registrar resultado exige seleccionar un resultado. Botón o acción (action_registrar) Operación no permitida models/pago_banco_lote.py:1369

bps.cadena.periodo

Mensaje Cuando aparece Tipo Origen
La cadena solo se construye por el servicio (construir). Al crear (create) Operación no permitida models/cadena_periodo.py:98
La cadena del periodo es inmutable. Al modificar (write) Operación no permitida models/cadena_periodo.py:103
Las cadenas de periodo no se eliminan. Al eliminar (unlink) Operación no permitida models/cadena_periodo.py:108
El encadenamiento del periodo exige un rol de nomina BPS. Operación (construir) Operación no permitida models/cadena_periodo.py:237
No puede encadenar un periodo de una compania fuera de su contexto. Operación (construir) Operación no permitida models/cadena_periodo.py:242

bps.cadena.periodo.eslabon

Mensaje Cuando aparece Tipo Origen
Los eslabones solo los crea el servicio de cadena. Al crear (create) Operación no permitida models/cadena_periodo.py:302
Los eslabones de la cadena son inmutables. Al modificar (write) Operación no permitida models/cadena_periodo.py:306
Los eslabones de la cadena no se eliminan. Al eliminar (unlink) Operación no permitida models/cadena_periodo.py:310

bps.cierre.checklist

Mensaje Cuando aparece Tipo Origen
No tiene permiso para consultar el checklist de cierre. Validación automática (_check_lectura) Operación no permitida models/control_cierre.py:54
El checklist solo se genera por el servicio (generar). Al crear (create) Operación no permitida models/control_cierre.py:59
El checklist es una consolidacion de solo lectura: no se edita. Al modificar (write) Operación no permitida models/control_cierre.py:63
El checklist no se elimina manualmente (limpieza tecnica). Al eliminar (unlink) Operación no permitida models/control_cierre.py:67
No puede consolidar una compania fuera de su contexto. Operación (generar) Operación no permitida models/control_cierre.py:84
No puede leer un checklist de una compania fuera de su contexto. Operación (resumen_tecnico) Operación no permitida models/control_cierre.py:252
No puede exportar un checklist de una compania fuera de su contexto. Operación (secciones_export) Operación no permitida models/control_cierre.py:265

bps.cierre.checklist.item

Mensaje Cuando aparece Tipo Origen
Los gates del checklist solo se crean por el servicio. Al crear (create) Operación no permitida models/control_cierre.py:328
Los gates del checklist son de solo lectura. Al modificar (write) Operación no permitida models/control_cierre.py:332
Los gates del checklist no se eliminan manualmente. Al eliminar (unlink) Operación no permitida models/control_cierre.py:336

bps.cierre.periodo

Mensaje Cuando aparece Tipo Origen
No se puede cerrar productivamente el periodo: la conciliacion local bloquea ({}). Justifique o resuelva las diferencias de la conciliacion (HU-104) antes de intentar el cierre productivo. Operación (intentar_cerrar_productivo) Operación no permitida models/cierre_periodo_conciliacion.py:67
El cierre tecnico solo se crea por el servicio (generar). Al crear (create) Operación no permitida models/cierre_periodo.py:88
El cierre tecnico es inmutable (regenerelo si cambia el periodo). Al modificar (write) Operación no permitida models/cierre_periodo.py:92
Los cierres tecnicos no se eliminan. Al eliminar (unlink) Operación no permitida models/cierre_periodo.py:96
No puede generar el cierre de una compania fuera de su contexto. Operación (generar) Operación no permitida models/cierre_periodo.py:197
Ya existe un cierre tecnico para la compania/periodo. Operación (generar) Operación no permitida models/cierre_periodo.py:201
Ya existe un cierre tecnico para la compania/periodo (paralelo). Operación (generar) Operación no permitida models/cierre_periodo.py:223
No se puede cerrar productivamente el periodo: hay items no cumplidos ({}). El cierre productivo (PILA, pago, DSNE, conciliacion) no esta disponible en esta fase. Operación (intentar_cerrar_productivo) Operación no permitida models/cierre_periodo.py:244

bps.cierre.periodo.item

Mensaje Cuando aparece Tipo Origen
Los items de cierre solo se crean por el servicio. Al crear (create) Operación no permitida models/cierre_periodo.py:270
Los items de cierre son inmutables. Al modificar (write) Operación no permitida models/cierre_periodo.py:274
Los items de cierre no se eliminan. Al eliminar (unlink) Operación no permitida models/cierre_periodo.py:278

bps.composicion.costo

Mensaje Cuando aparece Tipo Origen
La composicion de costo solo se genera por el servicio (generar). Al crear (create) Operación no permitida models/composicion_centro_costo.py:103
La composicion de costo es inmutable. Al modificar (write) Operación no permitida models/composicion_centro_costo.py:108
Las composiciones de costo no se eliminan. Al eliminar (unlink) Operación no permitida models/composicion_centro_costo.py:112
Solo un administrador de nomina BPS genera la composicion de costo. Operación (generar) Operación no permitida models/composicion_centro_costo.py:169
No puede componer el costo de una compania fuera de su contexto. Operación (generar) Operación no permitida models/composicion_centro_costo.py:172
No hay recibos finalizados del periodo: no se compone un costo sobre fuentes que no existen. Operación (generar) Operación no permitida models/composicion_centro_costo.py:183

bps.composicion.costo.linea

Mensaje Cuando aparece Tipo Origen
Las lineas de composicion solo las crea el servicio. Al crear (create) Operación no permitida models/composicion_centro_costo.py:262
Las lineas de composicion de costo son inmutables. Al modificar (write) Operación no permitida models/composicion_centro_costo.py:266
Las lineas de composicion de costo no se eliminan. Al eliminar (unlink) Operación no permitida models/composicion_centro_costo.py:270

bps.conciliacion.cerrar.wizard

Mensaje Cuando aparece Tipo Origen
El cierre exige un motivo. Botón o acción (action_confirmar) Operación no permitida models/conciliacion_wizard.py:74

bps.conciliacion.corrida

Mensaje Cuando aparece Tipo Origen
No tiene permiso para operar la conciliacion. Validación automática (_check_operar) Operación no permitida models/conciliacion_corrida.py:160
Justificar y cerrar la conciliacion exige el rol supervisor o administrador. Validación automática (_check_supervisar) Operación no permitida models/conciliacion_corrida.py:165
La corrida solo se crea por el servicio (ejecutar). Al crear (create) Operación no permitida models/conciliacion_corrida.py:171
La corrida cerrada es inmutable (evidencia historica). Al modificar (write) Operación no permitida models/conciliacion_corrida.py:177
La corrida no se edita directamente: use el flujo gobernado. Al modificar (write) Operación no permitida models/conciliacion_corrida.py:179
Las corridas no se eliminan (evidencia historica HU-105). Al eliminar (unlink) Operación no permitida models/conciliacion_corrida.py:184
No puede conciliar una compania fuera de su contexto. Operación (ejecutar) Operación no permitida models/conciliacion_corrida.py:196
Otra corrida del mismo periodo se creo en paralelo: vuelva a ejecutar para tomar la siguiente version. Operación (ejecutar) Operación no permitida models/conciliacion_corrida.py:211
La diferencia no pertenece a esta corrida. Operación (justificar_diferencia) Operación no permitida models/conciliacion_corrida.py:704
La corrida cerrada es inmutable: no se justifica. Operación (justificar_diferencia) Operación no permitida models/conciliacion_corrida.py:706
Solo se justifican diferencias materiales o temporales. Operación (justificar_diferencia) Operación no permitida models/conciliacion_corrida.py:708
Esa fila es el DESGLOSE por concepto de una diferencia agregada: justifique la fila agregada del trabajador, no su detalle. Operación (justificar_diferencia) Operación no permitida models/conciliacion_corrida.py:711
La justificacion exige un motivo. Operación (justificar_diferencia) Operación no permitida models/conciliacion_corrida.py:716
La decision de la justificacion no es valida. Operación (justificar_diferencia) Operación no permitida models/conciliacion_corrida.py:718
La politica de la compania exige un soporte para justificar la diferencia. Operación (justificar_diferencia) Operación no permitida models/conciliacion_corrida.py:722
La corrida cerrada es inmutable. Operación (reclasificar_diferencia) Operación no permitida models/conciliacion_corrida.py:745
Solo se confirma temporal o material. Operación (reclasificar_diferencia) Operación no permitida models/conciliacion_corrida.py:747
La reclasificacion exige un motivo. Operación (reclasificar_diferencia) Operación no permitida models/conciliacion_corrida.py:750
La corrida ya esta cerrada. Operación (cerrar) Operación no permitida models/conciliacion_corrida.py:768
El cierre de la corrida exige un motivo. Operación (cerrar) Operación no permitida models/conciliacion_corrida.py:771
Politica de BLOQUEO: hay {} diferencia(s) material(es) sin justificar. El periodo no cierra hasta justificarlas. Operación (cerrar) Operación no permitida models/conciliacion_corrida.py:775

bps.conciliacion.diferencia

Mensaje Cuando aparece Tipo Origen
Los resultados de conciliacion solo se crean por la corrida. Al crear (create) Operación no permitida models/conciliacion_corrida.py:948
El resultado de conciliacion es inmutable: use justificar/reclasificar. Al modificar (write) Operación no permitida models/conciliacion_corrida.py:953
Los resultados de conciliacion no se eliminan (evidencia). Al eliminar (unlink) Operación no permitida models/conciliacion_corrida.py:959

bps.conciliacion.tolerancia

Mensaje Cuando aparece Tipo Origen
La vigencia 'hasta' no puede ser anterior a 'desde'. Validación automática (_check_no_solape) Validación models/conciliacion_tolerancia.py:79
La tolerancia de '{}' solapa su vigencia con otra: no puede haber mas de una tolerancia vigente por comparacion/compania. Validación automática (_check_no_solape) Validación models/conciliacion_tolerancia.py:87

bps.control.tablero

Mensaje Cuando aparece Tipo Origen
El tablero solo se genera por el servicio (generar). Al crear (create) Operación no permitida models/control_tablero.py:117
El tablero es una consolidacion de solo lectura: no se edita. Al modificar (write) Operación no permitida models/control_tablero.py:121
El tablero no se elimina manualmente (limpieza tecnica automatica). Al eliminar (unlink) Operación no permitida models/control_tablero.py:125
No tiene permiso para consultar el tablero de control. Validación automática (_check_lectura) Operación no permitida models/control_tablero.py:139
No puede consolidar una compania fuera de su contexto. Operación (generar) Operación no permitida models/control_tablero.py:149
No puede leer el resumen de una compania fuera de su contexto. Operación (resumen_tecnico) Operación no permitida models/control_tablero.py:405
No puede exportar un tablero de una compania fuera de su contexto. Operación (secciones_export) Operación no permitida models/control_tablero.py:446

bps.control.tablero.linea

Mensaje Cuando aparece Tipo Origen
El detalle del tablero solo se crea por el servicio (generar). Al crear (create) Operación no permitida models/control_tablero.py:572
El detalle del tablero es de solo lectura: no se edita. Al modificar (write) Operación no permitida models/control_tablero.py:576
El detalle del tablero no se elimina manualmente. Al eliminar (unlink) Operación no permitida models/control_tablero.py:580

bps.control.tablero.semaforo

Mensaje Cuando aparece Tipo Origen
El semaforo del tablero solo se crea por el servicio (generar). Al crear (create) Operación no permitida models/control_tablero.py:611
El semaforo del tablero es de solo lectura: no se edita. Al modificar (write) Operación no permitida models/control_tablero.py:615
El semaforo del tablero no se elimina manualmente. Al eliminar (unlink) Operación no permitida models/control_tablero.py:619

bps.correlacion.efecto

Mensaje Cuando aparece Tipo Origen
Los efectos solo los crea el servicio de correlacion. Al crear (create) Operación no permitida models/correlacion.py:383
El efecto de correlacion es inmutable. Al modificar (write) Operación no permitida models/correlacion.py:388
Los efectos de correlacion no se eliminan. Al eliminar (unlink) Operación no permitida models/correlacion.py:393

bps.correlacion.hecho

Mensaje Cuando aparece Tipo Origen
Los hechos de correlacion solo los emite el servicio (registrar). Al crear (create) Operación no permitida models/correlacion.py:135
El hecho de correlacion es inmutable. Al modificar (write) Operación no permitida models/correlacion.py:141
Los hechos de correlacion no se eliminan. Al eliminar (unlink) Operación no permitida models/correlacion.py:146
La correlacion de impacto es una verificacion gobernada: exige un rol de nomina BPS. Operación (correlacionar) Operación no permitida models/correlacion.py:316
Compania fuera del contexto del usuario: no se correlaciona. Operación (correlacionar) Operación no permitida models/correlacion.py:321

bps.costo.laboral

Mensaje Cuando aparece Tipo Origen
No tiene permiso para consultar el costo laboral. Validación automática (_check_lectura) Operación no permitida models/costo_laboral.py:71
El costo laboral solo se genera por el servicio (generar). Al crear (create) Operación no permitida models/costo_laboral.py:76
El costo laboral es una consolidacion de solo lectura: no se edita. Al modificar (write) Operación no permitida models/costo_laboral.py:82
El costo laboral no se elimina manualmente (limpieza tecnica). Al eliminar (unlink) Operación no permitida models/costo_laboral.py:86
No puede consolidar una compania fuera de su contexto. Operación (generar) Operación no permitida models/costo_laboral.py:122
No puede leer un costo laboral de una compania fuera de su contexto. Operación (resumen_tecnico) Operación no permitida models/costo_laboral.py:229
No puede exportar un costo laboral de una compania fuera de su contexto. Operación (secciones_export) Operación no permitida models/costo_laboral.py:268

bps.costo.laboral.criterio

Mensaje Cuando aparece Tipo Origen
La vigencia final no puede ser anterior a la vigencia inicial. Validación automática (_check_fechas) Validación models/costo_prorrateo.py:75
Un criterio nuevo debe iniciar en borrador. Al crear (create) Operación no permitida models/costo_prorrateo.py:84
No puede configurar criterios para una compania fuera de su contexto. Al crear (create) Operación no permitida models/costo_prorrateo.py:88
El estado del criterio solo cambia por la accion gobernada. Al modificar (write) Operación no permitida models/costo_prorrateo.py:104
Un criterio vigente o superado no se edita; cree una nueva version. Al modificar (write) Operación no permitida models/costo_prorrateo.py:109
Un criterio vigente o superado no se elimina; su historial se conserva. Al eliminar (unlink) Operación no permitida models/costo_prorrateo.py:126
Solo se puede aprobar un criterio en borrador. Operación (accion_aprobar) Operación no permitida models/costo_prorrateo.py:151
Ya existe un criterio vigente que se superpone con esta vigencia. Operación (accion_aprobar) Operación no permitida models/costo_prorrateo.py:161
Hay mas de un criterio de prorrateo vigente para la compania y periodo. Operación (vigente_para) Operación no permitida models/costo_prorrateo.py:178

bps.costo.laboral.criterio.linea

Mensaje Cuando aparece Tipo Origen
Los pesos solo se crean en criterios en borrador. Al crear (create) Operación no permitida models/costo_prorrateo.py:210

bps.costo.laboral.linea

Mensaje Cuando aparece Tipo Origen
El detalle del costo laboral solo se crea por el servicio. Al crear (create) Operación no permitida models/costo_laboral.py:373
El detalle del costo laboral es de solo lectura: no se edita. Al modificar (write) Operación no permitida models/costo_laboral.py:377
El detalle del costo laboral no se elimina manualmente. Al eliminar (unlink) Operación no permitida models/costo_laboral.py:381

bps.costo.laboral.prorrateo

Mensaje Cuando aparece Tipo Origen
No tiene permiso para consultar snapshots de prorrateo. Validación automática (_check_lectura) Operación no permitida models/costo_prorrateo.py:263
El snapshot de prorrateo solo se crea por el servicio gobernado. Al crear (create) Operación no permitida models/costo_prorrateo.py:268
El snapshot de prorrateo es inmutable; genere una nueva version si cambian las fuentes. Al modificar (write) Operación no permitida models/costo_prorrateo.py:272
El snapshot de prorrateo no se elimina manualmente. Al eliminar (unlink) Operación no permitida models/costo_prorrateo.py:276
Solo el administrador BPS puede generar el prorrateo gobernado. Operación (generar) Operación no permitida models/costo_prorrateo.py:283
No puede prorratear una compania fuera de su contexto. Operación (generar) Operación no permitida models/costo_prorrateo.py:285
sin_criterio_prorrateo: no existe un criterio vigente para la compania y periodo. Operación (generar) Operación no permitida models/costo_prorrateo.py:289
No hay recibos finalizados para prorratear; no se inventan valores fuente. Operación (generar) Operación no permitida models/costo_prorrateo.py:295
La suma prorrateada no cuadra con las fuentes persistidas. Operación (generar) Operación no permitida models/costo_prorrateo.py:317

bps.costo.laboral.prorrateo.linea

Mensaje Cuando aparece Tipo Origen
Las lineas de prorrateo solo se crean por el servicio gobernado. Al crear (create) Operación no permitida models/costo_prorrateo.py:363
Las lineas de prorrateo son inmutables. Al modificar (write) Operación no permitida models/costo_prorrateo.py:367
Las lineas de prorrateo no se eliminan manualmente. Al eliminar (unlink) Operación no permitida models/costo_prorrateo.py:371

bps.decision.alcance

Mensaje Cuando aparece Tipo Origen
El codigo de la familia es obligatorio. Validación automática (_check_codigo) Validación models/decision_alcance.py:158
La familia ya esta ratificada: su contenido es inmutable (el acta quedaria referida a un texto distinto del que se decidio). Al modificar (write) Operación no permitida models/decision_alcance.py:164
El estado de la decision no se edita directamente: se fija al ratificar. Al modificar (write) Operación no permitida models/decision_alcance.py:168
Una decision ratificada no se elimina (es traza). Al eliminar (unlink) Operación no permitida models/decision_alcance.py:175
La familia {} ya tiene un acta de ratificacion: no se ratifica dos veces (el acta es inmutable). Operación (ratificar) Operación no permitida models/decision_alcance.py:197
La decision debe ser explicita: abrir el carril RC1 o excluirlo del alcance. No hay opcion por omision. Operación (ratificar) Operación no permitida models/decision_alcance.py:201
La justificacion debe explicar la decision (minimo {} caracteres): un acta sin razones no permite auditar por que se abrio o se cerro un frente. Operación (ratificar) Operación no permitida models/decision_alcance.py:206
Para ratificar hay que repetir el codigo de la familia ({}). La confirmacion existe para que un acto irreversible no ocurra por descuido. Operación (ratificar) Operación no permitida models/decision_alcance.py:211
La familia no tiene casos: no se ratifica una decision vacia. Operación (ratificar) Operación no permitida models/decision_alcance.py:216
La familia {} no tiene acta: no hay nada que subsanar. Botón o acción (action_abrir_wizard_subsanacion) Operación no permitida models/decision_alcance.py:259

bps.decision.alcance.caso

Mensaje Cuando aparece Tipo Origen
El caso '{}' no tiene el formato del inventario (B00-C000). Validación automática (_check_caso_csv) Validación models/decision_alcance.py:319
El caso {} se clasifico como que requiere construccion: hay que nombrar el hueco exacto, no basta con decir que falta algo. Validación automática (_check_hueco) Validación models/decision_alcance.py:328
El caso {} no puede quedar como 'ya alcanzable' en la agenda de decision: si es alcanzable se certifica con un runner real en su carril, no se lleva a la sesion del PO. Validación automática (_check_hueco) Validación models/decision_alcance.py:333

bps.decision.alcance.ratificacion

Mensaje Cuando aparece Tipo Origen
El acta exige una referencia de ratificacion del PO en el formato que el validador del inventario acepta (PO-AAAA-IDENTIFICADOR). Validación automática (_check_referencia_po) Validación models/decision_alcance.py:479
El acta no se crea directamente: se produce al ratificar la familia, que es donde se verifica que quien decide es una persona autorizada. Al crear (create) Operación no permitida models/decision_alcance.py:486
El acta de ratificacion es inmutable: si la decision cambia, se documenta una decision nueva, no se reescribe la anterior. Al modificar (write) Operación no permitida models/decision_alcance.py:492
Las actas de ratificacion no se eliminan (son traza). Al eliminar (unlink) Operación no permitida models/decision_alcance.py:498
El acta {} ya tiene su propia referencia ({}): la subsanacion es solo para las actas anteriores a que la referencia existiera. Operación (subsanar_referencia) Operación no permitida models/decision_alcance.py:546
El acta {} ya fue subsanada con la referencia {}: no se subsana dos veces. Operación (subsanar_referencia) Operación no permitida models/decision_alcance.py:551
La subsanacion debe explicar de que acto administrativo sale la referencia (minimo {} caracteres): sin eso la referencia seria un numero inventado. Operación (subsanar_referencia) Operación no permitida models/decision_alcance.py:557
El acta {} ya tiene una referencia efectiva ({}). Botón o acción (action_abrir_wizard_subsanacion) Operación no permitida models/decision_alcance.py:584

bps.decision.alcance.subsanacion

Mensaje Cuando aparece Tipo Origen
La subsanacion exige una referencia que el validador del inventario indexe (PO-AAAA-IDENTIFICADOR). Sin eso no libera nada. Validación automática (_check_referencia_po) Validación models/decision_alcance.py:637
La subsanacion no se crea directamente: se produce con subsanar_referencia, que es donde se verifica que quien la firma es una persona autorizada. Al crear (create) Operación no permitida models/decision_alcance.py:644
La subsanacion es inmutable, igual que el acta que complementa. Al modificar (write) Operación no permitida models/decision_alcance.py:651
Las subsanaciones no se eliminan (son traza). Al eliminar (unlink) Operación no permitida models/decision_alcance.py:656

bps.dependencia.externa

Mensaje Cuando aparece Tipo Origen
El caso CSV '{}' no cumple el formato del inventario HU-117 (B00-C000). Validación automática (_check_caso_csv) Validación models/dependencia_externa.py:225
{}: una dependencia de FUENTE exige identificar la fuente oficial requerida. Validación automática (_check_declaracion_completa) Validación models/dependencia_externa.py:238
{}: una dependencia de VALIDACION exige {}. Validación automática (_check_declaracion_completa) Validación models/dependencia_externa.py:250
La evidencia de una dependencia externa solo se registra con registrar_evidencia: no se edita a mano. Al modificar (write) Operación no permitida models/dependencia_externa.py:268
El acta del PO solo se registra con ratificar_po, que es donde se verifica que quien decide es una persona autorizada. Al modificar (write) Operación no permitida models/dependencia_externa.py:272
Las dependencias externas no se eliminan: son el registro de lo que el release espera de terceros. Al eliminar (unlink) Operación no permitida models/dependencia_externa.py:279
Resultado de evidencia invalido: use conforme, observado o no_conforme. Operación (registrar_evidencia) Operación no permitida models/dependencia_externa.py:315
El registro de evidencia externa exige soporte o referencia del tercero (radicado, oficio, acuse). Operación (registrar_evidencia) Operación no permitida models/dependencia_externa.py:320
El registro de evidencia externa exige el archivo recibido: sin el binario no hay nada que probar. Operación (registrar_evidencia) Operación no permitida models/dependencia_externa.py:324
No se pudo leer el archivo de evidencia externa. Operación (registrar_evidencia) Validación models/dependencia_externa.py:330
El archivo de evidencia externa esta vacio. Operación (registrar_evidencia) Validación models/dependencia_externa.py:333
Una evidencia observada o no conforme exige describir el motivo: es lo unico que permite corregir y volver a intentarlo. Operación (registrar_evidencia) Operación no permitida models/dependencia_externa.py:336
La dependencia {} ya tiene acta del PO ({}): no se ratifica dos veces. Operación (ratificar_po) Operación no permitida models/dependencia_externa.py:390
La decision debe ser explicita: reconocer la dependencia como externa gobernada o mantener el caso como saldo interno. No hay opcion por omision. Operación (ratificar_po) Operación no permitida models/dependencia_externa.py:394
La justificacion debe explicar la decision (minimo {} caracteres): un acta sin razones no permite auditar por que un caso dejo de contarse como saldo interno. Operación (ratificar_po) Operación no permitida models/dependencia_externa.py:400
Para ratificar hay que repetir el caso ({}). La confirmacion existe para que un acto irreversible no ocurra por descuido. Operación (ratificar_po) Operación no permitida models/dependencia_externa.py:405
La dependencia {} ya tiene evidencia registrada. Botón o acción (action_abrir_wizard_evidencia) Operación no permitida models/dependencia_externa.py:440
La dependencia {} ya tiene acta del PO. Botón o acción (action_abrir_wizard_ratificacion) Operación no permitida models/dependencia_externa.py:457

bps.liquidacion.definitiva

Mensaje Cuando aparece Tipo Origen
Solo un administrador de nomina BPS puede generar el asiento de la liquidacion. Operación (contabilizar_extraordinario) Operación no permitida models/liquidacion_contable.py:139
No puede contabilizar una liquidacion de una compania fuera de su contexto. Operación (contabilizar_extraordinario) Operación no permitida models/liquidacion_contable.py:143
Solo se contabiliza una liquidacion CERRADA: cierre la liquidacion (con la indemnizacion y la moratoria resueltas) antes de contabilizar. Operación (contabilizar_extraordinario) Operación no permitida models/liquidacion_contable.py:146
Componente extraordinario invalido: use 'indemnizacion' o 'moratoria'. Operación (contabilizar_extraordinario) Operación no permitida models/liquidacion_contable.py:150
No hay indemnizacion (art. 64 CST) calculada con valor para contabilizar (estado {}, valor {}). Operación (contabilizar_extraordinario) Operación no permitida models/liquidacion_contable.py:154
No hay sancion moratoria (art. 65 CST) APROBADA con valor para contabilizar (estado {}, valor {}). La moratoria requiere decision juridica aprobada. Operación (contabilizar_extraordinario) Operación no permitida models/liquidacion_contable.py:161
El componente '{}' de esta liquidacion ya tiene un asiento productivo: no se duplica. Operación (contabilizar_extraordinario) Operación no permitida models/liquidacion_contable.py:172
Falta mapeo contable vigente para '{}' en {} (compania {}): no se contabiliza sin cuenta. Operación (contabilizar_extraordinario) Operación no permitida models/liquidacion_contable.py:178
El mapeo de '{}' requiere cuenta de gasto (debito) y de pasivo por pagar (credito). Operación (contabilizar_extraordinario) Operación no permitida models/liquidacion_contable.py:182
El empleado no tiene un tercero (contacto) confiable: no se contabiliza el pasivo por pagar de la liquidacion sin tercero y no se inventa. Operación (contabilizar_extraordinario) Operación no permitida models/liquidacion_contable.py:190
El componente '{}' ya tiene un asiento (concurrencia): no se duplica. Operación (contabilizar_extraordinario) Operación no permitida models/liquidacion_contable.py:216

bps.liquidacion.paquete.cierre

Mensaje Cuando aparece Tipo Origen
El paquete de cierre solo se crea por el servicio (generar_desde_liquidacion). Al crear (create) Operación no permitida models/cierre_liquidacion.py:253
El paquete de cierre interno es un snapshot INMUTABLE: no se modifica. Si una fuente cambio, la evidencia viva sigue en la liquidacion (M09/M14). Al modificar (write) Operación no permitida models/cierre_liquidacion.py:262
Los paquetes de cierre no se eliminan (son evidencia). Al eliminar (unlink) Operación no permitida models/cierre_liquidacion.py:268
Solo un administrador de nomina genera el paquete de cierre interno. Operación (generar_desde_liquidacion) Operación no permitida models/cierre_liquidacion.py:336
La liquidacion ya tiene un paquete de cierre interno: no se duplica (idempotencia). Operación (generar_desde_liquidacion) Operación no permitida models/cierre_liquidacion.py:340
La liquidacion ya tiene un paquete de cierre interno (creado en paralelo): no se duplica. Operación (generar_desde_liquidacion) Operación no permitida models/cierre_liquidacion.py:398

bps.mapeo.contable

Mensaje Cuando aparece Tipo Origen
El mapeo contable debe indicar exactamente un concepto BPS o una clave tecnica (no ambos, no ninguno). Validación automática (_check_clave) Validación models/mapeo_contable.py:147
La cuenta {} no pertenece a la compania {} del mapeo. Validación automática (_check_compania) Validación models/mapeo_contable.py:157
El diario {} no pertenece a la compania {} del mapeo. Validación automática (_check_compania) Validación models/mapeo_contable.py:161
La vigencia del mapeo ({}–{}) se solapa con otra ({}–{}) para la misma clave y compania. Validación automática (_check_no_solapamiento) Validación models/mapeo_contable.py:178
La fecha hasta no puede ser anterior a la desde. Validación automática (_check_fechas) Validación models/mapeo_contable.py:188
Conceptos activos sin mapeo contable vigente en {} (compania {}): {}. No se contabiliza hasta mapearlos. Operación (validar_completitud) Operación no permitida models/mapeo_contable.py:243

bps.niif.agrupacion

Mensaje Cuando aparece Tipo Origen
No puede agrupar beneficios NIC 19 de una compania fuera de su contexto multiempresa. Operación (agrupar) Operación no permitida models/niif_agrupacion.py:48

bps.orden.pago.nomina

Mensaje Cuando aparece Tipo Origen
La orden de pago exige monto mayor que cero. Validación automática (_check_monto) Validación models/pago_banco.py:395
La orden de pago solo se crea desde el servicio gobernado. Al crear (create) Operación no permitida models/pago_banco.py:400
La orden de pago es inmutable; use acciones gobernadas. Al modificar (write) Operación no permitida models/pago_banco.py:406
Las ordenes de pago no se eliminan: anule con motivo. Al eliminar (unlink) Operación no permitida models/pago_banco.py:411
No puede ordenar pago de un recibo de una compania fuera de su contexto. Operación (generar_desde_recibo) Operación no permitida models/pago_banco.py:422
Solo se ordena pago desde un recibo FINALIZADO. Operación (generar_desde_recibo) Operación no permitida models/pago_banco.py:425
No se ordena pago con neto pagable cero o negativo. Operación (generar_desde_recibo) Operación no permitida models/pago_banco.py:427
El recibo ya tiene una orden de pago: no se duplica. Operación (generar_desde_recibo) Operación no permitida models/pago_banco.py:429
El recibo ya tiene una orden de pago (creada en paralelo). Operación (generar_desde_recibo) Operación no permitida models/pago_banco.py:451
Solo una orden preparada puede exportarse. Botón o acción (action_exportar) Operación no permitida models/pago_banco.py:525
Confirmar una orden de pago exige motivo. Botón o acción (action_confirmar) Operación no permitida models/pago_banco.py:562
Confirmar una orden de pago exige un soporte adjunto unico. Botón o acción (action_confirmar) Operación no permitida models/pago_banco.py:566
Solo una orden exportada puede confirmarse. Botón o acción (action_confirmar) Operación no permitida models/pago_banco.py:569
Anular una orden de pago exige motivo. Botón o acción (action_anular) Operación no permitida models/pago_banco.py:586
No tiene permiso para consultar el preflight de pago. Validación automática (_check_lectura_preflight) Operación no permitida models/pago_banco.py:609
No puede consultar el preflight de pago de una compania fuera de su contexto. Operación (preflight_pago) Operación no permitida models/pago_banco.py:661
La orden ya pertenece a un lote: descargue el archivo gobernado desde el lote. Botón o acción (action_exportar) Operación no permitida models/pago_banco_lote.py:1310

bps.paz.salvo.tecnico

Mensaje Cuando aparece Tipo Origen
El paz y salvo tecnico solo se crea por el servicio (generar_desde_liquidacion). Al crear (create) Operación no permitida models/cierre_liquidacion.py:786
El paz y salvo tecnico APROBADO es inmutable: no se modifica (evidencia interna). Al modificar (write) Operación no permitida models/cierre_liquidacion.py:795
El paz y salvo tecnico no se edita directamente: use reevaluar/aprobar. Al modificar (write) Operación no permitida models/cierre_liquidacion.py:800
El paz y salvo tecnico no se elimina (es traza). Al eliminar (unlink) Operación no permitida models/cierre_liquidacion.py:805
Solo un administrador de nomina genera el paz y salvo tecnico interno. Operación (generar_desde_liquidacion) Operación no permitida models/cierre_liquidacion.py:818
La liquidacion ya tiene un paz y salvo tecnico interno: no se duplica. Use 'reevaluar' para refrescar el checklist. Operación (generar_desde_liquidacion) Operación no permitida models/cierre_liquidacion.py:823
La liquidacion ya tiene un paz y salvo tecnico (creado en paralelo): no se duplica. Operación (generar_desde_liquidacion) Operación no permitida models/cierre_liquidacion.py:850
Solo un administrador de nomina reevalua el paz y salvo tecnico. Operación (reevaluar) Operación no permitida models/cierre_liquidacion.py:867
El paz y salvo tecnico APROBADO es inmutable: no se reevalua. Operación (reevaluar) Operación no permitida models/cierre_liquidacion.py:870
Aprobar el paz y salvo tecnico exige el rol supervisor o administrador BPS. Operación (aprobar) Operación no permitida models/cierre_liquidacion.py:1033
No puede aprobar un paz y salvo de una compania fuera de su contexto. Operación (aprobar) Operación no permitida models/cierre_liquidacion.py:1036
El paz y salvo tecnico ya esta aprobado (inmutable). Operación (aprobar) Operación no permitida models/cierre_liquidacion.py:1039
No se aprueba el paz y salvo tecnico: el estado es '{}'. Pendientes internos: {}. Resuelva y reevalue antes de aprobar. Operación (aprobar) Operación no permitida models/cierre_liquidacion.py:1044
La aprobacion del paz y salvo tecnico exige un motivo. Operación (aprobar) Operación no permitida models/cierre_liquidacion.py:1052
La aprobacion del paz y salvo tecnico exige un soporte interno (referencia documental: acta, radicado, expediente). Operación (aprobar) Operación no permitida models/cierre_liquidacion.py:1054
No tiene permiso para consultar el paz y salvo tecnico interno. Operación (resumen_paz_salvo) Operación no permitida models/cierre_liquidacion.py:1093
No puede leer un paz y salvo de una compania fuera de su contexto. Operación (resumen_paz_salvo) Operación no permitida models/cierre_liquidacion.py:1096

bps.paz.salvo.tecnico.item

Mensaje Cuando aparece Tipo Origen
Los items del paz y salvo solo se crean por la evaluacion del servicio. Al crear (create) Operación no permitida models/cierre_liquidacion.py:1147
El checklist de un paz y salvo APROBADO es inmutable. Al modificar (write) Operación no permitida models/cierre_liquidacion.py:1155
Los items del paz y salvo no se editan: use reevaluar (los anteriores quedan como traza). Al modificar (write) Operación no permitida models/cierre_liquidacion.py:1159
Los items del paz y salvo no se eliminan (son traza). Al eliminar (unlink) Operación no permitida models/cierre_liquidacion.py:1165

bps.preuat.corrida

Mensaje Cuando aparece Tipo Origen
La corrida Pre-UAT solo se crea por el wizard gobernado. Al crear (create) Operación no permitida models/preuat.py:432
Solo puede actualizar la observacion de la corrida. Los resultados se registran por frente. Al modificar (write) Operación no permitida models/preuat.py:443
La corrida Pre-UAT no se elimina: conserva evidencia manual. Al eliminar (unlink) Operación no permitida models/preuat.py:450
No tiene permiso para consultar corridas Pre-UAT. Validación automática (_check_lectura) Operación no permitida models/preuat.py:464
No tiene permiso para operar corridas Pre-UAT. Validación automática (_check_operacion) Operación no permitida models/preuat.py:468
No puede operar una corrida Pre-UAT de compania ajena. Validación automática (_check_companias_propias) Operación no permitida models/preuat.py:474
No puede crear corrida Pre-UAT para una compania ajena. Operación (crear_corrida) Operación no permitida models/preuat.py:480

bps.preuat.corrida.linea

Mensaje Cuando aparece Tipo Origen
Los frentes de corrida Pre-UAT solo se crean por el servicio. Al crear (create) Operación no permitida models/preuat.py:804
Solo puede registrar resultado y evidencia manual. Al modificar (write) Operación no permitida models/preuat.py:821
Los frentes Pre-UAT no se eliminan: conservan evidencia. Al eliminar (unlink) Operación no permitida models/preuat.py:832

bps.preuat.escenario

Mensaje Cuando aparece Tipo Origen
Los escenarios Pre-UAT solo se crean por el servicio. Al crear (create) Operación no permitida models/preuat.py:890
Los escenarios Pre-UAT son de solo lectura. Al modificar (write) Operación no permitida models/preuat.py:894
Los escenarios Pre-UAT no se eliminan manualmente. Al eliminar (unlink) Operación no permitida models/preuat.py:898

bps.preuat.paquete

Mensaje Cuando aparece Tipo Origen
El paquete Pre-UAT solo se genera por el servicio. Al crear (create) Operación no permitida models/preuat.py:91
El paquete Pre-UAT es de solo lectura: no se edita. Al modificar (write) Operación no permitida models/preuat.py:95
El paquete Pre-UAT no se elimina manualmente. Al eliminar (unlink) Operación no permitida models/preuat.py:99
No tiene permiso para consultar paquetes Pre-UAT. Validación automática (_check_lectura) Operación no permitida models/preuat.py:120
No tiene permiso para generar paquetes Pre-UAT. Validación automática (_check_generacion) Operación no permitida models/preuat.py:124
No puede generar Pre-UAT para una compania ajena. Operación (generar) Operación no permitida models/preuat.py:133
No puede leer Pre-UAT de una compania ajena. Operación (resumen_tecnico) Operación no permitida models/preuat.py:309
No puede exportar Pre-UAT de una compania ajena. Operación (secciones_export) Operación no permitida models/preuat.py:330

bps.provision.prestacion

Mensaje Cuando aparece Tipo Origen
Solo un administrador de nomina BPS puede generar el asiento de provisiones. Operación (generar_asiento_provision_productivo) Operación no permitida models/account_move_productivo.py:379
No puede contabilizar una provision de una compania fuera de su contexto. Operación (generar_asiento_provision_productivo) Operación no permitida models/account_move_productivo.py:383
La provision tiene la traza de vacaciones PENDIENTE: no se contabiliza una provision incompleta. Operación (generar_asiento_provision_productivo) Operación no permitida models/account_move_productivo.py:386
La provision ya tiene un asiento productivo: no se duplica. Operación (generar_asiento_provision_productivo) Operación no permitida models/account_move_productivo.py:391
Falta mapeo contable vigente para '{}' en {} (compania {}): no se provisiona sin cuenta. Operación (generar_asiento_provision_productivo) Operación no permitida models/account_move_productivo.py:401
El mapeo de '{}' no tiene cuenta de pasivo (credito): la provision productiva requiere gasto (debito) y pasivo por prestacion (credito). Operación (generar_asiento_provision_productivo) Operación no permitida models/account_move_productivo.py:405

bps.reapertura.periodo

Mensaje Cuando aparece Tipo Origen
La reapertura solo se crea por el servicio (solicitar). Al crear (create) Operación no permitida models/reapertura_periodo.py:91
La reapertura tecnica es inmutable. Al modificar (write) Operación no permitida models/reapertura_periodo.py:95
Las reaperturas tecnicas no se eliminan. Al eliminar (unlink) Operación no permitida models/reapertura_periodo.py:99
La reapertura tecnica requiere la capacidad dedicada de reapertura de periodo (grupo reapertura BPS). Operación (solicitar) Permiso insuficiente models/reapertura_periodo.py:114
No puede reabrir un cierre de una compania fuera de su contexto. Operación (solicitar) Operación no permitida models/reapertura_periodo.py:118
La reapertura exige un motivo (auditoria reforzada). Operación (solicitar) Operación no permitida models/reapertura_periodo.py:122
El cierre ya tiene una reapertura tecnica. Operación (solicitar) Operación no permitida models/reapertura_periodo.py:124
El cierre ya tiene una reapertura tecnica (paralelo). Operación (solicitar) Operación no permitida models/reapertura_periodo.py:140

bps.recibo

Mensaje Cuando aparece Tipo Origen
Solo un administrador de nomina BPS puede generar el asiento productivo. Operación (generar_asiento_productivo) Operación no permitida models/account_move_productivo.py:262
No puede contabilizar un recibo de una compania fuera de su contexto. Operación (generar_asiento_productivo) Operación no permitida models/account_move_productivo.py:266
El asiento productivo de nomina solo se genera desde un recibo FINALIZADO (autoritativo). Finalice el recibo antes de contabilizar. Operación (generar_asiento_productivo) Operación no permitida models/account_move_productivo.py:269
El recibo ya tiene un asiento productivo de nomina: no se duplica. Operación (generar_asiento_productivo) Operación no permitida models/account_move_productivo.py:273
Falta mapeo contable vigente para '{}' en {} (compania {}): no se contabiliza sin cuenta. Operación (generar_asiento_productivo) Operación no permitida models/account_move_productivo.py:292
Falta el tercero (res.partner) en el mapeo de '{}': un pasivo a terceros (deduccion/retencion) no se contabiliza sin tercero y no se inventa. Configure el tercero del mapeo. Operación (generar_asiento_productivo) Operación no permitida models/account_move_productivo.py:302
Falta el mapeo del neto por pagar (clave 'nomina_neto_por_pagar') en {} (compania {}): no se contabiliza el neto sin cuenta. Operación (generar_asiento_productivo) Operación no permitida models/account_move_productivo.py:314
El empleado no tiene un tercero (contacto) confiable: no se contabiliza el neto por pagar sin tercero y no se inventa. Configure el contacto del empleado. Operación (generar_asiento_productivo) Operación no permitida models/account_move_productivo.py:322

bps.uat.extremos.corrida

Mensaje Cuando aparece Tipo Origen
No tiene permiso para ejecutar la conciliacion de extremos UAT. Validación automática (_check_operar) Operación no permitida models/uat_extremos.py:156
La conciliacion de extremos solo se crea por el servicio (ejecutar). Al crear (create) Operación no permitida models/uat_extremos.py:162
La conciliacion de extremos es inmutable (evidencia); ejecute una nueva version en su lugar. Al modificar (write) Operación no permitida models/uat_extremos.py:170
Las conciliaciones de extremos no se eliminan (evidencia historica). Al eliminar (unlink) Operación no permitida models/uat_extremos.py:177
No puede conciliar extremos de una compania fuera de su contexto. Operación (ejecutar) Operación no permitida models/uat_extremos.py:192
Otra conciliacion de extremos del mismo periodo se creo en paralelo: vuelva a ejecutar para tomar la siguiente version. Operación (ejecutar) Operación no permitida models/uat_extremos.py:206
UAT_EXTREMOS_SIN_CORRIDA: ejecute la conciliacion de extremos del periodo antes de iniciar la prueba manual. Operación (validar_para_uat) Operación no permitida models/uat_extremos.py:229
UAT_EXTREMOS_NO_APTO: la ultima conciliacion de extremos (v{}) quedo en '{}' con hallazgos [{}]. Resuelva los hallazgos y vuelva a ejecutar antes de la prueba manual. Operación (validar_para_uat) Operación no permitida models/uat_extremos.py:234
No puede operar una corrida de otra compania. Botón o acción (action_descargar_checklist) Operación no permitida models/uat_extremos.py:871
La corrida no tiene checklist exportado. Botón o acción (action_descargar_checklist) Operación no permitida models/uat_extremos.py:873

bps.uat.extremos.hallazgo

Mensaje Cuando aparece Tipo Origen
Los hallazgos de extremos solo se crean por la verificacion. Al crear (create) Operación no permitida models/uat_extremos.py:907
Los hallazgos de extremos son inmutables (evidencia). Al modificar (write) Operación no permitida models/uat_extremos.py:914
Los hallazgos de extremos no se eliminan. Al eliminar (unlink) Operación no permitida models/uat_extremos.py:918

ir.attachment

Mensaje Cuando aparece Tipo Origen
La evidencia externa recibida de un tercero es inmutable: su SHA-256 dejaria de corresponder al archivo. Al modificar (write) Operación no permitida models/dependencia_externa.py:504
La evidencia externa recibida de un tercero no se elimina. Al eliminar (unlink) Operación no permitida models/dependencia_externa.py:512
El manual, archivo o soporte bancario enlazado es inmutable. Al modificar (write) Operación no permitida models/pago_banco_lote.py:1423
El manual, archivo o soporte bancario enlazado no se elimina. Al eliminar (unlink) Operación no permitida models/pago_banco_lote.py:1430
El checklist exportado de extremos UAT es inmutable. Al modificar (write) Operación no permitida models/uat_extremos.py:953
El checklist exportado de extremos UAT no se elimina. Al eliminar (unlink) Operación no permitida models/uat_extremos.py:960

res.bank

Mensaje Cuando aparece Tipo Origen
El codigo de compensacion del banco '{}' solo admite digitos 0-9, sin espacios, signos ni digitos de otros alfabetos. Validación automática (_check_bps_codigo_compensacion) Validación models/res_bank.py:52
El codigo de compensacion del banco '{}' no puede exceder 10 digitos. Validación automática (_check_bps_codigo_compensacion) Validación models/res_bank.py:57
El codigo de compensacion del banco '{}' exige el soporte formal (manual o tabla de bancos) del que se transcribio. Validación automática (_check_bps_codigo_soporte) Validación models/res_bank.py:67
No se da de baja un banco con codigo de compensacion o soporte formal enlazado ({}). Retire primero ambos datos con motivo mediante la accion gobernada; la baja no borra evidencia bancaria. Al eliminar (unlink) Operación no permitida models/res_bank.py:270