User Manual

Download PDF

A complete guide to registering, licensing, and operating every module of KoroERP.

1. Getting Started

1.1 Registration

Open Koro Business on the web or your device. On the sign-in screen, click Create an Account.

Koro Business sign-in screen
The sign-in screen. New businesses start with Create an Account.

Fill in the registration form:

  • First and last name of the person setting up the business.
  • Email address — use a real, working address. It becomes your administrator username and is sent to the payment provider at checkout.
  • Password and confirmation. You use this password to sign in.
  • Phone number, with the country code selected from the list.
  • Business name.

Tick I agree to the Terms of Service and Privacy Policy, then click Create Account.

Completed registration form
A completed registration form.

You are taken straight to Set up your workspace, which has three steps: choose a plan, configure the workspace, and pay (paid plans only).

If you started signing up earlier and didn't finish, register again with the same email and password. When Account already exists appears, click Continue setup, enter the code sent to your email, and you will be taken back to where you left off.

1.2 Choosing a Plan and Modules

First choose Free trial (30 days, no payment) or Paid subscription. For a paid subscription, choose Monthly or Yearly billing, then pick a plan. Plans differ in the number of included users and module slots; Enterprise has unlimited users and modules.

Choose your plan step
Choosing a paid Enterprise plan.

Below the plans, under Available modules, tick the modules you need, or use Select all. Each module uses one slot on plans with a slot limit. On Enterprise every module starts ticked; untick any you don't want. Authentication, Analytics, Documents and Monitor are always included. Click Continue.

Next, Configure your cloud workspace:

  • Business details — business email, phone and address.
  • Country, currency and time zone used across the workspace. Choosing a country fills in its currency; you can change it.
  • Workspace code and Workspace URL name — generated for you; change them if you prefer.
  • Administrator username — leave it as your email unless you want a shorter name.
  • Managed services — choose how Email, SMS and Payments (Paystack) are handled: Disabled, Koro Managed (usage is charged to your service wallet) or Own provider. You can change these later.
Configure your cloud workspace step
Workspace settings for a Kenyan business.

1.3 Purchasing a License

On the Complete payment step, choose a payment method:

  • M-Pesa — enter your Safaricom number; an STK Push is sent to your phone. Approve it with your M-Pesa PIN.
  • Paystack — pay by card. Choose to be charged in USD or KES.
  • PayPal — redirects you to PayPal for checkout.
Complete payment step
Paying with Paystack in Kenyan shillings.

Click Pay now and complete the payment in the window that opens. When you return, click Check status if the page has not moved on by itself. Once the payment is confirmed, your workspace is created and your licence is activated automatically.

Your workspace is ready
Setup is complete.

Click Continue to Business sign in and sign in with your administrator username and password. The dashboard shows a summary card for each module you licensed.

Koro Business dashboard
The dashboard after first sign-in.

Checking and changing your licence

Go to Licence → Status to see your plan type, days left, user limit and every enabled module.

Licence status page
Licence → Status lists the modules your licence includes.

To add modules later:

  1. Click Upgrade Modules on the Licence Status page (or open Licence → Discover Modules).
  2. Choose your plan, then tick the modules to add. Modules a selection depends on are added automatically and shown with a lock. AI Pro and AI Studio are add-ons that do not use a module slot.
  3. Click Review Order. You pay only the difference for the days left in the current term; your renewal date does not change.
  4. Click Confirm & Pay, choose a payment method and click Pay Now.
Selecting modules to add
Selecting modules on the Enterprise plan.
Review and pay a licence change
Review & Pay shows the monthly total and what is due now.

The new modules appear in the sidebar and on the dashboard as soon as the payment is confirmed.

1.4 Downloading & Installing the License

  1. Go to Portal → Licenses
  2. Click Download on your active license
  3. A .lic file will be downloaded to your computer
  4. In your ERP admin panel, go to Settings → License
  5. Click Upload License and select the .lic file
  6. The system verifies the RSA-2048 signature and activates your purchased modules
  7. A green License Active badge confirms success. Each module tile in the sidebar becomes clickable.

Licenses are tied to your domain. If you migrate to a new server, re-download the license from the portal — re-upload is free and instant.

1.5 First-Day Checklist

After your license is active, complete this checklist to reduce setup errors later:

  1. Set your company profile (name, logo, address, tax info) in Settings → General.
  2. Configure your default currency, fiscal year, and timezone before creating transactions.
  3. Invite key users and assign roles in Settings → Users & Roles.
  4. Enable security controls such as MFA for all admin accounts.
  5. Import master data (customers, suppliers, products, employees) using CSV templates.
  6. Connect communication channels (SMTP, SMS, WhatsApp if available) under integrations.
  7. Run a small end-to-end test: create a record, approve it, and generate a report.

1.6 Choosing Your App and Web Access

Koro Business is the main ERP workspace. Companion apps give customers, sellers, partners, cashiers, families, and staff a focused view of the workflows relevant to them. Choose by both the organization's selected modules and the person's role, not simply by which link opens.

Three access requirements: the organization needs an active licence for the relevant module; the user needs an authorized role and permissions; and workflows such as teacher, parent, employee, driver, or supplier access need the corresponding linked profile. Selecting a module does not automatically create those accounts or make every app available. Multiple selected modules can expose several workspaces in the same app, without requiring separate installations for each module.

Koro Business: Administration and Internal Operations

Use Business for organization setup, user and permission management, module configuration, approvals, reporting, and authorized internal operations. It covers the licensed ERP modules, including HRM, accounting, CRM, sales, SCM, POS administration, e-commerce, manufacturing, LMS, project management, logistics, healthcare, wellness, and the other module guides below. Managers and operational users see only what their role permits; eligible employees can also access internal self-service.

Your administrator supplies the Business address. Koro Cloud may use a tenant-specific address such as https://your-organization.erp.koroworks.com/; use the actual address issued for your tenant, not a guessed subdomain. Business is separate from the Tenant Portal, which handles subscriptions, licences, billing, and deployment settings.

Koro Hub: Customers and Service Users

Open Koro Hub when you are a customer rather than an ERP operator. E-commerce supports browsing published storefronts, shopping and customer orders. Healthcare and wellness support the customer-facing services and bookings the organization has published. A module licence alone does not publish a storefront or service; the organization must configure its customer offering first.

Koro Merchants: Sellers on the Commerce Platform

Open Koro Merchants for seller-facing e-commerce workflows: merchant onboarding, storefront and catalogue publishing, order management, earnings, payouts, carriers and shipping profiles. Use it when an organization supports merchant sellers. It is not the customer shopping app or the general procurement portal. Registration and onboarding depend on the organization's configuration and approval rules.

Koro Partners: Suppliers and Project Collaborators

Open Koro Partners for external B2B collaboration. With SCM, suppliers handle procurement and invoicing workflows assigned to them. With project management, linked project clients or invited guests collaborate on the projects they are permitted to access. An external supplier or project invitation does not give access to the organization's full ERP. Merchant sellers should use Merchants instead.

Koro POS: Cashiers and Sales Terminals

Open Koro POS when the POS module is selected and a user needs cashier or terminal operations, such as checkout and retail sales. Administrators prepare stores, products, pricing and user access in Business. POS is the focused sales-terminal app, not a replacement for accounting or back-office administration. A POS deployment does not by itself require merchant or customer shopping apps.

Koro School: Students and Parents

Open Koro School for LMS student and parent access. Users need school-created or approved accounts linked to the appropriate student or parent records. They access the learning and school information made available to their role, such as assignments, submissions and reports. Teachers use Staff for their work; school administrators configure and manage LMS in Business.

Koro Staff: Employees and Specialist Staff

Open Koro Staff for focused staff workspaces. HRM enables employee self-service such as leave, attendance and payslips where configured. LMS enables teacher workflows. Logistics enables driver assignments and delivery work. Healthcare and wellness enable their authorized staff workflows. Users need the relevant role and linked staff record; selecting an unrelated module does not enable these workspaces. Managers may still use Business for broader administration and approvals.

Examples: Which Apps Do You Need?

  • School with LMS and HRM: Business for administrators, School for students and parents, Staff for teachers and employee self-service.
  • Retailer with POS and accounting: Business for management and accounting, POS for cashiers. Add Hub for online customers and Merchants for seller workflows only when e-commerce is selected and configured.
  • Clinic or wellness provider: Business for administration, Staff for authorized practitioners or operational staff, and Hub for published customer-facing services.
  • SCM or project organization: Business for internal teams, Partners for linked external suppliers or project clients/guests. Add Staff driver access when logistics is selected and drivers are configured.
  • Accounting, manufacturing, or another back-office-only deployment: start with Business. Install companion apps only when your selected modules and user workflows need them.

