System Overview
Welcome to the Accounting System documentation. This comprehensive guide covers all modules, their CRUD operations, journal entry integrations, and calculation methodologies.
Chart of Accounts
Manage your account structure with types, groups, and hierarchies.
Journal Entries
Record financial transactions with double-entry bookkeeping.
Fixed Assets
Track assets, depreciation, and disposal with automatic journals.
Purchase Orders
Manage supplier orders, approvals, and accounts payable.
Sales & Invoices
Create invoices, track receivables, and record payments.
Inventory
Stock management, transfers, adjustments, and valuations.
Double-Entry Accounting Principle
All financial transactions in this system follow the double-entry bookkeeping principle:
Debits (Dr)
- • Increase Assets
- • Increase Expenses
- • Decrease Liabilities
- • Decrease Equity
- • Decrease Revenue
Credits (Cr)
- • Decrease Assets
- • Decrease Expenses
- • Increase Liabilities
- • Increase Equity
- • Increase Revenue
Chart of Accounts
The Chart of Accounts is the foundation of your accounting system. It organizes all financial accounts into a structured hierarchy for accurate financial reporting.
Account Types
| Type | Code Range | Normal Balance | Description |
|---|---|---|---|
| Assets | 1000-1999 |
Debit | Resources owned by the business |
| Liabilities | 2000-2999 |
Credit | Obligations owed to others |
| Equity | 3000-3999 |
Credit | Owner's stake in the business |
| Revenue | 4000-4999 |
Credit | Income from business operations |
| Expenses | 5000-5999 |
Debit | Costs incurred in operations |
CRUD Operations
Create Account
- • Navigate to Accounts → Add New
- • Select account type and parent (if sub-account)
- • Enter unique account code within type range
- • Set currency and initial settings
View Accounts
- • List view with search and filters
- • Filter by type, status, or parent
- • View account details and transaction history
- • Export to Excel/PDF
Update Account
- • Edit name, description, and settings
- • Account code cannot be changed if transactions exist
- • Deactivate instead of delete for audit trail
Delete Account
- • Only accounts with no transactions can be deleted
- • Soft delete preserves audit history
- • Recommend deactivating instead
Balance Calculation
Account Balance = Sum of Debits - Sum of Credits
For accounts with Debit normal balance (Assets, Expenses): Positive balance means debit balance.
For accounts with Credit normal balance (Liabilities, Equity, Revenue): Balance is displayed as positive when credits exceed debits.
Journal Entries
Journal entries are the core of double-entry bookkeeping. Every financial transaction is recorded as a journal entry with balanced debits and credits.
Entry Types
Manual Entries
Created directly by users for adjustments, corrections, or non-standard transactions.
System Entries
Auto-generated from modules like Sales, Purchases, Assets, and Payroll.
Recurring Entries
Scheduled entries that repeat monthly, quarterly, or annually.
CRUD Operations
Create Journal Entry
- Navigate to Journal Entries → New Entry
- Enter entry date and reference number
- Add line items with accounts, descriptions, and amounts
- Ensure Total Debits = Total Credits
- Save as Draft or Post immediately
Post Entry
- • Posted entries update account balances
- • Posted entries cannot be edited (create reversing entry instead)
- • System records posted_by and posted_at timestamp
Reverse Entry
- • Creates a new entry with opposite debits/credits
- • Links to original entry for audit trail
- • Use for corrections instead of deleting
Common Journal Entry Examples
| Account | Debit | Credit |
|---|---|---|
| Accounts Receivable | 1,150.00 | - |
| Sales Revenue | - | 1,000.00 |
| VAT Payable | - | 150.00 |
| Account | Debit | Credit |
|---|---|---|
| Inventory / Expense | 1,000.00 | - |
| VAT Receivable | 150.00 | - |
| Accounts Payable | - | 1,150.00 |
Validation Rules
- Balance Check: Total Debits must equal Total Credits
- Minimum Lines: At least 2 line items required
- Fiscal Period: Entry date must be within an open fiscal period
- Active Accounts: Only active accounts can be used
Fixed Assets
Manage fixed assets including acquisition, depreciation, and disposal. The system automatically generates journal entries for all asset transactions.
Asset Lifecycle
CRUD Operations
Create Asset
- • Enter asset details: name, number, category, location
- • Set acquisition date and cost
- • Select supplier (optional - creates payable)
- • Configure depreciation method and useful life
- • Asset is created with Pending status
Approve Asset
- • Review asset details in approval modal
- • On approval, status changes to Active
- • If supplier selected: Creates supplier invoice (Order)
- • Posts journal entry: Dr Asset Account, Cr Accounts Payable
Update Asset
- • Only active assets can be edited
- • Can update name, description, location
- • Financial details locked after depreciation starts
Dispose Asset
- • Enter disposal date, amount, and notes
- • System calculates gain/loss on disposal
- • Posts disposal journal entry automatically
Depreciation Methods
Straight Line
Annual Depreciation = (Cost - Salvage) / Useful Life
Equal depreciation each year over the asset's useful life.
Declining Balance
Depreciation = Book Value × Rate
Higher depreciation in early years, decreasing over time.
Sum of Years' Digits
Depreciation = (Remaining Life / SYD) × Depreciable Cost
Accelerated method based on remaining useful life.
Automatic Journal Entries
| Account | Debit | Credit |
|---|---|---|
| Fixed Asset Account | 10,000.00 | - |
| Accounts Payable (Supplier) | - | 10,000.00 |
| Account | Debit | Credit |
|---|---|---|
| Depreciation Expense | 166.67 | - |
| Accumulated Depreciation | - | 166.67 |
| Account | Debit | Credit |
|---|---|---|
| Cash/Bank | 3,000.00 | - |
| Accumulated Depreciation | 8,000.00 | - |
| Fixed Asset Account | - | 10,000.00 |
| Gain on Disposal | - | 1,000.00 |
Key Calculations
Depreciable Cost
Acquisition Cost - Salvage Value
Book Value
Acquisition Cost - Accumulated Depreciation
Gain/Loss on Disposal
Disposal Amount - Book Value
Monthly Depreciation
Annual Depreciation / 12
Purchase Orders
Manage supplier purchase orders, track payables, and control procurement workflow with approval processes.
Order Status Flow
CRUD Operations
Create Order
- • Select supplier from list
- • Add products/items with quantities and prices
- • Apply discounts and VAT as needed
- • Set expected delivery date
- • Save as draft or submit for approval
Approve Order
- • Review order details and amounts
- • Verify supplier and pricing
- • Approve to proceed with purchase
- • Reject with reason if needed
Receive Goods
- • Record received quantities
- • Update inventory automatically
- • Handle partial receipts
- • Generate goods received note
Record Payment
- • Record full or partial payments
- • Select payment method (cash/bank)
- • Track outstanding balance
- • Generate payment voucher
Automatic Journal Entries
| Account | Debit | Credit |
|---|---|---|
| Inventory | 5,000.00 | - |
| VAT Receivable | 750.00 | - |
| Accounts Payable | - | 5,750.00 |
| Account | Debit | Credit |
|---|---|---|
| Accounts Payable | 5,750.00 | - |
| Cash / Bank | - | 5,750.00 |
Order Calculations
Subtotal
Sum of (Quantity × Unit Price)
VAT Amount
(Subtotal - Discount) × VAT Rate
Total Amount
Subtotal - Discount + VAT
Balance Due
Total Amount - Amount Paid
Sales & Invoices
Create and manage customer invoices, track receivables, and record payments with automatic journal entries.
Invoice Workflow
CRUD Operations
Create Invoice
- • Select customer or enter walk-in details
- • Add products/services with quantities
- • Apply discounts (line or total)
- • Configure VAT settings
- • Set payment terms and due date
Print/Send Invoice
- • Generate PDF invoice
- • Email directly to customer
- • Print thermal receipt (POS)
- • Download for records
Record Payment
- • Accept cash, card, or bank transfer
- • Handle partial payments
- • Calculate and return change
- • Issue payment receipt
Void/Cancel Invoice
- • Only unpaid invoices can be voided
- • Creates reversing journal entry
- • Restores inventory if applicable
- • Maintains audit trail
Automatic Journal Entries
| Account | Debit | Credit |
|---|---|---|
| Accounts Receivable | 11,500.00 | - |
| Sales Revenue | - | 10,000.00 |
| VAT Payable | - | 1,500.00 |
| Account | Debit | Credit |
|---|---|---|
| Cost of Goods Sold | 6,000.00 | - |
| Inventory | - | 6,000.00 |
| Account | Debit | Credit |
|---|---|---|
| Cash / Bank | 11,500.00 | - |
| Accounts Receivable | - | 11,500.00 |
Invoice Calculations
Line Total
Quantity × Unit Price - Line Discount
Subtotal
Sum of Line Totals
VAT Amount
(Subtotal - Discount) × VAT%
Grand Total
Subtotal - Discount + VAT
Inventory Management
Comprehensive inventory control including stock tracking, transfers between locations, adjustments, and valuation methods.
Stock Operations
Stock In
Receive from purchases
Stock Out
Issue for sales
Transfer
Move between locations
Adjustment
Correct discrepancies
Stock Adjustment Process
Create Adjustment
- • Select warehouse/location
- • Choose adjustment type (increase/decrease)
- • Enter product and quantity difference
- • Provide reason for adjustment
- • Submit for approval
Approve Adjustment
- • Review adjustment details
- • Verify physical count if needed
- • Approve to update stock levels
- • System posts journal entry automatically
Inventory Valuation Methods
FIFO
First In, First Out
Oldest inventory sold first. Best for perishables.
LIFO
Last In, First Out
Newest inventory sold first. Tax advantages in inflation.
Weighted Average
Average Cost Method
Cost averaged across all units. Simple and consistent.
Automatic Journal Entries
| Account | Debit | Credit |
|---|---|---|
| Inventory | 500.00 | - |
| Inventory Adjustment | - | 500.00 |
| Account | Debit | Credit |
|---|---|---|
| Inventory Loss/Shrinkage | 300.00 | - |
| Inventory | - | 300.00 |
Inventory Calculations
Stock on Hand
Opening + Received - Issued - Adjustments
Inventory Value
Quantity × Unit Cost
Weighted Avg Cost
Total Cost / Total Quantity
Reorder Point
(Daily Usage × Lead Time) + Safety Stock
Banking & Payments
Manage bank accounts, record transactions, reconcile statements, and track cash flow across all payment channels.
Account Types
Cash
Petty cash and cash registers
Bank Account
Checking and savings accounts
Mobile Money
M-Pesa, Airtel Money, etc.
Payment Operations
Money In (Receipts)
- • Customer payments
- • Cash sales
- • Bank deposits
- • Other income
Money Out (Payments)
- • Supplier payments
- • Expense payments
- • Bank withdrawals
- • Payroll disbursements
Bank Reconciliation
- Select bank account and statement period
- Enter statement ending balance
- Match system transactions with bank statement
- Identify outstanding checks and deposits in transit
- Record any bank charges or interest
- Complete reconciliation when balanced
Automatic Journal Entries
| Account | Debit | Credit |
|---|---|---|
| Bank / Cash | 5,000.00 | - |
| Accounts Receivable | - | 5,000.00 |
| Account | Debit | Credit |
|---|---|---|
| Accounts Payable | 3,000.00 | - |
| Bank / Cash | - | 3,000.00 |
Balance Calculations
Running Balance
Opening + Receipts - Payments
Reconciled Balance
Statement Balance + Deposits in Transit - Outstanding Checks
Financial Reports
Generate comprehensive financial reports including Balance Sheet, Income Statement, Cash Flow, and Trial Balance.
Available Reports
Balance Sheet
Shows financial position at a point in time.
Assets = Liabilities + Equity
Income Statement
Shows profitability over a period.
Net Income = Revenue - Expenses
Trial Balance
Lists all account balances to verify debits equal credits.
Total Debits = Total Credits
Cash Flow Statement
Shows cash movements by activity type.
Operating + Investing + Financing
Report Features
- Filter by date range and fiscal period
- Compare with previous periods
- Export to PDF and Excel
- Drill down to transaction details
Payroll Management
Process employee payroll, manage deductions and contributions, and generate payslips with automatic journal entries.
Payroll Components
Earnings
- • Basic Salary
- • Overtime Pay
- • Allowances (Housing, Transport)
- • Bonuses and Commissions
Deductions
- • PAYE (Income Tax)
- • NSSF Contribution
- • NHIF Contribution
- • Loan Repayments
Payroll Process
Automatic Journal Entries
| Account | Debit | Credit |
|---|---|---|
| Salary Expense | 100,000.00 | - |
| PAYE Payable | - | 15,000.00 |
| NSSF Payable | - | 2,000.00 |
| Net Salary Payable | - | 83,000.00 |
Payroll Calculations
Gross Pay
Basic + Allowances + Overtime + Bonus
Net Pay
Gross Pay - Total Deductions
User Management
Manage system users, roles, permissions, and access control. Configure multi-tenant access, branch assignments, and security settings.
User Roles
Super Admin
Full system access
Admin
Tenant management
Manager
Department oversight
User
Standard access
User CRUD Operations
Create User
- • Navigate to Users → Add New User
- • Enter name, email, and password
- • Assign role(s) from available options
- • Select business type(s) for access
- • Assign branch(es) and warehouse(s)
- • Set user status (active/inactive)
- • Send invitation email (optional)
View Users
- • List all users with search and filters
- • Filter by role, status, or branch
- • View user profile and activity log
- • See assigned permissions
- • Check last login timestamp
- • Export user list to Excel
Update User
- • Edit profile information
- • Change role assignments
- • Update branch/warehouse access
- • Reset password
- • Enable/disable two-factor auth
- • Modify permission overrides
Deactivate User
- • Deactivate instead of delete for audit
- • Revokes all access immediately
- • Preserves historical records
- • Can be reactivated if needed
- • Sessions terminated on deactivation
Permission System
Permissions are organized by module and action type:
| Module | View | Create | Update | Delete | Approve |
|---|---|---|---|---|---|
| Accounts | accounts.view |
accounts.create |
accounts.update |
accounts.delete |
- |
| Journal Entries | journals.view |
journals.create |
journals.update |
journals.delete |
journals.post |
| Assets | assets.view |
assets.create |
assets.update |
assets.delete |
assets.approve |
| Orders | orders.view |
orders.create |
orders.update |
orders.delete |
orders.approve |
| Invoices | invoices.view |
invoices.create |
invoices.update |
invoices.delete |
invoices.approve |
Multi-Tenant & Branch Access
Business Types
Users can be assigned to one or more business types:
- • Each business type has separate data
- • User sees combined or filtered view
- • Reports can be filtered by business type
Branch Assignment
Control access at branch level:
- • Assign users to specific branches
- • Limit transactions to assigned branches
- • Branch managers see only their data
Warehouse Access
Inventory access control:
- • Assign users to warehouses
- • Control stock visibility
- • Restrict transfers between locations
Hierarchy
Access inheritance:
- • Tenant → Business Type → Branch
- • Higher level grants lower access
- • Explicit denials override grants
User Invitation Process
- Admin creates user account with email
- System sends invitation email with secure link
- User clicks link to set password
- User completes profile setup
- Account becomes active upon completion
- Invitation expires after 48 hours if unused
Security Settings
Password Policy
- • Minimum 8 characters
- • Uppercase and lowercase
- • At least one number
- • Special character recommended
Two-Factor Auth
- • Optional per user
- • TOTP authenticator apps
- • Backup codes provided
- • Can be enforced by admin
Session Management
- • Auto-logout after inactivity
- • Single session option
- • View active sessions
- • Force logout remotely
Activity Logging
All user actions are logged for audit purposes:
Tracked Events
- • Login/logout attempts
- • Record creation and updates
- • Approvals and rejections
- • Permission changes
- • Password resets
Log Details
- • Timestamp of action
- • User who performed action
- • IP address and browser
- • Before/after values
- • Related record reference