Skip to content

Loans: instalments proposed for booking, rate-revision reminder, dashboard card - #64

Merged
joaoguimaraespro merged 1 commit into
mainfrom
feat/loan-instalments
Oct 10, 2026
Merged

joaoguimaraespro merged 1 commit into
mainfrom
feat/loan-instalments

Conversation

@joaoguimaraespro

Copy link
Copy Markdown
Owner

Summary

  • Paid from: a loan can name the bank/savings/cash account its instalments come out of (PUT /api/loans/{id}/payment-account). From then on (earlier instalments are not proposed) each instalment due appears in the notification centre and on the loan page.
  • Booking an instalment (POST …/instalments/{n}/book) records the interest as an expense (new built-in category Loan interest, fixed) and the capital as a transfer to the loan account, from the paying account. Skip leaves it out. Only the oldest pending one can be handled, so none is left behind; external ids make the entries traceable. The debt itself keeps following the plan.
  • Rate revision reminder: for variable-rate loans, a revision date within 14 days (or already past) without a rate entered is announced, with the loan page as the place to enter it.
  • Dashboard: a Loans card — total owed, and per loan the outstanding debt, % repaid, next instalment and end date.
  • Migration: loans.payment_account_id, loans.last_handled_instalment.

Test plan

  • Integration: proposal only after a payment account is set; booking moves the bank by the instalment and clears the notification; booking twice is refused (409); a missing revision rate is announced until entered
  • Full backend suite locally (374 passed)
  • ng build, npm test (123)
  • Production images: notification centre (book/skip, revision), loan page with Paid from and pending instalment, dashboard card — screenshotted
  • CI

🤖 Generated with Claude Code

…board card

- A loan can say which bank account pays it: from then on each instalment due is proposed (notification centre
  and the loan page) and booking it records the interest as an expense (new built-in category Loan interest) and
  the capital as a transfer to the loan. Skip leaves it out; only the oldest pending one can be handled.
- Variable-rate loans: a revision date within 14 days (or past) without a rate entered is announced.
- Dashboard: Loans card with what is owed, the next instalment and the end date of each loan.
@joaoguimaraespro
joaoguimaraespro merged commit d08d335 into main Oct 10, 2026
10 checks passed
@joaoguimaraespro
joaoguimaraespro deleted the feat/loan-instalments branch October 10, 2026 15:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant