External System Account Constraint (Cuentas de Sistemas Externos)
La funcionalidad Restricción de Cuentas por Sistema Externo permite controlar y restringir qué cuentas pueden ser utilizadas por sistemas externos al importar asientos contables, así como durante la digitación manual de lotes contables. Esta configuración garantiza que solo cuentas previamente aprobadas puedan ser utilizadas por sistemas externos específicos, y evita el uso manual de cuentas que deben ser exclusivas para dichos sistemas.
Objetivo
Permitir la definición de restricciones de cuentas por entidad legal, limitando el uso de ciertas cuentas exclusivamente a sistemas externos definidos. Ejemplos:
-
Las cuentas 4110000 y sus hijas están permitidas solo para APS.
-
Las cuentas 4120000 y cuentas de proveedores están permitidas solo para Dracma.
-
Las cuentas de alumnos como 1132000 y 3140000 están permitidas solo para 7Edu y CFE.
-
La cuenta 3110000 es exclusiva de ACMS.
Funcionalidades Clave
Configuración por Entidad Legal.
Para habilitar esta funcionalidad, se ha creado la tabla LegalEntityAccountingModuleConfig, la cual contiene el campo EnableAccountConstraintByExternalSystem que activa o desactiva el control de restricción de cuentas por sistema externo para cada entidad legal. A continuación se describe la estructura de esta tabla:
Nombre de la tabla: LegalEntityAccountingModuleConfig
Campos principales:
LegalEntityId (INT, clave primaria, no nulo): identifica la entidad legal.
InvoiceNextNumber (INT): número consecutivo para facturación.
JournalPrintAfterPosting (BIT): indica si se debe imprimir el asiento tras registrarlo.
EnableAccountConstraintByExternalSystem (BIT): habilita o desactiva el control de restricción de cuentas por sistema externo.
Esta tabla es clave para definir si se aplicará o no el control por entidad legal. Si no existe un registro para la entidad en esta tabla, no se aplicará ninguna restricción.
Cuentas de sistemas externos
Se ha creado la tabla ExternalSystemAccountConstraint para almacenar las cuentas que serán asignadas a sistemas externos específicos por entidad legal. A continuación se detalla su estructura:
Nombre de la tabla: ExternalSystemAccountConstraint
Campos principales:
ExternalSystemAccountConstraintId (INT, identidad, clave primaria): Identificador único de la restricción.
ExternalSystemId (INT, no nulo): Referencia al sistema externo.
AccountId (INT, no nulo): Referencia a la cuenta restringida.
LegalEntityId (INT, no nulo): Identifica la entidad legal a la que se aplica la restricción.
AllowManualEntries (BIT, no nulo): Indica si la cuenta puede usarse también en digitación manual.
Relaciones (foreign keys):
ExternalSystemId → ExternalSystem.ExternalSystemId
AccountId → Account.AccountId
LegalEntityId → LegalEntity.LegalEntityId
Esta tabla permite controlar qué cuentas pueden ser utilizadas por qué sistemas externos, y bajo qué condiciones, en cada entidad legal.
Resumen de Reglas de Negocio
-
Las cuentas se vinculan a sistemas externos a través de la tabla
ExternalSystemAccountConstraint. -
Al importar o digitar lotes contables manualmente, el sistema verifica:
-
Si
EnableAccountConstraintByExternalSystemestá activo para la entidad legal. -
Si la cuenta utilizada está autorizada para el sistema externo correspondiente.
-
Si se permite digitación manual (según la bandera).
-
-
Solo se muestran cuentas hijas (que permiten digitación).
-
Estas reglas serán aplicados a Sistemas Externos y Digitacion de manual de Lotes
-
Para registrar
EnableAccountConstraintByExternalSystem:- Vista: Cuentas Sistema Externo
- Ubicación:
Records > Entity Records > Entity > Configuration
- Ubicación:
- Vista: Cuentas Sistema Externo
-
Vista: Cuentas Sistema Externo
-
Ubicación:
Accounting > Inquiry > Process Configuration -
Acceso: solo SysAdmin
-