Sign In to the Correct Organization

  1. Ask your organization for the correct app and an account or invitation. A licence alone does not create a login for each person.
  2. Open the shared app link and sign in with your organization-provided credentials. If a tenant or school code is requested, obtain it from your administrator.
  3. Where customer or merchant registration is offered, follow that app's registration or onboarding flow. Other roles may require administrator-created accounts and linked profiles.
  4. If you cannot access a workspace, ask the administrator to check your role, linked employee/student/parent/supplier profile, and the organization's active licence.

For self-hosted installations, use the app URLs supplied by your ERP administrator, not these Koro-hosted addresses. ERP Business access and the Tenant Portal for billing and licences use their own addresses. You can also find these links on the Downloads page.

2. Module Guides

2.1 HRM — Human Resources

Manage the complete employee lifecycle from onboarding to payroll. Open HRM → Dashboard for headcount, leave and payroll figures, and quick actions for the most common tasks.

HR dashboard
The HR dashboard.

Setting up your organisation

Set these up once, in this order, before adding employees:

  1. Organization Units — under HRM → Setup → Organization Units, add your departments (for example Finance, Sales, Operations). Each unit has a type such as Division, Department, Section or Team.
  2. Positions — under HRM → Setup → Positions, add the job titles in each unit (for example Accountant in Finance).
Organization units list
Departments set up as organization units.
Positions list
Positions linked to their departments.

Adding an employee

  1. Go to HRM → Employees → Add Employee (or click Add Employee on the HR dashboard).
  2. Under Linked Person, search for the person by name, email or phone. If they are not found, click New to create them. A person is shared across modules, so the same record can later be a customer contact or a system user.
  3. Fill in Employment: employee number, organization unit, position, supervisor, hire date, employment type, branch, work location and salary.
  4. Add contact details, then click Save.
Add Employee form
The Add Employee form.

HRM → Employees lists everyone, with search, CSV export and quick view, edit and delete actions.

Employees list
The employee list.

Open an employee to see their profile. The tabs hold supervisors, position history, bank details, contact and emergency details, their system account, leave balances and documents.

Employee profile
An employee profile.

What else HRM covers

  • Employees: Create and maintain profiles with personal, employment, and contract details. Attach documents (contracts, IDs, certificates).
  • Departments & Positions: Define your org chart; assign reporting lines.
  • Attendance: Clock in/out via web or mobile; auto-generate monthly attendance reports. Supports shift scheduling.
  • Leave Management: Configure leave types and accrual rules. Employees apply; managers approve or reject with comments.
  • Payroll: Define allowances, deductions, and PAYE tax tables. Generate payslips as PDF; export NSSF/SHIF statutory reports.

2.2 CRM — Customer Relationship Management

Track every prospect from first enquiry to closed deal. Open CRM → Dashboard for your customer and lead counts, pipeline value, deals won this month and overdue follow-ups, with quick actions for the most common tasks.

CRM dashboard
The CRM dashboard.

How records move through CRM

  1. Lead — someone who has shown interest but is not yet qualified.
  2. Contact — a qualified person you have a relationship with. Open a lead and click Convert to Contact.
  3. Customer — an organization or individual who buys from you. Open a contact and click Convert to Customer.

Converted records drop off the Leads and Contacts lists; tick Show converted to see them again. Leads, contacts and customers are linked to a person or organization, which is shared across modules, so the same person can also be an employee or a system user.

Adding a lead

  1. Go to CRM → Leads → Add Lead (or click New Lead on the CRM dashboard).
  2. Under Linked Person, search by name, email or phone, or click New to create the person.
  3. Enter the Company, where the lead came from (Source), its Status (New, Contacted, Qualified or Unqualified) and the Owner.
  4. Optionally set a Next Follow-up date with notes, then click Save.
Add Lead form
The Add Lead form.
Leads list
Leads with their source and status.
Contacts list
Contacts not yet converted to customers.

Customers

CRM → Customers → Add Customer creates a customer directly. Choose Organization or Individual, link the organization or person, and set the Segment (SME, Enterprise, Individual or Government), address and website. Customers created by online-shop guest checkouts are hidden by default; use Guest customers to include them.

Customers list
Customers and their segments.

Opportunities and the pipeline

An opportunity is a deal you are pursuing. Add one under CRM → Opportunities → Add Opportunity with a title, the customer, its value, stage and expected close date. Stages run Prospecting → Qualification → Proposal → Negotiation → Closed Won or Closed Lost.

Opportunities list
Opportunities with value, stage and close date.

Opportunities → Pipeline Kanban shows one column per stage with its total value. Drag a deal to another column to change its stage.

Pipeline Kanban board
The pipeline board.

What else CRM covers

  • Interactions: Log calls and other interactions against a lead, contact, customer or opportunity.
  • Follow-ups and reminders: Follow-up dates on leads, contacts and opportunities feed the dashboard's task list; set reminder preferences under CRM → Reminders.
  • Campaigns: Plan email, social media, event, print and digital campaigns with dates and budgets.
  • Reports: Pipeline value and deal count by stage, weighted forecast and deal value trend under CRM → Reports, with exports of leads, opportunities, contacts and customers.

2.3 Accounting & Finance

Double-entry bookkeeping for sales, purchases and banking. Open Accounting → Dashboard for money owed to you (AR) and by you (AP), cash at bank, overdue invoices and bills, and year-to-date revenue and expenses.

Accounting dashboard
The accounting dashboard.

Setting up

  1. Chart of Accounts — your workspace starts with a standard chart (assets, liabilities, equity, revenue and expenses). Add or rename accounts under Accounting → Chart of Accounts, or import them from a spreadsheet.
  2. Bank Accounts — add each bank or mobile-money account with its opening balance and the ledger account it maps to. Give each bank account its own ledger account (for example 1121 under 1120 Bank Account) so its balance can be followed separately. The opening balance is posted against Opening Balance Equity.
Chart of accounts
The default chart of accounts.
Bank accounts
Bank accounts with their balances.

Invoicing customers

  1. Go to Accounting → Invoices → Create Invoice.
  2. Pick the Customer (customers come from CRM), check the invoice and due dates, and add a line for each product or service with its quantity and unit price. The invoice number is generated for you.
  3. Save the invoice. It stays a Draft until you send it.
  4. Open the invoice and click Send. Its PDF is saved to the invoice's documents and the sale is posted to the ledger.
Create Invoice form
Creating an invoice.
Invoices list
Invoices move from Draft to Sent, Partially paid and Paid.

From an invoice you can Record Payment (choose the bank account the money went into; with only one bank account it is chosen for you), Issue Credit Note to reduce or cancel what the customer owes, or Void it. The balance due updates as payments and credit notes are applied.

Invoice detail
A part-paid invoice with its balance due.
Payments list
Customer payments against invoices.

Paying suppliers

  1. Add each supplier under Accounting → Vendors.
  2. Record their invoices under Vendor Bills → Add Bill, choosing an expense account for each line. You can also photograph a receipt under Scan Receipts & Invoices to create the bill for you.
  3. Pay a bill under Vendor Payments, choosing the bank account it is paid from.
Vendor bills
Vendor bills with amounts due.

How documents reach the ledger

Invoices, payments and bills post to the general ledger automatically:

  • Invoice sent: Accounts Receivable is debited and Sales Revenue credited.
  • Customer payment: the bank account's ledger account is debited and Accounts Receivable credited. The bank account's balance goes up.
  • Vendor bill: each line's expense account (and tax) is debited and Accounts Payable credited.
  • Vendor payment: Accounts Payable is debited and the paying bank account credited; its balance goes down.
  • Void or cancel: a reversing entry is posted. Entries posted from a document can't be deleted on their own; void the document instead.

For anything else, such as accruals or corrections, add a manual entry under Journal Entries → Add Entry with the amount and the accounts to debit and credit.

Journal entries
Journal entries, including those posted from invoices, payments and bills.

Financial reports

Accounting → Reports shows the Profit & Loss, Balance Sheet and Trial Balance for the period you pick.

Profit and loss report
Profit & Loss for the year to date.

What else Accounting covers

  • Expense Claims: Employees submit claims; finance approves and reimburses them.
  • Bank Reconciliation: Match bank statement lines against recorded transactions.
  • Tax: Tax rates, rules and returns, withholding tax certificates, and KRA eTIMS invoicing.
  • Currency & FX: Exchange rates and revaluation of foreign-currency balances.
  • Assets and Budgets: Fixed-asset register with depreciation, and budgets by account.
  • Treasury: Bank transfers, cash forecasts and intercompany balances.

