SVC.INDEX / 2026 Six services. One Odoo partner. Nairobi, KE

Odoo,
built the Kenyan
way.

01 / Promise Production-grade, not proof-of-concept.

We build Odoo to run your real operation. Not slide decks, not sandboxes, not vendor demos that fall over on month one.

02 / Approach One team, one accountable owner.

You get the same engineers from kickoff to support — no handoffs, no junior-bench bait-and-switch.

03 / Compliance eTIMS, M-Pesa, KRA — native.

Every implementation is built for Kenyan compliance: eTIMS invoicing, PAYE, NSSF, SHIF, HELB, M-Pesa via Daraja.

ETIMS COMPLIANT / M-PESA DARAJA API / KRA-READY / PAYE · NSSF · SHIF · HELB / SACCO & BANKS / WHATSAPP CLOUD API / OCA-COMPATIBLE / ODOO 17 / 18 / 24H SUPPORT SLA / ETIMS COMPLIANT / M-PESA DARAJA API / KRA-READY / PAYE · NSSF · SHIF · HELB / SACCO & BANKS / WHATSAPP CLOUD API / OCA-COMPATIBLE / ODOO 17 / 18 / 24H SUPPORT SLA /
01The index

Six services. Pick your starting line.

We deliver these in any combination — a standalone implementation, a customisation sprint, an integration project, or a long-running support retainer. Most engagements blend two or three.

We’d rather build a working module than draft a strategy deck. Every line of code we write is built to survive your Kenyan tax cycle, your monthly M-Pesa reconciliation, and your auditor’s questions in October.

Sahal engineering principle · 001
SVC.0101
Flagship engagement · End-to-end

ERP Implementation

Stand up Odoo as your operating system — sales, inventory, accounting, HR, manufacturing, and the apps that actually fit how your team works in Nairobi, Mombasa, or Kisumu.

/ THE CORE STACK

A working ERP across every department, configured for how you actually run.

We configure the apps your business actually runs on, wire them to your bank, your KRA account, and your M-Pesa till, then train the team that uses them daily.

Sales Inventory Accounting HR & Payroll Manufacturing Invoicing Purchase CRM
/ THE APPROACH
Phased.
Documented.
Owned.

Every implementation moves through the same four stages, with written sign-off between each. No surprises, no scope drift.

01
Discovery
02
Build
03
UAT
04
Go-live
/ WHAT YOU GET

A production system, not a sandbox.

Live Odoo instance, configured for your chart of accounts, your warehouses, your tax rates, with post-launch hyper-care included.

/ DEPLOYMENT

On-prem, Odoo SH, or self-hosted.

We’ll recommend based on your data residency, audit, and budget needs — not based on what earns us a kickback.

/ COMPLIANCE
eTIMS

Native invoicing day one.

/ POST-LAUNCH
Hyper-care

On the floor with your team, included.

/ ON-CALL
24H

First-response SLA.

SVC.0202
Build the missing bits

Customisation & Odoo Apps

Stock Odoo gets you most of the way. We build the modules, workflows, and reports that close the gap — without forking core or breaking your upgrade path.

STOCK ODOO · OUT OF THE BOX

Generic. Global. Close but not quite.

No eTIMS invoice format, no KRA submission flow
M-Pesa reconciliation is manual, line by line
Payroll missing PAYE bands, NSSF tiers, SHIF, HELB
No SACCO contributions, no Sacco loan deductions
Reports don’t match how your auditor wants to see them
AFTER SAHAL · YOUR ODOO

Tuned for the way Kenya actually does business.

+Native eTIMS QR invoices, auto-submitted to KRA on validation
+M-Pesa C2B / B2C reconciled against open invoices automatically
+Full Kenyan payroll stack: PAYE, NSSF, SHIF, HELB, NITA, pension
+SACCO contributions and loan repayments deducted on payslip
+OCA-aligned modules — your upgrade path stays clean
SVC.0303
Make Odoo the centre, not the silo

Integrations

