Skip to content

Parcel delivery system with proof of delivery for a Thai courier

A Thai parcel business now books, tracks and proves every delivery in one system, with QR package checks, customer signatures and fuel receipts captured on the day.

Operations and logisticsA parcel delivery and e-commerce business in Thailand ยท 4 min read

Courier handing over parcels while the customer signs for delivery beside a white van
Client
A parcel delivery and e-commerce business in Thailand
Industry
Operations and logistics
Platforms
Web, Android
Download one-pager (PDF)

The project in brief

  1. The challenge

    The business needed one system to book parcels, hand them to drivers and confirm delivery across Thai districts. Drivers had to verify each package, find the next drop and report mileage and fuel. Office staff needed drivers, pickup points and reports in one place.

  2. What we built

    We built a web admin panel where staff enter sender, receiver and parcel details. An Android driver app lists the day's parcels, shows the route to the next order and captures the customer's signature. Drivers scan a QR code to verify a package and photograph odometer readings and fuel receipts.

  3. The result

    Staff can book a parcel, assign it to a driver and check its status in one system. Every drop ends with a signature, or with a recorded reason when the order stays pending.

What the system does.

The parts of the system that made the difference for the client and the people who use it.

  • Order entry

    Office staff create each order with full sender and receiver details and a parcel description.

  • QR package check

    Drivers scan the parcel's QR code to confirm the package and see its delivery address.

  • Route to the next order

    The driver app lists parcels for delivery and shows the route to the next order.

  • Proof of delivery

    Drivers mark each order complete, or pending with a reason, and capture the customer's signature.

  • Mileage and fuel capture

    Drivers photograph odometer readings and fuel receipts at the start and end of a run.

  • Driver records and approval

    Admins hold license details and attachments, and set each driver as pending, approved, on hold or barred.

  • Thai address masters

    Provinces, districts, sub-districts and pickup points are managed in the admin panel.

  • Delivery reports

    Both the admin panel and the driver app include delivery reports.

Built with

The tools behind it, layer by layer.

  1. Front end

    • React
  2. Mobile

    • React Native
  3. Back end

    • Node.js
    • Express.js
  4. Database

    • MongoDB
  5. Cloud and hosting

    • Firebase
    • AWS
  6. CI/CD and DevOps

    • GitHub Actions
    • Git
  7. Integrations

    • Google Maps API

The full story

The challenge

A delivery and e-commerce business in Thailand wanted its own parcel delivery software with a driver app, built around how its office and drivers work.

Office staff had to book parcels, hand them to drivers and know where each one stood. Drivers needed to confirm they had the right package, find the next drop and prove it had been delivered.

Thai addresses added their own layer. Every order had to fit the country's structure of provinces, districts and sub-districts, and pickup points had to be managed alongside them.

The business also wanted a record of the distance and fuel behind each run, captured by drivers on the day rather than reconstructed later.

What we built: parcel delivery software with a driver app

We built two connected parts that share one set of orders.

The web admin panel. Office staff enter sender, receiver and parcel details for each order. They manage:

  • drivers and other users;

  • provinces, districts, sub-districts and pickup points, so every order follows the Thai address structure;

  • driver records with license details, attachments and a status of pending, approved, on hold or barred.

Only approved drivers go out on deliveries.

The Android driver app. It lists the parcels to deliver and shows the route to the next order. A QR scan confirms the package and shows its delivery address.

At the door, the driver marks the order complete and the customer signs on the phone. If the drop fails, the order stays pending, with a reason recorded.

Mileage and fuel. At the start and end of each run, drivers photograph the odometer and their fuel receipts. Those photos sit with the run in the system.

Both the admin panel and the driver app include delivery reports.

How it works day to day

Follow one driver through a morning. She opens the app and photographs her vehicle's odometer and fuel receipt before setting off. The app lists the parcels assigned to her, and she scans each one's QR code to confirm it is the right package and check where it is going.

The app shows the route to her first drop. At the door, the customer signs on her phone and she marks the order complete.

At the next address nobody answers, so she marks that order pending and records why. Office staff see both outcomes without calling her.

At the end of the run, she photographs the odometer and fuel receipt again. The distance and fuel for the day sit with her run instead of on a slip of paper.

The result

Staff can now book a parcel, assign it to a driver and check its status in one system. Every completed drop carries a signature, and every pending one carries a reason. Mileage and fuel evidence arrives as photos on the day, not as paper at the end of the month.

This was the first part of a wider platform for the same business. A warehouse system, a partner shop portal and a shopping app followed.

What the research says

  • Most phones in Thailand run Android. Android held 73.96% of Thailand's mobile operating system market in September 2026, and iOS 26.01%, according to web analytics firm Statcounter (Statcounter). An Android driver app covers the phones most drivers are likely to carry.

  • One language family across the stack. GitHub's Octoverse 2025 report found that TypeScript overtook Python and JavaScript in August 2025 to become the most used language on GitHub (GitHub Octoverse 2025). The admin panel, driver app and API here are all built in that JavaScript family, with React, React Native and Node.js. One team can maintain every part.

  • Personal data is costly to lose. IBM's 2026 Cost of a Data Breach report puts the global average cost of a breach at $4.99 million (IBM). Delivery records hold names, addresses and signatures, which is one reason only drivers an admin has approved go out on deliveries.

Where AI fits next

The drivers and office do not use AI today, but the run data opens a few doors. A model could read fuel receipts and odometer photos so staff only check the figures. It could suggest the order of drops for each driver from the day's addresses, and summarize pending reasons to show which areas fail most often.

Planning something similar?

Before you build parcel delivery software for your own fleet, it helps to answer four questions:

  1. What counts as proof of delivery for your customers: a signature, a photo or both?

  2. How will drivers confirm they have the right parcel before they leave?

  3. Which costs, such as fuel and mileage, must be evidenced per run?

  4. Which parts of a wider platform, such as a warehouse or shop app, might come next?

Weighing a courier package against your own build? Our custom versus off-the-shelf guide helps. You can also read how we approach custom software and driver and field apps, and see our e-commerce and delivery work.

Other projects like this one are collected on our operations and logistics page.

Common questions

What does courier delivery software with a driver app include?

In this project: a web admin panel for order entry, drivers, pickup points and Thai address data, and an Android driver app for QR package checks, the route to the next order, signed proof of delivery, and odometer and fuel receipt photos. Both include delivery reports.

How is proof of delivery captured?

At the door, the driver marks the order complete and the customer signs on the driver's phone. If the drop fails, the order is marked pending with a reason.

How does the system handle Thai addresses?

Provinces, districts, sub-districts and pickup points are kept as master data in the admin panel, so every order follows the Thai address structure.

How are drivers approved?

Admins keep each driver's license details and attachments, and set a status of pending, approved, on hold or barred. Only approved drivers go out on deliveries.

Can delivery software grow into a warehouse and shop platform?

Yes. This was the first part of a wider platform for the same business, followed by a warehouse system, a partner shop portal and a shopping app.

More of our work.

Projects that used the same services or served the same industry.

See all our work

Free project estimate

Talk through a project like these.

Thirty minutes with a founder, not a salesperson. Bring the problem; leave knowing what we'd build first and what it would cost.

What you get back

  • An indicative budget range
  • A realistic timeline
  • What moves the cost up or down
  • A reply within 4 business hours
  • Answered by a founder
  • NDA on request, before you share details

Tell us what you need

A few lines is plenty. You get a number before any call.

Fields marked * are required.