| Claim Type | Count | In Progress | Completed | Total Reserve (P) | Total Paid (P) |
|---|
| Claim # | Client | Handler | Stage | Status | Days Late | Cycle Deadline | Action |
|---|
| Rank | Claims Handler | Total Claims | On-Time Rate | Panel Beater (90%) | Glass Supplier (80%) | Overall Score |
|---|
| Claims Handler | MIS/DOM Motor Claims | Approved Panel | Non-Approved | Approval Rate | Status |
|---|
| Claims Handler | Glass Claims | Approved Supplier | Non-Approved | Approval Rate | Status |
|---|
From registering a claim through team collaboration, decisions, and Graphite sync. Updated for the current production system.
Click + New Claim in the top-right of the header. Fill in the required fields and Save — the claim saves locally on the SQLite database and kicks off a background call to Graphite ERP to mint the official claim number.
Choose Broker (default) or Direct. When Broker is selected, a Broker Name dropdown appears below — pick from the 22+ Alpha Direct brokers, or "Others" to type one not yet in the list.
Required fields are marked with ✱. The Claim Number is auto-assigned by Graphite — you cannot type into it.
When you type a client name that matches the Master Data FAC Clients list, a navy 📋 FAC (FACULTATIVE) CLAIM tag appears at the top of the form and a Reinsurer dropdown becomes available — populated from Master Data.
When you click Save Claim:
claims.db on the server immediately. All users on the same server see it after Refresh.G2026000789), which replaces the "Pending…" placeholder. Refresh to see it.Use the 📋 All Claims tab to filter, search, and edit. Overdue and delayed claims also surface automatically on the Dashboard.
Eight filter dropdowns above the table:
Click Edit on any row. Update stage dates, status, or any other field. Saves persist instantly to SQLite. Stage SLA calculations re-run on every save.
Small coloured badges under the claim number tell you the claim's state at a glance:
Use the Share button on any claim to send a formatted summary via WhatsApp, email, or clipboard — useful for quick updates to clients or assessors.
The ⬇ Export button downloads whatever's currently filtered into Excel — includes the Graphite Claim Number, Broker, Reinsurer, Awaiting Reason, and all stage dates.
Every claim eventually needs a decision. The Claims Tracker captures who decided, when, and why — with a permanent audit trail.
Open any claim's Edit modal and scroll to the bottom — above the Save/Cancel buttons you'll see a ⚖️ Decision panel.
The Who is approving? dropdown lists everyone in the Claims Team, Claims Manager, CXO, Head of Operations, Admin, and Superadmin roles. Pre-populated with the logged-in user; change if you're recording a decision someone else made.
Click ✓ Approve (green) or ✗ Repudiate (red). Repudiation requires a note — explain why. Decision date is server-stamped — you can't backdate.
Admin and Superadmin roles can reverse a decision from the same panel. The original decision is preserved in the audit history — the reversal is itself an event. Reversed claims can then be re-decided.
Per-claim discussion thread that replaces the old "call them / Teams DM / walk to their desk" workflow. Auditable and permanent.
Click the 💬 Comments button at the top-right of any claim's View or Edit modal. A side panel slides in from the right with the full thread for that claim.
Type @ in the comment box — a dropdown shows everyone in the user list. Click a name to tag them. For Alpha Direct staff who don't have a Claims Tracker account, type their full @alphadirect.co.bw email.
Pick a priority dropdown next to the Post button:
When someone tags you:
When the discussion is sorted, click Mark Resolved in the panel header. The thread stays visible (no deletion ever) but is flagged closed. Anyone can re-open it.
Live view of all claims. Filter by month at the top to scope every panel below.
Total Claims · In Progress · Overdue Stages · Delayed · Completed · Avg Days Late · Total Reserve · Total Paid · Major Claims · FAC Claims. Each card is clickable — drills into the All Claims page with the matching filter applied.
Three cards underneath the main KPIs — Synced (green) · Pending (amber) · Sync Failed (red). Click any to filter the claims list to that sync state. The red card shows an alert dot when failures need admin attention.
The red alert panel lists every claim with an overdue stage or breached SLA — sorted by severity. Click Edit directly from the alert to update.
Counts and reserves split by claim type — the same breakdown that ships in the weekly executive email.
Shows how many claims sit at each stage. Tabs for Motor pipeline (9 stages) and Glass pipeline (5 stages). Delayed claims called out per stage.
Switch to the 📈 Analytics tab for Status Distribution, Stage Distribution, Channel Split, Claim Type Breakdown, Monthly Volume, On-Time Rate, and Handler Load charts.
The ⚙ Admin ▾ dropdown in the top nav holds all admin-only pages. Below is the guide to each.
One page to maintain every dropdown the app uses. Click any tile to expand. Saves to the server immediately and all dropdowns update.
SharePoint-pointer system for policy wording PDFs. Add a wording with: title, SharePoint URL, branch (Commercial / Domestic / Instant), product(s), coverage(s), visible-to roles, version. Older versions of replaced wordings stay visible marked Inactive.
Every new claim POSTs to Graphite's /api/claims-tracker/create endpoint to receive an official claim number. Fully automated — no admin work needed for happy-path syncs.
Every claim action, decision, comment, Graphite sync, master-data edit. 10 entries per page (server-paginated). Search by claim number / actor / detail; filter by action type.
Maintenance mode toggle, server status, weekly report recipient list, backdate-request approvals, and the system maintenance message shown to non-admin users when maintenance is on.
Handlers can't set claim dates in the past — admin protection. To handle legitimate cases, admins issue a time-limited backdate grant to specific handlers for specific claims. Handlers can also submit a request from inside a claim that admin approves via email link.
Recent API calls log (IP, user, status), and the trusted-sources IP whitelist for service-account access.
Recurring email reports — Weekly Executive Brief, Daily Claims Report, monthly summaries. Edit recipient list, frequency, hour, and content per schedule. Sends via Mailgun.
Under Master Data → System Users. Create accounts (auto-provisioned via Entra ID SSO on first login as pending), approve pending users, assign roles, and grant per-user page access (e.g. who can see the Policy Library tab).
| Title | Branch | Products | Coverages | Version | Roles | Status | Actions |
|---|---|---|---|---|---|---|---|
| Loading… | |||||||
Ensure Node.js is installed on the machine that will run the server. Download it from nodejs.org if needed. You only need to do this once.
Open a terminal in the claims folder and run:
node server.js
You should see: Alpha Direct Claims Server — http://localhost:4000
Navigate to http://localhost:4000 in any browser. The server status dot in the top bar will turn green when connected. All claims data is stored in data.json in the same folder.
Click ⚙ Master Data in the navigation bar (or the top-right button). You will find six reference lists that drive all the dropdowns in the claim form.
The lists are pre-populated with defaults from vendors.js. Review each section — Claims Handlers, Motor Assessors, Non-Motor Assessors, Approved Panel Beaters, Approved Glass Suppliers, and FAC Clients — and add or remove entries to match your current team and approved suppliers.
Every addition or removal is saved to the server immediately. All users connecting to the same server will see the updated lists in their forms without any page refresh needed.
Run the server on a machine that all team members can reach. Find that machine's local IP address (e.g. 192.168.1.50) and share the URL http://192.168.1.50:4000 with your team. Everyone accesses the same live data.
All claims, audit logs, and master data are stored in data.json on the server. There is no per-user configuration required — every team member sees the same data as soon as they load the page.
Periodically copy data.json to a safe location. You can also use the ⬇ Export Excel button to export all claims to a spreadsheet at any time.
| Name | Username | Role | Status | Actions |
|---|
/api/*. Empty list = all IPs allowed. Set an IP to blocked to deny access./api/* request — IP, user, endpoint, status.GET /api/reports/{weekly|daily|monthly}.
This will permanently remove the claim record. The action will be logged in the audit trail.