CRM Implementation and Custom Development in Kenya
Most CRM projects in Kenya fail on adoption rather than on software, so we start with how your salespeople actually work and only then pick the system. CloudSpinx implements and builds CRM on Odoo and Frappe for businesses across Kenya and East Africa: pipeline design, lead capture from the channels buyers here actually use, and a clean handoff into quotations, eTIMS invoices and M-Pesa reconciliation. The open-source cores carry no per-user license, so the cost is the configuration and the integration rather than a subscription that grows with your headcount. Quoted per engagement after a discovery call.
Who we build for
- 14organizations, from ISPs and payment platforms to a national regulator
- 6flagship engagements published in full, with the numbers counted
- 4thof all contributors to the open-source payment switch national systems run on
Everything in Our CRM Service
Every engagement covers the full scope: no hidden extras, no upselling.
Odoo CRM implementation
Leads, opportunities, activities and quotations configured against your real sales process. Included in Odoo Community, so the license line is zero and the cost is the setup.
Frappe CRM deployment
The standalone open-source CRM Frappe now recommends over the ERPNext module. Self-hosted, AGPLv3, and a clean fit where you want CRM without carrying a whole ERP.
Custom CRM development
Custom DocTypes, scoring rules, territory logic and approval chains for a sales process no standard CRM models. Built on a framework rather than from nothing, so the plumbing is inherited.
Sales pipeline design
Stages that match how deals actually move in your business, with exit criteria your sales manager can enforce. The single biggest determinant of whether the CRM gets updated after month two.
Lead capture across channels
Web forms, email, phone, walk-ins and WhatsApp, which is where most inbound here actually lands. Captured into one record rather than three private phone contact lists.
Quotation and approval flow
Templated quotations, discount approval thresholds and version history, so the number a customer received is the number you can prove you sent.
CRM to accounting integration
Won opportunity becomes a sales order, invoice and eTIMS transmission without anyone re-keying it, with M-Pesa payments reconciled back against the customer record.
Data migration and dedupe
From spreadsheets, Zoho, HubSpot, Salesforce or the sales team's phones. The work is merging duplicate customers and deciding which record wins, not moving rows.
Reporting and forecasting
Pipeline by stage, conversion between stages, activity by rep and an honest forecast. Built so the numbers come out of the system rather than out of a spreadsheet on Friday afternoon.
Technologies we use
The two things a CRM demo will not show you
A demo shows you the pipeline screen, which is the part every CRM does well. These are the two decisions that actually differ: what shape the cost takes over the years you will own it, and where the system stops and somebody starts re-typing. Pipeline design and effort come out of discovery.
Three ways to run a CRM, and which line on the bill grows
The comparison that matters is not features, it is which column of your own cost grows when you hire. A hosted CRM bills per user, every month, for as long as you use it, and asks nothing of you operationally. The open-source cores have no license line at all and ask you to run a server. Read the bottom band before anyone quotes you an ERPNext CRM build.
- no license line, and connected
- works, with a condition attached
- the cost or the risk nobody leads with
Where the CRM stops and the ledger starts, on both shapes
Every CRM owns the left half. What differs is what happens at the seam when a customer says yes. Inside Odoo the seam is internal and free. With a standalone CRM it is a real integration with real failure cases, and if nobody builds it, a person re-types every won deal into the accounting system. That is not an argument against a standalone CRM. It is an argument for pricing the seam instead of assuming it.
- lives in the CRM
- lives in accounting, and has to be reached
Read the two figures together and the decision is not really Odoo against Frappe against a subscription. It is whether your sales process ends at the quotation or ends at a paid invoice, because that single answer picks the shape for you. We ask it in the first conversation, before anyone opens a demo.
What a CRM costs in Kenya
There are two cost shapes and they behave completely differently over five years. A hosted CRM charges per user per month, forever, and the bill grows every time you hire a salesperson. An open-source CRM you run yourself has no license line at all, and the money goes into setup, integration and hosting instead. Neither is automatically cheaper. The subscription wins when the team is small and you want nothing customized; the self-hosted route wins as soon as headcount grows or the CRM has to talk to something you already run.
What moves the number
How complicated the pipeline is, how many channels leads arrive on, whether quotations need approval rules, how much of your existing customer data has to be cleaned and merged, and whether the CRM has to hand off into accounting. Migration is the line buyers underestimate most: merging three years of duplicate customer records across a spreadsheet, an old system and the sales team's phones is real work, and it happens before anything useful can be demonstrated.
The per-user question, asked properly
Work out what your CRM costs in year five at the headcount you are planning for, not this month at the headcount you have. A per-seat subscription is fine at six salespeople and a different conversation at forty. Ask the same question about the data: on a hosted product, exporting everything in a usable shape at the end is a feature you should test before you commit rather than discover afterwards.
Odoo CRM, Frappe CRM, or the one inside a system you already run
We implement and build on both open-source cores and hold no reseller incentive in either direction. The choice comes down to how much of the rest of the business needs to be in the same system.
- Odoo CRM when the sales process needs to reach into inventory, invoicing or accounting. It ships in Odoo Community, so there is no license cost, and a won opportunity becomes a quotation and an invoice inside one system rather than across an integration you have to maintain.
- Frappe CRM when you want a focused CRM and not an ERP. It is the standalone product Frappe now points new implementations at, it is lighter to run and to train people on, and it integrates back into an ERP rather than living inside one.
- A hosted product when the team is small, nothing needs customizing and nobody internally wants to run a server. We will say so. If Zoho or HubSpot answers the requirement at your size, paying us to self-host something is worse value and we are not going to pretend otherwise.
- Custom only when the sales process genuinely has an object or a rule no CRM models: a territory and commission structure nobody else uses, a quoting calculation specific to your product, a regulated approval chain. That is a real category, and it is smaller than the market implies.
Where ERPNext CRM is going, and why it matters to a quote you are holding
If somebody is proposing to put your sales team on the CRM module built into ERPNext, ask them about version 17. The ERPNext manual states that the module is scheduled for deprecation and will be completely removed in version 17, and Frappe recommends Frappe CRM in its place; a migration tool between the two exists. That is not a reason to panic if you already run it, because there is a documented path across and the data is yours either way. It is a very good reason not to build a new sales process on it this year, and a reasonable test of whether the implementer quoting you is current. We would rather tell you this before you sign than migrate you afterwards.
Your leads arrive on WhatsApp, not on a web form
Every CRM demo assumes inbound arrives through a form on your website. In this market a serious share of it lands on WhatsApp, on a phone call to a number that belongs to one salesperson, or at a stand at a trade show. If the CRM only captures the form, the pipeline it shows you is a fraction of the real one, and the rest lives in private phone contacts that walk out of the building when that salesperson resigns. So capture design comes before pipeline design: a shared business number rather than personal handsets, conversations logged against the customer record, and a way to create a lead in three taps that a busy rep will actually use. Where the capture needs something built (a chatbot, a form on an app, a callback from your website), that runs through our development team.
Quote to invoice: where the CRM stops and the ledger starts
This is the boundary that decides whether a CRM saves work or adds it, and it is the question buyers ask last. A CRM owns the lead, the opportunity, the activity history and usually the quotation. The moment the customer says yes, the record has to become a sales order, an invoice, an eTIMS transmission to KRA and eventually a payment reconciled against the right customer. If that handoff is a person copying figures into another system, you have automated the easy half and left the error-prone half alone. On Odoo the boundary is internal and there is nothing to integrate. On Frappe CRM, or on a hosted CRM, it is a real integration with real failure cases and it needs to be built and tested rather than assumed. Where the accounting side is the bigger project, that is our ERP work.
Custom CRM development, and when it is actually justified
Most requirements that arrive as custom CRM development are configuration: a different stage list, a custom field, a report nobody built, an approval rule the standard workflow engine already supports. We check that first, and it is usually the answer. When custom work is genuinely justified it looks like this.
- A commission or incentive structure that is specific to your business and currently lives in a spreadsheet only one person can maintain. This is the most common genuinely custom CRM requirement we see.
- A quoting calculation where the price depends on something no standard product catalog models: a spec, a distance, a grade, a schedule of rates.
- A regulated sales process where an approval chain and its audit trail have to exist in a specific shape, and "we configured it approximately" is not an acceptable answer.
- An industry object the CRM has no concept of, such as a property unit, a policy, a member application or a tender. If your salespeople talk about a thing all day and the CRM cannot store it, that is a custom DocType rather than a workaround field.
Why CRM rollouts fail, and it is almost never the software
A CRM is the only business system whose primary users are measured on something other than using it. Salespeople are paid on closing, not on data entry, so a CRM that costs them ten minutes per deal will lose to a notebook within a month. Every failed rollout we have been called in to fix had the same root cause and none of them had a technical one.
Design for the rep, not for the report
The temptation is to add every field management wants to see. Each one is friction on the person you need to adopt it. Start with the smallest record a rep can create in under a minute, get the habit established, and add fields only when somebody can say what decision the field changes. A CRM with eight fields that is always current beats one with thirty that is filled in the day before the sales meeting.
The manager has to run the pipeline from it
Adoption is decided by whether the weekly sales meeting is run off the CRM screen or off a spreadsheet somebody rebuilt for it. If the spreadsheet survives, the CRM is optional and it will be treated that way. We say this in discovery rather than at go-live, because it is a management commitment and not a configuration setting.
When we tell clients not to buy a CRM
Plenty of the businesses that ask us for one do not need it yet, and a CRM nobody updates is worse than a spreadsheet because it looks authoritative while being wrong.
- With two or three salespeople and a short list of accounts, a shared spreadsheet and a calendar reminder genuinely does the job. Come back when you cannot hold the pipeline in your head.
- If the real problem is that nobody follows up, that is a management problem and software will not fix it. It will produce a record of the follow-ups that did not happen.
- If sales leadership will not use it, do not start. This is the one prerequisite with no technical substitute, and we would rather lose the project than take payment for a system we can see will be abandoned.
- If what you actually need is invoicing and stock, you are describing an ERP with a CRM module attached, not a CRM. That is a different scope and usually a different budget.
What you own, and what you become responsible for
You get the database, the source for any custom module in a repository you control, the configuration documentation, the migration scripts and the training material. Both cores we work on are open source, so your customer data and your customizations are portable by construction rather than by our goodwill. There is a second half to this that CRM vendors rarely raise: a CRM is a database of named people, their phone numbers and their commercial history, which puts it squarely inside Kenya's Data Protection Act 2019 and the remit of the Office of the Data Protection Commissioner. Who can export the customer list, what happens to a rep's access on their last day, and how long you keep records of people who never became customers are all decisions to make at build time rather than after an incident. We set the access model up accordingly and will point you at the security side if the wider posture needs work. Hosting, if you want us to run it, is managed hosting.
Tell us how your sales team actually sells
Enough for us to tell you whether this is a configuration job, a build, or a spreadsheet you should keep for another year. The questions about channels and adoption decide more than the ones about software.
Ready to discuss CRM?
A 30-minute scoping call, free, and it commits you to nothing.
How Every CRM Engagement Starts
Map the sales process
How a deal actually moves today, where leads really come from, and what the sales manager needs to see on a Monday. Including the parts that live in private phone contacts, which is where the honest conversation usually starts.
Design pipeline and capture
Stages with exit criteria, the smallest useful lead record, capture from every channel that matters, and the platform decision. Custom work, if any, is specified and priced separately here.
Migrate, dedupe and connect
Customer data cleaned and merged with a rule for which record wins, then the handoff into quotations, invoicing and eTIMS built and tested against real transactions rather than samples.
Train, launch, then check
Training with the sales team's own accounts and deals, a supervised first fortnight, and a review at week six against one question: is the pipeline in the CRM the real pipeline?