Worklist and cases

Work the ranked arrears queue and run a collection case from first contact to closure.

Finance → Collections → Worklist → /collections/worklist Beta

The worklist is the officer's day. It is one ranked grid of open cases with quick-view chips over it; the case workspace is where each one is actually worked.

The worklist grid

ColumnMeaning
LeaseThe indebted lease. Opens the case.
PropertyBranch / property the lease belongs to.
UnitThe unit under the lease.
BandCollectability band, A (most collectable) to E.
ScoreCollectability score 0–100.
Net BalanceGross due less unallocated wallet money — the figure triggers use.
Gross DueContractual debt before wallet is netted.
WalletCash received but not yet allocated to an invoice.
Days Past DueAge of the oldest overdue item.
StatusCase status: open, on hold, closed.
TreatmentActive, promise, dispute, hardship, or legal flagged.
ContactNot contacted, contacted, unreachable, or right party.
Assigned ToThe officer who owns the case.
Pending ActionThe ladder step currently staged and waiting on a human.
Next Follow-upWhen the officer said they would come back to it.
PriorityRanking value — net balance weighted by how unlikely collection is.
OpenedWhen the case entered collections.

Quick views

Chips above the grid apply named filters. They are combinable, clearable, and written into the URL, so a filtered queue can be bookmarked or shared.

ChipShows
Follow-ups dueCases whose follow-up date falls today or earlier, measured against the Nairobi calendar day.
Pending actionsCases with a staged ladder action waiting for confirmation.
On holdCases paused by an officer, with a reason.

Other operational queues are filters over the same grid rather than separate screens: my cases, new, broken promises, not yet contacted, unreachable, high value, pending approval, and recently paid (clearing).

The case workspace

/collections/cases/{uuid}

The case header leads on net balance, with gross due, wallet credit, oldest due date and days past due, and the next follow-up beside it. Above that sit the unit, the case status, treatment and contact state, the band with a plain-language explanation of the score, the property and lease, and the assignee.

Two actions are on the header — Record promise and Log interaction — and the rest (assign, hold or resume, override score, close case) are under More.

Tabs

TabContents
OverviewWhat is waiting on you — the staged ladder step with its rendered preview and Send / Skip — plus promises to pay and the case facts.
DebtThe debt split by service type: original amount, outstanding, oldest due date, days past due. Read-only — it is a projection of the ledger.
ActivityEverything that has happened, under three views: All, Interactions, and Actions. See below.
DocumentsDemand letters and handover packs, with issue, delivery and acknowledgement state.
LegalRegister matters linked to this case — court cases, evictions, demand follow-ups.

Actions vs interactions

The two words look interchangeable and are not. Everything on the case is one or the other, and the Activity tab splits on exactly that line:

ActionInteraction
Who creates itThe collections engine, from the strategy ladderA person, by hand
What it isAn outbound step it intends to take — SMS reminder, email reminder, demand letter, penalty, IoT disconnect, handover flag, field-visit taskA record of contact that happened — call, SMS, WhatsApp, email, letter, visit, meeting, note
What you do with itSend it or skip it (with a reason). You never author oneYou author it. Nothing else can
What it carriesA rendered preview and a delivery status: staged, awaiting approval, sent, skipped, failedAn outcome: promises, disputes, unable to pay, no answer, wrong number, and so on
What it feedsThe ladder's own progressThe score, the contact state, and which step the ladder picks next

The same channel can appear on both sides, which is where the confusion starts: an SMS the engine sent is an action; a call you made about that SMS is an interaction. The rule of thumb is authorship — if a person typed it, it is an interaction.

The Actions view lists the ladder in step order, so you can see how far down it this case has travelled. The Interactions view and the merged All view are newest-first.

Actions on a case

ActionWhat happens
Send itExecutes the staged ladder step — sends the message, issues the letter, applies the fee. Shows a rendered preview before the click.
SkipSkips the staged step with a mandatory reason, recorded on the timeline.
AssignHands the case to an officer. Assignment history is kept, not overwritten.
Hold / ResumePauses the ladder with a reason (for example, a payment arrangement being negotiated) and restarts it.
Override scoreManually sets priority with a reason. Recorded and audited; the next engine refresh proposes but never silently reverts an override.
Log interactionRecords a contact attempt — see below.
Open legal matterHands the case to the legal register.
Close caseCloses with a reason: resolved, written off, handed over, or cancelled. Write-off closure routes for approval.

Logging an interaction

Every contact attempt is recorded so any officer can pick the case up cold.

  • Channel — call, SMS, WhatsApp, email, letter, visit, meeting, or note.
  • Direction — inbound or outbound.
  • Contact person and the number or address actually used.
  • Right party — whether you actually reached the person responsible.
  • Outcome — no answer, unreachable, wrong number, delivered, read, contacted, disputes, requests statement, promises, unable to pay, requests restructure, paid, third party, or follow up.
  • Follow-up date, notes, and attachments.

Outcomes drive the workflow, they are not just a log:

  • promises deep-links into recording a Promise to Pay and pauses the ladder;
  • disputes flips the treatment state and takes the disputed amount out of ladder triggers;
  • follow up puts the case in your follow-ups due queue on that date.

Case lifecycle

open → active ⇄ on hold → clearing → closed (resolved | written off | handed over | cancelled)
  • An active promise pauses ladder steps that are marked to pause on promise.
  • A broken promise resumes the ladder, raises severity and stages a follow-up task.
  • A payment that drops net balance below the exit threshold moves the case to clearing; it closes after a confirmation window, with hysteresis so a case does not flap open and closed on small movements.
  • Reopening creates a new case linked to the previous one, rather than resurrecting the old one — so per-cycle metrics stay honest.

Approvals and audit

High-impact actions route to the approvals inbox rather than firing directly: issuing a demand letter, handover, fee waiver, hardship restructure, and closing a case with a write-off. Approval or rejection lands on the case timeline with the decider and their reason.

Every console mutation is audited. Hold, skip and score override require a reason before they will save.

  1. Read the debt breakdown first

    Know whether you are chasing rent, utilities, or a penalty — the conversation differs, and so does what the tenant will accept.

  2. Check the wallet figure

    If there is unallocated cash, the fix may be an allocation, not a collection call.

  3. Check Related

    A tenant with three leases should get one conversation, not three.

  4. Contact, then log the interaction immediately

    The outcome you pick is what schedules your next step.

  5. Record any commitment as a promise

    A promise in the notes field is invisible to the engine; a recorded promise pauses the ladder and is evaluated automatically.

  6. Confirm or skip the staged action

    Leave nothing staged and unattended — a stale staged action is the most common reason a case stalls.