The operating rule this request is built on

Three sentences. Everything below follows from them.

  1. 1The ERP is the system of record. Every list this cockpit produces must be worked inside the ERP, not on a dashboard.
  2. 2The ERP vendor should not be asked to build charts. They should be asked to store the action, the owner and the timestamp — the reporting layer does the rest.
  3. 3One new table carries all of it. Nothing existing is renamed or retyped.

Every list this report produces, and where it is actually worked

A list with no place to be worked is a list nobody owns.

ListProduced byWorked inOwnerFrequency
Declining / at-risk accountsBusiness OverviewERP call taskCS Pro CallWeekly
Lapsed 30/60/90 daysBusiness OverviewERP call taskCS Pro CallWeekly
AR SOP stage queueAR & AgingERP AR moduleAR officerDaily
Final Notice cohortAR & AgingERP AR moduleAR managerMonthly
Rejected collections needing a callCollectionsERP call taskAR officerDaily
Open application queueCS Card AdminAOS + ERPCS adminDaily
Holiday follow-up listBusiness OverviewERP call taskSales repAd hoc

Change requests for the ERP vendor

Seven items. Six are Must; none of them is a chart.

IDChangeDetailSizePriority
CR-01Create CALL_TASK tableOne row per task assigned to a person, with source list, state and timestamps.MMust
CR-02Task creation APIAccept a batch of tasks from the reporting layer; idempotent on (account_no, source_list, period).MMust
CR-03CS task screenOfficer sees only their open tasks, can log outcome and close.LMust
CR-04Outcome code listFixed picklist, maintainable by the AR manager, no free text for the outcome itself.SMust
CR-05Reassign and escalateSupervisor can reassign; auto-escalate on SLA breach.MShould
CR-06Task export / read APIRead endpoint so the cockpit can report compliance without screen-scraping.SMust
CR-07Audit trailEvery state change stored with user and timestamp, never overwritten.SMust

One new table does all of it — CALL_TASK

CALL_TASK — column specification

Additive only. Nothing existing changes.

ColumnTypeNotes
task_idbigint identityPrimary key.
account_novarchar(20)FK to customer account.
source_listvarchar(40)Which list produced it, e.g. AT_RISK_30D.
periodvarchar(10)Period the list was produced for, e.g. 2026-08.
assigned_tovarchar(30)ERP user id of the owner.
due_datedateSet by the SOP for that list.
statevarchar(15)OPEN / IN_PROGRESS / DONE / VOID.
outcome_codevarchar(20)From the fixed picklist; null until DONE.
remarkvarchar(500)Free text, never used for reporting.
created_attimestampSet on insert.
closed_attimestampSet once, when state becomes DONE.
closed_byvarchar(30)ERP user who closed it.

Rules the ERP must enforce

These belong in the database, not in a screen validation.

  • Unique on (account_no, source_list, period) — the same account cannot be raised twice for the same list and month.
  • outcome_code is mandatory when state = DONE.
  • closed_at and closed_by are written by the ERP, never accepted from the caller.
  • A task can only be closed by its owner or a supervisor.
  • VOID requires a reason and is reported separately from DONE.
  • No hard delete — history is retained for audit.

Who builds what

The ERP vendor stores the action. Corsiva Lab does the reporting.

ItemERP vendorCorsiva LabNote
CALL_TASK table and constraintsYesNoSchema and enforcement live in the ERP.
Task creation / read APIsYesNoVendor owns the contract.
CS task screen inside the ERPYesNoOfficers work where they already work.
List generation logicNoYesReporting layer decides who lands on which list.
Compliance and SOP reportingNoYesBuilt from the task read API.
Dashboards and chartsNoYesThe vendor is not asked to build charts.

Phasing — CS switches once, never runs two systems

Each phase ends with a group of users fully moved across.

PhaseScopeTimingWho switches
Phase 1Table, APIs, one list (AR SOP queue) end to end.Weeks 1–4AR officers only.
Phase 2CS task screen, outcome picklist, reassign and escalate.Weeks 5–8CS Pro Call moves across in one cut.
Phase 3Remaining lists, compliance reporting, audit exports.Weeks 9–12Spreadsheet trackers retired.

Acceptance criteria — how we sign off

Each line is testable by a person, not by reading code.

  1. 1A list produced by the cockpit appears as ERP tasks within 15 minutes, with no duplicates.
  2. 2An officer can see, work and close only their own tasks; a supervisor can reassign.
  3. 3Every closed task has an outcome code, a closer and a timestamp the officer cannot edit.
  4. 4SOP compliance for a chosen month can be reported entirely from the read API.
  5. 5Re-running the same list for the same month creates no new rows.
  6. 6CS runs one system — no parallel spreadsheet is needed to know what is outstanding.