Sales and Distribution Management System

The client is a large distributor nationwide, moving ₱25M+ in orders a month across a nationwide retail network.

A system designed to recover ₱3.8M in annual value by giving the business end-to-end visibility over its operations and making information actionable.

Sales and Distribution Management System

Mock data

Problem

Before the system, the business generated valuable operational data every day but lacked a way to leverage it, allowing operational issues to compound into multi-million-peso annual losses.

Solution

We unified the client's core operational workflows into a single platform that continuously analyzed business data and surfaced recommended actions.

Outcome

Teams could identify emerging risks early and intervene before they impacted business performance.

Client

Distributor (NDA)

Role

Developer

Team

5 Consultants

Timeline

Nov 2025 – Apr 2026

The problem

Growth was being held back.

Despite consistently hitting their sales targets, the company's growth was constrained by over 10% monthly customer churn, delivery delays affecting around 4% of daily sales, and over 5K liters of excess inventory accumulating.

Leaky bucket illustration

Key insight #1

How does a company handling over ₱25M in monthly orders still lose millions each year?

After months of employee interviews & analyzing business processes, we found that customer churn, delivery delays, and excess inventory weren't separate problems — they were symptoms of the same issue.

Why couldn't the business prevent them? Problems were only discovered after they had impacted the business.

Why? Management lacked the information needed to recognize warning signs early.

Why? No one could piece together what was happening across the business.

Why? Information stopped moving once work passed to the next team.

Why? Sales, accounting, and inventory ran in one system, while orders and deliveries remained on paper.

Key insight #2

Different symptoms, one root cause: data utilization.

The data existed. It just never became information. Information never became decisions.

Management ran on gut feel because critical warning signs remained invisible until it was too late.

Visibility diagram

Solution strategy

Building wasn't the first option. It was the last one standing.

Before building anything, the real question was whether it was necessary at all. Not every business problem needs software; sometimes a policy or process change delivers greater value at a lower cost.

We evaluated multiple options against the client's multi-million-peso annual losses. Staying with the status quo recovered nothing. Manual process improvements recovered an estimated ₱1.8M annually. An integrated system recovered ₱3.8M. The size of that gap is what justified building anything at all.

Visibility, then action.

The solution is built around a two-pronged approach: First, an order management system that fully digitizes ROQSON's operations and completes the flow of data across the business. Second, business intelligence capabilities that transform this data into insights, alerts, and recommended actions.

The initial solution

We chose speed. It cost us 4 months.

We assessed multiple implementation approaches before deciding on ERPNext — an open-source platform with 88.5% requirements coverage, pre-built modules, and fast deployment. It checked every box on paper.

After multiple live testing sessions with drivers and sales staff, the same friction kept resurfacing. Processing a damaged item return or even promo eligibility checks required workarounds the system wasn't built for.

ERPNext demo (Mock data)

The hard call

We refused to ignore what wasn't working.

Admitting we'd chosen wrong months in wasn't easy — but it was the right call. We refused to force the client's workflow onto software it wasn't built for.

On a tight deadline, we pulled ERPNext's data models and business logic out and built a custom system around them. With agentic development doing half the heavy lifting with migration, we pivoted quickly and doubled down on rapid iteration.

Every Saturday became another opportunity to validate assumptions, uncover edge cases, and refine the system against the client's actual operations.

Fit meant sweating the small stuff.

Software should make employees' jobs easier, not harder. Every unnecessary step was removed, and every workflow was challenged. What information should already be available? What could the system do so users didn't have to?

For example, because deliveries followed planned routes, dispatchers could now simply drag and reorder trips without recreating them.

Mock data

The outcome

10 modules. 8 reporting tools. One system.

Sales knows who's about to churn. Accounting knows who's overdue. Warehouse knows what's overstocked. Dispatch knows where every delivery is in real time.

It's not a dashboard that waits to be checked. It's a system that pushes back, showing which customers to call and which stock to clear before any of it becomes a crisis. Order management, customer risk flags, demand forecasting, and delivery tracking were all built, deployed, and tested with the client's own data before handoff.

Image placeholder

1 / 4

Placeholder caption for slide 1

How we measured success

Each KPI mapped directly to one of the client's operational challenges, ensuring success was measured by business outcomes rather than feature delivery.

Gap AddressedCategoryMetric
Lack of data-driven decision makingStrategy DevelopmentAt least 3 strategies evaluated and classified by effort (light, medium, heavy) per month.
Customer churnCustomer RetentionIdentify at least 90% of at-risk customers 30 days early.
Delivery delaysOrder Management95% of orders tracked with real-time status updates.
Excess inventoryDemand PlanningAchieve 90% demand forecast accuracy each month.

Key learnings

What we learned the hard way.

1.

ERPNext met the requirements, but not the workflow. Meeting requirements on paper doesn't mean a system fits how a business actually works. We evaluated ERPNext against a checklist; we didn't test it against real workflows until development was already underway.

2.

Scope management doesn't stop at project charter signing. Scope discipline doesn't end when the charter is signed. When a client says "we don't need X," the right move is to ask what breaks downstream if X isn't there.

3.

Endless client conversations became their own scope creep. Facilitation is a skill, not a formality. A pre-shared agenda, a hard time limit, and an explicit place to park new requests kept conversations from spiraling — communication discipline mattered as much as technical skill.

Stack

Next.jsNext.js
PostgreSQLPostgreSQL
Drizzle ORMDrizzle ORM
Cloudflare R2Cloudflare R2
PythonPython
PandasPandas
NeonNeon
Google MapsGoogle Maps

Parts of this work are under NDA.

Reach out — let's chat about the details.

Let's chat