The pipeline your team will actually update.
A CRM system is the record of who is buying from you and what stage they are at — every enquiry, quote and follow-up in one place, owned by your company rather than rented per seat.
Custom CRM built around how your sales actually happen: enquiries arriving on WhatsApp, quotes going out as PDFs, and an invoice that has to reach LHDN at the end of it. One pipeline, one customer record, no per-seat licence. We also say plainly when Zoho or HubSpot is the cheaper answer for you — that call is arithmetic, not opinion.
The usual sequence is this. A CRM is bought, seats are assigned, two weeks of training happen, and for a month the pipeline looks beautiful. Then a quarter passes and half the opportunities are stale, the close dates are all last month, and the only person who trusts the forecast is the person who built it. The software works. Nobody is feeding it.
The reason is almost never laziness. It is that entering the data is a second job. The enquiry arrived on WhatsApp, the salesperson answered it on WhatsApp, the quote went out as a PDF from somewhere else, and the CRM is a browser tab that asks them to retype what they already did. Any system that sits beside the work instead of inside it loses to the work. That is a design fault, not a discipline problem.
Seat pricing then makes it worse in a Malaysian SME specifically. Per-seat licensing pushes you to buy the smallest number of logins you can defend, so the two people who close deals get accounts and the six who actually touch the customer — the coordinator, the driver, the workshop front desk, the person who answers the office line — do not. The pipeline is therefore incomplete by design, and an incomplete pipeline is a pipeline nobody consults.
The third break is at the end. A CRM that marks a deal Won and then hands you off to a separate accounting package has stopped at the most expensive moment. The quote figures get retyped into an invoice, the invoice gets retyped into MyInvois, and by the time the money is collected the same numbers exist in three systems with three chances to disagree. Since the last e-invoicing band came into force on 1 January 2026, that retyping is no longer just untidy — it is the gap between what you booked and what LHDN holds a record of.
Where enquiries land, who touches them, what has to be true before a quote goes out, and what makes one Won. We do this against last quarter's real deals, including the ones that died. The stages that survive that exercise become the pipeline; the stages someone once read in a sales book do not.
One company or one contact, how a group with five ordering sites is handled, and which fields are mandatory at creation. This is also where the fields LHDN will want later get captured — buyer TIN, SST registration, state code — because collecting them when the customer is created is free and chasing them at invoicing time is not.
For most Malaysian SMEs that means WhatsApp. An enquiry on the business number creates the lead, the reply thread stays attached to it, and a salesperson updates a stage by answering a message rather than by opening a tab. The bridge that does this is the same one described at /services/whatsapp-automation.
Quotations are generated from the customer and the price list rather than from last month's file saved under a new name. Rates, terms and validity come from the system, so the number you quoted is the number the pipeline reports and the number that becomes an invoice.
A Won deal becomes an invoice on the same ledger, with the e-invoice fields already on it. Where the customer stays on their existing accounting package we build the bridge instead of replacing it — the submission side is covered at /services/myinvois-einvoicing.
Row-level rules for who sees margins and whose deals are whose, the existing spreadsheet imported and reconciled, and training on this month's real pipeline. A CRM that starts empty gets run alongside the spreadsheet, which means it gets abandoned.
The same three published tiers, seen from the CRM side. Before you spend any of it, run the comparison honestly: take the per-seat monthly price on your Zoho or HubSpot quote, multiply by every person who should be in the system rather than the number you can justify, then by thirty-six months, and add whatever the integration work costs on top. That figure is what a build has to beat. Sometimes it does not, and we will tell you.
Your real stages mapped from last quarter's deals, the customer record and mandatory fields defined, and a written build-or-buy recommendation with the per-seat arithmetic done against your own numbers. Useful to a different developer, or to nobody but you.
One pipeline built properly: leads, companies and contacts, stages, activities and follow-ups, quotations generated from the record, roles and audit trail, and your existing spreadsheet imported. WhatsApp capture is the published add-on rate on the automation page.
Enterprise tier. The pipeline sitting on the same ledger as sales, accounting and e-invoicing, so a Won deal becomes a quotation, an invoice and a validated e-invoice without leaving the system. Priced on module count beyond this floor.
Two longer answers sit outside the service pages: the reference guides on the LHDN e-Invoice phases and what each route into MyInvois costs, and the sector notes on what each sector's day-to-day record has to hold before software touches it.