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.

Diagram

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.