[
https://issues.apache.org/jira/browse/FINERACT-2760?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Adam Saghy reassigned FINERACT-2760:
------------------------------------
Assignee: (was: Adam Saghy)
> 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
> Attachments: Screenshot 2026-08-17 at 8.14.34 PM.png
>
>
> *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)