CS-02 · Case study · Order-to-cash · FMCG distribution

One order-to-cash flow for two markets and 50,000+ outlets

Global FMCG multinational · Cambodia & Laos · 2025–26 · Role: Functional delivery lead (Senior Business Analyst)

2 marketsOne core flow, local variants only where needed
800+Salesmen taking orders on mobile
50,000+Retail outlets served
Real-timeVisibility of sales, promotions and inventory

The context

Order-to-cash (O2C) is the journey from a customer's order to cash collected. In FMCG distribution it runs through the distributor: salesmen visit outlets and take orders, the distributor delivers and invoices, handles returns and collects payment. Every price, discount and tax rule has to be right on every invoice, at scale.

A global FMCG multinational was rolling out a new Distributor Management System (DMS) in Cambodia and Laos. As functional delivery lead, I owned the O2C requirements. The job was to give both markets one standard flow while meeting each country's tax, invoicing and reporting rules.

The problem

Two markets, one system and a lot of local detail. The main risks we had to solve:

  • Each market priced, invoiced and handled returns its own way, so one design could easily break local practice or local law.
  • Tax, invoice and credit-note numbering and legal reporting differed by country.
  • Orders, prices and promotions had to match between the salesman's app, the DMS and SAP (U2K2).
  • Master data (distributors, outlets, products, geographies, salesmen) had to be clean and owned, or every later step would fail.
  • Returns had to reverse the right amounts, including any promotion already given.

My role

  • Led market-alignment workshops with business, product, technical and market stakeholders in both countries.
  • Owned O2C requirements: order capture, pricing, invoicing, returns, targets and legal reporting.
  • Produced gap analysis, user stories, acceptance criteria, process flows, functional specifications and field mappings.
  • Coordinated UAT, change requests with impact assessment, go-live and hypercare.

The order-to-cash flow

Each column is a team or system. Green badges mark the points the design had to get right.

Scroll sideways to see the whole diagram →

Order-to-cash flow across salesman, distributor, DMS and SAPSalesmanDistributorDMSBrand · SAPYesNoOutlet visiton beat planTake orderon the appApply price, taxand promotions1Confirmand deliverInvoice with localtax and numbering2?Returned?Record returnwith a reasonCredit note andpromo reversal3Share sales, stockand credit notesReal-timevisibility
  1. 1One set of pricing rules, so the app, the DMS and the invoice always agree.
  2. 2Each country's tax, invoice numbering and legal reports are built in.
  3. 3Returns reverse the right amount, including promotions already given.
Start Step Decision End Each column is one team or system. Arrows show hand-offs.

The approach

  1. 1
    Map each market's order journeyWalked through order capture, pricing, delivery, invoicing, returns and collection with each market team.
  2. 2
    Agree a core flow firstSet one standard O2C flow and allowed market variants only where law or business need required them.
  3. 3
    Run a fit-gap per marketCompared each market with the core flow and recorded every gap with a decision: configure, build, change the process or defer to a later phase.
  4. 4
    Fix master data ownershipDefined who owns distributor, outlet, product, geography and salesman data, and how it stays in sync.
  5. 5
    Price once, apply everywhereSpecified pricing structure, tax and promotion logic so an order gets the same price in the app, in the DMS and on the invoice.
  6. 6
    Localise invoicing and reportingCovered tax, invoice and credit-note numbering and legal reports for each country.
  7. 7
    Close the loop on returnsDefined return reasons, credit notes and reversal of promotions already given.
  8. 8
    Test end to endRan UAT on full order-to-invoice-to-return scenarios with business users, then supported go-live and hypercare.

Sample work: fit-gap analysis extract

AreaCore flowMarket variantDecision
Invoice numberingOne sequence per distributorCountry-specific format and prefixConfigure numbering format per market
Tax on invoiceTax calculated per invoice lineDifferent tax rules and rounding by countryMarket-level tax settings
Legal reportingStandard sales reportsStatutory report formatsMarket-specific report templates
PricingPrice list by channelPrice varies by outlet typePrice list by channel and outlet type
ReturnsReturn with reason codeDifferent approval limitsConfigurable approval rules

Illustrative extract. Real rows and decisions are client-confidential.

Results

  • One core O2C flow delivered for both markets, with each country's tax, numbering and reporting built in.
  • Orders from 800+ salesmen flow to 80+ distributors serving 50,000+ outlets.
  • Real-time visibility of sales, promotions and inventory against agreed KPIs.
  • Every gap traced from workshop to user story to UAT through the requirements traceability matrix.

What I learned

  • Agree the core flow before discussing market differences, or every workshop turns into a list of exceptions.
  • Master data ownership is a business decision, not an IT task.
  • Returns are often where pricing and promotion errors show up. Test them as hard as the order itself.

Client and system details are anonymised. Diagrams are redrawn and all figures are approximate.