2.4 Sales

Quote customers, turn accepted quotes into orders, deliver them and invoice them. Open Sales → Dashboard for draft and sent quotes, pending and confirmed orders, and year-to-date sales. Sales uses the products and stock set up in Supply Chain and the customers in CRM.

Sales dashboard
The sales dashboard.

Quoting a customer

  1. Go to Sales → Quotes → Create Quote (or New Quote on the dashboard).
  2. Pick the customer, the quote date and how long it is valid, then add a line for each product with its quantity. Prices come from the product; the quote number is generated for you.
  3. Save. The quote stays a Draft, which you can still edit.
  4. Open the quote and click Mark as Sent once the customer has it.
Create Quote form
Creating a quote.
Quotes list
Quotes with their totals and status.

When the customer accepts, open the sent quote and click Convert to order. The order takes the next order number, and stock is reserved in the warehouse for each line.

Sent quote
A sent quote, ready to convert to an order.

Orders, delivery and invoicing

Sales → Sales Orders lists every order; create one directly with Create Order when there was no quote. Each order line reserves its stock, so the same items can't be promised twice.

Sales orders list
Sales orders.

From an order you can:

  • Create delivery — schedule the delivery in Logistics.
  • Generate invoice — create the customer invoice in Accounting from the order lines (and any delivery fee). Send it from Accounting as usual.
  • Set the order's Status: Pending, Confirmed, Delivered, Completed or Cancelled.
Sales order
An order converted from a quote.

Reports

Sales → Reports shows monthly revenue, sales by product category and top customers, and exports orders, quotes and order lines.

2.5 Supply Chain (SCM)

Products, stock and purchasing. Open SCM → Dashboard for open and overdue purchase orders, the value still to be delivered, active suppliers and goods received this month.

Supply chain dashboard
The supply chain dashboard.

Products and warehouses

  1. Add your Warehouses and mark one as the default; purchase orders are received into it.
  2. Under Products → Categories, group your products (for example Building Materials).
  3. Add each product under Products → Add Product with its SKU, category, unit of measure, selling price and buying price, and whether it can be sold, purchased, or sold in POS and the online shop. Products with sizes or colours can have Variants.
Add Product form
Adding a product.
Products list
Products by category with their prices.

Stock

Inventory → Stock Levels shows the quantity of each product in each warehouse, with batch numbers and expiry dates where you record them. Use Adjust Stock for counts, damage and other corrections. Every change is recorded under Movements: opening stock, goods received, adjustments and stock reserved by sales orders.

Stock levels
Stock levels by warehouse.
Stock movements
Stock movements, newest first.

Buying from suppliers

  1. Add each supplier under Suppliers → Add Supplier, as a company or an individual.
  2. Optionally raise a Requisition for what a department needs, before ordering it.
  3. Create the order under Purchase Orders → Create PO: choose the supplier, add the products with quantities and prices, and any freight, duty or other charges. The PO number is generated for you. Save it as Pending, or Sent once the supplier has it; after that it can no longer be edited.
  4. When the goods arrive, open the order and click Receive goods. The quantities are added to the default warehouse, the products' average cost is updated (freight and other charges included), and the goods are posted to accounting as Inventory against Goods Received Not Invoiced.
  5. Record the supplier's bill in Accounting → Vendor Bills, charging its lines to Goods Received Not Invoiced (2110) so the two balance out.
Suppliers list
Suppliers.
Purchase orders list
Purchase orders with what has been paid and what is still due.
Purchase order
A sent purchase order, ready to receive.

A pending or sent order can also be cancelled with Cancel purchase order. Your company may require a second person to approve purchase orders, receipts or cancellations; those wait in the approval queue until signed off.

2.6 Point of Sale (POS)

Sell over the counter from a till. Open POS → Dashboard for today's sales, transactions and items sold, and revenue this month.

POS dashboard
The POS dashboard.

Setting up

  1. Stores — add each shop with the warehouse it sells from (sales take stock from that warehouse) and its Bank account for takings: card and M-Pesa takings, and the cash banked when a shift closes, go into that bank account.
  2. Terminals — add each till in the store.
  3. Cashiers — add the employees or people who run the tills, with their store and till.
  4. Products — products appear on the till when they are marked Available in POS in Supply Chain.
Store settings
A store with its warehouse and the bank account its takings go into.
Cashiers
Cashiers and their tills.

Running a shift

  1. Under Shifts → Open Shift, choose the till and enter the opening cash float.
  2. Go to New Sale. Scan barcodes or search for products, or pick a category, and tap products to add them to the cart.
  3. Click Complete Order (F9) and take payment by cash, card or M-Pesa. For cash, enter the amount tendered and the change is shown. Print the receipt if needed.
  4. At the end of the day, close the shift and enter the cash counted in the till. The expected cash and any difference are recorded, and the takings above the float are posted as banked.
New sale screen
The sale screen.
Shifts
An open shift on Till 1.

Each sale takes the items out of the store's warehouse and is posted to accounting: cash into Cash in Till, card and M-Pesa to the store's bank account (raising its balance), and the sale to Sales Revenue, with the cost of the goods sold. POS → Sales lists every receipt.

POS sales
Receipts from the till.

2.7 E-Commerce

Sell online from your own storefront, using the products and stock in Supply Chain. Open Ecommerce → Dashboard for revenue, paid and pending orders, refunds and, if you run a marketplace, merchant payouts.

E-commerce dashboard
The e-commerce dashboard.

Setting up a shop

  1. Under Storefronts → Add Storefront, give the shop a name and web address (slug), its currency, how orders can be fulfilled (home delivery, pickup point, locker or digital), and whether guests can check out without an account. Publish it when it is ready.
  2. Add Categories to group products in the shop.
  3. Put products on sale with Products → Publish from SCM, or Publish Product for one at a time: choose the product, its category, the warehouse it ships from, the price, a short description and images, and set it to Published.
  4. Under Settings, set checkout options and delivery charges by country and zone.
Storefronts
A published storefront.
Published products
Products published to the shop.

Orders

Shoppers add products to a cart and check out with their delivery details. They pay with the payment providers you have connected in Payment Gateway (such as M-Pesa or card), or by bank transfer or cash on delivery where you allow them. Ecommerce → Orders lists every order with its customer, fulfilment, total and payment status; open one to follow its delivery.

Online orders
Online orders waiting for payment.

Marketplace

To let other sellers trade in your shop, approve them under Merchants, set your fees, and pay out their earnings from Merchant Payouts.

2.8 Manufacturing

Make your own products from raw materials held in Supply Chain. The Manufacturing home page follows the work in order (set up, plan, make, review) and suggests what needs attention next, such as orders in progress or failed quality checks.

Manufacturing home
The Manufacturing home page, with a count on each step.

Setting up

  1. Products — add the raw materials and the finished goods in Supply Chain first, with their purchase prices. Components are costed at those prices.
  2. Work Centres — add the places where work is done, such as a cutting bay or an assembly line, with their cost per hour and how many units they handle an hour.
  3. Machines — record your equipment, its status and when it was last serviced. Machines under maintenance show as such, and you can schedule preventive maintenance under PM Schedules.
  4. Bill of Materials — for each finished product, add a line per component with the quantity needed for one unit and any expected scrap percentage. A component can itself have a BOM, and the system works through every level.
  5. Routings — list the operations that make the product, in order, with the work centre, the setup time and the run time per unit.
Work centres
Work centres with their hourly cost and capacity.
Machines
Machines and their maintenance status.
Bill of materials
The bill of materials for a shelving unit, with a checklist of what is still to set up.
Routings
A routing for each finished product.

Bill of Materials → Cost Rollup shows what one unit costs in materials, from the current component prices.

BOM cost rollup
The material cost of one shelving unit.

Making products

  1. Under Production Orders → Create Order, choose the product, the quantity and the scheduled start. The order is filled in from the BOM and routing: the components it needs (reserved so shortages show early) and the operations to carry out. MRP Runs can also suggest orders from demand.
  2. Open the order and click Start. The components are taken out of stock and their cost is posted to Work in Progress. If anything is short, the order will not start and lists what is missing.
  3. On the shop floor, Start and Complete each operation; the time taken is recorded against the standard time.
  4. As units are finished, enter the good quantity (and any scrap) under Production Reports and click Report. The units go into stock in the warehouse you choose, with an optional lot number for traceability.
  5. When the run is done, click Complete. The cost moves from Work in Progress to Finished Goods.
