System development

TMS platform for a freight company

📅2026
4 months
👥3 developer
alemi.proDashboardOrdersBillingResourcesReportsOperational Dashboard+ New OrderActive Orders24+3 todayOperators Online82 idleToday's Revenue$4,280↑ 12%Avg Response4.2m↓ 18%Orders per dayRecent Orders#0421Maria K.Active#0420Ivan P.Done#0419Olena S.Active#0418Dmytro R.Billing#0417Maria K.Done🔔Order #0422 assignedTelegram notification sent to operator Maria K.just now
13
system modules
4
RBAC roles
0
Excel files

Challenge

A freight company with 10+ dispatchers tracked loads in Excel and Telegram. New loads, status updates, invoicing — all done manually via messengers. No single source of truth: who's carrying what, who to invoice, how much was earned this week. Dispatcher payroll was calculated by hand every week, with inevitable errors.

What was built

A TMS platform built from scratch on Yii2/PHP — 13 modules covering the full operational cycle from load intake to payroll.

1

Dispatch Board

weekly board with date navigation, grouping by dispatcher and 23 data columns per row. Filters by load type, status and dispatcher. Inline search across the full table.

2

Load Detail Page

full load card with inline editing of every field, file manager (POD, BOL, invoice uploads), notes and a full change history log.

3

Billing Board

complete invoicing workflow: unbilled → ready → billed → paid. POD upload automatically moves a load to 'ready' and fires a dual notification (Telegram + in-app bell).

4

PDF Invoice Generation

automatic PDF invoice generation via dompdf using a branded template with broker details and load breakdown. One-click attach and download.

5

Accounts Receivable

invoice list with balance per broker, payment recording, 30/60/90-day Aging Report, Customer Statements PDF generation.

6

Payroll Module

weekly periods with lock/approve, individual rates per dispatcher, adjustments with notes. Payment log: who paid, when and with what comment.

7

Dispatcher Dashboard

personal dashboard with ApexCharts: KPI cards (week/month), Today (today's pickups and deliveries), Upcoming Pickups (next 3 days), Top Brokers by revenue, Action Items — RC Missing loads.

8

Finance Dashboard

admin-level analytics: weekly revenue, broker margin, dispatcher activity. Restricted to Admin and Billing roles only.

9

Owner Drivers

management of owner-operators: CRUD, load assignment, separate payroll calculation. Section access gated by role.

10

Direct Trip

separate load type (direct haul without cross-dock). Board icons, header filter, dedicated status flow.

11

Cross-dock Management

transshipment tracking: status history tabs, in/out monitoring, drag-reorder by priority.

12

Loadboard Integration

autofill carrier and cost by PRO#: the system searches the shared loadboard DB on number entry and offers one-click field population.

13

User Management

4 roles (Admin, Carrier, Dispatcher, Billing) with role-gated access to every section. User CRUD with dispatcher-to-load assignment.

Result

Excel fully replaced by a single platform. Dispatchers see all loads in real time without switching to Telegram. Billing automatically tracks payment status per load. New dispatcher onboarding reduced from a week to one day.

Tech stack

PHPYii2MySQLBootstrap 5ApexChartsdompdfTelegram Bot API

Have a similar challenge?

Discuss a project

Next case

System development

Fleet management system