You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@fineract.apache.org by "Adam Saghy (Jira)" <ji...@apache.org> on 2026/10/18 17:21:00 UTC
[jira] [Resolved] (FINERACT-2759) Add issuance date and expiry date to m_client_identifier
[ https://issues.apache.org/jira/browse/FINERACT-2759?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Adam Saghy resolved FINERACT-2759.
----------------------------------
Resolution: Fixed
> Add issuance date and expiry date to m_client_identifier
> --------------------------------------------------------
>
> Key: FINERACT-2759
> URL: https://issues.apache.org/jira/browse/FINERACT-2759
> Project: Apache Fineract
> Issue Type: Bug
> Reporter: Victor Romero
> Assignee: Victor Romero
> Priority: Minor
> Fix For: 1.16.0
>
>
> *Adding an issuance date and expiry date to m_client_identifier in Apache Fineract is useful primarily for proper KYC (Know Your Customer) compliance, risk management and operational efficiency.*
>
> This table stores client identification documents (passport, national ID, driver’s licence, voter’s card, etc.). It currently holds fields such as:
> * client_id
> * document_type_id
> * document_key (the ID number)
> * status / active
> * description
> * audit fields
> There are *no native issuance date and expiry date* fields in the standard schema.
> h3. It is valuable because the following reasons:
> # *Regulatory / KYC & AML compliance* Most identity documents have a limited validity period. Regulators (central banks, financial intelligence units, etc.) typically require that institutions only accept _current, non-expired_ IDs. Storing the expiry date lets the system automatically flag or reject expired documents instead of relying on manual checks.
> # *Automated monitoring and alerts* With an expiry date you can:
> ** Run scheduled jobs that list clients whose IDs will expire soon (e.g. in 30/60/90 days).
> ** Automatically mark identifiers as inactive once they expire.
> ** Trigger notifications or force clients to upload renewed documents before certain operations (loan disbursement, account opening, large transfers, etc.).
> # *Risk reduction* Using an expired ID increases the chance of identity fraud or non-compliance penalties. Capturing the expiry date allows the institution to treat the identifier as no longer trustworthy after that date.
> # *Better client lifecycle management* Staff and self-service portals can see at a glance which documents are still valid. This improves onboarding quality and reduces the need for repeated manual verification.
> # *Reporting and audits* Auditors and compliance officers can easily generate reports of clients with expired or soon-to-expire identifiers, which is a common requirement during regulatory examinations.
> h3. Practical benefits in a Fineract context
> * Enables validation rules when creating/updating an identifier (reject past expiry dates or warn about near-expiry ones).
> * Supports business events or hooks that fire when an identifier approaches or reaches expiry.
> * Makes the data more complete for integrations with external KYC/AML providers or credit bureaus that also expect document validity dates.
> * Aligns Fineract with common practices in commercial core banking systems, where document expiry is a standard attribute.
> In short, without an expiry date the system only knows _that_ a document exists; with it, the system knows {_}whether the document is still usable{_}. That single piece of information significantly strengthens compliance, reduces operational risk and improves day-to-day client management.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)