Production orders
Production orders: scheduled, in progress and completed.
Production order
An order in progress: 25 of 40 luggage racks made.
Operations and production reports
Operations on the shop floor, and the production reports.

An order can be edited only while it is planned or scheduled; changing its product or quantity recalculates the components and operations. Cancelling an order that has started returns the components for the units not yet made to stock, and moves the cost of the units already made to Finished Goods.

Reviewing costs

When an order is completed, its actual material use and labour time are compared with the standard from the BOM and routing. Cost Variances sums the differences by month: unfavourable variances (more than standard) in red, favourable in green. Production Profitability compares what each product cost to make with what it sold for.

Cost variances
Labour on the shelving run took longer than standard.

2.9 AI Studio

AI Studio has two parts: the AI Assistant, which writes and answers questions about your data, and Models, where you train your own prediction models on your records, such as which customers are likely to stop buying or how much of a product will sell next week. The dashboard counts your models by stage and links to each part.

AI Studio dashboard
The AI Studio dashboard: two trained models, one of them deployed.

Using the AI Assistant

Open AI Assistant, click New Chat and type your request. Choose the mode first:

  • General — drafting and reasoning: emails, letters, summaries, or questions about a file you attach with the paperclip. Drafts are written for your business and end with a placeholder such as [Your name] for you to fill in.
  • ERP Data — questions about your own figures, answered from live data you have permission to see, for example which customers owe you the most, or how much one customer owes. The answer names the data it used. If a question cannot be answered from the available data, the assistant says so and lists what it can answer instead; it never guesses a figure.

Each chat is titled from your first message and is private to you. Rename or delete chats from the menu beside each one, and rate answers with the thumbs to help improve them.

AI Assistant, General mode
A promotional email drafted in General mode.
AI Assistant, ERP Data mode
Which customers owe the most, from the current invoice balances.

Training a model

  1. Under Models → Create Model, choose the task (for example Customer Churn or Demand Prediction), the framework (scikit-learn suits tables of business data), and the column the model should learn to predict.
  2. On the model's Datasets tab, add training data: Upload CSV with one row per example, Fetch ERP Data to pull records from a module (the ERP Data Sources page lists what each module offers), or Add Dataset to enter rows. Every column other than the predicted one is used as an input.
  3. Click Train. The Training tab shows progress and a log. When it finishes, the model shows its score on rows held back from training: validation accuracy for yes/no and category predictions, R² and average error (MAE) for numbers. Feature importance shows which inputs mattered most.
AI models
Models, with their task, framework and status.
Model details
The churn model scores 90% on held-back customers; days since the last order matters most.

Making predictions

Click the play button beside a trained model, or open its Predict tab. Fill in the inputs and click Run Prediction; the result shows with the model's confidence. Earlier predictions are under History.

Prediction
A new customer with few orders and open support tickets is flagged as likely to churn.

To use a model from another system, generate an API key on the model page. The model becomes Deployed and the page shows the endpoint and key to call; revoking the key takes it back to Trained. The HuggingFace Hub page finds pre-trained language and image models to use as a starting point instead of training from scratch.

Usage and provider

Usage shows what the assistant has cost this month and over the last 30 days, by provider and by feature, along with your AI wallet balance and a Top Up Wallet button. Under Provider Settings, choose Managed to use Koro's connection, billed from your AI credits, or Bring Your Own Key to use your own OpenAI, Anthropic or Gemini key and pay that provider directly.

AI usage
AI usage and wallet balance.
AI provider settings
Choosing between the managed connection and your own key.

2.10 Service Desk

Service Desk tracks customer requests and problems as tickets, from the first message to the fix, against response and resolution targets you set. The dashboard counts tickets by status, shows how many are overdue or unassigned, the average time to resolve and the share that missed their target, with the monthly volume and the latest tickets below.

Service Desk dashboard
Today's queue: one critical ticket is past its deadline and one is waiting for an agent.

Setting up

  1. Under Categories, add the kinds of request you handle, for example Delivery, Billing and Product Fault. Reports group tickets by category.
  2. Under SLA Policies, add one policy per priority: the hours allowed for the first response and for resolution, and optionally the hours after which an unresolved ticket is escalated. Tick Business Hours Only to count only working time, so a request that arrives on Saturday is due on Monday. Each new ticket takes the policy for its priority; if none matches, the default times on the settings page apply.
  3. Under Settings, choose the default priority and the ticket number prefix, whether new tickets are assigned automatically, whether agents must pick a category, and whether resolved tickets can be reopened. The SLA tab turns deadline tracking on or off, sets the default times and decides whether the clock stops while a ticket is Pending, and sets your business hours: opening and closing time, working days and time zone. The Notifications tab chooses who is told about new tickets, assignments, replies, breaches and escalations, and by which channel.
SLA policies
One policy per priority; the medium policy counts business hours only.
Service Desk settings
General settings: assignment, categories, reopening, default priority and numbering.
SLA settings
SLA settings with business hours of 8:00 to 17:00, Monday to Friday.

Logging and working tickets

Click New Ticket and enter the title and description, the priority, where the request came from (email, phone, portal, chat or walk-in), the customer's contact details, the category and the agent. Customers can also raise tickets themselves from the help centre; those arrive as Portal tickets. The ticket gets a number and its deadlines straight away, and the customer is emailed the number so they can follow it up.

Ticket list
All tickets with their deadlines; deadlines already missed are shown in red.

Open a ticket to work on it. The buttons along the top move it to its next status: In Progress, Pending (waiting for the customer), Resolved, Closed or Cancelled. Under Conversation, write to the customer with Reply, or choose Internal notes for notes only your team can see. Replies from the customer appear in the same thread.

Ticket conversation
A reply to the customer, an internal note on the faulty batch, and the customer's answer.

A ticket meets its first-response target when an agent first replies or moves it on from Open. It meets its resolution target when it is resolved before the due time. While a ticket is Pending, the clock is paused (unless you turn this off in the SLA settings) and the deadlines move back by the time spent waiting. Tickets that miss a target are marked as an SLA breach and the people set in the notification settings are alerted; tickets past their policy's escalation time are escalated the same way. Changing a ticket's priority applies the deadlines of the new priority's policy.

Satisfaction surveys

Under Satisfaction Surveys, add a survey to ask customers how you did. Choose the type (satisfaction on a 1–5 scale, likelihood to recommend on 0–10, or customer effort on 1–7), the question, an optional comment prompt, and when to send it: when a ticket is Resolved or Closed. Each time a ticket reaches that status, the customer is emailed a link to answer in Koro Hub. The list shows how many surveys went out, how many were answered and the average score. A survey that already has answers is switched off rather than deleted, so its results stay on record.

Satisfaction surveys
Seven customers answered the support survey, scoring 4 out of 5 on average.

Reports and notifications

Reports chart ticket volume by month, tickets by status, priority, category and source, the monthly SLA breach rate and the agents who resolved the most, for any date range. Each chart and the underlying records can be downloaded. The Notifications Log lists every email, SMS or message sent about a ticket, with its delivery status; if one failed, the reason is shown. Email goes out through the provider set up under Notifications, which can be Koro's managed email, billed from your service wallet.

Service Desk reports
Monthly ticket volume and the split of tickets by status.

2.11 Balanced Scorecard (BSC)

The Balanced Scorecard turns your strategy into objectives under four perspectives (Financial, Customer, Internal Business Processes, and Learning & Growth), measures each with KPIs against targets, and tracks the projects (initiatives) meant to move them. Scores roll up from KPIs to objectives and show on the dashboard in the colours of your rating scale.

BSC heatmap
The heatmap: each objective's score, from the master scorecard down to the Sales department.

Setting up

  1. Perspectives, Tiers, the current year's Fiscal Period and the Performance Settings rating scale can be created with their standard values in one click each, then renamed as you like. Tier 1 is the company (master) scorecard, Tier 2 your departments and Tier 3 individual employees.
  2. Under Tiers & Org Units → Org Units, sync your departments from HRM so objectives can be set for each one.
  3. Under Periods & Frequencies → Score Windows, set when goals may be agreed (goal setting) and when scores may be entered (score entry), for all KPIs or one frequency such as monthly or quarterly. Employees can only enter scores while a window is open; administrators can at any time.
Score windows
Goals agreed in January; scores entered in the first ten days of each month.

Objectives, KPIs and initiatives

