We build ERP, payment, tax and civic platforms for Kenyan organisations — Odoo 19 implementations, M-Pesa collections and payouts, KRA eTIMS invoicing, statutory payroll and verifiable party nominations.
Capabilities
The work, grouped by the problem it solves — from Odoo implementations to platforms built from scratch in Go. Every system is marked with where it stands today.
Odoo 19 where the platform fits, purpose-built Go where it doesn't. Payroll to Kenyan statutory rules, and operations for construction, agriculture, fabrication and financial services.
Clean-room, community-licensed reimplementations of features normally reserved for Odoo Enterprise: accounting, field service, helpdesk, planning, quality, manufacturing planning, e-signature and knowledge. 76 packages planned across 32 apps.
Odoo 19 · Python · LGPL-3
Construction ERP
Plan, procure, build, account for and hand over a project — from a single house to a highway or dam — with every shilling and every tonne traced to the structure it built. Specification complete: 49 modules, 45 architecture decisions.
Go modular monolith · multi-tenant Postgres with row-level security · offline-first field apps
About 85 apps across lending, finance, HR and payroll, procurement, CRM, remittance and reporting, with member, investor, field-agent and admin mobile apps.
Go · React · Flutter · Kotlin · PostgreSQL · Redis
Runs HR and payroll for an outsourcing firm's client companies: biometric and GPS attendance, Kenyan statutory payroll and returns, eTIMS invoicing, and M-Pesa salary payouts that release only once the client has paid.
Go · Next.js · Android
A production Odoo 19 deployment running a company's HR, payroll and Kenyan accounting, with employee records migrated from its spreadsheets.
Odoo 19
Livestock from birth or purchase to sale — tags, health, feed and weight — plus poultry lay rates, pig farrowing, harvest, processing, veterinary withholding periods and movement permits.
Odoo · Python
Operations for a glass, aluminium and hardware fabricator, with a customer portal, a field app, and trial balance and general ledger reports on Odoo Community.
Odoo · Python
A maker-checker approval platform with real-time notifications, and quotation automation with one-click PDFs for a safari operator.
Go · React · PostgreSQL
M-Pesa collections and payouts, savings and lending ledgers, and KRA eTIMS compliance. Money leaves a trail: tamper-evident ledgers, signed disbursement instructions and credentials no single server holds.
Merry-go-round contributions, savings, member lending and a gated SME capital marketplace. Each chama is its own tenant on a tamper-evident double-entry ledger, with M-Pesa payments built in.
Go · React · PostgreSQL
Connects businesses to KRA's electronic tax invoicing: invoices and receipts, purchases, device registration and code tables, through web, desktop and Android clients.
Go · Kotlin
STK push collections, transaction tracking and webhook callbacks, so a merchant's site or app takes M-Pesa without redirecting the customer.
Go · React
Instructions arrive GPG-signed from loan origination, services authenticate with mutual TLS, and M-Pesa credentials are split across separate vault nodes so no single server holds them all.
Java · Docker
Point of sale, van sales and marketplaces, for businesses that sell at the counter, on the road and online — wired into the payment and ERP systems behind them.
Android handheld POS across a network of stations. No receipt prints until eCitizen confirms the M-Pesa payment, completed sales post to Oracle Financials, and an on-device agent keeps the fleet under remote management.
Odoo 19 · Go · Android
Van sales in a Flutter app on Odoo 19 — orders, products and customers on the road — synced with Microsoft Dynamics 365 Business Central. Deployed for multiple client companies.
Flutter · Odoo 19 · Business Central
Tenants deal with verified landlords: no brokers, no viewing-fee scams, and no identity documents kept at rest.
Django REST · React · Go
One platform for vendors, customers and fleets, from last-mile bikes to long-haul trucks, across any industry. Discovery and design documented.
Software for public life: party nominations a tribunal can verify, legal research that cites its sources, campaign giving over M-Pesa, and charity services online.
Party nominations
Electronic nominations for party primaries that emit evidence a tribunal, an observer or a losing aspirant can check for themselves, without trusting the operator. Built for the 2027 primaries.
Go · Next.js · standalone verifier
Legal precedent research
Checks a live matter against decided Kenyan cases and returns a reasoned, citation-backed assessment, anchored to the Constitution of Kenya 2010 and the hierarchy of the courts.
Go · retrieval-grounded
Approved aspirants get a public page to share. Supporters give by STK push, and aspirants withdraw their share to M-Pesa by B2C.
M-Pesa STK push and B2C · Android
Website and online application portal for a charity supporting people living with dementia and the families who care for them.
Integrations
The payment rails, tax systems, statutory rules and enterprise software our systems connect to.
STK push collections, paybill callbacks and B2C payouts.
Tax invoices and receipts, purchases and device registration.
PAYE, NSSF, SHIF, Housing Levy and NITA, with statutory returns.
Payment confirmed before the point of sale issues a receipt.
Completed point-of-sale orders posted to accounts receivable.
Data synced with Odoo for mobile van sales.
Advanta SMS and USSD connectors for Odoo, and a bulk SMS platform.
Out-of-zone and fake-GPS check-ins held for review.
An Android print service for Bluetooth receipt printers.
Stack Go · Python and Odoo · Java · TypeScript, React and Next.js · Django · Flutter · Kotlin · PostgreSQL · Redis · Docker
Approach
Four commitments that shape everything we ship.
Ledgers that show tampering, approvals that need a second person, payment credentials no single server holds, and overrides that record who and why. When money or votes move, the system keeps the proof.
Our work is built from public documentation, observable behaviour and community-licensed source. Proprietary code is never read, copied or adapted — and every module records its references.
We extend what the platform already models instead of inventing parallel structures. Fewer concepts, less drift, and upgrades that survive contact with the next release.
Specification, data model, design, build, browser-level verification. Nothing is considered done because it compiles — it is done when it has been exercised the way a user would.
Contact
A system like one of these, an Odoo implementation, or a module from the catalogue — we would be glad to hear from you.
qfountains@gmail.com