SKIP TO CONTENT
A/L
SYS_005BUILDING

Contractor ERP

Project, Labour & Supplier Operations

Site-wise project cost: labour, material, supplier bills and running-account billing against a budget.

TYPE
PROJECT OPS
STATUS
BUILDING
YEAR
2026
ROLE
System design, full-stack implementation
PLATFORM
Flutter (Android + Web), Node.js API
STACK
Flutter · Node.js · MySQL · REST
01

PROBLEM

A contractor running several sites knows the contract value and the bank balance, and very little in between. Labour is paid weekly in cash, material moves between sites, supplier bills arrive late, and the client is billed on measurement.

Whether a site is making money is usually discovered after it is finished, which is exactly too late to do anything about it.

02

SYSTEM

The project is the cost centre. Every labour entry, material issue, supplier bill and client billing is booked against a project and, where it matters, a work item within it.

Budgeted against actual is the primary screen rather than a report at the end. The system is built so a site engineer entering attendance is, without thinking about it, maintaining project cost.

03

CORE FLOW

How the operation moves through the system.

ARCH_01 / PROJECT COST FLOW
  1. Contract value, work items, budget per head, timeline
  2. Daily attendance per site, rate per category, weekly payout
  3. Purchase, site issue, inter-site transfer and consumption
  4. Bill against receipt, retention and payable ageing
  5. Measurement-based running account bill to the client
  6. Project-wise cost and revenue posted to the shared engine
  7. Budget against actual per project and per work item
SELECT OR HOVER A NODE FOR DETAIL

Project cost flow from project setup through labour, material, supplier bills and client billing into accounting and a margin view.

04

KEY MODULES

M01Projects
Contract value, work items, budget per head and timeline.
M02Labour
Site attendance, category rates, advances and weekly payout.
M03Material
Site issue, inter-site transfer, consumption and closing stock.
M04Suppliers
Bills against receipt, retention, payable ageing and payment.
M05Client billing
Measurement-based running account bills with retention and deduction.
M06Cost view
Budget against actual, per project and per work item.
05

ARCHITECTURE

Cost centre
Project is a first-class dimension on every transaction, not a free-text tag.
Field client
Attendance and material issue entered on site, offline-tolerant.
Accounting
Posts to VS Accounts with the project dimension preserved.
Data
MySQL; measurement and billing history retained for claim disputes.
06

ENGINEERING

The parts that were not obvious, and what the system does about them.

  1. 01 / 03

    Attendance is the real data-entry problem

    Project cost is only as good as daily labour capture, which happens on a dusty site with one bar of signal. The entry screen is a single-tap grid per category and works offline, because a perfect cost model with no attendance data is worthless.

  2. 02 / 03

    Material that moves between sites

    Steel issued to one site and moved to another must leave the first project cost and enter the second. Transfers are modelled as paired movements rather than an edited issue, so both project costs stay defensible.

  3. 03 / 03

    Running account billing arithmetic

    Each client bill is cumulative measurement minus everything billed before, with retention and deductions. It is modelled as cumulative-to-date with a derived current bill, which is the only version that survives a revised measurement.

07

SCREENS

  1. SCREEN_01Site attendance grid
  2. SCREEN_02Project cost — budget against actual
  3. SCREEN_03Running account bill
08

RESULT

Site profitability becomes visible while the site is still running, which is the only time the number is useful.

Labour, material and supplier cost land on the project as it is incurred rather than being reconstructed at closure.