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
20
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 — 20 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.

14

Carrier & RateCon E-Sign

in-house e-signature engine over PDF (FPDI): carriers sign the Broker-Carrier Agreement and Rate Confirmation via a token link, 3 signing methods, audit trail, branded sign.* domain.

15

Cross-dock Payments

AP module for paying cross-dock vendors: amount pulled live from load accessorials, separate payment-status tracking, mirrors Carrier Pay.

16

General Expenses & Net Profit

overhead expense tracking (categories, recurring/one-off, per-month freeze) feeding a Net Profit summary on the Finance dashboard.

17

Warehouse Planner

consolidates warehouse loads by direction: total pallets and weight against capacity, selection and notes → create CARRIER OUT in one click.

18

Drive BOL Inbox

Google Drive integration: a BOL folder is polled every 30 min, documents land in an Incoming inbox and are attached to a load as the Original BOL.

19

Per-User Telegram Notifications

per-user notification preferences (3 scopes: global / own / digest), morning digests for admins and billing, an event catalog.

20

Delivered via Cross-dock

delivering a load through a cross-dock: a dedicated timeline flag, CD-cost and payroll handling without a duplicate trip.

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 5ApexChartsdompdfFPDITelegram Bot APIGoogle Drive API

Have a similar challenge?

Discuss a project

Next case

E-signature

In-house e-signature for a TMS