Chat on WhatsApp →
Enterprise API Platform

We build the
backend that
powers your
digital business

Technova Solutions delivers production-ready ASP.NET Core 8 REST APIs — covering your full ERP from access control, HR, inventory, invoicing to M-Pesa Daraja 2.0 and PayPal. Your team builds the frontend. We handle everything else.

Paybill 4148195 live & active · Daraja 2.0 certified · Based in Nairobi
technova-solutions.co.ke · live
M-Pesa B2C
Login + OTP
RBAC
// Approve B2C payout — gated by RBAC
[RequiredPermission("payouts.approve")]
POST /api/v1/payment/payout-mobile-approve

{
  "paymentid": "PAY-2025-001",
  "isapproved": true,
  "phone": "254718787422"
}

// Safaricom confirms:
  "message": "Request accepted"
12+
ERP Controllers
200+
Secured Endpoints
M-Pesa
Daraja 2.0 Certified
RBAC
Policy-Driven Auth
99.9%
Uptime SLA Target
The Problem We Solve

Stop building from
scratch every time

Building an ERP backend from zero takes 12–24 months and millions of shillings. Technova delivers a battle-tested, fully documented platform you own outright — deployed and ready in weeks.

❌ Without Technova

6–18 months of backend development before your product launches
M-Pesa integration takes weeks to get right — callbacks, reversals, reconciliation
Security holes from DIY auth — no proper RBAC, no OTP, no session tracking
HR, inventory, invoicing each built separately, no unified data model
No multi-tenant support — one client's data bleeds into another's
Paying a developer team KES 500K+ per year for maintenance

✓ With Technova APIs

12 production-ready controllers, 200+ endpoints delivered and documented
Full M-Pesa stack: STK Push, C2B paybill, B2C payouts, result callbacks, Hangfire reconciliation
Enterprise RBAC — [RequiredPermission] attribute on every route, OTP + JWT sessions
Unified ERP data model — HR, inventory, invoicing, GL all share one clean schema
Multi-tenant by design — each org sees only its own data, enforced at DB level
You own the source code — no monthly SaaS fees, no vendor lock-in
01

Production-Grade from Day One

Every endpoint has proper auth, error handling, input validation, and consistent JSON responses. No tutorial-level code — this is what real enterprise software looks like.

02
🔐

Security You Can Trust

Bearer JWT + Basic auth, OTP email verification, policy-based RBAC with [RequiredPermission] on every sensitive route, whitelist-validated actions, and session IP/device tracking.

03
🏦

Real M-Pesa — Not a Wrapper

We implement the full Daraja 2.0 stack end-to-end. Paybill 4148195 is live. B2C result callbacks dynamically parse Safaricom's JSON. Hangfire jobs handle reconciliation automatically.

04
📱

Any Frontend, Any Platform

Pure REST APIs with CORS configured. Your React, Vue, Flutter, or mobile team hits the endpoints. Swagger docs auto-generated. No framework coupling whatsoever.

05
🌍

Built for East Africa

M-Pesa, multi-currency, timezone support, KES pricing. We understand local business requirements — VAT, PIN numbers, KRA compliance hooks, local bank integrations.

06
📦

You Own It Outright

Full source code delivery. No monthly licensing. No SaaS fees. No vendor lock-in. Deploy on Azure, AWS, your own server — your infrastructure, your rules.

Full ERP Coverage

12 modules.
Every workflow covered.

All versioned at api/v1/[controller]. All secured. All documented with Swagger.

01
🔐

Access Control

JWT + Basic auth, OTP flows, member lifecycle — register, approve, activate, suspend, delete with email notifications and session tracking.

LoginOTP VerifyApproveActivate
02
🏢

Organization

Multi-tenant org setup, branches, departments, currencies, timezones, subscription plans, GL account mapping and domain email config.

BranchesDepartmentsSubscriptions
03
👤

Customers

Full CRM — customer types, groups, account settings, credit limits, payment reminders, statement generation, late fee rules.

GroupsApprovalsReminders
04
📦

Inventory

Items, variants, batches, serials, warehouses, UOM, price lists, valuation methods, stock ledger, reorder alerts and movement history.

ItemsVariantsStock Ledger
05
📄

Invoicing

Full invoice lifecycle — draft, confirm, void, duplicate. Line items, shipping, multiple payment methods, HTML PDF preview, activity audit logs.

CreateConfirmVoidPDF
06
💳

Payments

M-Pesa STK Push, C2B paybill confirmation, B2C payouts with RBAC approval, PayPal OAuth integration, payment modes and payout reconciliation.

STK PushB2CPayPalPayout
07
📊

Accounting

Chart of accounts, account types, root types, house banks, cost centers, GL journal entries — full double-entry foundation ready for your reporting layer.

COABanksCost Centers
08
👥

