Credit Tracking & Usage Monitoring System
A working prototype pitched to the DXP Digital Acceleration Program for a consulting firm that buys prepaid assessment credits from a third-party platform with no API, and tracked them manually in Excel. It replaces the spreadsheet with a tamper-proof credit ledger (corrections are new entries, never edits), assessment status tracking, an Excel/CSV import wizard with a dry-run preview, monthly reconciliation against the provider's statement with automatic matching and a dispute queue, burn-rate forecasting with reorder suggestions, low-balance alerts and weekly digests, role-based access, a full audit log, and Excel/PDF usage reports. Built solo.
- Client
- DXP Digital Acceleration Program (pitch prototype)
- Duration
- 3 weeks
Built with
- Laravel
- PHP
- Filament
- Livewire
- SQLite
- Tailwind CSS
- Pest
The problem it solves
A consulting firm buys prepaid assessment credits from a third-party platform that offers no API, no live counter and no usage dashboard. Usage was tracked by hand in Excel: nobody knew the balance without asking the provider, records went missing or were duplicated, and disagreements with the monthly invoice only surfaced when it was too late to challenge them. A dashboard on top of the spreadsheet wouldn't fix that, because the real problem was the manual data entry. The firm needed its own independent record of truth.
Who it's for
Any business that buys credits, licences or other prepaid units from a provider that has no usable API or dashboard, and keeps track of them in a spreadsheet today.
What it does
Tamper-proof credit ledger
Every top-up, assessment, refund and correction is its own entry, and the balance is always worked out from them, never typed in. Entries are never edited: a correction is a new entry with a reason.
Assessment tracking
Staff log each assessment as they send it and follow it through Created, Sent, Completed, Cancelled or Failed. Each change posts the matching credit movement automatically.
Spreadsheet import
Older records and the provider's exports come in through a wizard: upload, match the columns, preview with duplicates and errors flagged, then import. One bad row never stops the good ones.
Monthly reconciliation
The provider's statement is matched against the firm's own records, by reference first, then by candidate email or name within a few days of the charge. Mismatches go to a review list.
Run-out forecast
The burn rate predicts when the credits will run out and suggests when to reorder, before it becomes urgent.
Alerts
Warnings for a low balance, credits about to expire, a sudden spike in usage, a projected run-out and an unreconciled statement, in the app and by email, without repeating the same alert all day.
Usage and cost reports
Usage and cost by client, partner, project and assessment type, exported to Excel or PDF. Costs use the real price of the batch each credit came from.
Roles and audit log
Staff, managers and admins each see and do only what their role allows, and every change is recorded with who made it.
How it works
6 steps, each one in the walkthrough video above
01Live balance and run-out forecast
The dashboard: the live credit balance, recent usage, open alerts and the forecast of when the credits run out.
02Send an assessment, credit deducted
Staff record an assessment in the same motion as sending it. The credit is deducted as a ledger entry straight away, so the balance is never out of date.
03Every movement in the ledger
The ledger lists every credit movement with its reason and who made it. Nothing here can be edited or deleted, only corrected with a new entry.
04Import spreadsheets with a preview
An import is previewed before anything is saved: duplicates and rows with errors are flagged, so mistakes are caught before they reach the ledger.
05Reconcile the provider statement
The provider's monthly statement after automatic matching: matched lines, discrepancies and unmatched charges side by side. Accepting a discrepancy posts the correction.
06Usage reports by client or partner
Usage reports by client or partner, ready to export to Excel or PDF for billing and management.
How it's built
- Laravel 13 (PHP 8.3) with a Filament 5 admin panel and Livewire, styled with a custom Tailwind CSS theme. SQLite for the prototype, with PostgreSQL or MySQL planned for production.
- One door to the balance: a single service is the only thing allowed to write credit entries, always inside a database transaction, and a double click can't charge twice.
- Capture without an API: staff record assessments as they send them, and the provider's exports are imported for history and for the monthly reconciliation.
- Exact cost per credit: each use is tagged with the purchase batch it came from (first in, first out), so reports use that batch's real unit price.
- A Pest test suite covers the ledger, assessments, imports, reconciliation, alerts, forecast, reports and who-can-do-what. Built solo in three weeks.
What this shows I can build
Web apps and systems
Built for how your business runs, like inventory, booking and reporting, usable from any device.
Automation
Turning manual, paper-based work and spreadsheets into automated systems that save time and reduce errors.
More projects
- ICT Inventory & Reporting SystemWeb-based inventory management and reporting system with a custom report page, built with PHP/MySQL and deployed via XAMPP with LAN access for multi-device use. Full-stack inventory system with barcode/QR lookup, custom item categories, and automated status-history reporting for IT assets.
- SmartApple AI Detection & ClassificationOrchard Intelligence: an AI-powered computer vision system that detects and classifies apples from images with adjustable confidence thresholds. Built as a Final Year Project, combining a YOLO/Ultralytics-based detection model with a persistent Python classification service to avoid model-reload overhead on each request.
Want something like this built?
Tell me what your business needs and I'll suggest the simplest way to build it.