Six production-grade connectors. Each one wired with retry logic, signed callbacks, and a full audit trail in Odoo. When something fails, you know what, when, and how to replay it.

01 Production

M-Pesa Daraja

Safaricom Daraja API. All four flows, end-to-end signed and reconciled.

Flows
STK Push, C2B, B2C, B2B
Auth
OAuth 2.0 + signed callbacks
Retry
Idempotent, exponential
Audit
Per-tx log in Odoo
02 Production

KRA eTIMS

Full OSCU and VSCU device flows. Invoices signed before they leave Odoo.

Devices
OSCU and VSCU
Documents
Sales, credit, debit notes
VAT
Standard, zero, exempt
Audit
Signed payloads archived
03 Production

Banking

Equity, KCB, Co-op, NCBA, ABSA, DTB. Statement ingestion and auto-reconciliation.

Banks
6 Kenyan banks supported
Feeds
CSV, MT940, JSON API
Reconcile
Auto-match by rules
Cadence
Daily or on-demand
04 Production

WhatsApp Cloud

Order confirmations, invoices, payment links, support threads. Cloud API native.

Use cases
Notifications, support
Templates
Pre-approved, parameterised
Inbound
Routed to Odoo discuss
Audit
Thread log per contact
05 Production

KRA PIN & iTax

Validate counterparty PINs at point of entry. Block invalid PINs before invoicing.

Lookups
Real-time PIN validation
Cache
24h, refresh on demand
Fallback
Queue if iTax slow
Audit
PIN history per partner
06 On request

Logistics & couriers

Sendy, Pickup Mtaani, Bolt, in-house fleets. Status webhooks into Odoo orders.

Partners
By account, on quote
Events
Picked, in-transit, delivered
Webhooks
Signed, idempotent
Audit
Event log on the order
SVC.0404
From wherever you are now

Data Migration

QuickBooks, Tally, Sage, Pastel, custom spreadsheets, that one Access database from 2014. We move it all into Odoo with the history intact and the trial balance still balancing.

STAGE 01
Audit your source

We map every table, every column, every quirk of your legacy data — the misspelt customer names, the closed prior periods, the GL accounts no one remembers creating.

QuickBooks Tally Sage Excel
STAGE 02
Clean & shape

Deduplication, normalised tax codes, validated VAT/PIN numbers, properly typed dates. Your data lands in Odoo cleaner than it left the source system.

STAGE 03
Dry-run & reconcile

Full migration in a staging instance. We balance trial balances, customer ageing, and stock valuations against your source — before you ever go live.

STAGE 04
Cutover

A single, scripted cutover window. Final delta sync from the legacy system, GL freeze, and switch — usually completed over a weekend.

STAGE 05
Live on Odoo

Monday morning your team logs into Odoo and finds every customer, every invoice, every product, every payslip — right where they expect it.

Odoo 17/18
100%
Historical transactions migrated, not just opening balances. Your audit trail comes with you.
48HRS
Typical cutover window for a mid-size SME — Friday evening to Monday morning.
0DAYS
Of business downtime. Read-only access to your legacy system stays available for 90 days after.
SVC.0505
Adoption is the product

Training & Adoption

A system no one uses is a museum. We train every role — from the warehouse clerk scanning a waybill to the CFO closing a quarter — in the language and the workflow they actually use.

End-user curriculum
FORMAT · DURATION On-site or remote · 2 days per cohort
01
Odoo navigation & mindset
How Odoo thinks about records, forms, filters, and grouping — the model behind every screen.
02
Day-in-the-life workflows
Their actual job, walked through end-to-end — from raising a quote to receiving M-Pesa payment.
03
eTIMS & invoice flow
Issuing a tax-compliant invoice, what the QR means, what to do if KRA submission fails.
04
Mistakes & how to fix them
Wrong customer, wrong amount, wrong product — how to reverse, credit-note, and re-issue cleanly.
05
Mobile & offline use
Using Odoo on a phone, scanning barcodes, working through patchy connectivity in the field.
06
Asking for help the right way
How to file a support ticket that gets resolved fast — screenshots, IDs, and what you tried.