Add an Objective with its perspective, scope (the whole company, or a department) and owner. Then add its KPIs: the unit, how often it is measured, the baseline (where you started), the target, and its weight in the objective. Choose Inverse for measures where lower is better, such as debtor days or staff turnover. A KPI can be filled in by hand or kept up to date from another module: Accounting revenue, expenses, profit or unpaid invoices; HRM headcount; Sales revenue or quote conversion; or Service Desk tickets resolved and average resolution time.

Use Cascade on a company objective to copy it to a department, which then adds KPIs of its own. Objective plans can be submitted to a reviewer and approved before scores are entered.

Objectives
Objectives with their scores, review status and owners.
KPIs
KPIs against their targets; lower-is-better KPIs such as order lead time are judged the right way round.

Initiatives are the projects behind an objective, with a budget, dates, priority and progress.

Initiatives
Initiatives with their status and progress.

Entering scores

Data Intake lists the KPIs due for the period with their baseline and target; enter each actual and an optional note, and submit. You can also open a KPI and add a reading under Readings, which keeps the history of every period.

Data intake
Entering this period's actuals.
KPI
A KPI with its current score and status.
KPI readings
Monthly revenue readings and their scores.

Each reading is scored and rolled up:

  • The score is how far the actual has moved from the baseline to the target: 0 at the baseline, 100 at the target, up to 200 beyond it (reversed for inverse KPIs). The Score Formula tab of Performance Settings offers other methods.
  • The status compares the actual with the target: Exceeded, On Track, At Risk or Behind, at the percentages set under BSC Settings → KPI Thresholds (105%, 90% and 70% by default).
  • An objective's score is the weighted average of its KPIs' scores, coloured by the rating scale (below 70 red, 70 to 99 amber, 100 and above green by default).

Dashboard

The Heatmap shows every objective's score and colour. Trend shows the average objective score at the end of each month of the year, worked out from the readings. Overview is your own workspace: the objectives and KPIs you own, whether a score window is open, and how your objectives feed the ones above them. Snapshot saves a copy of all scores as they stand, kept under Snapshots.

BSC trend
The average objective score, month by month.

Alerts and data sync

Under BSC Settings, choose whether administrators are alerted to KPIs that are At Risk or Behind and to initiatives past their due date; alerts appear under the bell. On the Data Sync tab, turn on automatic sync, how often it runs, and which modules it may pull from; each sync records the figure as the reading for the current period.

BSC settings
KPI status thresholds.

2.12 Project Management

Project Management plans and tracks work from start to handover: the team, milestones, tasks and the hours spent, and, for work done for a customer or by a supplier, the billing against the project's budget. The dashboard shows active projects, overdue tasks, tasks due today, how much of your customer projects' budgets has been billed, and milestones due this week, with tasks completed each month.

Project dashboard
Two active projects, 70% of the customer project's budget billed.

Creating a project

Click Add Project and choose its kind:

  • Customer project: you do the work and bill a customer, who you pick.
  • Vendor project: a supplier does the work and bills you.
  • Internal project: your own initiative, with no one to bill.

Set the project manager, dates, budget and currency, and whether billing may go over the budget. Under PM Settings → Member roles you can rename the roles people take on projects.

Projects
A customer, an internal and a vendor project.

The project page shows its progress (tasks and milestones done, hours logged, billed and paid), the team, budget changes and linked documents. Add colleagues as members with their role and the share of their time; on customer and vendor projects you can also invite the customer's or supplier's staff to follow the project from the client portal.

Project
The fit-out project: progress, billing and the team.

Milestones, tasks and time

Milestones are the checkpoints the customer cares about, each with a due date and status. Tasks are the work: give each a project, an assignee, a priority, start and end times, and optionally a parent task to break it down. Team members log their hours under Timesheets → Log Time against the project and task.

Milestones
Milestones across the three projects.
Tasks
Tasks with their project, status, priority and due time.
Timesheets
Hours logged in October.

Billing

Under Billing, record what is billed on a project: Money In for what you bill customers, Money Out for what suppliers bill you, each with the amount, date and description. A customer billing becomes an invoice to that customer in Accounting, numbered with your other invoices; a vendor billing becomes a bill from the supplier. Record payments against a billing and the invoice or bill is marked paid in Accounting too. If the project enforces its budget, billing beyond it is refused.

Project billing
Money In: the deposit (paid) and progress invoices to the hotel group.

Reports and statistics

Reports chart tasks by status, projects by status, milestones completed each month, and budget against billing for each open project. Statistics compares projects side by side: tasks, hours and money billed to customers.

Project reports
Tasks and projects by status.
Project statistics
Statistics across all projects.

2.13 Logistics

Logistics runs your deliveries: the vehicles and drivers, what you charge for delivery, the customers you deliver for, and each delivery from request to proof of delivery, with trips that carry several deliveries, fleet costs and customer invoices. The dashboard shows active and delayed deliveries, deliveries completed today, active drivers, requests waiting for pickup and this month's delivery revenue, with the latest requests.

Logistics dashboard
Four deliveries under way, two waiting for pickup.

Setting up

  • Vehicles: registration, type, fuel, payload, odometer, and insurance, road tax and service due dates. A vehicle shows In use while it is on a trip or assigned to a driver.
  • Drivers: your employees, independent drivers (paid a fixed amount or a share of each delivery fee) or a delivery partner's staff, with their licence details. Drivers can use the driver app to see and update their deliveries.
  • Delivery Fees: how deliveries are priced, for example by distance band, per kilometre, by weight or per package, and which channels use the price list: deliveries, online-shop checkout or sales orders.
  • Customers: who you deliver for and how they pay: on delivery, from a prepaid balance, or on a monthly invoice.
Vehicles
The fleet: a truck on the road, a van and a motorcycle.
Delivery fees
Delivery charged by distance band.
Logistics customers
Customers on monthly invoices, a prepaid balance and pay on delivery.

Delivery requests

Under Delivery Requests → New Request, enter the customer, pickup and delivery addresses, receiver, parcels and weight. The delivery fee is worked out from your price list and added to the request: a prepaid customer's balance pays it straight away when it covers it, and an invoiced customer's deliveries wait for their next invoice. Assign a driver, then the request moves through Assigned, Picked up, In transit and Delivered; with proof of delivery turned on under Settings, the driver confirms delivery with a code sent to the receiver by SMS or email, or with a photo. Each delivered request is booked as an invoice to the customer in Accounting.

Delivery requests
Delivery requests at every stage.
Delivery request
A request in transit on the Nyeri trip, waiting for payment.

Trips

A Trip takes one vehicle and driver from an origin to one or more destinations. Add waiting or assigned requests to it; starting the trip puts them in transit and the vehicle in use, and completing it records the end odometer, fuel used and distance and frees the vehicle. Requests already delivered or cancelled can't be added.

Trip
The truck's upcountry run, with the Nyeri delivery on board.

Fleet costs

