Skip to content

A regional logistics group, via its digital agency

Bringing regional purchase approvals into one portal

A purchasing portal for a logistics group across Singapore and Malaysia: one place to request, approve and track every purchase, connected to the finance system.

Delivered by
fullstack.sg, for the group’s digital agency. Names withheld.
Year
2026
Sector
Logistics and distribution
Engagement
Development support for a digital agency
Stack
Next.js, TypeScript, Node.js, PostgreSQL
What we built, layer by layer
  1. InterfaceRequest, approval and review screens
  2. LogicApproval rules and permissions
  3. DataRequest history, plus 2,400 records migrated
  4. IntegrationsQueued hand-off to the finance system
  5. DeploymentPilot in one unit, then four

Purchase approvals lived in email

A purchase went through four people before it was paid, mostly over forwarded email.

  1. Branch staff

    email a purchase request

  2. A manager

    replies “approved” in the thread

  3. Procurement

    checks the supplier and documents

  4. Finance

    receives it and pays

Revisions were the weak spot

If a request went up after it was approved, it could need someone more senior to sign it off. The first approval was still in the email chain, though, so staff had to scroll back through the thread to check which amount had actually been approved.

For example

The group’s digital agency had already designed a portal to replace all of this, and brought us in to build it.

Who did what

We built

  • The screens people use
  • The system behind them, including the approval rules
  • The link to the finance system
  • Moving 2,400 old purchase records across

The agency kept

  • Design
  • Content
  • The relationship with the client

Not included: Replacing the finance system. The portal had to work alongside it.

How we built it

Rules first

Before building anything, we turned the company’s approval policy into clear rules the system could follow.

  • Three approval levels, set differently for each business unit
  • Nobody can approve their own request
  • If the amount changes, the request goes back for approval, and the earlier decision stays in the history

Planning for the awkward cases

Purchasing is rarely straightforward, so the portal handles the exceptions as well as the normal path.

  • Managers can send a request back with a reason
  • Procurement can flag a supplier that’s no longer active
  • Admins can hand pending approvals to someone else when an approver is away
  • Every action records who did it, when and why, and people only see what their role and region allow

A safe hand-off to finance

Approved requests wait in a queue for the finance system, so nothing is lost if it’s busy or down.

  • Each request carries its own reference, so a retry never creates a duplicate purchase
  • Staff can see whether a request is waiting, accepted or needs attention
  • Problems come with a plain explanation, such as an unknown supplier code

Tested on real situations

We delivered one complete workflow at a time. The agency reviewed each one, and staff tested it against real purchasing cases.

The result

Before

  • Emailed requests
  • Approvals in forwarded threads
  • Spreadsheets to track status
  • Guesswork about which version was approved

After

One record for every request

What was asked for, who approved it, and where it is now, in one place. Branch staff follow progress themselves, procurement sees what needs attention, and finance receives approved requests through a tracked hand-off.

weeks
14weeksFrom discovery to user testing
business units
4business unitsLive across Singapore and Malaysia
people
212people180 requesters, 24 approvers and 8 procurement and finance staff
requests a month
~450requests a monthApproximately, across all units
old records moved
2,400old records movedHistorical purchases migrated into the portal

How it went live

  1. Pilot

    One Singapore business unit, for four weeks

  2. Rollout

    Four business units across Singapore and Malaysia

At handover, the agency received the code, the approval rules, the finance mappings and the instructions they need to run the next release.

Planning a portal for your client?Discuss a project →Send us the designs, the existing workflow and any integration documentation you have. We’ll help turn them into a development scope your agency can quote and manage.