--- title: "Account" type: OpenSpec status: Draft domain: Customer Management --- # Account ## Requirement Definition Manages customer account information, which is either sent from an external system to OLS or added by users manually via the OLS system. ## Process Flow ### Pre-Conditions - Users must have access rights in the "Account" module. - An account type must exist in OLS before an account of that type can be added. - The user must select a customer to access the Account tab. ## Business Rules ### Data Schema | Field Name | Description | Logic Type | Constraints / Rules | |---|---|---|---| | CIF Number | CIF number of selected customer. | String | Required. Read-only on creation. | | Product Account Level (PAL) | Product Account Level. | Enum (Lookup) | Required. | | Product Account Type (PAT) | Product Account Type. | Enum (Lookup) | Required. PAL + PAT = Account Type. | | Account Number | Product Account Number. | String (20) | Required. Combination of Account No + Account Type must be unique. | | Account Open Date | Open date of the account. | Date | Required. | | Account Indicator | Personal [P] or Corporate [C]. | Enum (Lookup) | Required. | | Account Block Code | Used to block transactions. | String (10) | Optional. | | Block Code Reason | Reason for blocking. | String (100) | Optional. | | Block Code Last Update Date | Date block was applied. | Date | Optional. | | Cycle | Statement cycle date. | Integer (2) | > 0 if provided. | | Account Status | Status of the account. | Enum (Lookup) | Required. | ### Execution - Each account belongs to one Customer. The CIF number cannot be changed via this screen (requires CIF Merge batch). - Records managed by OLSACCT batch cannot typically be changed from the admin screen. - On Add: Rejected if Account No + Account Type already exists. Else, record added to PRODUCT_ACCOUNT and LOYALTY_ACCOUNT_PRODUCT created. - On Update: Must exist in OLS. Original record moved to history. - On Delete: Rejected if linked to an active Card record. Else, logical delete applied (moved to history). ## Exception Flow - Input validation failures stop the action.