UTS
One transport ERP running the whole business — bookings, fleet, fuel, gate passes and invoicing flowing straight into a full double-entry ledger, with an AI layer that audits operations and answers questions across all of it.
The Journey
-
1
Started with role-based access control and the company / multi-branch backbone, so every region, user and permission had one secure home before any data went in.
-
2
Brought the core registers online — customers, vendors, vehicles and drivers — each with documents, compliance dates and automatic renewal tracking.
-
3
Layered the booking and dispatch engine on top: multi-vehicle trips, vehicle and driver conflict checks, advances and activity-based costing.
-
4
Added gate-pass control plus fuel and maintenance tracking, so every vehicle movement, litre of fuel and service job was logged against the right vehicle.
-
5
Wired invoicing into a full double-entry general ledger — completed bookings auto-generate invoices, and every approved invoice, voucher and payment posts straight to the books.
-
6
Closed the finance loop with fixed assets, bank reconciliation, tax handling and revenue recognition — all balanced, all auditable.
-
7
Built the reporting engine and management dashboard — vehicle profitability, receivables aging, client P&L and live KPIs, every report scoped to the right region.
-
8
Finished with an AI intelligence layer that runs operational and financial audits, flags anomalies and answers plain-language questions across the entire system.
Role-based access, multi-branch scoping and a full audit trail
The Problem
A transport business spread across several regional offices cannot run on shared logins. Each office should see only its own data, every sensitive action needs a paper trail, and access has to be granted by role — not by trust.
What We Built
- Granular permission matrix — over a hundred discrete permissions mapped to roles (Super Admin, Finance, Operations, Regional Manager and more)
- Region-scoped data access — a regional manager sees only their own branch's customers, bookings and finances
- Secure authentication with rotating refresh tokens and managed sessions
- Full audit logging — who did what, when and from where — across every module
- Encrypted storage of sensitive credentials at rest
Customers, vendors, vehicles and drivers — one master record each, with compliance built in
The Problem
Fleet operators lose money to expired insurance, lapsed licences and missed maintenance far more often than to bad driving. Those details usually live in folders and spreadsheets nobody checks until something has already gone wrong.
What We Built
- Customer master with agreements, versioned service rates and multi-currency pricing
- Vehicle register covering ownership type (owned, leased, investor), insurance, lease / instalment schedules and full maintenance history
- Driver profiles with licence and medical-compliance tracking, statutory contributions, salary components and advances
- Vendor master with categories, payment terms and a document repository
- Automatic renewal alerts on every expiring document — insurance, licences and agreements
Multi-vehicle bookings with conflict prevention and activity-based costing
The Problem
Booking the same vehicle or driver twice, losing track of advances, and never really knowing whether a trip made money — these are the daily failure modes of dispatch run on paper and memory.
What We Built
- End-to-end booking flow with a clear state machine — draft → confirmed → in progress → closed
- Multiple vehicles on a single trip, with shared advances
- Real-time vehicle and driver availability checks that block double-booking inside a time window
- Mid-trip vehicle and driver replacement without losing the booking record
- Activity-based costing so the true cost of every trip is captured as it happens
- One click turns a closed booking into an invoice
Gate-pass control — every vehicle movement logged, odometer to odometer
The Problem
Without a gate log there is no honest record of when a vehicle left, when it returned, how far it actually ran, or what condition it came back in — and fuel and distance claims become impossible to verify.
What We Built
- Vehicle entry / exit capture with out and in odometer readings and automatic net-distance calculation
- Expected-return tracking with open-pass visibility on the dashboard
- Driver remarks and vehicle-condition notes on return
- Linkage to the originating booking, or stand-alone ad-hoc passes
- Printable gate-pass slip
Fuel and maintenance tracked per vehicle — with distance- and time-based service alerts
The Problem
Fuel is the single biggest controllable cost in transport, and deferred maintenance is the most expensive. Both quietly disappear when they are recorded on receipts and in someone's head.
What We Built
- Per-vehicle fuel consumption logging with fuel-card and vendor tracking
- Bulk fuel-log upload from spreadsheets
- Maintenance scheduling across service categories with a full service history
- Service alerts triggered by both distance run and elapsed time
Auto-generated invoices, multi-currency and multi-level approvals
The Problem
Hand-typed invoices are slow, inconsistent and error-prone — and the moment they are disconnected from the ledger, the books quietly drift away from reality.
What We Built
- Invoices auto-generated from completed bookings
- Multiple customizable invoice formats with branded print output
- Multi-currency invoicing with live exchange rates — a foreign-currency invoice posts its local-currency equivalent to the ledger
- A multi-level approval workflow before any invoice is issued
- Sales tax and withholding handled correctly and tracked separately
- Credit notes and a clean settlement trail back to receipts
A full double-entry ledger purpose-built for transport — every operation lands in the books
The Problem
Most operational systems treat accounting as an afterthought, so finance teams re-key everything into separate software and the two never agree. The goal here was one set of books that is always in balance.
What We Built
- Multi-level chart of accounts with five voucher types (cash and bank receipts, payments and journals)
- Every booking, invoice, payment and payroll run posts automatically to the general ledger
- Trial balance, profit & loss, balance sheet and cash-flow statements on demand
- Fixed-asset register with automatic monthly depreciation and disposal gain / loss
- Bank reconciliation with statement import and an auto-match engine
- Tax aggregation with filing-ready packages, plus deferred-revenue recognition schedules
- Cost centers and a balanced-ledger guarantee enforced at the database level
Vehicle profitability, receivables aging and live KPIs — every report region-scoped
The Problem
Leadership should not have to wait days for someone to assemble a spreadsheet to answer "which vehicles make money?" or "how much is overdue?" The answers should already be on screen.
What We Built
- Management dashboard with live KPIs — month-to-date revenue, pending invoices, overdue receivables and fleet utilisation
- Six-month revenue trend and a finance snapshot on the home screen
- A reports hub: vehicle profitability, sales, receivables and payables aging, expense summary, booking summary, fuel average, maintenance and more
- Per-client and per-vehicle profit & loss
- Role-based views — each manager sees their own region, leadership sees everything
- CSV export and drill-down on every report
An AI layer that audits the business and answers questions across every module
The Problem
A system this large generates more signal than any team can watch. Anomalies, overdue actions and odd entries hide in plain sight — and getting an answer usually means knowing exactly which report to open.
What We Built
- Plain-language Q&A across the whole system — ask about a vehicle, a customer, the aging report or the trial balance and get a grounded answer
- Read-only, data-aware tools so the assistant works from live records instead of guessing
- Scheduled operational audits and monthly financial reviews
- Anomaly detection that surfaces unusual entries for human review
- Drafting help for routine communications
- An admin-curated knowledge base the assistant draws on
- Resilient by design — if one AI engine is unavailable, the next takes over automatically so the assistant never goes dark