HR & Leave

Employees, positions, salary grades, leave types, leave requests, entitlements, accruals, balances, ledger reports and approval email flows.

LeaveEntitlementsReports
09
📋

Purchase Orders

Supplier management, PO creation with line items, submit → approve → cancel workflow, goods received notes, stock auto-update on receipt.

PO SaveSubmitApprove
10

Quality Control

QI templates, inspection references, inspection items with min/max acceptance criteria and operator review workflow for goods received.

TemplatesItemsReferences
11
📁

Documents

File uploads with format and size validation, document titles, HTML email templates with placeholder injection, invoice PDF preview and download.

UploadValidateTemplates
12
📬

Communication

Message types, HTML email templates, send channels, messaging rules, OTP emails, approval notifications and complete message history.

TemplatesRulesSend Email
How It Works

From zero to authenticated user
in 7 API steps

The complete onboarding journey — built into the platform. Your frontend just calls the endpoints.

STEP 01
🔍
Reference Lookups
Fetch business types, currencies, timezones, industries for registration forms
Public
STEP 02
✉️
Email Validation
Real-time MX/DNS check via POST /emails/validate before form submit
Public
STEP 03
🏢
Org Registration
Self-register with 11 required fields. Status = Pending. No auth needed.
Public
STEP 04
Admin Approval
Admin calls /organization-action with whitelist-validated action. Status → Approved
Bearer
STEP 05
👤
Member Creation
Create user with email, name, phone, user type. Status = Pending.
Bearer
STEP 06
🔑
Activate Account
Approve → sends OTP. User activates with OTP + username + password.
Bearer
STEP 07
🛡️
Login + OTP Verify
Basic auth → JWT + OTP email. POST /verify/{otp} → fully authenticated.
Basic→Bearer
Payment Integration

Lipa na M-Pesa
— the full Daraja stack

We implement the complete Safaricom Daraja 2.0 suite — not just STK Push. C2B paybill confirmation, B2C payouts with JSON result callback parsing, payout approval workflows, and Hangfire reconciliation jobs run automatically.

Most developers spend 2–4 weeks wrestling with M-Pesa integration. We've already done it. The full stack is tested, live, and waiting for you.

Paybill 4148195 · Live & Active
STK Push C2B Confirmation B2C Payout B2C Result Callback Query Status Reversal Hangfire Jobs
Call for M-Pesa Demo WhatsApp Us →
01

OAuth Token Management

Auto-refreshing access token cached with Redis — zero latency on retries and concurrent requests.

GET /oauth/v1/generate?grant_type=client_credentials
02

C2B Paybill Confirmation

Real-time webhook receives payment, saves transaction, and updates account ledger automatically.

POST /api/v1/payment/confirmation-technova-solutions
03

STK Push Initiation

Password = Base64(ShortCode+Passkey+Timestamp) generated server-side. No key exposure to client.

POST /api/v1/payment/payment-simulate
04

B2C Payout Approval

RBAC-gated initiation + two-step approval. B2C result callback dynamically parses Safaricom JSON fields.

POST /api/v1/payment/payout-mobile-approve
05

Hangfire Reconciliation

Background jobs automatically reconcile pending transactions, retry failed callbacks, and flag exceptions.

Hangfire background scheduler · auto-running
Security Architecture

Enterprise RBAC
— granular access on every route

Custom [RequiredPermission] attribute enforces permission checking on every sensitive endpoint. Roles → Permissions → Members — fully configurable per organization with no hardcoded rules.

Role Permission Matrix

👑 SuperAdmin
adminreadwritedelete
🏢 Manager
readwritedelete
💳 PaymentManager
readwrite
📦 InventoryManager
readwrite
👤 Customer
read
🔍 Auditor
read
Consolidated Permission Pattern
"branch.manage" replaces the verbose "branch.create, branch.edit" — one permission per resource type, clean and consistent across all 12 controllers. Every permission is configurable per role, per organisation.
// paymentController.cs

[Authorize(AuthenticationSchemes = "Bearer")]
[RequiredPermission("payouts.approve")]
[HttpPost("payout-mobile-approve")]
public async Task<IActionResult>
  ApproveMobilePayoutAsync(...) {...}

// organizationController.cs
[RequiredPermission("branch.manage")] // create+edit
[RequiredPermission("department.manage")]
[RequiredPermission("status.manage")]

// accesscontrolController.cs
[RequiredPermission("member.manage")]
[RequiredPermission("member.action")]
[RequiredPermission("rolepermission.map")]
[RequiredPermission("memberrole.manage")]
Live Endpoint Reference

200+ production endpoints

All versioned at api/v1/[controller]. All documented in Swagger. Select a module to browse.

