Custom ERP · Kenya

Custom ERP development for the operation spreadsheets outgrew.

Off-the-shelf ERP — SAP, Odoo, QuickBooks, Sage — is designed for a generalised business that does not look like yours. It arrives with modules you will never touch, workflows that map to German manufacturing or US retail, and a per-seat licensing model that charges you more every time the operation grows. And despite all that, it still does not speak M-Pesa, does not know what a KRA eTIMS invoice looks like, and forces your finance team to maintain a parallel spreadsheet just to bridge the gap. We build ERP systems fitted to your domain — your approval chains, your chart of accounts, your operational vocabulary — and you own the result outright. No seat fees, no vendor roadmap that does not match yours, no annual ransom for a product you cannot modify. We have built and deployed this in production: the KIMMAL operations ERP covers a full commercial farm with 135+ REST endpoints, multi-module finance, inventory, and operations, and 15+ report types in active daily use. We bring that same engineering discipline to your business.

In production

KIMMAL is a full operations ERP we built and deployed for a commercial farm — 135+ REST endpoints, a multi-module architecture covering operations, inventory, and a complete financial module with 15+ report types (P&L, cash flow, cost-centre analysis, and more), plus real-time KPI alerts. MkulimaOS, our farm management platform, adds M-Pesa payroll and a finance ledger running in production. These are working systems, not demos.

See the KIMMAL ERP

Custom ERP versus Odoo, SAP, or QuickBooks — when the standard answer is the wrong one

Off-the-shelf ERP is not a bad product. It is a wrong-fit product for a significant slice of Kenyan businesses. SAP is built for organisations with dedicated implementation partners, six-figure consulting budgets, and the appetite to retrain staff on someone else's process model. Odoo is more accessible but still GPL-licensed community code maintained on someone else's roadmap, with per-user fees that compound as headcount grows. QuickBooks covers the accounting well and stops there — the moment you need inventory linked to production orders or approval chains tied to budget codes, you are back to spreadsheets. The real test is simple: if your operation requires more than two spreadsheets to bridge what the ERP cannot do, or if your team has developed workarounds that live in someone's head rather than the system, the ERP is not serving you. At that point, a custom build does not cost more — it costs the same or less when you account for the per-seat fees you stop paying and the consultant hours you stop burning on configuration that fights your process.

  • No per-seat licensing — the system scales with your headcount at zero marginal software cost
  • No workarounds — modules match your actual workflow, not a generalised template
  • No vendor roadmap risk — you own the code and can change anything without asking permission
  • No implementation-partner dependency for modifications that should take an afternoon

Built to your domain — modules, workflows, and approval chains that match how you actually operate

Every organisation has a mental model of how work flows — how a purchase request becomes an approved order, how a production batch becomes an invoice, how a budget overrun triggers an escalation. Off-the-shelf ERP approximates that model and asks your team to adapt to the gap. We start from the other direction: we spend the first weeks of any engagement mapping your domain — the entities, the events, the rules, the exceptions — and build the system to match what we find. The KIMMAL build is the clearest proof we have. A commercial farming operation has a domain that no generic ERP addresses: crop cycles tied to cost centres, casual labour payroll recorded by block and task, input inventory depleted against planted area, and a finance module that needs to reconcile field costs against commodity prices across a harvest season. We built 135+ REST endpoints covering every part of that domain, with a financial module that generates 15+ report types — P&L, cash flow, cost analysis, variance reporting — directly from operational data. No manual journal entry bridging operational records to finance. The system is one coherent thing, because we designed it to be one coherent thing.

Speaks Kenya — M-Pesa, KRA eTIMS, multi-currency, local compliance built in

A Kenyan business has compliance and payments infrastructure that most ERP vendors treat as an afterthought. M-Pesa is not just a consumer payment method — it is how businesses disburse to suppliers, pay casual staff, and collect from customers who do not use bank transfers. KRA eTIMS is now a hard legal requirement for VAT-registered businesses, and the integration needs to be correct or every invoice is a compliance risk. Multi-currency is not exotic; it is daily reality for any business dealing with suppliers or clients in USD, EUR, or GBP alongside KES. We wire all of this in as first-class modules, not afterthoughts. M-Pesa disbursement runs through the Safaricom Daraja API with a full audit trail — who approved, what amount, when it was sent, what the confirmation code was. KRA eTIMS invoice generation is built into the billing module, not bolted on. Multi-currency transactions carry exchange rate records that tie to the accounting period. These are not integration plugins we sourced from a marketplace; they are code we have written and run in production, and we bring them into every ERP engagement where they apply.