Record Maintenance with its cost and supplier (completed work updates the vehicle's next service), Fuel Logs for each fill-up, and Incidents such as breakdowns or damaged cargo. Reports chart deliveries by status and month, revenue by route and the on-time delivery rate.

Maintenance
Services done and booked.
Fuel logs
Fill-ups by vehicle and station.

Invoicing customers

For customers on monthly terms, Invoices → Generate Invoice gathers their deliveries completed in the period into one invoice, which you mark sent and paid as the customer settles.

Logistics invoices
October invoices for the hotel group and the grocer.

2.14 Healthcare

Healthcare runs a clinic or hospital: patients and their medical history, appointments, consultations with vitals, lab tests and prescriptions, admissions to wards, the pharmacy, and billing to patients and insurers. The dashboard shows patients, today's and upcoming appointments, current admissions, lab tests waiting for results, unpaid bills and this month's billing, with the latest appointments.

Healthcare dashboard
The staff clinic on a Saturday morning: three appointments today and one patient admitted.

Setting up

  • Hospitals & Branches: add your facility and at least one branch before anything else. With several branches, choose the branch you are working in; patients, staff and records belong to it.
  • Departments, Wards and Beds: install the starter departments, then add wards with their beds and the daily charge for a bed.
  • Clinic Staff: doctors, nurses, lab technicians, pharmacists and front-desk staff, picked from your employees or from people already in Koro, with their licence numbers.
  • Service Catalog: what you charge for: consultations, lab tests, imaging, procedures and bed-days. The starter catalogue and pharmacy list come with Kenyan shilling prices; if you bill in another currency they arrive unpriced, so set your prices before you start billing.
  • Billing Config: the currency you bill in (your company currency unless you change it), tax, rounding and invoice numbering. Add Insurance Companies with their usual cover.
Wards
Two wards, with one bed in use.

Patients and appointments

Under Front Desk → Patients, register a patient by picking or adding the person, then their blood group and next of kin; each patient gets a patient number. The patient's chart has tabs for visits, clinical history (allergies, conditions and current medicines) and billing, with any unpaid balance shown at the top. Record their insurance under Patient Policies: the insurer, policy and member numbers and the share of each bill the insurer covers.

Patients
The clinic's patients.
Patient chart
A patient covered by Jubilant Health Insurance, with a co-pay still owed.

Appointments book a patient with a clinician for a service and a time slot; a clinician can't be double-booked. An appointment moves from Scheduled to Confirmed, becomes In progress when the consultation starts and Completed when it is closed; patients who don't come are marked No show.

Appointments
Past visits, today's clinic and next week's bookings.

Consultations

An Encounter is one consultation. Open it from the appointment, then record the complaint, history, examination, diagnosis (with its ICD code) and treatment plan. From the encounter, the nurse records vitals, and the clinician orders lab tests and imaging and writes prescriptions; allergies on the patient's chart are flagged as you prescribe. The consultation fee, tests and dispensed medicines are added to the patient's bill as you go. Closing the encounter completes the appointment and produces the bill; reopen it if more needs adding.

Encounter
A closed consultation for malaria.

In Lab Tests, the lab moves each test through Sample collected and Processing, enters each result with its unit, reference range and a flag (low, high or critical), and marks the test Completed.

Lab test
An HbA1c result flagged high.

Pharmacy

The pharmacist dispenses each medicine on a prescription; dispensing takes it out of stock and adds it to the patient's bill, and the prescription shows Dispensed once every item has been given. Inventory lists your stock with reorder levels, and OTC Sales sells over the counter to walk-in customers.

Prescription
Both medicines dispensed by the pharmacist.
Pharmacy inventory
Stock on hand and reorder levels.

Admissions

Under Front Desk → Admissions, admit a patient to a ward and a free bed under a doctor, with the reason, diagnosis and the insurance policy that covers the stay. Nurses add Nursing Notes during the stay. Transfer moves the patient to another bed, and Discharge frees the bed and produces the final bill, with the bed-days charged at the ward's daily rate.

Admission
An emergency admission covered by the patient's insurer.

Billing and insurance claims

Each bill is split between the insurer and the patient using the patient's policy: an 80% cover leaves the patient a 20% co-pay. Record the patient's payment with Record payment. The insurer's share becomes a draft Insurance Claim. Submit sends the claim electronically to insurers you have connected, and records it as submitted for those who take claims by portal or email. Then record the insurer's decision and, when the money arrives, the payment. Both shares are booked in Accounting as invoices, one to the patient and one to the insurer, so payments from each are applied to the right invoice.

Clinic invoice
The insurer has paid its share; the patient's co-pay is outstanding.
Insurance claims
Claims from draft to paid.

2.15 Hotel

Hotel runs a hotel, lodge or guest house: rooms and rates, reservations from booking to checkout, each guest's folio (their running bill), housekeeping and the restaurant. The dashboard compares your hotels and branches (occupancy, arrivals, departures and today's revenue) and shows the restaurant's takings, orders and best-selling dishes.

Hotel dashboard
Two rooms occupied and two arrivals due at the lodge.

Setting up

  • Settings → Hotels & Branches: add your hotel and at least one branch. With several branches, choose the one you are working in. Here you also choose which payment channels reception accepts; card and mobile-money channels need a connection under Payment Gateway.
  • Room Types: each kind of room with its maximum occupancy and standard nightly rate, in your company currency unless you choose another.
  • Rate Plans: prices for a room type, such as bed & breakfast, full board or a long-stay rate, with a minimum number of nights and the dates they apply.
  • Rooms: each room's number, floor and type. A room shows occupied while a guest is checked in.
Hotel settings
The lodge, with cash and bank transfer accepted at reception.
Room types
Three room types.
Rate plans
Rate plans for each room type.
Rooms
Nine rooms, two of them occupied.

Reservations

Under Reservations → Add New, pick the guest (or add them), the dates, the room type and rate plan, and a room. A room can't be booked twice for the same nights. The total is the nightly rate times the number of nights. A reservation moves from Confirmed to Checked in and Checked out; it can also be Cancelled or marked a No show.

Reservations
Past stays, two guests in-house and the coming bookings.

Stays and the folio

Check In puts the room charge for the whole stay on the guest's folio, marks the room occupied and schedules its cleaning. During the stay, add extras with Add Charge (meals, laundry, transport, activities) and take deposits or payments with Record Payment. Restaurant orders charged to the room at the till appear on the folio by themselves. Check Out frees the room, schedules the checkout cleaning and issues the folio invoice to the guest in Accounting, with their payments applied to it.

In-house reservation
A family's seven-night stay, with a room-service order and a restaurant meal charged to the room.
Checked-out reservation
A completed stay: invoiced and fully paid.

Housekeeping

The Housekeeping board shows the day's tasks (stay cleans, checkout cleans, turndowns, inspections and maintenance) in Pending, In progress, Done and Skipped. Check-ins and checkouts add their cleaning tasks; add others with Add Task and assign them to a member of staff. Pick another date to see that day's tasks.

Housekeeping board
Today's cleaning, turndown, inspection and a maintenance job.

Restaurant

Under Restaurant → Menu, add categories and dishes with their prices, serving sizes and preparation times; dishes can be shown on Koro Hub for guests to pre-order. Dishes are sold at the POS till (Restaurant → Sale), paid on the spot or charged to an in-house guest's room. Dishes are services, so selling them doesn't draw on stock.

Restaurant menu
The lodge menu.

2.16 Agriculture

Agriculture runs crop and livestock farms: fields and seasons, inputs and stores, harvests and produce sales, costs and labour, animals, and the weather. Its money flows into Accounting by itself: produce sales and other farm income become customer invoices, and expenses, inputs bought, vet visits and labour become bills to pay.

The dashboard opens on Today on the Farm: tasks due today and overdue, harvests expected in the next seven days, weather alerts and this month's spending. Below it are the year's figures and Farm Performance, which shows for each season its yield against the target, its cost per hectare and its profit.

Agriculture dashboard
Two jobs overdue, two due today and a French-bean pick coming up.
Farm performance
Season economics: the long-rains maize made a profit of USD 16,606.

Farms, fields and crops

  • Farms: each farm with its location, size and soil. Enter its GPS position to get its weather forecast.
  • Fields: the blocks, greenhouses or paddocks of a farm, with their size and whether they are in use or fallow.
  • Crops: what you grow, with the variety, days to harvest, water needs and best temperature range.
  • Soil Tests and Certifications (such as GlobalG.A.P. or an export licence) are kept per farm. You are alerted before a certificate expires.

Crop seasons

A crop season is one crop on one field for one season, with its planting date, expected harvest date, area and target yield. It is Planned until planting and Growing after; mark it Failed if the crop is lost. Once a harvest is recorded and the expected date has passed, the season shows as Harvested. Duplicate to next year copies a season as a plan for the year after.

The season page brings everything together: the stage and crop age, inputs, total spend, yield against the target, revenue and profit, then the season's tasks and a timeline of its inputs, labour, harvests, expenses and revenue. Plan season (also under Season Planning) builds a budget with expected yield and price, the inputs, work and other costs; once published, each line is confirmed as the work is done.

Crop seasons
Five seasons across the two farms.
Crop season
The long-rains maize: 76.5 tonnes harvested, sold for USD 20,760 against USD 4,154 of costs.

Inputs

Input Inventory is the farm store: seed, fertilizer, chemicals and feed, with the quantity in stock, a reorder level and the unit cost. Items at or below the reorder level are flagged; use Record movement for deliveries, stock counts and transfers. Under Farm Inputs, record what you applied to a season. An input with a cost also becomes a farm expense and a bill to its supplier in Accounting.

Input inventory
The store, with CAN fertilizer below its reorder level.

Harvests, storage and sales

Record each pick or harvest under Harvests: its date, weight, grade, moisture and where it is stored. Then add it to Stored Produce as a lot, with an estimated expiry. Lots shrink as you sell. Record spoilage, transfers and stock counts with Record movement, or Retain as seed to move part of a lot into the input store for next season.

