Transaction Tracking with Sequential Approvals

Role: Product Manager & Lead Developer

A transaction that passes through several owners gets lost among them: nobody knows who holds it now. This system gives every request an ordered route and a single owner at any moment.

Eleven role-gated sections, with each user routed on login to their default page. Every request type carries a route with an ordered list of owners, and each approval hands the request to the next until the last one. Assignment is automatic by type through a saved route. Meter transfers run as a four-station operational pipeline handed between successive roles.

Above the general routing sits the project-lead override: designate one for a project and every request on it is pulled to them — pending ones included. Status updates are restricted to the assigned owner, and refusal is reported in an explicit message naming who holds it, not a silent screen. The path is deliberately constrained: accept or reject only — an acceptance forwards the request, or completes it when it comes from the last owner. Deadlines are watched through two independent tiers: hours for task reminders, days for overdue escalation.

Sequential Approval ChainProject Lead OverrideWorkflow EngineUniform SLA ThresholdsRBACDeed ClearanceDerived ProgressExcel Import

Key Features

Each Approval Hands the Request to the Next

An ordered owner list per request type; each approval forwards the request, and the final one completes it at 100%.

Automatic Routing by Type, Overridden by the Project Lead

Default routing by type, while a designated project lead pulls in every request on their project, pending ones included.

Owner-Restricted Status Updates

Anyone else is blocked by a message naming who may act, instead of a silent failure.

Two Deadline Tiers: Hours and Days

Hour-based and day-based deadlines, three escalation grades each — computed from dates, never stored.

Bulk Import & Export

Insert many requests from one spreadsheet, and export the filtered rows on screen.

Completion Computed From the Stages

A project's percentage is computed from its completed works and a request's from its finished stages — no figure is typed by hand.

A Form That Completes Itself, Alerts That Know Their Owners

Choosing a request type fills the reviewing authority in automatically, and every creation, decision or breached deadline notifies its route's roles, its owner, and a CC.

The Business Problem

A single transaction passes through several owners and authorities before it closes, so who holds it now and where it stalled both go missing. And when no single party owns the update, the status changes from many hands and deadlines pass unnoticed.

Why We Built It

Unify transactions onto a route predefined per type — an ordered owner list passed along by approval, one update owner at any moment, and two threshold tiers that surface delay before a report asks for it. And when a particular project needs one person holding its requests, the project lead overrides the general routing without editing the routes themselves.

How We Built It

A multi-route application where access to each route is role-gated, with a default landing page per role. A routing layer normalizes the request text into three actual workflow types and reads a saved route of ordered owners for each — configured from an admin screen, not from code. Approval authority is checked by matching the user against the request's assigned owner. Deadlines are computed from dates across two separate threshold sets, and completion percentages are derived rather than stored. Spreadsheet import and export bridges the gap with existing ways of working.