All sessions delivered in English or Swahili. Recordings provided. Refresher session at 30 and 90 days post-launch included.

SVC.0606
After go-live, we stay

Support & Maintenance

A real SLA with humans on the other end — not a ticket form that vanishes into a queue. Four priority tiers, response times we publish, and a named engineer who already knows your instance.

A retainer that gets answered, not parked.

Every support engagement is owned by a named lead engineer who knows your customisations, your integrations, and your edge cases. We don’t rotate tickets to whoever has capacity — you talk to the same people every time.

WhatsApp · Email · Phone Business hours, EAT Critical issues, 24/7 Monthly health report
P1
Critical · System down

Odoo unreachable, payroll can’t run, invoices can’t issue. Business stops.

Response1h
P2
High · Function blocked

A key workflow is broken (M-Pesa reconciliation failing, eTIMS rejecting). Workaround exists.

Response4h
P3
Medium · Degraded

A report is wrong, a screen is slow, a permission isn’t quite right. Annoying, not blocking.

Response24h
P4
Low · Question / request

“How do I…?” — small enhancements, training questions, configuration tweaks.

Response2 days
CARGO / REAL ESTATE & CONSTRUCTION / PHARMACIES / BUS PARCELS / SACCOS / MANUFACTURING / RETAIL & DISTRIBUTION / NGOS & HUMANITARIAN / CARGO / REAL ESTATE & CONSTRUCTION / PHARMACIES / BUS PARCELS / SACCOS / MANUFACTURING / RETAIL & DISTRIBUTION / NGOS & HUMANITARIAN /
07Ways to work together

Pick the shape that fits.

Four engagement models, from a one-week diagnostic to a multi-year retainer. Most clients start with a Discovery Sprint, even if they have already decided to build.

M.01 · Fixed scope

Discovery Sprint

Best for
Scoping the work before committing to a build
Duration
1 week
Team
2 senior engineers
Output
Buildable scope + fixed-price proposal
Includes
Process mapping, system audit, written deliverable
Pricing
Fixed fee, credited against project
Book a sprint
M.03 · Ongoing

Retainer

Best for
Continuous improvement once you are live
Duration
Monthly rolling
Team
Same engineers every month
Output
Continuous build, new modules, integrations
Includes
Reserved capacity, quarterly roll-over
Pricing
40, 80 or 160 hours per month
Start a retainer
M.04 · SLA-backed

Support SLA

Best for
Teams already running on Odoo (us or someone else)
Duration
12-month term
Team
Named lead + secondary engineer
Output
Predictable ops, monthly health report
Includes
WhatsApp, email, phone. 24/7 for P1
Pricing
Tiered, 1 hour to 2 day response
Get an SLA
What we do
Odoo Community & Enterprise (v17 & v18) implementations end-to-end
Custom modules built OCA-aligned, so upgrades don’t break you
Kenyan compliance: eTIMS, KRA, PAYE, NSSF, SHIF, HELB, NITA
Integrations that survive failure — signed webhooks, retries, audit logs
What we don’t do
Sell licenses we can’t support — we won’t recommend Odoo if it’s wrong for you
Hand your project off to junior staff after the SOW is signed
Fork Odoo core in ways that orphan your future upgrade path
Charge for “strategy decks” that don’t produce a buildable scope
/ NEXT STEP

Let’s scope it
in a single call.

Nairobi · Kenya · +254 Response within 24h, every weekday
/Get in touch

Let's discuss
your project.

Reach us through any channel, or use the form. Every enquiry gets a real reply from a real Odoo consultant within 24 hours.

What happens next
  1. 1
    You write to us. Form, email, or WhatsApp. ~5 min
  2. 2
    We reply. Real questions, not a pitch. within 24h
  3. 3
    We meet. 45 minutes, no charge. within a week

Begin a project

Replies within 24h

By submitting, you agree to be contacted about your project. We never share enquiries with third parties.

Thanks. We've got your note.

An Odoo consultant will reply within 24 hours, weekdays.