Access Control
Organization
Payments
Inventory
HR & Leave
Invoicing
GET/accesscontrol/loginBearer
Basic Auth → issues JWT + OTP + captures session device info
POST/accesscontrol/verify/{otp}Bearer
Verify OTP — returns userid + name + verified = true
POST/accesscontrol/memberBearer
Create / update member [member.manage]
POST/accesscontrol/member/{code}/actionBearer
Lifecycle: Approve, Activate, Suspend, Deactivate, Delete
POST/accesscontrol/member/{code}/resend/activationBearer
Resend activation OTP — checks status = Approved
POST/accesscontrol/role/{code}/permissionsBearer
Bulk-assign permissions to role [rolepermission.map]
GET/accesscontrol/member/{code}/permissionsBearer
Member effective permission list across all roles
GET/accesscontrol/domains/accessPublic
Check if domain is allowed — cached domain whitelist
// Login response (200 OK):

{
  "token": "eyJhbGci...",
  "token_expires_in": 3600,
  "otp": "847291",
  "otp_expires_in": "5 minutes",
  "session": {
    "ipaddress": "41.222.10.5",
    "latitude": "-1.2921",
    "deviceinfo": "Windows"
  },
  "message": "OTP sent to email"
}
Technology Stack

Enterprise-grade foundations

Every technology chosen for production reliability, long-term support, and developer ecosystem depth.

🔷
ASP.NET Core
v8.0 LTS
🗃️
SQL Server
2022
📦
Entity Framework
Core 8
🛂
JWT Auth
Bearer + Basic
📱
Daraja 2.0
M-Pesa Full Stack
💰
PayPal
REST OAuth SDK
🔁
Hangfire
Background Jobs
Redis
Token Cache
📖
Swagger
OpenAPI 3.0
🐳
Docker
Containerized
☁️
Azure
App Service
🧪
xUnit
Unit + Integration
Why Clients Choose Us

Built by engineers who
understand East African business

🏆 Source Code Ownership

You receive the complete, uncommented, production source code. No black-box dependencies. No monthly licensing fees. Deploy anywhere — Azure, AWS, your own VPS. We hand it over and walk you through the architecture.

100%
Code Ownership — no strings attached

📞 Local Support — EAT Timezone

We're in Nairobi. When your M-Pesa callback stops working at 11 PM EAT, you reach us on WhatsApp — not a support ticket queue in a different timezone. Real engineers, real availability, real answers.

EAT
East Africa Time — always available

⚡ Weeks, Not Months

Because the hard work is already done. The auth system, the RBAC engine, the M-Pesa stack, the GL foundation — these are production-tested and ready. Your customization needs days, not months of greenfield development.

2–6
Weeks from contract to deployment

🔒 No Vendor Lock-In

Standard ASP.NET Core 8. Standard SQL Server. Standard Docker. No proprietary frameworks, no obscure ORMs, no custom build tools. Any .NET developer you hire tomorrow can read, extend, and maintain the codebase.

0
Proprietary dependencies in the stack
Investment

Transparent pricing.
You own the result.

All packages include full source code delivery, Swagger documentation, deployment support, and a support period. All prices in KES. No hidden fees.

Starter API
KES 80K
One-time · select modules · you choose
  • ASP.NET Core 8 REST API setup
  • SQL Server + EF Core configuration
  • JWT + Basic auth + OTP flow
  • RBAC — up to 5 roles configured
  • M-Pesa STK Push integration
  • 3 ERP modules of your choice
  • Swagger documentation
  • 30-day support & bug fixes
Good for: startups & MVPs that need a solid auth + payment foundation fast.
Get Started →
Enterprise Retainer
Custom
Monthly retainer · ongoing partnership
  • Everything in Full ERP Platform
  • Dedicated DevOps + maintenance engineer
  • Custom module development — your spec
  • Multi-tenant SaaS architecture
  • SLA monitoring + automated alerting
  • Quarterly security audits + pen testing
  • White-label option available
  • Priority WhatsApp & call support
Best for: agencies & software houses that resell ERP platforms to their clients.
Talk to Us →
Get In Touch

Let's build your
next project

Based in Nairobi. Working with businesses across Kenya, Uganda, Tanzania, and beyond. Whether you need a complete ERP platform or M-Pesa integration only — let's have a conversation.

We respond to all inquiries within 24 hours. WhatsApp is the fastest way to reach us.

Phone / WhatsApp

+254 718 787 422

Location

Nairobi, Kenya · Remote-first

Working Hours

Mon–Fri 8 AM – 6 PM EAT
WhatsApp: extended hours

✓ We respond within 24 hours · ✓ No spam · ✓ Free initial consultation

Start Building Today

Ready to power your
digital business?

Stop building from scratch. Stop waiting months for a working backend. Get a production-ready ERP API platform you own outright — deployed and documented, in weeks.

Call +254 718 787 422 WhatsApp Now → ✉ Email Us