apache / apache/fineract-backoffice-ui

A regular loan's delinquency can only be read, while a Working Capital loan gets the full pause/resume action form

Open
#505 0 comments 0 reactions 0 assignees View on GitHub
angular enhancement help wanted loans typescript ux
Dominant language
TypeScript
Stars
15
Forks
60
Avg merge
10h 15m
Merged PRs (30d)
108

Description

## What is missing

Working Capital loans have `wc-delinquency-action-form.component.ts`, which submits the whole set of delinquency actions — its own doc comment lists them:

> Submits a delinquency action (pause, resume, reschedule, reset, undo_reset, disable, enable)

Regular loans have only `tabs/loan-delinquency-tab.component.ts`, which displays the delinquency summary and tags and offers no action at all. Same platform capability, two very different levels of support depending on which loan a user happens to be looking at.

## What the UI offers today

The Delinquency tab on a real Active loan. Its only controls are the shared Repayment / Actions / Back buttons plus the search reset — nothing delinquency-specific:

![The read-only delinquency tab on a regular loan](https://raw.githubusercontent.com/Aman-Mittal/fineract-backoffice-ui/assets/issue-screenshots/loan-delinquency-tab.png)

Captured programmatically as `["Repayment", "Actions", "Back", "reset"]` on both a cumulative and a progressive Active loan.

## The platform supports it

`POST /loans/{id}/delinquency-pause` is recognised — it does **not** answer `error.msg.query.parameter.value.unsupported`, the marker an unrecognised command produces (see #268). The permission `UPDATEDELINQUENCY_LOAN` is present in `GET /permissions`.

## Suggested scope

Bring the regular-loan delinquency tab up to the Working Capital one. `wc-delinquency-action-form.component.ts` is the pattern to follow, and the closest thing to a specification — it already models the action set, the date handling and the submission shape. Whether the two end up sharing a component or staying parallel is an implementation call worth making while doing it, since a shared one would keep them from diverging again.

Worth noting alongside #283: an interest pause on a regular loan can now be created, edited and deleted, but a *delinquency* pause cannot be created at all. The two read as the same kind of capability to a user, and only one of them exists here.

## Why it is worth doing

Pausing delinquency is how an institution stops arrears ageing during an agreed forbearance — a payment holiday, a disaster moratorium, a disputed balance. Without it on regular loans, those accounts keep ageing into arrears buckets they should not be in, which flows straight through to every arrears report and provisioning figure derived from them. The capability already exists in this codebase; it is simply not offered on the loan type most institutions use.

## Environment

`main` at `7c51d90b`. Probe against `apache/fineract` running locally via `deploy/docker-compose-e2e.yml`; screenshot from a loan seeded with the repository's own `e2e/utils/seed-api.ts` helpers.

Contributor guide

Open the contributing guide

Research direction

Start with tabs/loan-delinquency-tab.component.ts and compare it with wc-delinquency-action-form.component.ts, whose documented action set, date handling, and submission shape are the specification. Verify the regular-loan flow against POST /loans/{id}/delinquency-pause and the UPDATEDELINQUENCY_LOAN permission using the local environment and seeded loan; done means regular loans expose the full delinquency action set and submit it successfully.

Written by the indexing model from the issue text.

Assessment

Tech stack
angular, typescript
Domain
frontend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
62/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.