DevInfinity
All projects
Website System

Courier Business Management System

Back office for a courier and logistics company: clients, invoicing, petty cash, pricing, email and monthly automation.

  • PHP 8
  • MySQL
  • Tailwind CSS
  • Chart.js
  • TCPDF
  • PHPMailer
Screenshots
16 screenshots
Interactive demos
12 interactive demos
Features
48 features

Overview: period revenue, outstanding invoices, critical alerts and collection rate

1 / 16

What it does

Features, in plain words.

All-in-one back office for a courier and logistics company: client directory, invoicing with SST and PDF export, petty cash ledgers, per-client pricing, bulk email and automated monthly billing. It replaced spreadsheets and manual chasing.

  • Dashboard that answers the daily questions

    Period revenue vs last period, unpaid invoices with days overdue, collection rate, petty cash balance and recent activity, all on one screen.

  • Invoicing with SST and PDF

    Line items, automatic SST, printable views and PDF generation. Filterable invoice list and per-client statements.

  • Petty cash ledgers

    Per-client top-up and usage ledger with billing-period statements on a 26th → 25th cycle, exportable to PDF and emailed on demand.

  • Per-client pricing

    Every client has their own rate tables: dispatch, weekday/weekend services, government locations, plus bulk price groups by location.

  • Email built in

    Send invoices and petty cash statements directly, broadcast announcements with attachments, and see a full history of everything sent.

  • Monthly automation

    A scheduled job sends every client their invoice and petty cash statement automatically each month, and database backups go out by email.

  • Roles and security

    SuperUser, Admin and Staff roles. Session timeout with warning modal, login logging, suspicious-login alerts and prepared statements throughout.

Full feature list

Everything this system does: all 48 features.

Grouped by module, so you can see how much a project like this actually covers.

01

Dashboard

9
  • Period revenue with change vs last period
  • Period invoices and invoices today
  • Outstanding amount and unpaid count
  • Petty cash global balance
  • Average invoice, total clients, year total
02

Clients, deliveries & staff

6
  • Client directory: add, edit, detail pages
  • Delivery records per client
  • Record picker to start an invoice from a client's deliveries
  • Staff directory: add, edit, detail
  • Staff location assignments
03

Invoicing

9
  • Create invoice with multiple line items
  • Automatic SST calculation
  • Edit existing invoices
  • Filterable invoice list
  • Individual invoice view and printable view
04

Petty cash

6
  • Per-client top-up and usage ledger
  • Billing-period statements on a 26th → 25th cycle
  • Add and edit entries
  • Statement PDF and printable view
  • Export to Excel
05

Pricing

4
  • Four price tables per client: dispatch, weekday services, weekend services, government locations
  • Bulk rates: price groups by location applied across clients
  • Configuration status and coverage overview
  • Client search
06

Email & automation

7
  • Send invoices by email (PHPMailer + Gmail)
  • Send petty cash statements by email
  • Broadcast to all clients with multi-file drag & drop attachments
  • Full email history log with per-email details
  • Monthly auto-send of invoices + petty cash statements (scheduled, lock-protected)
07

Accounts & security

7
  • Roles: SuperUser, Admin, Staff
  • User list, user update and password updates
  • Session timeout with warning modal
  • Session check and abandoned-session cleanup
  • Login logs and suspicious-login alerts

Try the features

Click around: these are working mini versions.

Each demo is a small, self-contained copy of one real feature from this project. Nothing is saved and nothing leaves your browser.

Overview dashboard

Period revenue vs last period, invoice counts, unpaid alerts and the revenue trend.

Try it: overview dashboard

Revenue

RM 48,920

+18.5% vs prev

Invoices

37

Unpaid

6

Revenue trend

Payment status

Mark invoices paid; the collection-rate donut and overdue alerts update live.

Try it: payment status

Collected
RM 2,220
Outstanding
RM 3,096
Critical
1 >30d
  • Maju TradingRM 1,240
  • Klinik Sri Damai12d overdueRM 386
  • Bintang Legal41d overdueRM 2,150
  • Maju TradingRM 980
  • Syarikat Emas3d overdueRM 560

Invoice builder

Line items, quantities, SST and totals: the core of the invoicing screen.

Try it: build an invoice

ItemQtyAmount
Same-day dispatch: KL@ RM 18.00RM 216.00
Next-day: Selangor@ RM 9.50RM 285.00
Subtotal
RM 501.00
SST 8%
RM 40.08
Total
RM 541.08

Client statement

Invoices and petty cash for the period, as PDF, print view or email.

Try it: client statement

Maju Trading

26 Aug – 25 Sep 2026

Invoices
INV-0000231RM 1240.00
INV-0000234RM 980.00
Petty cash
Top-upRM 500.00
UsageRM 222.50
Invoices dueRM 2220.00
Petty cash balanceRM 277.50
·

Petty cash ledger

Top-ups and usage per client with a running balance for the billing period.

Try it: petty cash ledger (period 26 Aug → 25 Sep)

Balance

RM 277.50

Used this period

RM 222.50

  • 26 AugTop-up: cheque #10442+RM 500.00
  • 29 AugToll & parking: KLIA runRM 38.50
  • 03 SepFuel: bulk document runRM 120.00
  • 10 SepCustoms form feesRM 64.00

Per-client rates

Each client has their own negotiated price tables, with weekend surcharges.

Try it: per-client rate lookup

ZoneBaseMaju Trading
KL cityRM 15.00RM 15.00
Petaling JayaRM 20.00RM 20.00
Shah AlamRM 26.00RM 26.00
KlangRM 32.00RM 32.00

Maju Trading: 100% of base

Bulk rates by location

Change a location price group once and it flows to every client on that group.

Try it: bulk rates by location

  • Maju TradingPetaling JayaRM 20.00group
  • Klinik Sri DamaiPetaling JayaRM 20.00group
  • Bintang LegalPetaling JayaRM 23.00custom
  • Syarikat EmasPetaling JayaRM 20.00group

clients on a custom rate are left untouched

Broadcast email

Subject, message and drag-and-drop attachments, sent to every client with an email address.

Try it: broadcast email

attach:
  • Service hours during Merdeka week1 file · 37 sent

every send is written to the email history log

Monthly auto-billing

Scheduled run that emails every client their invoice and petty cash statement, lock-protected.

Try it: monthly auto-billing

Queued for the 26th

  • Maju Tradinginv + petty
  • Klinik Sri Damaiinv
  • Bintang Legalno email
  • Syarikat Emasnothing due
auto_send_invoices.log
  • waiting for schedule…

Email history

Everything sent: invoices, statements, broadcasts and backups. Filterable, with details.

Try it: email history

  • INV-0000231 · RM 1,240.00 · auto-send · 1 PDF attached

Automated backups

Interval and retention → next runs, copies kept, and an email per backup.

Try it: automated database backups

Next runs (Task Scheduler)

  • 16 Sept, 02:00
  • 17 Sept, 02:00
  • 18 Sept, 02:00
  • 19 Sept, 02:00

On disk + by email

30 copies kept

144 MB at 4.8 MB each

each run also emails the .zip via SMTP

Session timeout

Idle sessions get a warning modal, then a logged sign-out.

Try it: session timeout (sped up)

Signed in as staff · Invoicesauto-logout in 20s

Your turn

Need something like this for your business?

Tell me what you run and what slows you down. I'll reply on WhatsApp within a day with what I'd build and what it would cost.