Loans (Préstamos)

The Loans screen shows all active loans in your portfolio. Each loan is linked to a customer and contains a complete installment calendar generated at disbursement time.


Loan List

When you open the Loans tab, you see a list of all loans with their current status:

StatusMeaning
ActiveLoan is live and has pending installments
OverdueOne or more installments are past due — mora is being accrued
PaidOffAll installments have been fully paid
CancelledLoan was cancelled before completion

Overdue loans are visually flagged. The loan card shows the days overdue and the total overdue amount (mora accumulated).


Loan Detail Screen

Tapping a loan opens its detail screen, which shows:

  • Loan Code (e.g., LN-A1B2C3)
  • Borrower name and link to their customer profile
  • Principal, interest rate, total amount, installment amount
  • Disbursement date, first and last installment dates
  • Payment frequency (Daily, Weekly, Bi-weekly, Monthly)
  • Late payment rate (mora %)
  • The complete Installment Schedule — each row showing due date, expected amount, paid amount, remaining balance, and whether it is overdue

Recording a Payment (Abono)

Payments are recorded per installment. To record a payment:

  1. In the loan detail screen, tap the installment you want to pay.
  2. The Payment Panel opens, showing:
    • The installment's expected amount
    • The amount already paid (PaidAmount)
    • The remaining balance (Balance)
  3. Enter the amount being paid in the input field.
  4. Tap Confirm Payment.

Payment Rules (enforced by the system)

  • Cannot pay zero or negative amounts — the system rejects amounts ≤ 0.
  • Cannot overpay an installment — the payment amount cannot exceed the installment's remaining balance. If you try, the system returns Error_PaymentExceedsBalance.
  • Cannot pay an already paid installment — attempting this returns Error_InstallmentAlreadyPaid.
  • Partial payments are allowed — you can pay less than the full installment amount. The remaining balance stays on the installment and it remains marked as unpaid.

Auto Loan Completion

When you record a payment that causes the last unpaid installment to reach a zero balance, the system automatically changes the loan's status from Active to PaidOff. No manual step is required.


Overdue Installments (Mora)

Overdue status is computed at disbursement and updated by a background job. An installment is overdue if its DueDate is in the past and IsPaid = false.

The overdue amount on each installment is calculated as:

OverdueAmount = ExpectedAmount × (LatePaymentRate ÷ 100 ÷ 30) × DaysOverdue

When recording a payment on an overdue installment, the DaysOverdue counter is reset to 0 upon payment confirmation.


Loan History

Each payment recorded creates a permanent Payment record linked to the installment. You can view the full payment history for a loan by scrolling through the installment schedule — each paid installment shows the PaymentDate and the amounts applied.