A CRM system for B2B, distribution, and project-based sales
A CRM system for B2B, distribution and project-based sales teams in Cambodia, purpose-built for how you sell, in Khmer and English. Leads, contacts, deals, pipeline and a dated activity timeline; KHR and USD on one deal with the NBC rate stored; mobile access for reps in the field; a won deal handed to quote, order and invoice without retyping. Configurable workflows for B2B, distribution and project-based sales.
Do I need a CRM, or are Telegram, a phone and an Excel sheet enough?
You need a CRM when a deal's history lives in one rep's phone and the Excel sheet holds what someone remembered to type.
Telegram and Excel are enough while the owner is in every conversation. The break happens on a Monday: nobody can say which open deals were touched last week, by whom, in which currency, or what was promised, without ringing the reps.
The test is the handover: when a rep leaves, the deals leave in their phone. A CRM has done its job when you change the owner on an account and the timeline stays unbroken.
| Where the deal lives today | What it holds | What it cannot answer on Monday |
|---|---|---|
| Telegram thread | the ask and the haggling, in one rep's phone | which deals were touched last week |
| Facebook Page inbox | the first message and the post it came from | who owns the reply |
| Phone call log | a number and a duration | what was promised |
| Excel row | a customer and an amount, typed on the day someone remembered | the currency it was quoted in |
| Quote PDF in a Drive folder | the price and the date | whether it was followed up |
| The rep's memory | the follow-up date | anything, once the rep has left |
Two honest exits. Counter sales belong to the till's record; if quotes and invoices already run as one flow and only the half before the quote is missing, that is Sales, quote to invoice; sometimes the answer is no software yet: a business consultation. Excel's six warning signals are on the guide.
Does the pipeline look the same for B2B, distribution and project-based sales?
No: B2B is a line from lead to won or lost, distribution a loop around the reorder, project sales a gated rail of milestones.
One template for every kind of sale is the commonest configuration mistake. B2B is a line: Lead, Qualified, Quote sent, Negotiation, then a fork to Won or Lost (reason kept). Distribution is a loop: Account, Visit, Order draft, Delivered, Reorder due, and back to Visit. Project sales are a gated rail: Bid, Proposal, Award, then each Milestone, invoiced by Accounting, not here.
A stage is a fact a manager can check: quote sent has a quote number, visit made has a device time. Configurable workflows means a beverage distributor that also bids on a hotel contract runs two shapes, neither forced through the other's stages. The quote stage belongs to the Sales module; the loop is on the field sales page, the line on the CRM guide, and a shape no package holds is custom software.
What does a CRM actually record that a chat thread cannot?
Every touch on a deal as a dated row (who, when, which channel, what was promised), so a stage is earned rather than typed.
A deal is a record: a customer, a value in the currency it was quoted in, a stage, an owner and a timeline. The timeline is what a chat cannot give you: a call, a visit, a quote sent, each a dated row. Stage is derived from the last dated action, not typed, so a deal with no row in 21 days is stale.
Nothing is edited in place. A lost deal keeps its reason, a changed price is a new row, and an owner change leaves every row before it standing. Pipeline value is the sum of open deals, on one record shared by sales, stock and accounting. Below, one invented deal, USD 4,200; the CRM guide walks it, and the Telegram leads page covers its first row.
| Date | Row written | By | Stage earned |
|---|---|---|---|
| 3 Mar | Lead from Facebook Page inbox, a Battambang wholesaler (invented) | system | Lead |
| 4 Mar | Call, 12 minutes | Rep A | Qualified |
| 6 Mar | Site visit, Battambang, logged on the phone | Rep A | Qualified |
| 7 Mar | Quote sent, USD 4,200, rate and date stored | Rep A | Quote sent |
| 14 Mar | Follow-up due | Rep A | Quote sent |
| 21 Mar | Owner changed to Rep B; every row above stays | sales manager | Negotiation |
| 25 Mar | Won, reason recorded | Rep B | Won |
| 25 Mar | Handed to sales order SO-0231 in Sales; the CRM writes nothing further | system | Won |
Where do leads from Telegram and Facebook go?
Into one lead record carrying the channel, the handle, the first message and a follow-up date, while the reply still happens in the chat.
The customer stays on Telegram. What changes is that the first message creates a lead record: channel, handle or number, first message, product asked, assigned rep, follow-up due, matched on phone number, because here the phone number is the person. One person writing on Telegram, Facebook Messenger and a phone call is one lead, not three.
A build covers a Telegram bot or a Facebook Page inbox connection that does that capture, scoped per channel as API integration work. No double typing: the row is the by-product of sending the quote or closing the chat, and the reply still goes back down the same channel. Who owns the handle when a rep leaves is the Telegram page. The line with the till: the POS product's Telegram is alerts going out to an owner's phone; this is leads coming in, and the two share nothing.
How does a pipeline work when quotes are in dollars and payment arrives in riel?
Each deal stores its amount, currency, NBC rate and rate date; the pipeline converts once at each deal's stored rate, so totals never drift.
A deal is quoted in the currency the customer thinks in. The CRM stores the amount as quoted, the NBC rate of that day and the date; the 2025 average was 4,011 riel per dollar (National Bank of Cambodia, Financial Stability Review 2025). The pipeline total shows both currencies, converted once at each deal's stored rate.
Three invented deals at a stored rate of 4,011: A, 12,000,000 riel, is 2,992 dollars; B, 4,500 dollars, stays 4,500; C, 20,000,000 riel, is 4,986 dollars; the pipeline total is 12,478 dollars.
| Deal | Quoted | Rate stored (NBC, quote date) | In USD |
|---|---|---|---|
| A | 12,000,000 KHR | 4,011 | 2,992 |
| B | USD 4,500 | none, quoted in USD | 4,500 |
| C | 20,000,000 KHR | 4,011 | 4,986 |
| Pipeline total | two currencies | converted once, at each deal's stored rate | 12,478 |
Both columns matter: the riel passed the dollar inside Bakong in 2025, 58.2% of transaction volume against 49.3% in 2024 (the same NBC review), as one till already holds both. Tax conversion happens on the invoice date and belongs to the next section, the handoff spoke and the accounting system.
Can sales reps use it from the road, and what happens when the signal drops?
Yes, from a phone: a visit is written on the device and syncs when the signal returns; the risk is the building, not the grid.
A rep in a wholesaler's back office, Battambang (no signal) logs a visit, a note, a photo, a draft quote on the phone; the row is saved on device at 14:32 and waits in a queue for the office server. The grid is not the risk: the dead spot is a concrete back office, or ten seconds mid-save.
Up when the signal returns: visits, notes, photos, draft quotes. Down: price list, customer list, assignments, stage changes. A price changed in the office at 14:10 waits for an offline phone; a conflict is surfaced to the rep, never resolved silently.
This is the specification the build is held to, delivered as mobile integration into a back office or a field-rep app; there is no app store listing to hand a buyer today. The field sales page has the day in the life; a till that keeps selling offline is a different problem.
When a deal is won, does the CRM raise the invoice and file the VAT?
No: a won deal becomes an order in Sales and an invoice in Accounting; a person files the return, and the CRM files nothing.
No. The won deal carries across once, so nobody retypes: customer, TIN, currency, quoted price, delivery address, rep. Quote and order (Sales) writes the quotation and the sales order; Invoice (Accounting) writes the invoice, with USD converted at the NBC rate on the invoice date and the return reported in riel; the Monthly VAT return is filed by a person, from figures the ERP prepares, and the CRM files nothing.
Deal (CRM) is the first station, and the bold line after it reads the CRM stops here. The monthly return's figures are the accounting system's job, per how GDT e-VAT filing works; a vendor who blurs that is describing an adapter that does not exist.
The boundary holds because the CRM sits on one record shared with stock and accounting: the order in the Sales module checks stock the warehouse can promise, available, not on-hand, and the ERP prepares the return figures from that invoice. From a won deal to the GDT return is the finance lead's page.
A packaged CRM, or one built for how you sell: which fits?
A packaged CRM where lead, quote and pipeline flows are ordinary; a purpose-built one where the way you sell is the way you compete.
Chosen in discovery, with no referral fee from any vendor in the comparison. A packaged tool wins where the pipeline is standard, the team works online, and English screens are acceptable; if that is you, we will say so and point you at the comparison.
Most packaged tools fall short on the same three Cambodian questions: Khmer is a translation layer rather than the working language, a deal carries one company currency, and Telegram arrives through a marketplace module or not at all. Each is checked per vendor, dated, in the comparison below.
| Decision | Telegram + Excel | Packaged SaaS CRM | Purpose-built |
|---|---|---|---|
| Per-user licensing | None | Per user per month, typically | None |
| Khmer interface | Whatever you type | Varies by vendor: checked per tool in the comparison | Written in Khmer first |
| KHR and USD on one deal with a stored rate | Two columns, no rate | Varies by vendor: checked per tool in the comparison | Built in |
| Telegram and Facebook capture | The rep's phone | Varies by vendor: checked per tool in the comparison | Scoped integration |
| Field use when the signal drops | None | Varies by vendor: checked per tool in the comparison | Scoped per build |
| Handoff to order, invoice and GDT filing | Retype it | Via an accounting system; none files | Same record, one ledger; figures ready to file |
| Who owns the data and the code | You, the file | Data export; no code | Data and source yours |
| Time to stand up | Today | Days | Scoped in discovery |
Purpose-built wins for Telegram-first capture, a quoting rule a package argues with, field use with no signal, and Khmer collation in the contract; source code, schema and data dictionary are yours at go-live. Eight CRM tools compared fills the packaged column, dated; custom software is the build route within System Solutions.
How long does it take, what does it cost, and how do we get off the sheet?
8 to 15 weeks for a single-module scope, fixed price after paid discovery; the sheet is frozen, cleaned and imported as open deals only.
A single-module SMB scope runs 8 to 15 weeks after a paid discovery of 1–2 weeks, and a CRM-alone build is a module scope, quoted after discovery. SMB system implementations (single entity, standard modules: accounting, CRM, inventory, sales) typically run $8,000–$30,000 all-in on a fixed-scope basis, from Scale project data.
The calendar goes to de-duplication (the same customer under a Khmer spelling, a Latin spelling and a nickname) and to connecting channels; the import runs in an afternoon. Several sheets, provinces, and CRM plus Sales in one build lengthen it. The Cambodia ERP cost calculator gives a band first; the ERP implementation timeline covers the longer scopes System Solutions quotes.
The order below is the argument: load the deals before agreeing the stages and every deal lands in a stage called in progress. The hard steps are the phones and the ownership decision; step 8 is the one people skip.
Freeze the sheet on a cut-off date: take a copy and treat it as the only version anything is measured against; deals that move after the date are entered into the new system, never merged back.
Export contacts off every rep's phone: including the ones saved under nicknames, which is a conversation before it is a file.
Deduplicate on phone number, then on TIN: one person on three channels is one contact, and one company under three spellings is one account, the same job an accounting migration does on the customer master.
Name one owner per account: decided by the sales manager, not by whoever ran the import.
Agree five stages before configuring any: written on one page, with the dated action that earns each one.
Import open deals only, with currency and last touch: amount, currency, stored rate and quote date, nothing closed.
Connect the channels one at a time: Telegram first if that is where the leads are, then the Facebook Page inbox, each tested with a real enquiry before the next.
Run both for two weeks, then lock the sheet: read-only on a named date, so the old habit has nowhere to go.
| What migrates | From where | Identified by | What stays behind |
|---|---|---|---|
| Contacts | reps' phones and Telegram | phone number | the chat history |
| Accounts | invoices and the accounting customer master | TIN, then name | closed invoices, which stay in accounting |
| Open deals | the sales spreadsheet | quote number, or account plus quote date | lost deals older than the cut-off |
| Activities | nothing, they start on day one | date plus owner | the old notes, archived read-only |
Glossary (English and Khmer)
CRM vocabulary in both languages, starting with the pair vendors merge: a lead is someone who might buy, a customer is someone who has.
A vendor whose demo uses one Khmer word for a lead and a customer has translated a screen, not built for a sales team. Lead, deal and pipeline arrived here through English tools nobody translated, so a pipeline meeting starts by agreeing what a stage means.
Cut a Khmer name at a character count and you break a grapheme cluster, leaving a vowel sign with no consonant; sort by code point and the list comes out in an order no Khmer reader expects. So truncation is cluster-safe and sorting uses Khmer collation, as the inventory page requires of labels; the CRM guide draws the cut.
Pipeline and the initials CRM stay in English: sales teams here say the English word, and the nearest Khmer gloss for pipeline means a network. Every gloss is reviewed by a native speaker before publish; a term the team ignores is worse than a gap. Order, invoice and tax line belong to the ERP page.
- CRM, customer relationship management (ប្រព័ន្ធគ្រប់គ្រងទំនាក់ទំនងអតិថិជន): the system that holds every customer, every open deal and every dated touch on it in one place; the initials stay in English in conversation, the Khmer is what a screen label reads.
- Lead (អតិថិជនសក្តានុពល): someone who might buy and has not yet been qualified: a first message on Telegram, a number from a trade fair, a referral. A lead has a channel and a date; it does not yet have a value.
- Contact (អ្នកទំនាក់ទំនង): the person you talk to, with their Telegram handle and phone number, attached to an account. A distributor's buyer changes jobs; the account stays, the contact moves.
- Account, customer (អតិថិជន): the company or shop that buys, held once under one name with its TIN, whatever spelling each rep uses in chat. Three spellings of one customer is the commonest reason a pipeline total is wrong.
- Deal, opportunity (ឱកាសលក់): one potential sale to one account, with a value in the currency it was quoted in, a stage, an owner and a timeline. A customer can have several open at once.
- Pipeline: every open deal laid out by stage, with a total per stage in USD and KHR converted once at each deal's stored rate. Left in English because Cambodian sales teams say the English word, and the nearest Khmer gloss (a network, a channel) means something else.
- Stage (ដំណាក់កាល): where a deal sits, earned by a dated action rather than typed: lead (អតិថិជនសក្តានុពល), qualified (បានពិនិត្យ), quote sent (បានផ្ញើសម្រង់តម្លៃ), negotiation (កំពុងចរចា), won or lost (ឈ្នះ ឬ ចាញ់). Five is enough; twelve is a sheet nobody keeps.
- Activity (សកម្មភាព): one dated touch on a deal: a call, a message, a visit, a quote sent, a sample delivered, carrying who did it and when. The timeline is the sum of these rows.
- Follow-up (ការតាមដាន): the next dated action a deal is waiting on, with an owner. A deal with no follow-up set is a deal nobody owns.
- Quotation (សម្រង់តម្លៃ): the price offered, in one currency, on a date, with the NBC rate of that day stored beside it. Sending it is the action that moves a deal to quote sent; the invoice converts again on its own date.
- Won, lost (ឈ្នះ ឬ ចាញ់): the two ways a deal closes. Lost keeps a reason from a short list (price, timing, competitor, no response) so the reasons can be counted next quarter instead of remembered.
- Conversion rate (អត្រាបម្លែង): deals won divided by deals opened over a period, by rep, by channel or by stage. It is the number that says whether Telegram leads or referrals deserve more of a rep's week.
- Territory (តំបន់): the accounts or the area a rep owns, by province, by district or by customer list, which decides who a new lead is assigned to and whose pipeline it counts in.
- Tax identification number, TIN (លេខអត្តសញ្ញាណកម្មសារពើពន្ធ): the GDT number the invoice will need, captured once on the account so the accounting system never types it twice; the GDT explainer owns what happens to it after that.
Common questions about CRM systems in Cambodia
Cambodian owners ask whether reps will use it, whether it replaces Telegram, what to have ready, and what happens once a deal is won.
We already have a customer list in our ERP. Do we need a CRM as well?
The ERP's customer master is who has been invoiced. A CRM is who might be, and everything between the first message and the invoice: the calls, the visits, the quote, the reason a deal was lost. Where both exist they share one customer record, so the TIN is typed once and the invoice never asks the rep for it: the one-record standard every build is held to. The test in any demo is to ask where the TIN is typed; 'again, in accounting' means two systems side by side, not one record.
Does it replace Telegram, or work alongside it?
Alongside. The customer stays on Telegram and the rep replies there; what changes is that the first message creates a lead and the quote sent creates a row, so the deal exists somewhere a second person can read it. A build covers the bot or inbox connection that does that capture, scoped per channel, and the reply always goes back down the channel it came in on.
Will my sales team actually use it?
Only if logging costs less than the thing being logged. A rep who has to type a visit into a form after the visit stops within a month, and the sheet comes back. The rule the build is held to is that the row is the by-product of the work: sending the quote writes the row, saving a visit on the phone writes the row. The Monday review then reads rows instead of asking reps to remember.
How is a CRM different from the Sales module?
The CRM is everything before the order: leads, contacts, deals, the timeline, the pipeline. Sales is quote to order to invoice, with pricing rules, discounts and approvals. On one record the won deal becomes the quote without retyping, which is why the two are usually scoped together and can be scoped apart: how quote, order and invoice run as one flow.
What do we need ready before a CRM implementation starts?
Three things. Every rep's contacts exported off their phone, including the ones saved under nicknames. A sales manager willing to name one owner per account. And the stages you actually sell through, written on one page before anyone configures anything. The rest is discovery.
Does the CRM issue the invoice and file the VAT?
No. A won deal becomes an order, the order becomes an invoice in the accounting system, and the monthly VAT return is prepared there for your accountant to file, with dollar amounts converted at the NBC rate on the invoice date. The CRM carries the customer, the TIN, the currency and the quoted price across so nothing is typed twice, and it writes no journal line and no tax line: how GDT e-VAT filing works.
CRM guides
- CRM in Cambodia: what it records, and when Excel stops working
- Telegram and Facebook leads into a CRM, without leaving the chat
- CRM software in Cambodia compared: eight tools on seven questions
- Field sales apps in Cambodia: what to do when the signal drops
- From a won deal to the GDT return: what a CRM hands over