Produce Sales sells from a stored lot: choose the lot, the buyer, the quantity and the price. The quantity comes off the lot, and the sale becomes an invoice to the buyer in Accounting. If the buyer paid on the spot, mark the sale Paid and the payment is recorded against the invoice. Other income, such as milk delivered to a co-operative, goes under Revenue and is invoiced the same way. Market Prices keeps the prices you see at the markets you sell to.

Harvests
Maize, beans and two French-bean picks.
Stored produce
What is left in the grain store after this season's sales.
Produce sales
Sales to millers, the cereals board and the company's shops.

Expenses and labour

Log other costs under Expenses: the category, payee, amount and, if you like, the season it belongs to. Each expense becomes a bill to the payee in Accounting, numbered with the supplier's receipt number when you enter one. Pay expense records a payment (or sends a payout through a connected payment gateway), and the expense shows what is still owed. Labour records casual and contract work by worker, task and hours. Each entry becomes a bill to the worker.

Farm expense
Ploughing on credit: posted to Accounting, still to be paid.

Livestock

Each animal has a profile (tag, name, breed, sex, date of birth, weight, purpose and purchase price), with its health events (vaccinations, treatments and deworming, with the next due date) and its production, such as milk per day. A health event with a cost becomes a vet expense. Register Birth adds the calf to the herd. Mark as Sold, Slaughtered, Deceased or Culled takes the animal off the herd and keeps it in the history; a sale is invoiced to the buyer.

Livestock profile
A Friesian cow with her vaccination and daily milk records.

Tasks, weather and alerts

Farm Tasks lists the work to do, by farm, field and season, with a priority, the person it is assigned to and a due date. Weather Forecast shows the next 24 hours and seven days for a farm. Under Alert Policy, choose who is alerted, how (in the app, by push, email, SMS or instant message) and how many days ahead of harvests, season ends, certificate expiry, produce expiry and animal health checks.

Farm tasks
This week's work on both farms.
Weather forecast
Rain expected at Naivasha all week.

Reports

Reports charts revenue against expenses by month, expenses by category, harvests by season, livestock by species, and revenue and profit by farm. Download any chart's figures, or export the underlying records, as CSV or Excel.

Agriculture reports
Costs from planting in March, sales from July.

2.17 Construction

Construction runs building projects from the bill of quantities to the final claim: sites, materials, site labour and its pay, variations, progress claims and safety. Money flows into Accounting by itself. Certified claims become invoices to the client, delivered purchase orders become supplier bills, and site payroll is booked as wages and cleared when the wages are paid.

The dashboard shows active projects, the site labour force, payroll waiting to be paid, claims not yet paid, the BOQ value still to be built, variations awaiting a decision, this month's safety incidents and advances to workers not yet recovered, with the month-by-month project costs and the latest claims.

Construction dashboard
One project on site, a week's wages to pay and two claims outstanding.

Projects

A project has a code, client, site, contract value and dates. Its page brings together everything about it, in tabs: Overview, Structure, BOQ, Team, Schedule (milestones), Costs (budget lines and costs against them), Procurement, Progress (claims and daily site reports), Safety and Settings. An approved variation adds to the contract value and, if it gives extra days, to the completion date.

Project overview
The pack-house for Lakeview Agro Processors: BOQ, milestones, budget, costs, orders, variations and claims.
Project costs
Budget by category, with 30% spent so far. Site wages are added as costs when a payroll is approved.

Bill of quantities

Start the BOQ from a section template (Simple Building, NRM2, CSI MasterFormat or Uniformat) or your own sections, then add the items: description, unit, quantity and rate. An item's rate analysis builds its rate from materials, labour and plant, plus overheads, profit and wastage. Refresh material prices picks up current material costs, and an item can raise a purchase order for its materials.

Project BOQ
The BOQ by section.

Materials and purchasing

Materials lists what you buy, with the unit cost, supplier, stock and a reorder level. Purchase orders are raised against a project and site. When an order is marked Delivered, its quantities go into stock and the supplier's bill is booked in Accounting. Material issued to the works is recorded as usage on the project and comes off stock.

Materials
Site stock after the steel and roofing deliveries.

Site labour, attendance and pay

Site Labor is the casual, temporary and contracted crew paid through Construction rather than HRM payroll. Each worker has a trade, a daily (or hourly, weekly or task) rate and a pay basis: paid for the days they attend, or a fixed amount. Workers are assigned to projects and grouped in Crews, each led by a supervisor. The Attendance Register records each day's attendance, hours and overtime for a project, crew or supervisor.

A Pay Cycle covers a period (usually a week) for one project. Fill its roster from the project, from attendance, from a crew or from the previous cycle, then generate the payroll. It calculates each worker's pay from their attendance and recovers any advances. Approve the run to book the wages in Accounting and add them to the project's costs. Then pay it, either through a connected payment gateway (for example M-Pesa to each worker) or by recording the payment. Paying clears the wages owed. Advances to workers are recorded under Site Labor Advances and recovered from later pay.

Site labour
The site crew, with their trades and rates.
Attendance register
Today's register: a half day, being Saturday.
Pay cycle
A paid weekly cycle and its roster.
Payroll run
The week's pay per worker, paid by M-Pesa.

Variations

A variation order records a change the client asks for: what is added and what is omitted, priced line by line, with the client's instruction reference and any extra days. It moves from draft to submitted to approved (or rejected), with sign-off by the project manager, quantity surveyor and client. A revision supersedes the earlier version.

Variation order
An extra loading dock and canopy, approved by the client: USD 15,760 and ten more days.

Progress claims

A progress claim (interim payment certificate) values the work done to date, item by item from the BOQ and approved variations, plus materials on site. Each line charges only the work done since the project's previous claim, and retention is held back at the rate you set. The claim moves from draft to submitted, then Certified by the quantity surveyor, engineer or client. Certifying it invoices the client in Accounting for the certified amount. Marking it Paid records the client's payment against that invoice, and the retention stays owed until it is released.

Progress claims
Three claims: paid, certified and submitted.
Progress claim
The second claim: USD 152,500 of work since the first, less 5% retention.

Site records and safety

Under a project, record daily reports (weather, work done and planned, delays and the number on site), equipment use and safety inspections. Safety Incidents records injuries and near misses with their severity, the people involved and the corrective action, until they are closed. Equipment lists owned and hired plant with its daily rate; it can also be registered as an asset in EAM.

Safety incidents
A minor injury, closed, and an open near miss.

Reports

Reports compares each project's costs with its contract value and shows the site labour by trade, monthly payroll and more. Export projects, site labour, equipment, cost entries or safety incidents as CSV or Excel.

Construction reports
Costs against contract value, and the crew by trade.

2.18 Wellness

Wellness runs gyms, studios, spas and salons: membership plans, members and what they owe, room and trainer bookings, and check-ins at the front desk. It can also list your club in Koro Care, the app where people find and book wellness services. Every membership sold is invoiced to the member in Accounting, and each payment is applied to that invoice.

The dashboard shows active members and memberships, what was taken this month, what members owe on instalments already due, overdue instalments, today's bookings, check-ins over the last week and new members this month, with monthly revenue and the latest memberships sold.

Wellness dashboard
USD 76 owed on instalments already due, one of them overdue.

Setting up

  • Settings: whether your club is listed in Koro Care, the kinds of service you offer (gym, yoga studio, spa and so on, with one shown as your main badge) and the message members see at checkout when you take no online payments.
  • Facilities: each branch, with its time zone. One is the default.
  • Membership Plans: what you sell. A plan's type is a day pass, contract, class pack, drop-in or trial. Contracts are billed monthly, weekly or in a set number of instalments; the others are paid at the till. A plan also sets how long it lasts, how many sessions it includes, which branches it gives access to and whether it is shown, with its price, in the members' app.
  • Resources: the rooms, studios, chairs, courts and equipment people book, with their capacity.
Wellness settings
The club listed in Koro Care as a gym, yoga studio and spa.
Facilities
The Nakuru club and the spa at the Naivasha lodge.
Membership plans
Monthly and annual gym memberships, a day pass, class packs and a spa day.
Resources
The gym floor, studio, training zone and treatment rooms.

Members and memberships

A member is a person (shared with the rest of Koro, so a staff member or customer keeps one record), with a member number, home branch, emergency contact and whether they have signed the liability waiver.

Under Memberships → Enrol Member, sell a plan to a member. A day pass, class pack or drop-in is paid in full at the sale. A contract gets a payment schedule; record each payment with Mark paid, or Waive an instalment the member no longer owes. Members can also pay their instalments in the members' app. An instalment still unpaid a week (the grace period) after its due date turns Overdue and the member is reminded.