You own it — full IP transfer, no per-seat fees, optional retainer

Every engagement ends with a delivery: source code, database schema, API documentation, and deployment runbooks handed to your team. Full IP transfer. No licence agreement that makes us a permanent middleman between you and your own system. We sign an NDA before discussing specifics, and the contract is explicit: what we build for you belongs to you. After delivery, you choose what comes next. Some clients take the codebase and run it themselves or with an internal team. Others retain us for ongoing development — new modules, integrations, performance work, a dedicated monthly capacity. The retainer is a choice, not a condition. If your internal team is capable and the system is stable, you can walk away with a working ERP and no further obligation. The pricing reflects that: a scoping Sprint from $4,500, phased projects typically $15,000–$75,000 depending on module count and integration complexity, and retainer arrangements from $3,500 per month for those who want continued velocity.

What it covers

The modules, end to end.

Finance & accounting

Full chart of accounts, P&L, cash flow, cost-centre analysis, variance reporting — 15+ report types generated directly from operational data, no manual bridging.

Inventory & stock management

Multi-location stock tracking, goods-received notes, purchase orders, consumption against production, low-stock alerts, and supplier ledger.

Multi-currency, M-Pesa & KRA eTIMS

Daraja-integrated disbursement and collection, eTIMS-compliant invoice generation, multi-currency transactions with exchange rate records tied to accounting periods.

Role-based approval chains

Configurable approval workflows per document type — purchase requests, credit notes, budget overruns — with full audit trail and email/SMS notifications at each step.

Custom dashboards & analytics

Real-time KPI dashboards built to the metrics your operation actually tracks — not a fixed set of widgets, but charts and alerts wired to your data model.

Integration with existing tools

REST API layer connects to your banking portals, existing accounting software, e-commerce platforms, or third-party data sources — we design the integration, not a workaround.

Questions

Frequently asked.

When does a custom ERP make more sense than Odoo, SAP, or QuickBooks?
Custom makes sense when two or more of the following are true: your workflow requires significant workarounds in the off-the-shelf product; you are paying per-seat fees that will compound as you grow; your operation has compliance or payments requirements (M-Pesa, KRA eTIMS) that the platform does not natively support; or you need modules to talk to each other in ways the vendor does not support. For many Kenyan businesses, the total cost of ownership for a custom build — including the absence of per-seat fees — is lower within three years than continuing to pay for a product that does not fit.
Can the ERP integrate M-Pesa for payments and KRA eTIMS for invoicing?
Yes, both are first-class integrations, not add-ons. M-Pesa disbursement and collection runs through the Safaricom Daraja API with a full audit trail. KRA eTIMS invoice generation is built into the billing module and produces compliant invoices for every transaction that requires one. We have run both in production systems, so the integration is tested against real Safaricom and KRA endpoints — not theoretical.
Can it connect to tools and systems we already use?
Yes. We design a REST API layer as a core part of every ERP build, which means your existing tools — accounting software, banking portals, e-commerce platforms, CRMs, third-party data feeds — can connect without requiring a full migration. Where an existing vendor provides a documented API, we can integrate to it. Where they do not, we scope the alternative (CSV import, webhook, direct database read). We discuss the specific integrations you need during scoping before any work begins.
Can it handle multiple currencies and multiple branches or locations?
Yes. Multi-currency is a standard module: transactions are recorded in the transaction currency, exchange rates are captured at the point of entry and tied to the accounting period, and reports can be presented in your base currency or in the transaction currency. Multi-branch and multi-location structures are handled through the organisation hierarchy in the data model — each location has its own stock, cost centre, and reporting view, with consolidated reports available at the group level.
What does a custom ERP cost, and do we own it outright?
Most engagements start with a scoping Sprint from $4,500 — a fixed-fee, time-boxed phase where we map your domain, define the modules, and produce a phased build plan with fixed prices. The build itself typically runs $15,000–$75,000 depending on the number of modules, integrations, and complexity of the workflows. You know the price of each phase before work begins; there are no open-ended retainers disguised as project fees. On delivery, you receive a full IP transfer: source code, database schema, and documentation belong to you with no ongoing licence fee. Ongoing development is an optional retainer from $3,500 per month. We sign an NDA before discussing the specifics of your operation.

Build it properly

Tell us what your operation needs.

Fixed-scope, fixed-fee phases. Full IP transfer on delivery. We respond within one working day, and there's an NDA before any specifics.