Customize the lifecycle, not the database
Maintainable Temenos customization respects the owning application lifecycle and keeps bank-specific policy isolated from generated/vendor code. The safest change is the smallest documented extension that expresses one rule, has clear inputs, produces deterministic validation/authorization behavior, and can be packaged and removed without touching unrelated transactions.
Choose the smallest extension point
- Prefer version/configuration controls when the requirement is declarative.
- Use lifecycle hooks for behavior that genuinely needs code and keep them transaction-focused.
- Read contextual data through supported APIs rather than direct unsupported persistence access.
- Store configurable bank rules in dedicated records instead of hard-coding branch/user values.
- Log diagnostic identifiers and outcomes without changing transaction semantics.
A maintainable transaction-control flow
The version owns the transaction, the hook evaluates one policy with supported data access, and normal Transact processing continues or returns a controlled error.
Bank policy attached at a defined lifecycle point
The version owns the transaction, the hook evaluates one policy with supported data access, and normal Transact processing continues or returns a controlled error.
Adding department-based authorization
Customization debt to avoid
Maintenance checklist
- Identify the documented lifecycle point and owning version.
- Separate configuration from code.
- Keep one hook focused on one policy family.
- Use supported record/data-access APIs.
- Regression-test input, hold, authorize, reject, reversal, and multi-company context where applicable.