To end a membership, use Cancel membership: now (the remaining instalments are waived) or at the end of the current term, with the reason and, if you are giving money back, the amount refunded to the member.

In Accounting, the membership is invoiced to the member when it is sold, and each payment is applied to that invoice. A waived instalment is credited with a credit note, so the invoice shows only what is still owed. A refund is recorded as money paid back to the member, with a credit note for the same amount.

Members
Ten members, newest first.
Member
A member's record.
Memberships
What each member bought, paid and still owes.
Payment schedule
An annual membership paid in monthly instalments: eight paid, the rest to come.

Bookings and check-ins

Bookings reserve a resource for a member: a gym session, personal training, a class, a spa treatment or a salon appointment, with its start and end time. On the day, Check In marks the member as arrived; afterwards a booking is completed, cancelled or a no-show. Check-ins records each visit at the front desk, by QR code or by hand, and refuses a member whose plan doesn't cover that branch.

Bookings
This week's training, classes and treatments.
Booking
A massage booked for this afternoon, ready to check in.
Check-ins
Visits at the front desk this week.

Koro Care requests

When your club is listed, people can pick a plan in the Koro Care app and send a request. Koro Care Requests lists them with the plan and contact details. Mark a request contacted once you have called, Convert to member to enrol them on the plan, or cancel it.

Koro Care requests
Three new requests from the app.

Reports

Reports charts monthly payments against refunds, revenue by plan, active members by branch, and new against cancelled memberships each month. Download any chart's figures as CSV or Excel.

Wellness reports
Payments by month since the first annual memberships, and revenue by plan.

2.19 LMS — Learning Management System

  • Create online courses with video lessons, quizzes, and downloadable resources.
  • Enroll employees or external learners; track completion progress.
  • Certificates auto-generated on course completion.
  • Compliance training with mandatory re-enrollment schedules.

2.20 NGO / Non-Profit

  • Donor management and donation tracking (cash, M-Pesa, bank transfer).
  • Grant management: applications, budgets, reporting periods.
  • Beneficiary registration and programme enrolment.
  • Impact reporting with narrative and quantitative indicators.

2.21 EAM — Enterprise Asset Management

  • Asset register with location, condition, and depreciation tracking.
  • Preventive maintenance schedules and work order generation.
  • Breakdown (corrective) maintenance request and closure workflow.
  • Spare parts inventory linked to the SCM module.
  • MTBF and OEE reports.

2.22 Compliance

  • Policy document library with version control and acknowledgement tracking.
  • Risk register: identify, assess, and mitigate operational risks.
  • Compliance calendar with regulatory deadlines and alerts.
  • Audit management: plan, conduct, and report on internal audits.

2.23 CLM — Contract Lifecycle Management

  • Contract drafting with clause library and template engine.
  • Negotiation workflow with tracked redlines and comment threads.
  • E-signature integration for final execution.
  • Contract repository with full-text search; expiry reminders.
  • Obligation tracking and milestone alerts.

2.24 Analytics

  • Cross-module data warehouse refreshed nightly (real-time on Pro plans).
  • Drag-and-drop report builder — no SQL required.
  • Pre-built executive dashboards for Revenue, Operations, and HR.
  • Schedule reports as PDF/Excel email digests.
  • Embed live charts on public pages via iframe.

2.25 Chat

  • Real-time internal messaging: direct messages, group channels, and threads.
  • Link any ERP record (invoice, ticket, task) directly into a message.
  • File sharing and search across message history.
  • Online / away / do-not-disturb presence indicators.

3. Administration

3.1 User Management

Go to Settings → Users to invite team members. Enter their email address and select one or more roles. An invitation email is sent automatically. Pending invitations can be resent or cancelled.

3.2 Role-Based Access Control (RBAC)

Every module ships with default roles (Viewer, Editor, Manager, Admin). Custom roles can be created and assigned fine-grained permissions per resource action (Create / Read / Update / Delete). Roles are assigned per-module, so a Sales Agent can access Sales without seeing HRM or Accounting.

3.3 Backups

# Full database backup (Docker deployment)
docker exec postgres pg_dumpall -U postgres > backup_$(date +%Y%m%d).sql

# Restore
docker exec -i postgres psql -U postgres < backup_YYYYMMDD.sql

# Automated daily backup via crontab
0 2 * * * docker exec postgres pg_dumpall -U postgres | gzip > /backups/koro_$(date +\%Y\%m\%d).sql.gz

Keep at least 7 daily and 4 weekly backups stored offsite. For cloud deployments, enable automated snapshots in your cloud provider console.

3.4 Updating KoroERP

# Pull latest images
docker compose pull

# Apply database migrations and restart
docker compose up -d --force-recreate

Always back up before updating. Review the changelog in the portal for breaking changes. Migrations are applied automatically on container startup.

3.5 Audit & Activity Logs

KoroERP records key user actions (login, create, update, approve, delete) for security and compliance. Use Settings → Audit Logs to filter by module, user, action, and date range.

  • Use audit filters when investigating data changes or unauthorized access.
  • Export logs for internal audit and external regulatory requests.
  • Restrict audit-log access to Admin and Compliance roles only.

3.6 Integrations & API Keys

Integrations are managed from Settings → Integrations. You can connect payment gateways, messaging channels, and external apps.

  • Create API keys per integration and store them in a secure vault.
  • Rotate API keys periodically and immediately after team member offboarding.
  • Use test/sandbox credentials first before switching to production keys.
  • Apply IP allowlists and least-privilege scopes where supported.

4. Frequently Asked Questions

Can I try KoroERP before buying?

Yes. Sign up for a free 30-day trial on eligible plans — no credit card required. Core modules are available immediately; you can test any premium module during the trial period.

How many users are included?

Seat limits depend on your plan: Micro (2), Starter (5), Growth (25), Enterprise (unlimited). You can purchase extra seats on active non-Enterprise licenses from Portal → Billing.

Is my data secure?

All data is encrypted in transit (TLS 1.3) and at rest (AES-256). Passwords are hashed with bcrypt. For on-premise deployments your data never leaves your infrastructure.

Can I import data from my existing system?

Yes. Each module provides CSV import templates. For large migrations, contact our onboarding team for assisted data migration.

What happens if my license expires?

Expired licenses lose module access when the billing period ends. Renew or purchase a new active license from the tenant portal to restore access.

Do you support multi-company or multi-branch?

Yes. Enterprise plans support multiple tenants / companies under one account with separate data isolation. Branch management is available within a single tenant for shared-database multi-site setups.

5. Troubleshooting

License upload fails

  • Ensure the .lic file was not renamed or modified after downloading.
  • Check that your server's system date/time is accurate (NTP sync recommended).
  • Verify the domain in the license matches your ERP installation URL.
  • Re-download a fresh copy from Portal → Licenses and try again.

Module not visible after license activation

  • Log out and log back in — permissions are refreshed on session start.
  • Check Settings → License to confirm the module is listed as active.
  • If the module requires a database migration, click the Run Migration banner prompt that appears.

MPESA STK Push not received

  • Confirm you entered the correct Safaricom number (2547XXXXXXXX).
  • Ensure your phone is on a Safaricom line with a stable signal.
  • The push expires after 60 seconds — return to the portal and retry the payment.
  • Check if your phone has pending SIM Toolkit prompts and clear them before retrying.

Forgot admin password

Use the password reset flow from the login screen. For on-premise deployments where email is not configured, run:

docker exec -it koro-auth ./koro-auth reset-password --email admin@yourdomain.com

Email notifications are not being sent

  • Verify SMTP host, port, username, and password in your environment configuration.
  • Check firewall rules for outbound SMTP ports (usually 465 or 587).
  • Send a test email from Settings → Integrations → Email.
  • For on-premise, confirm server DNS records (SPF/DKIM) if provider rejects delivery.

Reports or dashboards show stale data

  • Refresh the page and confirm your date range and filters are correct.
  • Check if nightly analytics sync completed successfully in system jobs.
  • For real-time dashboards, confirm background workers are running.

Performance is slow

  • KoroERP requires at least 4 GB RAM and 2 vCPUs for production.
  • Enable Redis caching in config/app.env (CACHE_DRIVER=redis).
  • Run VACUUM ANALYZE on PostgreSQL if the database has been running for several months without maintenance.
  • Review slow query logs and add indexes where needed; contact support if unsure.

Need more help?

Email support@koroworks.com or open a ticket in your tenant portal. You can also browse FAQs. Enterprise customers have a dedicated support channel with guaranteed response times.