v6.0 · Odoo 18 · 54 modules loaded

Enterprise ERP
for M-Pesa Kenya.
KRA eTIMS ready.

Open source Odoo 18 with native Daraja 2.0 integration, real-time KRA invoice submission, and Kenya real estate compliance built in. Deployed in 60 seconds.

★ View on GitHub Quick Start → See it running →
54
Modules Loaded
22+
Custom Models
KES 0
License Cost
18.0
Odoo Version

Live System

Running in production.
Real data. Real Kenya.

Lease Management
Lease ManagementActive lease · KRA WHT 5% · Generate Invoice · Renew
Property Portfolio
Property PortfolioBuildings · Units · Occupancy
M-Pesa Transactions
M-Pesa TransactionsC2B · STK Push · Auto-reconcile
KPI Dashboard
KPI DashboardOccupancy · Arrears · Revenue YTD
KRA eTIMS
KRA eTIMSVAT 16% · WHT · Real-time submission
Demand Notices
Demand NoticesCap 301 · 7-day · 30-day · BPRT

Feature Matrix

Every workflow an East African
property manager needs.

📱
M-Pesa Daraja 2.0
STK Push from any invoice. C2B paybill listener auto-reconciles to tenant account. B2C vendor payouts. 55-min token cache + 3-attempt retry.
mpesa_connector
🏛
KRA eTIMS OSCU
Real-time invoice submission on every posted invoice. VAT 16%, WHT 5%/10%, zero-rated. KRA PIN validation on all partners.
kenya_kra_etims
🏢
Real Estate CRM
Building → Floor → Unit hierarchy. Multi-county portfolio. Occupancy tracking, lease lifecycle, demand notices under Cap 301.
estate_core
📊
Live KPI Dashboard
OWL-powered: occupancy rate, arrears aging (30/60/90/90+), revenue YTD, maintenance pipeline. SQL-optimised queries.
kenya_real_estate
Demand Notices (Cap 301)
Formal eviction workflow: 7-day → 30-day → BPRT filing → court summons. Auto deadline computation. Witness records.
estate_rental
🔍
Tenant Screening
Score out of 100: ID, payslips, income ratio (3x minimum), employer verification, previous landlord reference.
estate_sales
Generator Billing
Log hours run → calculate fuel cost → apportion by unit → generate invoices. Solves the #1 building dispute in Kenya.
estate_rental
👷
Caretaker Payroll
NHIF/NSSF/KRA PIN records. Salary + house allowance. One-click vendor bill generation. Full Employment Act compliance.
estate_rental
💰
Financial KPIs
NOI, Cap Rate, Gross Yield, Landlord Payout after WHT + management fee. Vacancy revenue loss. Owner statements.
estate_finance

Module Registry

Install individually
or as a full stack.

ModulePurposeStatus
estate_coreBase models: property, unit, building, valuation, insurance✓ v18.0
estate_rentalLeases, demand notices, caretaker payroll, generator billing, service charges✓ v18.0
estate_salesSales pipeline, viewings, offers, commissions, tenant screening✓ v18.0
estate_financeOwner statements, payment aging, KES-denominated reporting✓ v18.0
kenya_real_estateOWL KPI dashboard, KRA WHT, M-Pesa hooks, eTIMS, 9 crons✓ v18.0
mpesa_connectorDaraja 2.0: STK Push, C2B, B2C, reversal, status query, token cache✓ v18.0
kenya_mpesa_acquirerOdoo payment provider UI: STK wizard, C2B registration, webhooks✓ v18.0
kenya_kra_etimsKRA eTIMS OSCU: real-time invoice submission, VAT, WHT, PIN validation✓ v18.0

Kenya Legal Compliance

Every regulation.
Built in, not bolted on.

🏛
KRA Monthly Rental Income (MRI) Tax
Finance Act 2025 — effective April 2025
Auto-populate monthly returns from paid invoices. Residential: 7.5% flat. Commercial: 30%. 5-day filing reminder cron. Filed → Paid tracking.
📋
Withholding Tax (WHT)
Income Tax Act — Section 35 KITA
5% residential / 10% commercial auto-computed on every lease. Deducted from landlord payout. Shown separately on invoices.
Tenancy Agreement & Eviction
Cap 301 — Landlord & Tenant Act
PDF tenancy agreement template. Formal demand notice: 7-day → 30-day → court. All steps logged with witness records and timestamps.
📱
M-Pesa Daraja 2.0
Safaricom API — OAuth2 certified
OAuth2 token caching. Phone normalisation: 07xx / 2547xx / +2547xx all handled. STK Push + C2B + B2C. Full sandbox/production switch.

Quick Start

Up and running
in 60 seconds.

bash — deploy OdooERP Kenya
# 1. Clone and configure
git clone https://github.com/NyoikePaul/OdooERP.git
cd OdooERP && cp .env.example .env

# 2. Add your Daraja credentials to .env
MPESA_CONSUMER_KEY=your_key
MPESA_CONSUMER_SECRET=your_secret

# 3. Start Docker
docker compose up -d

# 4. Install Kenya modules
docker exec odooerp-web odoo -i estate_core,estate_rental,
    estate_sales,estate_finance,kenya_real_estate,
    mpesa_connector,kenya_mpesa_acquirer
    -d odoo --stop-after-init

# 5. Open http://localhost:8069 → login admin/admin

The ERP East Africa
has been waiting for.

Clone today. Deploy in 60 seconds. KRA compliant. M-Pesa ready. Zero licensing cost. Forever.

★ Star on GitHub Read the Docs →