[ 
https://issues.apache.org/jira/browse/FINERACT-2760?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sonigra Bhavya Hemendrabhai updated FINERACT-2760:
--------------------------------------------------
    Attachment:     (was: Screenshot 2026-08-17 at 8.14.34 PM.png)

> Add issuance date and expiry date to m_document
> -----------------------------------------------
>
>                 Key: FINERACT-2760
>                 URL: https://issues.apache.org/jira/browse/FINERACT-2760
>             Project: Apache Fineract
>          Issue Type: Bug
>            Reporter: Victor Romero
>            Priority: Minor
>
> *Adding an issuance date  and expiry date to m_document in Apache Fineract is 
> useful for better document lifecycle management, compliance and operational 
> control.*
> h3. What m_document is
> The m_document table stores general file attachments linked to various 
> entities (clients, loans, savings accounts, groups, etc.). It currently 
> contains:
>  * id
>  * parent_entity_type / parent_entity_id (what the document belongs to)
>  * name / file_name
>  * size / type
>  * description
>  * location / storage_type_enum
> There are *no native* *issuance nor* *expiry date* fields.
> h3. Why an expiry date is valuable
>  # *Regulatory & compliance requirements* Many attached documents have 
> limited validity (ID scans, proof of address, contracts, insurance 
> certificates, tax documents, financial statements, etc.). Regulators often 
> require institutions to work only with current, non-expired supporting 
> documents. Storing an expiry date makes this enforceable in the system 
> instead of relying on manual checks.
>  # *Automated monitoring and alerts* With an expiry date the platform can:
>  ** Run scheduled jobs that list documents expiring soon (e.g. in 30/60/90 
> days).
>  ** Automatically flag or deactivate expired documents.
>  ** Trigger notifications or block certain actions (loan approval, 
> disbursement, account activation) until a valid replacement is uploaded.
>  # *Risk and operational control* Using outdated supporting documents 
> increases compliance risk and can lead to rejected applications or audit 
> findings. Capturing expiry allows the system to treat a document as no longer 
> trustworthy after that date.
>  # *Better document lifecycle management* Staff and self-service users can 
> clearly see which attachments are still valid. This improves onboarding 
> quality, reduces repeated manual verification, and helps keep client/loan 
> files clean and up-to-date.
>  # *Reporting and audits* Compliance officers and auditors can easily 
> generate reports of entities with expired or soon-to-expire documents which 
> is a common requirement during regulatory examinations or internal reviews.
> h3. Practical benefits in a Fineract context
>  * Enables validation rules when uploading or updating documents (reject past 
> expiry dates or warn about near-expiry ones).
>  * Supports business events or hooks that fire when a document approaches or 
> reaches expiry.
>  * Makes the data more complete for integrations with external KYC/AML 
> systems, document management platforms, or credit bureaus that expect 
> validity dates.
>  * Aligns Fineract with common practices in commercial core banking systems, 
> where document expiry is a standard attribute for attached files.
> In short, without an expiry date the system only knows that a file exists; 
> with it, the system knows whether the document is still usable and relevant. 
> That single piece of information strengthens compliance, reduces operational 
> risk, and improves day-to-day document management across clients, loans, and 
> other entities.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to