Skip to content

v2026.6.14

Release date: June 30, 2026


✨ New Features

Overdue Customers List — Billing Module

The Billing module now has a dedicated screen for tracking delinquency. The Overdue tab displays all customers with overdue and unpaid installments, grouped by customer, with financial totals and direct collection actions.

What is it for?

  • Quickly identify which customers have overdue payments
  • View the total financial impact of delinquency in real time
  • Register payments and access contracts directly from the list
  • Streamline collection operations without opening each contract individually

How to access?

  1. Go to the Billing module in the sidebar
  2. Click the Overdue tab (between Contracts and Payees)

What does the screen show?

Summary cards:

  • Total customers with overdue payments
  • Total overdue amount (sum of all overdue installments)

Customer table:

ColumnDescription
CustomerName, photo and email
ContactPrimary WhatsApp (when available) or email
InstallmentsNumber of overdue installments
Overdue amountTotal sum of overdue installments
Oldest due dateDate of the oldest overdue installment (+ days overdue)
ContractsContracts linked to the overdue installments

Filters and sorting

  • Search by name, email or WhatsApp — with automatic debounce
  • Clickable column sorting: customer name (A–Z), overdue amount or oldest due date
  • Pagination with 20 customers per page

Actions per customer

  • View installments — expands the row and lists all overdue installments for that customer, with installment number, amount, due date, days overdue and a "Register payment" button to record payment directly
  • View contracts — navigates to the Contracts tab pre-filtered for that customer

Technical details

The query uses a database RPC function (get_overdue_customers) that performs grouping, filtering, sorting and pagination entirely in PostgreSQL — the WhatsApp contact is fetched directly from the customer_contacts table (type whatsapp, flagged as primary for type).

Delinquency is detected by date (due_date < today) without relying on a cron job to update statuses — the list always reflects the real state at query time.


🎯 Benefits

  • ✅ Consolidated view of overdue customers without opening contract by contract
  • ✅ Total overdue amount visible immediately at the top of the screen
  • ✅ Payment registration directly in the list — without leaving the overdue screen
  • ✅ WhatsApp contact shown to facilitate collection outreach
  • ✅ Always up-to-date list — no cron lag

Documentation constantly being updated