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)