AstraERP — All-in-One Reference
This page combines every help article into a single document for easy searching (Ctrl/Cmd+F) and printing. Generated automatically — do not edit; the individual pages in the sidebar remain the primary docs.
Employee Portal
Overview & Signing In
The employee self-service side of AstraERP: everything an employee does themselves — attendance, leave, payslips, timesheets, appraisals, cash requests, food orders, discipline, tickets — from a browser or phone, always scoped to their own records.
Signing in
Your HR team sends a portal invitation email; activate, set your password, and sign in at your company's portal address. Forgot your password? Use the reset link — it verifies you by email/OTP.
The dashboard
Your day at a glance: last pay, leave balance, pending requests, leave by type, company announcements, upcoming birthdays and work anniversaries, and the next public holidays. Tiles link into their sections.
What's in the menu
| Section | You can… |
|---|---|
| My profile | See what the company holds on you |
| Attendance | Clock in/out, see your records and monthly hours |
| Leave | Check balances, request leave, follow approval |
| Timesheet | Log time on your assigned tasks |
| Pay | Pay summary and payslips |
| Appraisal | Complete self-assessments |
| Cash requests | Request and track cash advances |
| Food orders | Order from the day's menu |
| Discipline & grievances | Respond to queries, acknowledge outcomes, appeal, raise grievances |
| Tickets & tasks | Work items assigned to you from CRM |
| Vehicles | Request vehicles, log trips (where fleet is used) |
Everything you submit is recorded under your own account — the portal never lets you see or act on another employee's records.
My Profile
Your employee file as the company holds it: personal details, contact, employment (department, job title, rank, manager, dates), statutory & bank details, and My records — job history, qualifications, identifications, promotions and accidents.
Spot something wrong? Profile data is corrected by HR — contact them; the portal shows, it doesn't edit, your master record.
Attendance
Clock in / clock out from the attendance page — where your company uses location verification, allow the browser's location prompt; clock-in checks you're within the mapped premises.
Records shows your days: clock in/out, status, computed hours. Monthly summary rolls up your regular, overtime and weekend/holiday hours — the same numbers payroll uses, so query anything odd before month-end confirmation.
Leave
Your balances — days per leave type: allocated, taken, remaining.
Request leave: pick the type, start and end dates (working days are computed for you — weekends and public holidays don't count), half-day if applicable, and a comment. Submit; the request goes to your approver and you'll see the status change (Pending → Approved/Rejected) here and by notification.
You can't edit a decided request — ask HR to revert it if something changed.
Timesheet
Tasks assigned to you appear with project, activity, description, duration and priority. Log your work: pick the task, record duration and notes, and mark completion. Filters cover project, activity, priority and status; Monthly Review shows your month as a calendar; Productivity summarises completed hours.
Log as you go — entries record when they were made, and late logging is visible to reviewers.
Pay & Payslips
Pay summary — your earnings and deductions & contributions per period, and pay-day information.
Payslips — every period's slip: basic, allowances, SSNIT, Tier 2, tax, gross, net. Open any period → Payslip for the printable version. Totals across periods show at the top.
Appraisal
When HR opens an appraisal cycle, your self-assessment appears here: score yourself per assessment item and add comments, then submit for your supervisor's side. Your final rating and comments become visible when the cycle closes.
Cash Requests
Request a cash advance/imprest: amount, purpose and details. Track every request's status — Pending, Approved (with the approved amount), Processed or Rejected — under Your requests, with filters per status.
Food Orders
The day's menu (as set by HR) on one side, my orders on the other: pick items for the date, place the order, and see its confirmation status. Orders close per the company's daily cut-off.
Discipline & Grievances
Your side of the discipline process — see the full guide for detail. In short, from here you can:
- See your cases — the charge as served, deadlines, disclosed evidence, hearing invitations and outcomes. Nothing about anyone else, ever.
- Respond to a query in your own words before the deadline shown; tick the admission box only if you mean it.
- Confirm transcriptions where HR recorded a verbal response — the case waits for your confirmation.
- Acknowledge a sanction — or decline; both are recorded. Acknowledging confirms receipt, not agreement.
- Appeal within the window shown on the sanction, with your ground and written submission.
- Comment on counselling notes and acknowledge the conversation happened.
- Raise a grievance — your complaint to the organisation, handled confidentially by HR with its progress visible here.
Tickets & Tasks
CRM work assigned to you: tickets (with due dates and status), tasks due now and coming up, and recent activity. Update task status and log activity as you work — the CRM side sees your updates live.
Vehicles
Where your company runs the fleet module:
- Request a vehicle — date, departure/destination, purpose, passengers, approximate distance; dispatch assigns the vehicle and driver.
- Trip log — record trips on a vehicle you use: odometer start/end, route, purpose.
- My vehicle — the vehicle assigned to you and its details.
Web App
Getting Started
AstraERP runs your whole business from one place — inventory & supply chain, sales & POS, accounting & banking, HR & payroll, CRM, and fleet — with a web app for the back office, an employee self-service portal, and a mobile app.
This guide takes you from signing in to understanding how the pieces fit, so the module guides make sense.
What you need
| Recommended | |
|---|---|
| Browser | Google Chrome (latest). Firefox, Safari and Edge also work |
| Connection | 10 Mbps or better |
| Screen | 1366 × 768 or higher |
Signing in
Open your AstraERP address and sign in with your email or phone number and password.

- Forgot password? starts a reset by email/OTP.
- New accounts are created by your administrator (or Create one where self-registration is enabled for your organisation).
- First sign-in on a temporary password takes you straight to a change-password screen — nothing else works until you set your own.
Companies and switching
Everything in AstraERP belongs to a company. A user account can be attached to more than one company (an accountant serving several businesses, a group with subsidiaries). After sign-in you act within one company at a time; switch from the user menu — every list, report and document you see belongs to the company you're switched into.
How the app is laid out
- Home shows the modules you have access to; each module (HR, Inventory, Account, CRM, Payroll, Fleet, POS) opens its own workspace with a sidebar menu on the left.
- The sidebar shows only the pages you've been granted (see permissions below), grouped the way work happens — e.g. HR groups Employees, Discipline, Leave, Attendance.
- Most pages follow one pattern: a header (title, description, action buttons on the right), filters, and a list; clicking a row opens the record or a detail panel.
See Navigating AstraERP for a screen-by-screen tour.
Users, pages and permissions
Access is per page, per user, per company:
- Every screen in AstraERP is a registered page under its module.
- An administrator grants a user the pages they need (and, where a page has them, individual actions on that page).
- The user's menu is built from those grants — no grant, no menu entry.
So "give Ama access to Leave but not Payroll" is exactly what the security screens do. Grants also serve as the rollout switch for new features: a new module appears to nobody until its pages are granted.
Locations
Users are assigned to one or more locations (branch, office, warehouse). Stock, sales and several HR features are location-aware; if you see "no location assigned" after sign-in, an administrator needs to assign you one.
First-day checklist for a new company
- Company profile — details, logo, letterhead (Config → Letterhead; letters and exports print on it).
- Locations — create your branches/warehouses.
- Users — add your team, grant pages, assign locations.
- Module setup — each module has its own setup screens (Chart of accounts, Products & stock, HR employees, Discipline catalogue, Payroll items). The module guides start with their setup page.
- Templates — email/SMS message templates and document numbering are under Settings.
Getting help
- These docs — use the search box, it covers every page.
- Support: support@astraerp.com · call/WhatsApp +233 (0)244-896-544 / +233 (0)256-290-530.
Inventory
Initial Set-up
The order that makes stock work:
- Locations — every warehouse/shop that holds stock (Config → company locations). Stock is counted per location; users see the locations they're assigned.
- Products — create or bulk-upload the catalogue: codes, names, units, prices, product groups. Packages/bundles where you sell them.
- Opening stock — stock upload per location as at cut-over, so on-hand starts true.
- Prices — selling prices on the product (or price upload / price lists at scale).
- Suppliers & customers — the partner register shared with Accounts/CRM.
From there the daily flow (buy → receive → sell) keeps counts current by itself.
Inventory Dashboard
Stock health at a glance: value on hand by location, fast/slow movers, low-stock and reorder signals, and the period's movement volumes — with drill-through into the lists behind each figure.
Where: Inventory → Dashboard 
Daily Summary
A concise report that provides a snapshot of fnancial transactions and activities that occured within a single day. It serves as a crucial tool for monitoring and managing the financial health of a business on a day-to-day basis
Components of Daily Summary
| Fields | Description |
|---|---|
| Date | The date of the summary which is usually the end of the business day |
| Stock @ Cost | This is the total value of inventory on hand at its purchase |
| Stock @ Selling | This represents the total value of on hand at its selling prices which include any markup or profit margin applied to the cost price. |
| Total Stock Received | This includes the total quantity and value of inventory received during the day. It is important for tracking inventory inflows. |
| Gross Sale Amount | This is the total revenue generated from sales before deductions. It includes the selling prices of all goods sold during the day. |
| Discount Amount | If any discounts were offered to customers during the day, this figure reflects the total amount of those discounts. |
| Net Sale Amount | This is the actual revenue earned by the busines after substracting discounts and retruns. It represents the money that the business actually received. |
| Amount Receivable | Any outstanding invoices or accounts receivables that were collected during the day |
| Tax amount | Details of any tax payments or tax-related transactions made during the day such as sales tax |
| Cost Price | The cost price of all goods sold during the day. It helps in calculating the cost of goods sold(COGS), which is essential for profit determination |
| Profit | It provides a measure of the day's profitability. It is calculated by substracting the cost price from the net sale amount |
How to RUN Daily Summary
- Navigate to the Daily Summary page
- Select the Date from - Date to if the daily summary has not been ran in a while
- Click Run
- Wait for daily summary to complete
- Refresh page
How to REVERSE Daily Summary
- Navigate to the Daily Summary page
- Select the Date from - Date to (period you want to reverse)
- Click Reverse
- Wait for reversal to complete
- Refresh page
Chart of Account
- The Chart of Account is used to manage and organize all accounts used in AstraERP. With functionalities such as adding new accounts, editing existing ones, merging duplicates and deleting unnecessary accounts.
Components of Chart of Account
- Chart of Account: THis is the main tab where you manage the defaults accounts in the system
- Tax Account: This tab also allows you to manage accounts related to taxes
- New Account: Click this green button to create a new account. After clicking New Account, enter the account name and select the account type. Save changes when after completing those details.

Account Types
- Account Paybale: Represents the company's obligations to pay off debts to its creditors
- Account Receivable: Represents money owed to the company by its customers.
- Cash: Represents the company's cash on hand
- Current Liability: Represents the company's short0term financial obligations that are due within one year
- Cost of Goods Sold( COGS): Represents the cost of goods attributable to the production of the goods sold by the company.
- Bank: Represents the company's funds held in financial instituins.
- Petty Cash: Tracks small accounts of cash kept on hand for minor expenses and incidentals
- Cheque: Tracks cheques issued or received that will are still outstanding (not yet cleared by the bank)
- Investments Represents funds that have been invested in financial instruments or other assests to generate returns
- Current Assets: Includes all assets that are expected to be converted into cash or used up within one year.
- Fixed Assets: Long term tangible assets that are used in the operations of a business and are not expected to be consumed or converted within a year
- Inventory Assets: Accounts for goods and materials a company holds for the purpose of resale
- Other Assets: Includes assets that do not fit into the current or fixrf assets categories
- Income: Represents revenue earned from the compnay's core business activities
- ExpenseTracks the costs incurred in the process of earning revenue
- Other Expense Records costs that are not directly related to the main operations of the Expense.
- Captial Represents the owners's investments in the business.
- Long-term Liability: Obligations that the company expects to pay off beyond one year
- Contingent: Potential obligations that may arise based on the outcome of a future events. eg lawsuit liabilities, product warranties
- Equity Represents the residual interest in the assets of the business after deducting liablities. It includes retained earnnings and contributed capital

Client Balance
This refers to a summary of the financial records that indicate the amount of money owed to or byclients in a business context. This helps businesses track the financial relationshipsthey have with their clients and ensures accurate accounting of transactions.
How to check Client Balances
- Navigate to client balance on the left side bar
- Select Client Balance
- Click Customers/Suppliers/Others/All(This provides information of balances based on user selection)
- Search customer(This feature provides you financial records for individual customers)

- Click on client's name
- View client balance
Uploading Client Balances
- Complete the Astra Partners Excel template
- Create a chart of account with the name Customer Deposits and Account type: Current liability
- Select Upload under Suppliers/customers
- Click on Account Options
- Complete all required fields
- Choose file (the completed Excel template)
- Upload and Save
Tracking Additional Customer Deposits
- Go to Deposits
- Select New Bank/Cash Deposits
- Under the Deposit Account, Select Cash in Hand
- Select the client who is making the deposit to the company
- Account – Select Customer deposits (the one you created in the charts of accounts)
- Description (if any)
- Amount (Enter the amount of money the customer gave)
- Save the changes
Confirming Customer Deposits
- Click on the Client Balances,
- Click on Customers
- Search customers name
- Click on Customer’s name
- Print statement (if necessary)
Other Actions of Client Balance
- View client balances
- Filter balances(customers, suppliers, others, all, and date)
- Searching for customers

- Exporting balances
- Printing balances
Cash Register
The cash register feature in the inventory module of an ERP system enables efficient recording and tracking of financial transactions related to inventory operations. It provides a clear view of cash and bank transactions, ensuring accurate documentation and easy reconciliation for improved financial management.
Step-by-Step Guide to Using the Cash Register Feature
- Navigate to the Cash Register Section
- Select Location:Ensure you are operating in the correct location.
- Choose a Cash/Bank Account: Click on the dropdown menu labeled Cash/Bank Account. This will display a list of available cash and bank accounts.
- Select the appropriate account you want to manage or view transactions for.
- Choose the date for which you want to view or manage the cash transactions
Cash Transactions
- The Cash Transactions feature in AstraERP allows users to manage and track cash movements such as transfers, withdrawals, and deposits. This module is essential for maintaining accurate financial records and ensuring transparency in cash management. Below is a guide on how to use this feature effectively.
Components of Cash Transaction
Transaction List View
This is the main view where all cash transactions are listed. Each transaction record includes details such as the transfer date, transaction type, counterparty, from account, to account, memo, and amount. Users can also perform actions like editing or deleting transactions from this view.
Columns in the Transaction List:
- Transfer Date: The date when the transaction occurred.
- Transaction Type: Indicates whether the transaction is a cash transfer, withdrawal, or deposit.
- Counterparty: The other party involved in the transaction.
- From Account: The account from which cash is transferred or withdrawn.
- To Account: The account to which cash is transferred or deposited.
- Memo: A brief note or description of the transaction.
- Amount: The monetary value of the transaction.
- Actions: Options to edit or delete the transaction.
Filters and Search
- Search Keyword: A search bar to quickly find specific transactions by keywords.
- Date Filters: Options to filter transactions by date range.
- Transaction Type Filter: A dropdown to filter transactions by type (e.g., cash transfer, cash deposit).
Buttons and Actions
- Reload: Refreshes the list of transactions.
- Clear: Clears the current filters and search criteria.
- Add New: Opens a form to create a new cash transaction.
- Edit (Pencil Icon): Opens the selected transaction for editing.
- Delete (Trash Icon): Deletes the selected transaction.

How to Use the Cash Transactions Module
Viewing Transactions
- Navigate to the Cash Transactions module from the main menu.
- Use the search bar to find specific transactions by entering keywords.
- Apply date filters to view transactions within a specific time range.
- Use the transaction type filter to narrow down the list by type.
Adding a New Transaction
- Click on the "Add New" button.
- Fill in the transaction details in the form:
- Transfer Date: Select the date of the transaction.
- Transaction Type: Choose the type of transaction (cash transfer, withdrawal, or deposit).
- Counterparty: Enter the name of the other party involved.
- From Account: Select the account from which the cash is coming.
- To Account: Select the account to which the cash is going.
- Memo: Add a brief description or note about the transaction.
- Amount: Enter the amount of money involved.
- Click "Save" to add the transaction to the list.
Editing a Transaction
- In the transaction list, locate the transaction you want to edit.
- Click the pencil icon (Edit) next to the transaction.
- Update the transaction details in the form.
- Click "Save" to apply the changes.
Deleting a Transaction
- In the transaction list, locate the transaction you want to delete.
- Click the trash icon (Delete) next to the transaction.
- Confirm the deletion when prompted.
Example Transactions
- Cash Transfer: Moving funds from Cash-In-Hand to Zennit Bank.
- Cash Deposit: Depositing owner's capital into Zennit Bank or Cash-In-Hand.
- Cash Withdrawal: Withdrawing funds from Zennit Bank to Cash-In-Hand.
Sales
Credit/Cash Sales
The revenue side: raise a sale/invoice, stock reduces, the customer owes (or pays), the ledger records it.
Where: Inventory/Account → Sales · Fast counter sales: POS · Orders first: Sales Orders
- New sale: customer, date, then lines — product, quantity, price (discounts/taxes per your setup).
- Save/post: on-hand falls at the selling location; the invoice carries the balance until payment is received.
- Print/share the invoice; recurring arrangements use Recurring Sales; quotes start life as estimates/proforma and convert.
Sales orders → fulfilment → dispatch is the fuller pipeline for businesses that pick and deliver: order what's promised, fulfil what's picked, dispatch what leaves — with stock and paperwork aligned at each step.
Daily Sales Sheet
The daily sales sheet captures key sales data for each day, including the initial quantity in stock, quantity sold, amount sold. This sheet helps businesses maintain accurate sales records, streamline inventory management, and generate valuable insights for decision-making.
Steps to Use the Daily Sales Sheet
- Navigate to the Daily Sales Sheet Section
- Select Location and Date
- Record New Sales:Click the "Record Sales" button. This will open a new entry form where you can input sales data for that date.
- Add Sales Transactions: To add a sale, identify the product and enter the quantity to sell in the "Qty To Sell" field next to the desired product.
- Click the green "+" button in the "Action" column to record the sale.
- Repeat the process for other customers
- Close the page
Additional Actions
View Detailed Records
- Click the blue "View" button to see detailed sales records for a specific date. This will provide more granular information about each transaction.
Generate Cash Sale
- For each date, there is a "Generate Cash Sale" link. Click this link to create a cash sale entry for that day's sales transactions.
Actions
- Use the "Actions" dropdown menu for each date to access more options such as generating cash sale or deleting the sales records.
Recurring Sales
Recurring Invoice
This is an invoice that is sent to your customer in regular intervals of time.It can be created daily, monthly, weekly or a schedule can be workedout with the buyer.There is no change to the order information, customer information, product(s) ordered on the invoice itself.
How to create a recurring sale
- Go to Credit/Cash Sale
- Identify invoice you want to make recurring
- Click more and select Make recurring
- Complete all required fields
- Process and Save. ###Alternatively
- Go to recurring sale
- Select New Recurring Sale
- Complete all required fields
- Process and save

- After you create a recurring invoice, the next recurring invoice will be automatically generated over the period of ime set
- Stop a recurring invoice if you no longer wish to generate it
Other Actions in the Recurring invoice
- Filter Recurring Invoice
- Edit Recurring Invoice
- Printing Recurring Invoice
- Send Recurring Invoice to clients
- Deleting Recurring Invoices
Fulfill Sales
Fulfilling sales is completing the process initiated by a customer's purchase request. This process involves various steps from the moment a customer places an order to the point of delivering the product or service. When sales is done, all the records will show at the fulfill sales.
To fulfill sales
On the Account page, select sales
- Select fulfill sales
- Select Fulfill
- Select supply Entry
You can change the quantity to supply, if there is change in the quantity that was supply to the customer
- Select supply You can unfulfill or delete fulfill sales
- Select unfulfill
Sales Upload
- A powerful feature that allows users to upload sales data in bulk, manage the upload process and view the results. You will need to complete an Excel template in the right format before you start the upload process.
Steps to Upload Sales Data
- Select Location (if you have multiple locations in the system)
- Choose the appropriate location from the dropdown menu. This is required to proceed with the upload.
- Choose File
- Click on the "Choose file" button to open a file dialog.
- Select the file containing your sales data from your computer.
- Upload File
- After selecting the file, click the "Upload" button to start the upload process.
- Wait for the upload to complete. The interface will update to show the results.
- Review Results
- Check the Successful List tab to see the sales records that were successfully uploaded.
- Check the Failed List tab to review any errors and understand why certain records failed to upload.
- Clear File (Optional)
- If you need to upload a different file, click the "Clear" button to reset the file selection and start over.
Other Components of Sales Upload
Upload Results
- Successful List: This tab displayss the list of succeessfully uploaaded sales records
- Failed Lists: It shows the records that failed to upload, along woth error messages explaining the reason for the failure
Detailed Lists
- Sale Items List:This tab provides a detailed list of individual sale items included in the uploaded file.
- Processed Sales List: This tab displays a list of processed sales records.
- Failed Sales List:This tab shows detailed information about the sales records that failed to process.
Sales Data Table
- The sales data table is located at the bottom of the interface. This table displays detailed information about the sales records, including:
- Sale Date: The date the sale was made.
- Sale Type: The type of sale (e.g., cash sale, credit sale).
- Invoice No: The invoice number associated with the sale.
- Due Date: The due date for payment of the sale.
- Client: The client or customer to whom the sale was made.
- Invoice Memo: Additional notes or memos related to the invoice.
- Payment Account: The account used for receiving payment.
- Product/Item Sold: The product or item that was sold.
- Tax Applied: Any tax applied to the sale.
- Quantity: The quantity of items sold.
- Unit Price: The unit price of the item sold.
- Total Cost: The total cost of the sale.

Tips and Best Practices
- File Format: Ensure that your sales data file is in a compatible format (e.g., CSV, Excel) and follows the required template.
- Data Accuracy: Double-check the accuracy of your data before uploading to minimize errors.
- Error Handling: Use the Failed List tab to identify and correct any issues with your sales data. Correct the errors and re-upload the corrected file.
- Settings: Enable the "Allow Sale of Stock" option in the settings if you need to upload sales of out-of-hand products.
Estimates/Quotes/Proforma
Estimates
- An estimate is an approximate calculation of the cost of a project or order. It provides a rough idea of the potential expenses based on the available information. Estimates are used to give clients an early indication of the costs involved in a project or purchase. They are often preliminary and subject to change as more details become available
Quotes
- A quote is a formal document that specifies the exact cost for goods or services. Quotes provide a fixed price for a specific period, allowing clients to understand the exact cost before committing to a purchase.
Proforma
- A proforma invoice is a preliminary bill of sale sent to buyers before delivery of goods. It outlines the terms of the transaction and the amount due. Proforma invoices are used to declare the value of goods and to inform the buyer of the amount to be paid.
Managing Estimates/Quotes/Proforma
- Go to the "Estimates/Quotes/Proforma" section in your Inventory
- Select between Proforma Invoices, Quotes, and Estimates
- Complete all required fields
- Process and Save page
Actions Menu
- Click on the "More..." button in the "Action" column to perform various actions on a record:
- Edit: Modify the details of the record.
- Duplicate: Create a copy of the record.
- Generate Invoice: Convert the record into a formal invoice.
- Send to Client: Email the record to the client.
- Print (GHS): Print the record in Ghanaian Cedi currency format.
- Delete: Remove the record from the system.
Exporting Data.
- Use the "Export (xlsx)" button to download the records in Excel format for further analysis or record-keeping.
Sales Records
The Sales records in AstraERP provides a comprehensive view of all sales transactions. This page offers a detailed explanation of the feature, allowing users to efficiently manage and analyze sales data.
Components of Sales Records
- Filter Options
Inputter: Filter sales records by the person who entered the data. Customer/Client: Select a specific customer to view sales related to them. Product/Item: Filter sales records by specific products or items. Group By: Group the sales records by a selected criterion (e.g., date, customer). Date Range (From/To): Specify the date range for the sales records you want to view. Group Per Date: Check this option to group sales records by date.
- Actions Buttons
- Load: Click this button to apply the selected filters and load the corresponding sales records.
- Print: Click this button to print the displayed sales records.
- Export (xlsx): Click this button to export the displayed sales records to an Excel file.
Steps to View and Manage Sales Records
- Applying Filters
- Filter by Inputter: Select an inputter from the dropdown to view sales entered by a specific person.
- Filter by Customer/Client: Choose a customer from the dropdown to view their sales transactions.
- Filter by Product/Item: Select a product from the dropdown to see sales records for that specific item.
- Set Date Range: Use the date pickers to set the start and end dates for the records you want to view.
- Group Sales Records: Choose a grouping criterion from the "Group By" dropdown, if desired, and check "Group Per Date" if you want to group records by date.
- Loading Records
- After setting your desired filters and grouping options, click the "Load" button to display the sales records that match your criteria.
- Printing Sales Records
- To print the displayed sales records, click the "Print" button. A print dialog will appear, allowing you to choose your printing preferences.
- Exporting Sales Records
- To export the displayed sales records to an Excel file, click the "Export (xlsx)" button. The file will be downloaded to your computer for further analysis or record-keeping.

Payments Received
Overview - Payments Received
Payment received allows you to view all the payments you have recieved from your customers. You can view the payments recorded for your invoices.

Basic Functions in Payments Received
- View Payments Received
- Record Payments Received
- Print Payments Received
- Email Payments Received
Manage Payments Received
- Filter payments by:
- All invoice sources
- All payments types
- All clients
- Payments account
- Custom view
Other Actions for Payments Received
- Print payments received
- Download as PDF
- Mail payments Received
How to Receive Payment
- Go to Payments Received
- Select Receive Payment
- Select Counterparty (This automatically generate the counterparty deposits and all of its outstanding invoices)
- Enter amount of money you are recieving
- Indicate the Payment Account
- Make payment

Products & Services
Simple View
Editing product information
- Navigate to Product/Services
- All products are displayed
- Search product by entering the product name in the search keyword.
- Click on the blue pencil icon button
- User can edit any of the following information
- Product name
- Description
- Product Category
- Accounting Information (Sales Information; Purchase Information; Inventory Information)
- Save Changes
Adding new product package
- Navigate to Product/Services
- Search the product
- Click on the yellow plus icon button
- Complete all fields
- Save Changes
Converting Non-Trackable product to Trackable
- Navigate to Product/Services
- Identify the product you want to converting by searching
- Click on the grey double arrow icon
- Select (Yes) in the pop up
Merging Duplicate Products
- Navigate to Product/Service
- Search Product you want to merge into
- Click on the green rotating arrows
- Select Merge with
- Click Merge Products
Advanced View
The catalogue record everything else references.
Where: Inventory → Products → Add
| Field group | What it holds |
|---|---|
| Identity | Product code, name, description, product group/category, unit of measurement |
| Pricing | Selling price(s); cost tracks from receipts |
| Behaviour | Whether it's stocked (tracked on hand) vs a simple/service item; package definitions for bundles |
| Images | Product picture for POS/lists |
Simple products (services, non-stocked charges) skip stock tracking but still sell and post income. Packages bundle components into one sellable unit; component stock moves when the package sells.
Bulk alternatives: product upload for the catalogue, price upload for repricing.
Inventory Management
Inventory List
This is a detailed page that provides an organised and systematic account of all your productsIt serves as a reference point for tacking and managing stock at any given time
Our inventory list has the following information:
| Field | Description |
|---|---|
| Product code | A unique identifier assigned to a specific product in your inventory |
| Product Name | This is the name or title of the product |
| Package | This field indicates how the product is packaged or sold |
| Units in Package | This tells you how many individual units of the product are included in a single package. |
| Quantity at hand | This represents the current stock level or inventory of the product that you have on hand or in your warehouse. |
How to view the quantity of goods in stock
- On the inventory module, select inventory listing
- Select the Warehouse and Load

Receive Stock
Goods in the door → counted on hand → cost in the books.
Where: Inventory → Receive Stock · History under Stock Receipt History
- Choose the supplier and (ideally) the purchase order — lines prefill with outstanding quantities.
- Enter what actually arrived: quantities and unit costs per product, into the receiving location.
- Post. On-hand rises at the location, item costs update, and the supplier liability posts to Accounts (the bill side).
Partial deliveries: receive what came; the PO keeps the balance open. Wrong goods? Don't force it through — receive what's right and take the rest up with the supplier.
Stock Taking
The periodic full count: freeze a moment, count the shelf, reconcile.
Where: Inventory → Stock-taking
- Start a count for a location — the sheet lists expected on-hand per product.
- Enter counted quantities (count blind if you can — enter what's on the shelf, not what the screen says).
- Review variances; post the reconciliation — differences become adjustments with the stock-take as their reason.
Little and often beats annual heroics: cycle-count the fast movers monthly.
Converted Stock Records
Turning one product into another in stock terms: breaking bulk (a carton into pieces), repacking, or simple assembly — source quantity down, output quantity up, values carried.
Where: Inventory → Stock Conversion
Define the conversion (from-product, to-product, ratio), enter the quantity converted, post. For made-to-order production with estimates and orders, see Manufacturing.
Stock Adjustment
Correcting the system's count to match reality: breakage, spoilage, count corrections, write-offs.
Where: Inventory → Stock Adjustment
Pick the location and product, enter the adjustment (up or down) with its reason, post. The stock ledger and the books move together; the reason is what the auditor reads. For a full recount use Stock-taking; for moving stock between locations use Transfers.
Stock Receipt History
The stock receipt history is a record that track the historu of stock or inventory items as they are received into the business. It provides a chronologial account of when and how stock was received, including details such as quantities, dates and statuses of the purchase
Key Components of Stock Receipt History
- Date: The exact date of each stock receipt event
- Item Details:Information about the specific items received
- Quantity Received: The number of units or items received in each transaction
- Location: The physical location within the organisation where the stock was received, which is particularly important for businesses with mulitiple warehouses
- ReceiptCode: The Serials numbers for traceability
- Package Cost: The cost per unit of each item received. This is essential for calculating the total cost the received stock.
- Total Cost: The total cost of the received stock, which is calculated by multiplying the quantity received by the package cost
How to view every stock received from Suppliers
- Select Stock Receipt History
- Choose a warehouse (If you have multiple locations)
- Search by Date , Product, Purchase Status

Inventory Journal
Overview
Record of the movement of inventory items in and out of the company's possession as well as any adjustments made to the inventory account. Inventory journal entries include purchases of stock, sales, stock adjustments, stock returns and all other inventory-related transactions.
View Records
- Navigate to Inventory Journal
- All journal records are updated automatically.
Filter Records
Product
Date
Entry Type
- Sales
- Purchase
- Production item
- Production Material
- Purchase Order
- Stock Upload
- Stock Receipt
- Stock Adjustment
- Stock Taking
- Inventory Transfer
Inventory Journal Reposting
There may be rare situations where transactions may not be posted in the inventory journal, consequently affecting your inventory reports. If you encounter situations like that,
- Navigate to Inventory Journal
- Click Inventory Journal Reposting (under the inventory journal records)
- Select date range
- Click Repost
Inventory Transfer
Moving stock between locations without touching totals: out of one, into the other, one documented movement.
Where: Inventory → Transfers
Choose source and destination locations, the products and quantities, post. Both locations' on-hand update; the transfer document is the trail.
Transactions
Purchase Order
What you've asked a supplier to deliver — the document receiving checks against.
Where: Inventory → Purchase Orders
- New PO: supplier, expected date, then lines — product, quantity, cost.
- Send/print it; the PO sits open with its expected quantities.
- When goods arrive, receive against it — full or partial; the PO tracks received vs outstanding until closed.
Buying without a PO is possible (direct receipt), but POs are what make receiving checkable — three-way honesty between what was ordered, delivered and billed.
Sales Order
A sales order is the process of selling goods or services from a seller to a buyer. It serves as a formal request made by a customer to purchase products or services from a company. The sales order is typically created by the buyer, although in some cases, it may also be generated by the seller based on a verbal or written request from the customer.
To create sales order
On the Account page, select sales
- Select Sales Order
- Select New Sales Order
- Complete required fields
To Fulfill sales order,
- Select More
- Select Fulfil Order
- Select Fulfill All, if you want to fully fulfill the sales order or partially full sales order
- Select save
- Select Yes, if you want to generate invoice from the sales order
- Select No, if you dont want to generate invoice
Manufacturing
Manufacturing Order
Overview
The Manufacturing Order (MO) feature is designed to plan, coordinate, and control various aspects of the production process to ensure efficient and effective manufacturing operations. This feature allows you to outline the specific details and instructions required to produce a particular product in an organized manner.

Key Components and Functions
- Location: The location where the product will be manufactured.
- Batch Number: A unique identifier assigned to the Manufacturing Order.
- Memo: A brief note or description about the product being manufactured.
- Transfer to Location after Manufacturing: This option is necessary if you have designated separate locations within the system for handling manufacturing and sales.
- Product: The product(s) to be manufactured. Only products that have been created with the label 'produce' can be selected.
- Quantity to Produce: The quantity of the product that is to be manufactured.
Creating a Manufacturing Order for Product(s)
To create a Manufacturing Order, follow these steps:
- In the Inventory Module, navigate to Manufacturing > Manufacturing Order.
- Enter the required data for the following fields:
- Location: Specify the manufacturing location.
- Order Date: Enter the date for the manufacturing order.
- Batch Number: Provide a unique batch number for the order.
- Memo: Add any relevant notes or descriptions.
- Product: Select the product(s) to be manufactured.
- To save the Manufacturing Order, click the Save and Continue button.
- After successfully saving the order, the Manufacturing Order listing page will open.
- New Manufacturing Orders have the Order Status of Planning.

Editing a Manufacturing Order
To edit an existing Manufacturing Order:
- On the Manufacturing Order listing page, locate the order you want to edit.
- Click the Edit button next to the Manufacturing Order.
- Modify the fields as needed, such as Location, Order Date, Batch Number, Memo, or Product.
- After making the necessary changes, click the Save and Continue button to update the Manufacturing Order.
- The updated Manufacturing Order will be reflected in the listing page with the changes applied.
Bill of Materials (BOM)
Overview
The Bill of Materials (BOM) is a detailed list of all the raw materials required to manufacture the final product. It specifies the quantities of each item necessary to produce the order quantity specified in the Manufacturing Order.
Adding a Bill of Materials to the Manufacturing Order
To add a Bill of Materials to an existing Manufacturing Order, follow these steps:
- On the Manufacturing Order listing page, click on the MO (Manufacturing Order) for which the BOM needs to be added.
- You will be directed to the BOM page. Here, you can add the required raw materials and any associated costs:
- Select Product (Raw Material): Choose the raw material that will be used in the manufacturing process.
Only products labelled Buy/Sell can be selected. When the product(s) are tracked, there should be enough stocks for the product.
- Add Quantity Needed: Enter the quantity of the selected raw material required for the production.
- Select New Line to Add More Products (Raw Materials): Continue adding raw materials by selecting a new line for each additional product.
- Overhead Costs: If applicable, add any overhead costs associated with the manufacturing process, such as:
- Labour
- Water
- Electricity
- Others
- Once all the required information is entered, click Save to add the Bill of Materials to the Manufacturing Order.
Post to Inventory
Overview
Posting to Inventory is the final step in the manufacturing process. This action updates the stock levels to reflect the completion of the manufacturing process and the availability of the final product.
Steps to Post to Inventory
- On the Manufacturing Order listing page, locate the Manufacturing Order (MO) that has completed the manufacturing process.
- Click on Post to Inventory next to the relevant MO.
- You will be directed to a review page. Carefully inspect the details, including the MO products and the Bill of Materials (BOM).
- Once you are satisfied with the reviewed information, click on Effect Manufacturing to complete the process. This action will update the inventory levels to include the newly manufactured products.
Status Tracking
Overview
Throughout the manufacturing process, the status of the Manufacturing Order (MO) is updated to reflect its progress. This status tracking helps in monitoring and managing the different stages of production.
Status Information
Planning/Pending Order:
- This initial status indicates that the Manufacturing Order has been created and is awaiting the start of the manufacturing process.
In Progress:
- The "In Progress" status indicates that the manufacturing order has been initiated, and the production process is currently ongoing.
Completed:
- The "Completed" status signifies that the manufacturing order has been fully processed and finished. The final product has been manufactured, and the stock levels have been updated accordingly.
Manufacturing Order Color Indicators
The Manufacturing Order (MO) listing page uses color labels to indicate the status or condition of each order:
- Pending Order: Light Blue
- Profit Margin Less Than 0%: Light Red or Pinkish Red
- Profit Margin Greater Than 100%: Light Yellow
Manufacturing Analysis
- The Manufacturing Estimations feature in AstraERP is designed to help businesses calculate and manage the costs associated with producing goods. This feature provides a detailed analysis of production costs, including materials, labor, overhead, and other expenses. It also allows businesses to estimate potential profits from the sale of manufactured products.
Key Components of Manufacturing Estimations
- Items to Produce
- Displays the selected item for production and all other relevant information about that particular product
- Quantity to Produce
- Displays the number of units you want to produce
- Bill of Materials
- Displays the items required for production and all other relevant information of the selected raw material
- Overhead Cost
- Displays all expenses that are not directly tied to the production of the finished product but are necessary for the overall operation of the manufacturing process.

Steps for Using Manufacturing Estimations
- Select the Product:
- Use the dropdown menu under "Item to Produce" to select the product you want to manufacture.
- Enter Quantity:
- In the "Qty to Produce" field, enter the quantity of the product you intend to manufacture.
- Add the Product:
- Click the Add button to add the selected product and quantity to the list of items to produce.
- Review Items to Produce:
- The added items will appear in the "Items to Produce" section. Review the details such as quantity, selling price, gross sales, material cost, overhead cost, total cost, and sales profit.
- Manage Overhead Costs:
- If you need to override the configured costing information, check the "Override Configured Costing Info" box.
- Enter the specific costs for machinery, labor, water, and electricity in the provided fields.
- Bill of Materials:
- If you need to override the configured production bill of materials information, check the "Override Configured Production Bill of Materials Info" box.
- Review the items required for production**.Ensure you have sufficient stock or determine the quantity that needs to be ordered.
- Finalize Estimation:
- Review all the details provided in the "Items to Produce" and "Bill of Materials" sections to ensure accuracy.
- Make necessary adjustments to quantities and costs as needed.
- Run Analysis
Suppliers/Customers
Suppliers/Customers
This page provides a detailed guide on how to manage clients, including customers and suppliers, within AstraERP. The provided interface allows users to add, edit, and organize client information efficiently.
General Buttons:
- Print: Print the list of clients.
- Export: Export the client list to a file (typically in Excel or CSV format).
- Add New: Add a new client to the system.
Actions
- Edit: Modify the client's details.
- Locations: Manage the client's locations.
- Add Sub Clients: Add sub-clients under the main client.
- Merge: Combine two or more clients into one.
- Delete: Remove the client from the system.
Detailed Steps for Common Actions
Adding a New Client:
- Click the Add New button.
- Fill in the required fields such as name, category, email, and mobile number.
- Select whether the client is a customer, supplier, or both.
- Save the new client information.
Editing Client Information:
- Find the client you want to edit in the client list table.
- Click the Edit button (pencil icon) next to the client's name.
- Update the necessary information in the provided form.
- Save the changes.
Adding Sub Clients:
- Click the More... button next to the client.
- Select Add Sub Clients from the dropdown menu.
- Enter the sub-client's details and associate them with the main client.
- Save the sub-client information.
Merging Clients:
- Click the More... button next to one of the clients you want to merge.
- Select Merge from the dropdown menu.
- Choose the other client(s) to merge.
- Confirm the merge action.
Additional Tips
- Filtering: Use the checkboxes to quickly filter the list to show only customers or suppliers, making it easier to manage large datasets.
- Client Upload - Import client data from an external file in Excel format
Client Upload
- The client upload feature in AstraERP allows users to efficiently add all clients (customers/suppliers) to the system at once. This is particularly useful for managing large clients, saving time, and reducing manual errors.
Steps to Client Data
**Complete an Excel template with your client information
Choose File
- Click on the "Choose file" button to open a file dialog.
- Select the file containing your sales data from your computer.
- Upload File
- After selecting the file, click the "Upload" button to start the upload process.
- Wait for the upload to complete. The interface will update to show the results.
- Review Results
- Check the Successful List tab to see the client records that were successfully uploaded.
- Check the Failed List tab to review any errors and understand why certain records failed to upload.
- Clear File (Optional)
- If you need to upload a different file, click the "Clear" button to reset the file selection and start over.
Other Components of Sales Upload
Upload Results
- Successful List: This tab displayss the list of succeessfully uploaaded client records
- Failed Lists: It shows the records that failed to upload, along woth error messages explaining the reason for the failure.
Bills/Expenses
Expenses
- Expense is a cost that bsinesses incur in runnning their operations. They can be incurred in various day-to-day business activities including wages, salaries, maintenance, rent, transportation etc.
In the expense feature, you will have the following sections:
Basic Functions in Expense
- Create New Expense
- View Expenses Created
- Attach Receipts to Expense

Manage Expenses
- Filter Expenses
- Edit Expense
- Attach Receipts
- Delete Expense
- Print Expense
- Duplicate Expense
How to create an Expense
To create an expense:
- Navigate to Bill/Expenses
- Click on New Expense on the top right corner of the page
- Enter the following details in the New Expense page.
Expense Information
| Field | Description |
|---|---|
| Date | Select the date on which the expense is created. |
| Payment Account | Select an account to track the expense you’re going to record. |
| Vendor | Select a vendor to whom you wish to associate the expense. |
| Add New line | Add multiple expense accounts under which you wish to track different expenses |
| Amount | Enter the expense amount |
| Charges | Add charges to the expense amount if any |
Attach Receipts
- Attach the receipt of your expense from your Desktop or Cloud. This will help you ensure that financial records align with actual spending. It will also help you to stay compliant with tax regulations, making audits processes smoother.

Bills
Bills are invoices issued by creditors, suppliers to request payment for goods or services. Eg.Utility, Medicals, Taxes, Insurance
To create a Bill, On the Account page,
- Select Purchases
- Select Bill
- Select New Bills
- Complete the required fields
- Save and close
- Select More to,
- Edit bill
- Duplicate bill
- Attach receipt
- Delete bill
On the same page, you can
- Search bill by date
- Search bill by entry source
- Search bill by vendor
- Print bill items
- Make Bulk payment for bill
To Make Bulk payment for bill,
- Select Make Bulk Payment
- Select Payment Date
- Select Counterparty
- Check if you want to specify date range for the payment to the bills. That is a bill payment date
- Enter Bill amount
- Select Payment Account
- Check Apply withholding Tax if applicable
- Select Make Payment
Bills Payment
This is a document that indicates the amount you owe your vendors for he goods and services provided to you.
Basic Functions in Bills
- Create New Bill
- Pay Existing Bills
- View Recorded Bills
Functions in Bill
- Link bills to products
- Attach cheque numbers used for Bil payment
- Set Cheque Due Date(when cheque is issued)
- Attach document to Bill

How to pay for stock bought at a latter date
- Navigate to Bills/ Expense
- Select Bills (This page shows all the stock received from the suppliers)
- Identify the stock you want to make payment for.
- Select More and choose Make payment from the drop-down list
- Record details of payments(Account type, Date, Amount and Reference number)
- Save

Upload Bills/Expense
When you want to load large volume of bills or expenese, you can use the excel template to do that.
To upload Bills/ Expenses
On the Account page, select purchases
- Select Upload bills/expense
- Select Payment Account. that is the mode of payment you use to ame the expense/bill
- Choose the excel file saved
- Select upload
- Select save Look out for Failed List.
Inventory Uploads
Products Upload
- The product upload feature in AstraERP allows users to efficiently add multiple products to the system at once. This is particularly useful for managing large inventories, saving time, and reducing manual errors.
Steps to Upload Product
- Select Income Account, Inventory Asset Account and Cost of Goods Account
- Choose the appropriate accounts for your products. This is required to proceed with the upload.
- Choose File
- Click on the "Choose file" button to open a file dialog.
- Select the file containing your product data from your computer.
- Upload File
- After selecting the file, click the "Upload" button to start the upload process.
- Wait for the upload to complete. The interface will update to show the results.
- Review Results
- Check the Successful List tab to see the product records that were successfully uploaded.
- Check the Failed List tab to review any errors and understand why certain records failed to upload.
- Clear File (Optional)
- If you need to upload a different file, click the "Clear" button to reset the file selection and start over.
Other Components of Sales Upload
Upload Results
- Successful List: This tab displayss the list of succeessfully uploaaded stock records
- Failed Lists: It shows the records that failed to upload, along woth error messages explaining the reason for the failure.
Stock Upload
- The stockt upload feature in AstraERP allows users to efficiently add all available stock to the system at once. This is particularly useful for managing large stock, saving time, and reducing manual errors.
Steps to Upload Stock
- Select Partner/supplier
- Choose the appropriate supplier/partner you are receiving the stock from. This is required to proceed with the upload.
- Choose File
- Click on the "Choose file" button to open a file dialog.
- Select the file containing your sales data from your computer.
- Upload File
- After selecting the file, click the "Upload" button to start the upload process.
- Wait for the upload to complete. The interface will update to show the results.
- Review Results
- Check the Successful List tab to see the stock records that were successfully uploaded.
- Check the Failed List tab to review any errors and understand why certain records failed to upload.
- Clear File (Optional)
- If you need to upload a different file, click the "Clear" button to reset the file selection and start over.
Other Components of Sales Upload
Upload Results
- Successful List: This tab displayss the list of succeessfully uploaaded stock records
- Failed Lists: It shows the records that failed to upload, along woth error messages explaining the reason for the failure.
Reports
View Reports
Overview of Reports
These reports are crucial for effective inventory management, financial planning and decision making. Your reports are based on your DAILY SUMMARY. Do Remember To Run Your DAILY SUMMARY to have accurate reports. To know how to run daily summary, please click here
The system provides you with the following reports:
| Field | Description |
|---|---|
| Profit and Loss Statements(P&L) | This report provides summary of company's revenues, costs and expenses over a specific period. it calculates the profit or loss by subtracting expenses from revenue |
| Cash Flow Statement | The cash flow statement tracks the movement of cash into and out of the business over a specific period. It categorizes cash flows into operating, investing, and financing activities, helping to assess the company's liquidity |
| Balance Sheet | This report presents a company's financial position at a specific point in time. It includes assets (such as inventory), liabilities, and shareholders' equity. The balance sheet helps to determine the company's financial health and net worth. |
| Sales Tax Report | This report summarizes the sales tax collected from customers. It's important for ensuring compliance with tax regulations and submitting accurate tax returns. |
| Account Receivable Report | This report lists outstanding invoices and the amounts owed by customers. It helps monitor and manage the collection of accounts receivable. |
| Account Payable Report | Similar to accounts receivable, this report lists outstanding bills and the amounts owed to suppliers and creditors. It aids in managing and tracking payment obligations. |
| Daily Sales Report | This report provides a breakdown of sales on a daily basis. It includes details such as the number of units sold, total sales revenue, and often categorizes sales by product or service. |
| Weekly Sales Report | A summary of sales activities and performance over a week, typically including comparisons to previous weeks. |
| Monthly Sales Report | This report offers an overview of sales performance for an entire month, often including sales trends, targets, and comparisons to previous months. |
| Account Receivable Aging Report | This report categorizes accounts receivable by the length of time outstanding. It helps identify overdue invoices and assess the effectiveness of the company's credit and collection policies |
How to View Reports
- Navigate to Reports
- Click View Reports
- Select the Report you want
- Complete details in the side component
- Click View Report (This will display the report you have selected)
Configuration
Reference (All Settings)
Everything under Config/Settings, in one map:
| Area | What it configures |
|---|---|
| Company | Business details, financial years, new-company creation |
| Branding | Logo, letterhead (letters, case packs and documents print on it), signature, stamp |
| Users & permissions | User accounts, per-page/per-action grants, user locations, company locations |
| Message templates | Email/SMS bodies per message type; the message generator for ad-hoc sends |
| Workflow | Approval workflows and their configuration; workflow requests & approvals queues |
| Custom fields | Extra fields on supported records |
| Module settings | HR, Payroll, CRM, Account, Inventory settings pages — each documented in its module's guide |
| API keys | Long-lived company-scoped keys for integrations — treat like passwords, revoke when in doubt |
| Extensions | Optional add-ons enabled per company |
| Lookups | The dropdown vocabularies used across modules (departments, job titles, banks, types…) — short, consistent lists keep reports clean |
The pages in this section cover the cross-cutting ones in detail: users, permissions, user locations, message templates, business details, new company.
Account
How Accounting Fits Together
Everything financial in AstraERP lands, eventually, in the general ledger — double-entry rows against the chart of accounts. You rarely write ledger rows yourself; the modules do:
Sales/Invoices ──┐
Bills/Expenses ──┤
Payroll bills ──┼──► JOURNAL ENTRIES ──► GENERAL LEDGER ──► Reports
Bank & cash ──┤ (auto-posted │ (P&L, balances,
POS & registers──┘ or manual) │ business performance)
▼
Bank reconciliation proves the ledger
against the bank's own statement- Chart of accounts — your account tree (assets, liabilities, income, expenses, equity). Set it up first; every posting needs its account.
- Source documents (invoices, bills, expenses, payments, transfers, deposits) post their own journals — you record the business event, the books follow.
- Manual journals cover what has no source document (accruals, corrections, opening adjustments).
- Opening balances seed the ledger when you migrate onto AstraERP.
- Authorisation gates sensitive postings — a second pair of eyes before the ledger moves.
Start here, then use the section guides: Banking, Sales & Receivables, Purchases & Payables, Reports.
Account Dashboard
The financial pulse: cash and bank positions, receivables vs payables, income vs expense for the period, and the day's activity — with drill-through into every figure.
Where: Account → Dashboard 
Pair it with Business Performance (trends over periods) and Daily Summary (the day's takings by till/register) for the three altitudes of oversight.
Chart of Account
To create Charts of Account, On the Account page,
- Select Charts of Account
- Select New Account
- Enter the Account Name. Eg. Transportation, Rent, Fuel loans
- Select the Account Type, Eg. Expense, Capital, Current Liability
- Checked the box if you want to specify an account code
Daily Summary
A concise report that provides a snapshot of fnancial transactions and activities that occured within a single day. It serves as a crucial tool for monitoring and managing the financial health of a business on a day-to-day basis
Components of Daily Summary
| Fields | Description |
|---|---|
| Date | The date of the summary which is usually the end of the business day |
| Stock @ Cost | This is the total value of inventory on hand at its purchase |
| Stock @ Selling | This represents the total value of on hand at its selling prices which include any markup or profit margin applied to the cost price. |
| Total Stock Received | This includes the total quantity and value of inventory received during the day. It is important for tracking inventory inflows. |
| Gross Sale Amount | This is the total revenue generated from sales before deductions. It includes the selling prices of all goods sold during the day. |
| Discount Amount | If any discounts were offered to customers during the day, this figure reflects the total amount of those discounts. |
| Net Sale Amount | This is the actual revenue earned by the busines after substracting discounts and retruns. It represents the money that the business actually received. |
| Amount Receivable | Any outstanding invoices or accounts receivables that were collected during the day |
| Tax amount | Details of any tax payments or tax-related transactions made during the day such as sales tax |
| Cost Price | The cost price of all goods sold during the day. It helps in calculating the cost of goods sold(COGS), which is essential for profit determination |
| Profit | It provides a measure of the day's profitability. It is calculated by substracting the cost price from the net sale amount |
How to RUN Daily Summary
- Navigate to the Daily Summary page
- Select the Date from - Date to if the daily summary has not been ran in a while
- Click Run
- Wait for daily summary to complete
- Refresh page
How to REVERSE Daily Summary
- Navigate to the Daily Summary page
- Select the Date from - Date to (period you want to reverse)
- Click Reverse
- Wait for reversal to complete
- Refresh page
Client Balance
Managing Client Balance This refers to a summary of the financial records that indicate the amount of money owed to or byclients in a business context. This helps businesses track the financial relationshipsthey have with their clients and ensures accurate accounting of transactions.
How to check Client Balances
- Navigate to client balance on the left side bar
- Select Client Balance
- Click Customers/Suppliers/Others/All(This provides information of balances based on user selection)
- Search customer(This feature provides you financial records for individual customers)

- Click on client's name
- View client balance
Uploading Client Balances
- Complete the Astra Partners Excel template
- Create a chart of account with the name Customer Deposits and Account type: Current liability
- Select Upload under Suppliers/customers
- Click on Account Options
- Complete all required fields
- Choose file (the completed Excel template)
- Upload and Save
Tracking Additional Customer Deposits
- Go to Deposits
- Select New Bank/Cash Deposits
- Under the Deposit Account, Select Cash in Hand
- Select the client who is making the deposit to the company
- Account – Select Customer deposits (the one you created in the charts of accounts)
- Description (if any)
- Amount (Enter the amount of money the customer gave)
- Save the changes
Confirming Customer Deposits
- Click on the Client Balances,
- Click on Customers
- Search customers name
- Click on Customer’s name
- Print statement (if necessary)
Other Actions of Client Balance
- View client balances
- Filter balances(customers, suppliers, others, all, and date)
- Searching for customers

- Exporting balances
- Printing balances
Cash Register
Cash register gives a summary view of all daily cash transaction. The cash register serves as the point where sales transactions, expenses, deposits etc viewed. To view all transaction in the cash regsiter, On the account page,
- Select Cash register
- You can select the cash/ Bank to view details of cash transaction
- You can select particular date to view transaction
- You can also print cash book
- Select view | Fields | Description | |--|--| |Cash Sales|The total cash sales on the day |Credit Payment|The total credit payment by a customer. That is when customer pays for goods bought on credit |Cash Movements|The inflow and outflow of cash eg. Deposit, withdrawal, transfers |Expenses|Total expense for the day |At the Begining of Date|Cash total at the begining of the transaction date |For Date|The total amount of cash as at the date |End of Date|The total amount pf cash at the end of the Date |Transaction summary|It shows all the daily cash transaction |Payment received|The total payment received |Bill payment|Total bill payment. That is when payment is made to a supplier
Bulk Payments History
Bulk paymemt History show all the record of bulk payment either by a supplier or a customer. It shows the following details,
- Date of the Bulk payment
- The payment type eith invoice paymemt or Bill Payment
- Counterparty
- Payment Account
- Debt to pay
- Total amount
- The number of times payment was made
To make, view, print or reverse Bulk payment,
On the account page,
- Select Bulk Payment History
- Select make Bulk payment to record Bulk payment
- Complete required fields
- You can view, print and reverse Bulk payment
Cash Transactions
A cash transaction refers to a transaction which involves an immediate outflow and inflow in the organisation.Cash transaction can be consumer-oriented or business-oriented.
On the Account page, select Banking
- Select Cash transactions to record transfers, withdrawals and deposit
- Select Add New
- Select transaction type, that is either cash transfer, cash withdrawal and cash deposit
- Complete the required fields
- Select save and close
Products & Services
Advanced View
Product is a broad term that refers to any tangible or intangible item (goods or services) that is created, or offered to meet a particular need in the market
How to create a product
To create a product
- Select product on the left sidebar of the inventory module.
- Select New Product
- Complete the required fields and select Save Changes
General Information
| Fields | Description |
|---|---|
| Product type | Whether product is a goods or a service. Your choice will influence the package information. |
| Description | Add any information related to the product you are creating. |
| Product Category | Add categories that will help you to group products that are related. |
| Track Inventory | Indicate where you want to monitor and manage the quantities and value of your products. |
Package/Variant Information
| Fields | Description |
|---|---|
| Reorder level | Add the minimum quantity of a product that your business should have in stock before placing a new order. |
| Product Package | Add how the product is packaged. How they are bought or sold, whether in boxes, cartons, single items etc. |
| Item Label | Add how you want the product to be displayed. This will be included to the product name. |
Uploading Products
If you already have a list of your products in XLSX format, you can upload them into AstraERP
- Complete the Inventory Product Excel template
- Navigate to inventory uploads in the left sidebar
- Complete all the relavant fields:
- Income Account
- Cost of goods Account
- Inventory Asset Account
- Create Non Existing Packages
- Overide Existing Packages
- Under the inventory uploads, select Product Upload
- Click the Choose file to select the Excel file containing the data you want to upload
- Click upload
- You can choose to Skip or Override the packages
Note: After product upload, the "Successful list" will give provide you with the number of products that were uploaded. The :"Failed list" will furnish you with the products that were not successful. You will know the reason(s) for unsuccessful upload.
Purchases
Expense
Overview - Expense
- Expense is a cost that bsinesses incur in runnning their operations. They can be incurred in various day-to-day business activities including wages, salaries, maintenance, rent, transportation etc.
In the expense feature, you will have the following sections:
Basic Functions in Expense
- Create New Expense
- View Expenses Created
- Attach Receipts to Expense

Manage Expenses
- Filter Expenses
- Edit Expense
- Attach Receipts
- Delete Expense
- Print Expense
- Duplicate Expense
How to create an Expense
To create an expense:
- Navigate to Bill/Expenses
- Click on New Expense on the top right corner of the page
- Enter the following details in the New Expense page.
Expense Information
| Field | Description |
|---|---|
| Date | Select the date on which the expense is created. |
| Payment Account | Select an account to track the expense you’re going to record. |
| Vendor | Select a vendor to whom you wish to associate the expense. |
| Add New line | Add multiple expense accounts under which you wish to track different expenses |
| Amount | Enter the expense amount |
| Charges | Add charges to the expense amount if any |
Attach Receipts
- Attach the receipt of your expense from your Desktop or Cloud. This will help you ensure that financial records align with actual spending. It will also help you to stay compliant with tax regulations, making audits processes smoother.

Bills
Bills are invoices issued by creditors, suppliers to request payment for goods or services. Eg.Utility, Medicals, Taxes, Insurance
To create a Bill, On the Account page,
- Select Purchases
- Select Bill
- Select New Bills
- Complete the required fields
- Save and close
- Select More to,
- Edit bill
- Duplicate bill
- Attach receipt
- Delete bill
On the same page, you can
- Search bill by date
- Search bill by entry source
- Search bill by vendor
- Print bill items
- Make Bulk payment for bill
To Make Bulk payment for bill,
- Select Make Bulk Payment
- Select Payment Date
- Select Counterparty
- Check if you want to specify date range for the payment to the bills. That is a bill payment date
- Enter Bill amount
- Select Payment Account
- Check Apply withholding Tax if applicable
- Select Make Payment
Bill Payment
Overview - Bills This is a document that indicates the amount you owe your vendors for he goods and services provided to you.
Basic Functions in Bills
- Create New Bill
- Pay Existing Bills
- View Recorded Bills
Functions in Bill
- Link bills to products
- Attach cheque numbers used for Bil payment
- Set Cheque Due Date(when cheque is issued)
- Attach document to Bill

How to pay for stock bought at a latter date
- Navigate to Bills/ Expense
- Select Bills (This page shows all the stock received from the suppliers)
- Identify the stock you want to make payment for.
- Select More and choose Make payment from the drop-down list
- Record details of payments(Account type, Date, Amount and Reference number)
- Save

Payroll Bills
The accounting side of payroll: when a pay run is authorised (and payroll settings post to accounting), the run's cost arrives here as bills — net pay, statutory remittances (SSNIT, Tier 2, PAYE) and institutional items — ready to be paid and posted like any other liability.
Where: Account → Purchases → Payroll Bills
Pay them through Bill Payments; each payment posts its ledger entries and clears the liability.
Payment Voucher
A payment voucher is a document used by businesses to record and authorize payments made to vendors, suppliers, employees, or for various expenses incurred by the company. It serves as supporting evidence for the transaction and is an important part of the company's internal control and accounting processes. Remember to activate bill payment settigs at the company settings if you want to track that processes.
To generate payment voucher, On the account page
- Select Bills
- Select generate payment voucher on the bills that has already been created
- Complete required fields
- Select save and close
To Approve payment vouchers
- Select payment vouchers
- Checked on Approve to approve payment vouchers
- Complete required fields
- Select Approve Payment
Petty Cash
Petty cash is a small amount of cash that a company or organization keeps on hand to cover minor, day-to-day expenses. It is typically maintained in a secure box or drawer, and a designated person, often called the petty cash custodian, is responsible for managing and disbursing the funds.
On the Account page, select Purchase
- Select Petty Cash
- Select Add New
- Complete the required fields
- Save Fund
To Manage Petty Cash
- Select Manage
- Select New Expense Item
- Complete the required fields
- Save and close
Fixed Asset
Fixed assets, also known as property, plant, and equipment (PP&E), are tangible assets that a company owns and uses in its business operations to generate income. These assets are long-term in nature and are not intended for sale in the normal course of business. Fixed assets typically include: Land, Vehicles, Machinery, Bulildings
| Fields | Description |
|---|---|
| Date | |
| Specify Tracking No | |
| Assest Name | |
| Asset Description | |
| Assest Serial Number | |
| Asset Account | |
| Payment Account | |
| Vendor | |
| Paid Purchase | |
| Purchased Cost | |
| Warrantly Expiration Date | |
| Purchase State | |
| Expense Account | |
| Schedule | |
| Start Date | |
| Depreciation Amount | |
| Under Warranty |
Purchase Order
How to Order Goods from your Suppliers
- On the menu, select Purchase Order
- Select Add New Purchase Order
- Complete the required fields and Save
- Select Close to go back
How to Receive the Stock into your warehouse/shop
- select Purchase Order
- On the Purchase Order page, filter and search for the order you want to receive either by Date or by Location.
- Select More
- Select Receive Stock
- On the Receive stock page
- For Full PO receipt: select Receive All, this will automatically display details of the items (Product, Package, Expiry Date, Quantity, Cost Price, Total Cost) on the Stock Receipts section of the page.
- Complete the required fields and save.
For Partial Purchase Order Receipt:
- select Add New Entry
- choose the items you want to receive payment for by selecting receive below the Receive All section of the page
- Complete the required fields and save
Please note: Creating a Purchase Order and receiving stock automatically creates a bill
Accrued Liabilities
Obligations you owe but haven't been billed for yet — recorded so the books show the truth before the invoice arrives (utilities consumed, services received, year-end accruals).
Where: Account → Purchases → Accrued Liabilities
Record the liability with its account, amount and period; reverse or settle it when the actual bill lands (raise the bill and clear the accrual). Accruals are classic month-end journal territory — keep descriptions explicit for the auditor.
Sales
Recurring Sales
Recurring sales refer to regular, predictable sales transactions that occur on a periodic basis, typically involving the sale of products or services on a recurring or subscription-based model to a client. These sales generate revenue at regular intervals, often weekly, monthly, quarterly, or annually.
To Set Recurring Sales
On the Account page, select sales
- Select New Recurring sales
- Complete required fields
| Fields | Description |
|---|---|
| Repeat Every | How often do you want the recurring invoice to repeat |
| Frequency | It is the rate of occurrence or the number of times of the invoice, eg. Days, Weekly, Monthly |
| Start Date | Invoice start date |
| End Date | Invoice end date |
| Send Automatically | That is the invoice will be send to the customer automatically via email |
| Customer | The customers name |
| Payment Terms | Whnen payment should be made |
| Memo | Any additional information or instructions |
| Payment Instruction | Any paymemt instruction for the clustomer |
- Select add new line to add details of product
- Complete required fields
- Select save and close
Sales Upload
Bulk-import sales/invoices from a spreadsheet — for migrations and channels that sell outside AstraERP.
Where: Account → Sales → Sales Upload · Template: Upload Templates.
Fill the template (customer, date, items/amounts, references), upload, review the preview's per-row results, process. Imported sales post like natively-raised ones: AR, ledger and reports all see them.
Customers
Suppliers/Customers
Overview
The Customers/Suppliers/Clients section is where you add new Customers/Suppliers/Clients with their details and manage them.
Add Clients
- Navigate to Clients
- Select the Location to add the client to
- Click "New Customer/Supplier"
- On the "New Customer/Supplier" page, enter details for the following fields:
- Code
- Name
- Mobile Number
- Other Contact No.
- Email-Address
- Nature of Business
- Type
- Partner Category
- WHT Exempt
- Billing-Address
- Geolocation
- Has Parent Client? [Leave unchecked if a parent client]
- Click "Save Changes"
Delete Clients
- Navigate to Clients
- Select the Location to delete the clients from
- Select the client and Click More -> Delete
Add Sub clients
A sub client is a client that is been served or is linked to a parent client.
- Navigate to Clients
- Select the Location to add the client to
- Click "New Customer/Supplier"
- On the "New Customer/Supplier" page, enter details for the following fields:
- Code
- Name
- Mobile Number
- Other Contact No.
- Email-Address
- Nature of Business
- Type
- Partner Category
- WHT Exempt
- Billing-Address
- Geolocation
- Has Parent Client? check field
- Select parent client this client would be linked to
- Click "Save Changes"
Print Clients
- Navigate to Clients
- Select the Location for which the export would be made
- Click on Print
Export Clients
Exports are made in the xlsx format.
- Navigate to Clients
- Select the Location for which the export would be made
- Click on Export
Merge Clients
- Navigate to Clients
- Select the Location to merge clients
- Select the client to merge
- Click More -> Merge
- Select client to merge client with
- Click "Merge Contacts"
Banking
Bank Statement Upload
Bring the bank's own record into AstraERP so reconciliation can compare it against your ledger.
Where: Account → Banking → Bank Statement · Template: Upload Templates.
- Fill the statement template (date, description, reference, debit/credit) from your bank export.
- Choose the bank account, choose the file, Upload.
- Review the result list — uploaded rows vs failures (bad dates/amounts). Fix failures in the sheet and re-upload just those.
Uploaded statement lines become the "bank side" in Bank Reconciliation and in Transaction Mapping.
Bank Transaction Mapping
Teach AstraERP what recurring statement lines mean, so imports classify themselves: map a match pattern (e.g. "MTN MOMO FEE", "SSNIT") to the ledger account it should post to.
Where: Account → Banking → Transaction Mapping
Once mapped, matching statement lines are proposed against the right account automatically — reconciliation becomes confirmation instead of data entry. Maintain mappings as your bank's descriptors change.
Bank Reconciliation
Overview of Bank Reconciliation
This function allows you to compare your company's bank statement to the records (ledgers) in AstraERP, ensuring that all transactions are accounted for. Bank reconciliation is a tool used by businesses and accountants to identify fraud, omissions, and mistakes in financial accounts. Reconciliation statements, when regularly completed, assist businesses in finding cash flow problems, giving investors accurate information, and accurately planning and paying taxes. Companies and individuals should reconcile their bank statements on a monthly basis. Additionally, they can be completed on a daily or weekly basis, depending on how often statements are created.
To successfully complete your bank reconciliation in AstraERP, you'll need to format and upload your bank statements in AstraERP. Find the template for the Bank statement upload here.
How to upload your Bank Statement
- Complete the Bank Statement Upload Template
- Navigate to Banking
- Select Bank Statement Upload
- Select Bank Account
- Click on Choose file to select the bank statement upload template you just completed.
- Click on upload to complete the process.
- You can view the list of the transactions that were successfully uploaded and those that failed.
How to do Bank Reconciliation
- Navigate to Banking
- Select Bank Reconciliation
- Click on Select Account to select the bank account you are about to reconcile.
- Click on New Recon
- Select Start and End Date
- Enter the Bank Recon Start balance & End Balance as showed in the bank reconciliation statement you just uploaded
- Click on Start Recon
- On your left is Unreconciled Transactions Records & On your right is Unreconciled Ledger Records
- Pick a transaction in the Unreconciled Transactions Records and find its corresponding transaction in the Unreconciled Ledger Records
- If both transactions match, Click on Match Records
- Go through all the transactions in order to find the those that match.
- View Reconciliation Details.
- Click the End Recon to end the process for the month or the selected period.
- Repeat the steps if you want to start a new bank recon for a new month
Accounting
Journal
Manual double-entry: debit one account, credit another, dated and described — for accruals, corrections and anything without a source document.
Where: Account → Journal · Bulk: Journal Upload / Ledger Upload with the templates.
A journal must balance (debits = credits) before it posts. Write descriptions for the reader you'll be in twelve months: "March electricity accrual — bill outstanding" beats "adjustment".
General Ledgers (GL)
The book itself: every posted entry, filterable by account and date range, with running debit/credit/balance per account.
Where: Account → General Ledger
Use it to trace any figure on a report to its postings: filter the account, set the period, follow each row to its source document. If a number surprises you, this is where the answer is — nothing reaches a report without a row here.
Opening Balance Upload
Seed the ledger when you move onto AstraERP: per-account opening balances as at your cut-over date — plus per-partner openings (what customers owed you / you owed suppliers).
Where: Account → Opening Balance / Upload Opening Balance (template-based)
Enter or upload the trial balance as at cut-over; the system posts the opening entries. Get this signed off before live entry starts — everything after builds on it.
Reports
Settings
Payroll
Getting Started
AstraERP Payroll turns employee pay setup + the month's variable items into an authorised pay run: gross to net with SSNIT (Tier 1), Tier 2, income tax (Ghana PAYE bands), allowances, deductions, overtime and wages — with payslips, bank pay-in lists and institution schedules out the other end.
The pay cycle
Setup (once) Each month Month end
───────────── ────────────── ─────────────
Payroll items → Variable items: overtime, → Pay run: compute →
(earnings/deductions) wages, bonuses, deductions, review → AUTHORISE →
Employee pay setup refunds, attendance hours payslips · bank list ·
Settings & pay period statutory schedules- Configure — payroll items, settings, the current pay period.
- Set each employee's pay — pay details: basic pay or wage type, statutory flags, recurring earnings/reliefs.
- During the month — capture overtime, wages, bonuses & compensations, deductions, refunds; monthly work-hours flow in from HR attendance.
- Run — create the pay run, review, authorise, dispatch payslips and export the bank/institution schedules.
Who does what
Pay setup and runs are permission-gated pages like everything else; the pay run itself takes a second authorisation step before anything can be dispatched — computed numbers are reviewable and reversible until then.
Dashboard
The month at a glance: headcount on payroll, gross/net totals, statutory obligations and the state of the current run — with shortcuts into setup gaps (employees not ready, no pay type).
Where: Payroll → Dashboard
Employees
Payroll's view of the workforce: who is on payroll, their pay type, statutory flags and whether their setup is complete.
Where: Payroll → Employee Pay Setup 
Filters worth knowing: Ready, Incomplete, No pay type, Off payroll — your gap list before every run. Pay setup opens the employee's pay details; Export list for the spreadsheet view.
Employees are created in HR; payroll adds the pay dimension. A minimal employee (bio + bank) can also be captured from here when payroll runs ahead of HR data entry.
Groupings
Named groups of employees for payroll purposes — run subsets (e.g. management vs field staff), special-group handling and reporting cuts.
Where: Payroll → Employee Groups
A pay run can target a group; employees outside it are untouched by that run.
Pay Runs
Where the month becomes money.
Where: Payroll → Pay Runs 
Pay periods
Payroll works in periods (month + year). Set the current period under Pay Period (Set As Current Pay Period); variable items and runs belong to it. Locked/authorised periods refuse edits — corrections go into the next period or via deauthorisation.
Running
- Create the run for the period (optionally for one employee group).
- The run computes every on-payroll employee: basic, allowances, overtime/wages, bonuses, deductions, SSNIT, Tier 2, PAYE → gross, net, employer cost.
- Review — the run lists totals and each employee's row; drill into any payslip. Wrong numbers? Fix the source (pay details or variable items) and recompute.
- Authorise — the sign-off. After authorisation:
- Payslips dispatch to employees (portal/email),
- Bank Pay-In Slip exports the net-pay list per bank,
- Email to Institution sends each institution its schedule (pensions, unions, loans),
- Excel exports for gross pay, employer SSF and full run data.
- Deauthorise reopens a run that must be corrected — deliberately loud, and only until payment has gone out.
Common questions
An employee is missing from the run. Check the setup list filters: off payroll, no pay type, or incomplete setup.
Attendance hours didn't arrive. The month must be confirmed, locked and posted in HR → Attendance → Summaries first.
Pay items Roll
Pay Item Roll (Payroll → Pay Item Roll): the period's totals by item — every payroll item with its total and the employees behind it. The reconciliation view for remittances and cost analysis.
Pay Item Definitions (Payroll → Definitions): coded variants under one item — label, code, amount — for items that need sub-products (loan schemes, allowance grades).
Overtime
Per-employee overtime for the month: entries against the employee's overtime pay item, at the amount or rate configured in their pay details.
Where: Payroll → Overtime
Where HR attendance is in use, prefer posting the confirmed monthly work-hours from HR (Attendance → Summaries) — overtime hours then arrive computed from clock data instead of typed.
Compensations & Bonus
One-off bonus payments for a period — bonus type, employees, amounts — computed with the run and shown on payslips per your payslip settings.
Where: Payroll → Compensations · Bonus types are configured in payroll lookups.
Pay Records
The pay history: per period per employee — basic, SSNIT, Tier 2, allowances, taxable pay, income tax, gross, net and employer cost — with the payslip a click away.
Where: Payroll → Pay Records
Filter by employee; Details opens the full breakdown, Payslip the printable slip. Employees see the same payslips on the portal.
Pay Calculator
A what-if calculator, independent of any employee record: basic pay, allowances, bonus, overtime, other deductions/reliefs, provident fund %, senior-staff flag → gross, income tax (with the PAYE band-by-band breakdown), net and cost to employer.
Where: Payroll → Pay Calculator
Use it for offers and negotiations — nothing is saved.
Settings
Payroll Items
The building blocks of pay. Every earning, relief and deduction is a payroll item: name, type, application mode (fixed amount or percentage), amount, taxable flag, status — and, for remitted items, the institution it is paid to.
Where: Payroll → Payroll Items
| Field | Meaning |
|---|---|
| Item name / description | How it appears on payslips and reports |
| Pay item type | What it is (allowance, deduction, pension tiers, loans…) — drives where it lands in the computation |
| Application mode | Fixed amount or percentage (of basic) |
| Amount | The default; per-employee overrides happen at assignment |
| Taxable | Whether it enters taxable income |
| Institutional item + institution | For remittances (pensions, unions, loans) — enables per-institution schedules and email dispatch from the pay run |
Definitions (Pay Item Definitions) let one item carry coded variants (e.g. loan products) with their own labels and amounts.
System-managed items (e.g. Tier 2 pension) are created automatically and shouldn't be repurposed.
Configuration
The setup surfaces in one list:
| Screen | Configures |
|---|---|
| Payroll Items | Earnings, reliefs, deductions; institutional items |
| Definitions | Coded variants under items |
| Institutions | The bodies you remit to: code, name, contact, bank details, email list (per-run schedules go here) |
| Settings | Statutory flags, ERN, payslip options, accounting posting |
| Pay Period | The current month/year everything belongs to |
| Employee Groups | Run subsets |
Payroll Settings
Company-level payroll behaviour.
Where: Payroll → Settings
| Setting | Effect |
|---|---|
| Pays income tax / pays SSNIT | Whether statutory deductions are computed at all (some categories of employer differ) |
| SSNIT ERN | Your employer registration number, printed on schedules |
| Payment day | The nominal pay date in the month |
| Payslip options | Show/hide SSNIT, Tier 2 and the "other" section on payslips; payslip footer text |
| Post accounting bills | Post the run's cost into Accounting as bills automatically |
Set Pay Period
Everything recurring about one employee's pay.
Where: Payroll → Employee Pay Setup → Pay setup on the employee
The pay details
| Field | Meaning |
|---|---|
| Pay type | Salaried (monthly basic) vs wage-based |
| Basic pay | The monthly basic for salaried staff |
| On payroll | Master switch — off = skipped by runs |
| Deduct income tax / SSNIT | Statutory participation for this employee |
| Expected / override net pay | Target-net arrangements: the system back-computes, or you pin the net |
| Overtime / Saturday / Sunday / holiday pay items | Which item each premium pays through, and the amount or rate mode |
| Regular-time pay item | For wage staff — the item hours pay through |
Recurring earnings, reliefs and deductions
- Add Earnings & Reliefs — recurring allowances and reliefs: item, mode, amount, status.
- Deductions — recurring or term deductions: item, amount per period, total to pay with start/end dates (the system stops when the total is recovered — loans), status.
Everything here repeats each period until changed; one-off amounts belong in the monthly variable screens instead.
Upload Employee Payroll Items
Bulk-assign payroll items from a spreadsheet: Employee ID, payroll item, amount — with an application date, and switches for override existing payroll item and create non-existing employee.
Where: Payroll → Upload Employee Payroll Items
The preview shows every row with a comment when it can't apply (unknown employee/item); process, fix the rejects, re-upload just those.
Human Resource
Initial Set-up
The order that makes the HR module work end to end for a new company:
- Departments, job titles, ranks — Settings → HR lookups. Ranks carry a weight (seniority) used across HR.
- Working period — working hours per weekday and overtime rate; attendance maths depends on it.
- Leave types & allocations — see Leave Configuration; allocate days per rank or per employee.
- Employees — add or bulk-upload your people, with department, rank, manager and status set.
- Management roles — assign who approves leave and who holds discipline authority.
- Discipline catalogue — seeded automatically; review it under Discipline → Setup.
- Portal invitations — send from the Employee List so staff can activate self-service.
- Attendance device / notifications — if you clock with a device, register it under Attendance Device.
HR Dashboard
The landing view of the HR module: headcount and status at a glance, upcoming events (birthdays, retirements, probation ends), pending leave, and shortcuts into the busiest screens.
Where: HR → HR Dashboard · Who: anyone granted the HR module 
Use it as the daily starting point: the tiles answer "who is in, who is out, what needs my action today", and each tile links through to the underlying list.
Common questions
The numbers look stale. Tiles compute on load — refresh the page after big changes (uploads, status changes).
A tile shows a page I can't open. Tiles reflect company data; opening the detail still requires the page grant.
Employees
View Records
One employee's whole HR file on a single screen: profile, promotions and rank history, bank accounts, qualifications, job history, identifications, relations, documents, training — each section read-only here with links to the screen that manages it.
Where: HR → Employees → View Records · search for the employee by name or staff ID.
Use this before meetings and audits: it's the fastest answer to "show me everything we hold on this person". For payroll ledger entries shown per employee, credits/debits/balance come from the employee's pay record.
Employee List
The employee master list — every person in the company, with everything else in HR (leave, attendance, payroll, discipline) hanging off these records.
Where: HR → Employees → Employee List · Who: HR users with the Employees page
The list

Columns: first name, surname, other names, phone, email, status, department, job. Filter, then Load; Export List produces Excel; Send Employees Portal Invitation emails portal activation to selected employees.
Adding an employee
Click Add New Employee and work through the form:
| Field group | Fields |
|---|---|
| Identity | Title, first name, surname, other names, initials, gender, date of birth, marital status, languages spoken |
| Contact | Phone, other phone, email, residential / postal / digital address |
| Origin | Nationality, country/city/place of birth, hometown, national ID |
| Employment | Employee ID (staff number), employment date, retirement date, status (Active, Probation, Suspended, Exited, Retired, Deceased), category (Management / Senior / Junior staff), classification (Full time, Part time, Contract, Intern), contract staff?, expatriate? |
| Position | Department, job title, rank/grade, manager (the supervisor — approvals and discipline routing follow this) |
| Statutory | SSNIT number, TIN |
| Banking | Bank, branch, account name & number (also manageable under Bank Account) |
Save Changes creates the record. The employee appears immediately in every other HR screen's pickers.
What happens next
- Portal access: send the portal invitation so the employee can activate self-service (leave, payslips, attendance, discipline).
- Payroll: a payroll profile is created for the employee; set pay items under Payroll.
- Status drives everything: Probation routes discipline to the probation procedure; Suspended blocks leave approval; Exited/Retired drop the employee from active lists but never delete history.
Common questions
Can I delete an employee? No — set status to Exited. History (pay, leave, discipline) must stay resolvable.
Employee ID vs record: the staff number is yours to assign; the system keys everything internally, so IDs can be corrected without breaking links.
Employee Relation
Family contacts and dependants per employee: who to call, who benefits, and the declared-relations register that other modules read (e.g. Discipline's conflict-of-interest screen).
Where: HR → Employees → Employee Relation
Steps
- Search and select the employee.
- Add a relation: relationship type (spouse, child, parent…), name, gender, date/place of birth, contact number & email, addresses, national ID, and percentage allocation where the relation is a beneficiary.
- Save — the relation lists under the employee.
Common questions
Percentage allocation? Used where benefits (e.g. family allotments) are split across beneficiaries; the percentages are yours to keep at 100 in total.
Employee Document
Scanned letters, contracts, certificates and any other file that belongs on an employee's file — typed by document type so they can be found again.
Where: HR → Employees → Employee Document · Document types are maintained in Settings → Lookups.
Steps
- Search and select the employee.
- Choose the document type, the submitted date and a description.
- Attach the file and save.
Documents are listed per employee, newest first, and open in the browser viewer.
Job History
The employee's employment record before joining you — companies, roles, dates and referees. Internal promotions live under Promotions, not here.
Where: HR → Employees → Job History
Fields
Company name & location, nature of business, job title, specific duties, joined/exit dates, exit reason, supervisor name & contact, additional comments.
Identification Info
Identity documents per employee — national ID, passport, driver's licence, voter ID — with numbers, issue and expiry dates.
Where: HR → Employees → Identification Info
Add the ID type, card number, issue date and expiry date, and attach the card image where available. Expiring IDs are the reason expiry dates matter — sort the list by expiry when doing compliance sweeps.
Upload Employee
Bring a whole workforce in from a spreadsheet instead of typing each person.
Where: HR → Employees → Upload Employee · Template: download from Upload Templates.
Steps
- Fill the template — one row per employee: Emp ID, first name, surname, other name, phone, email, SSNIT no., TIN, status, category and the profile columns.
- Upload the file. The preview lists every row with a Reason column.
- Choose the collision behaviour: Create new record and/or Override existing record (existing = matched by Employee ID).
- Process. Rows that fail stay in the preview with the reason (missing required value, unknown department…) — fix and re-upload just those.
Common questions
Will re-uploading duplicate people? Not with Override existing — rows matching an existing Employee ID update in place.
Upload Bank Accounts
Bulk-load employee bank accounts from a spreadsheet: Employee ID, bank name, branch, account name, account number.
Where: HR → Employees → Upload Bank Accounts
Upload, review the preview (each row shows a comment when it can't be matched or parsed), and process. Accounts land on each employee's Bank Account list; set the active one there.
Qualification
Academic and professional qualifications per employee: certificate, qualification type, institution and year admitted.
Where: HR → Employees → Qualification
Add one row per certificate. Qualification types (e.g. Degree, Diploma, Professional) come from the HR lookups so reporting stays consistent.
Bank Account
Each employee can hold several bank accounts; exactly one is current — the one payroll pays.
Where: HR → Employees → Bank Account
Steps
- Search and select the employee.
- Add account: bank, branch, account name, account number.
- Set as current on the account payroll should use. Changing the current account takes effect from the next pay run.
Promotions
The employee's internal progression: each row is a dated change of job title and/or rank, and the latest row is the employee's current position.
Where: HR → Employees → Promotions
Steps
- Search and select the employee.
- Add: effective date, new job title, new rank/grade, and consolidated pay where the change carries one.
- Set as current to make it the active position.
What happens next
Rank drives leave allocations (rank-based) and seniority comparisons; job title shows across HR and payroll. Pay changes flow to payroll per your payroll setup (a rank change can carry a pay change unless overridden on the employee).
Employee Accident
Workplace accident register: what happened, to whom, the injury type, and the record you'll need for insurance and safety reporting.
Where: HR → Employees → Employee Accident · Injury types are maintained in HR lookups.
Record the employee, date, injury type and description. Where an accident points at a wilful safety breach by someone, that is a separate disciplinary matter — see Discipline.
Discipline
Overview
AstraHR's Discipline module manages employee misconduct and grievances end to end — from the first quiet word, through formal cases with queries, hearings and sanctions, to appeals, closure and record expiry.
It is not a logbook. It is a procedure-enforcing system: a sanction physically cannot be recorded until the steps that make it defensible are complete, and everything that happens lands on an append-only audit trail.
Why it works this way
Under Ghana's Labour Act 2003 (Act 651), when a dismissal is challenged at the National Labour Commission (NLC), the employer must prove two things:
- the ground was fair (what the employee did), and
- the procedure was fair (how the employer handled it).
Most SMEs lose on the second one — not because the employee was innocent, but because nobody can prove a query was served, a hearing was offered, or the employee was allowed to bring a colleague. The module exists to make that proof automatic: if the case reached a sanction, the procedure happened, and the Case Pack proves it in one click.
The module also respects the Data Protection Act 2012 (Act 843): discipline data defaults to the least visibility, restricted cases suppress notifications, and retention is policy-driven.
The seven ground rules
These are built into the system — no configuration can switch them off:
- The product is a defensible record. Every action is written down with actor and timestamp.
- Procedure-enforcing, not outcome-logging. Gates are enforced by the server, not just the screens.
- The right to be heard is never bypassable. Every path to a sanction passes through a query and the chance to respond.
- Conduct is not capability. Poor performance belongs in Appraisals, not here.
- Nothing is ever deleted. There is no delete button on a case, allegation, evidence item, finding, sanction, appeal or audit entry — anywhere.
- Automation recommends; humans decide. No job opens a live case or applies a sanction on its own.
- Confidentiality by default. New cases default to Restricted visibility.
The module at a glance
Where things live
| What | Where |
|---|---|
| HR / manager screens | HR → Discipline in the sidebar: Dashboard, Cases (with the Report Incident button), Counselling Notes, Setup |
| Employee's side | Employee portal → Discipline: their cases, responses, acknowledgements, appeals, counselling comments, grievances |
| Configuration | HR → Discipline → Setup (one tabbed workspace) |
Reading order
New to the module? Read in this order:
- Key Concepts — the vocabulary and the case lifecycle (and the Glossary whenever a term is unfamiliar)
- Setup & Configuration — what to review before the first case
- Tutorial: Running a Minor Case — the everyday flow
- Tutorial: Gross Misconduct — investigation, suspension, hearing
- Appeals · Counselling Notes · Grievances
- The Employee's Side — what your staff see and do
- Automation & Jobs — auto-triggers, deadlines, notifications
- Dashboard & Case Pack — oversight and the NLC bundle
- FAQ & Data Rules — everything else, including what the system refuses to do
Key Concepts
Learn these eight ideas and every screen in the module makes sense.
1. Case vs Sanction
The Case is the process — the file that moves through reporting, triage, query, decision. The Sanction is the outcome imposed at the end (written warning, suspension without pay, dismissal). The word "disciplinary action" is deliberately not used for either, because it blurs the two.
2. The three-tier response model
Forcing every timesheet lapse through a full case is how discipline modules die. AstraHR has three tiers:
| Tier | Instrument | Opens a case? | Counts toward escalation? | Appealable? |
|---|---|---|---|---|
| 0 | System reminder / nudge | No | No | No |
| 1 | Counselling note | No — a lightweight record | Yes, as proof of prior notice | No — nothing was imposed |
| 2 | Formal case | Yes | Yes | Yes |
A tier-1 counselling note is what other systems miscall a "verbal warning". A verbal warning is a contradiction — to be useful later it must be written down, and once written it is a record. AstraHR names it honestly.
3. The case lifecycle
Every case is always in exactly one state — the coloured chip at the top of the case workspace shows which. Moves between states are called transitions, and each transition has a gate: a condition the server checks before letting the case move. If a gate fails you are told exactly why, and nothing changes.
How to read the diagram below: follow the top row left to right — that is the normal path of an everyday case (report → review → query → response → decision). Boxes off the main row are the exits and detours: Dismissed (no case to answer), Hearing (mandatory for serious cases), Sanction Issued and the Appeal loop in blue. Every case ends in the green CLOSED box. Don't try to memorise the arrows — the workspace only ever offers you the legal moves; section 4 tells you what to actually do at each stop.
The most important gates, in plain words — these are the rules that make the record defensible, so the system will not let you skip them:
| To reach… | The system demands… |
|---|---|
| Under Review | A named respondent; anonymous reports need a named HR validator |
| Query Issued | Offence classified, at least one allegation, evidence where the offence requires it |
| Response Received | A response on file, or the lapsed deadline minuted with a timestamp (a lapse is never an admission); a verbal response must be verified by the employee |
| Decision | For hearing-mandatory classes: a concluded hearing with quorum, attendance, representation status and minutes |
| Sanction Issued | Every allegation carries a finding; at least one upheld; ladder floors/ceilings respected; overrides justified in writing |
| Closed | No active suspension (auto-lifts), no undetermined appeal, appeal window elapsed or waived |
4. Who does what at each stage
The workspace never shows you an illegal move: the buttons across the top of a case are exactly the transitions the case allows right now, and hovering any of them shows a plain-words explanation of what it does. Use this section as the companion — for each state the case can be in: what just happened, what you do next, and what the employee sees and does on their portal at the same moment.
| The case says… | What you do next | The employee, on their portal |
|---|---|---|
| Draft (auto-raised from attendance) | Open it, read the attached attendance evidence. Real issue → Advance to Reported. Noise → Dismiss Draft — nothing counts against anyone | Sees nothing — a draft is invisible to the employee |
| Reported | Take Under Review. The case needs a named respondent; an anonymous report needs a named HR validator first | Nothing yet |
| Under Review | Triage — pick the offence (the system shows the recommended sanction for this occurrence). Then add at least one allegation (the specific charge), attach evidence, and Disclose each item. Serious matter? Use the Process tab first: apply a precautionary suspension and/or appoint an investigator. When the file is ready → Issue Query | Notified only when the query is served — nothing leaks while you prepare (restricted cases suppress notifications entirely) |
| Query Issued | Wait for the deadline to run. The employee answered in person instead? Record Response (they must verify your transcription). Deadline passed in silence? Minute Lapsed Deadline — never treat silence as guilt | Reads the query and every disclosed evidence item, and responds in their own words by the working-day deadline. Verifies any response HR transcribed for them |
| Response Received | Read the response honestly — it may end the matter. Minor case → Record Decision. Hearing-mandatory class (or you judge one is needed) → Process tab → Schedule the hearing (the conflict check names who cannot sit; the date respects the notice window) | Waits; receives the hearing invitation if one is convened |
| Hearing | Hold the sitting: record attendance, representation (a requested-and-refused companion is flagged red — don't be that case), minutes and votes → Record Sitting and conclude. Then Record Decision | Attends, with a companion or union rep if they wish. May respond to the evidence in person |
| Decision | Give every allegation a finding. Anything upheld → Issue Sanction — the ladder recommendation is pre-selected; changing it needs a written justification. Nothing upheld → Close (No Sanction) | Waits for the outcome |
| Sanction Issued | The letter is served on the portal automatically. Watch for the acknowledgement; a refusal is recorded too. Payroll-affecting sanctions raise the deduction instruction on their own | Acknowledges the sanction letter (or refuses — that is recorded, not forced). The appeal window opens |
| Appeal Window | Nothing — unless an appeal arrives, in which case the appeal authority (never the issuer) opens the Appeal tab → Determine Appeal. Once the window elapses, the appeal is decided, or the employee waives in writing → Close Case | May lodge an appeal, with grounds and a written submission, any time inside the window |
| Closed / Dismissed | Nothing — the case is read-only forever. Case Pack produces the full NLC bundle any time | Sees the outcome in their history. A spent sanction drops out of occurrence counts automatically — no one has to remember |
What does "Disclose" mean? (the button on the Evidence tab)
Adding evidence puts it on your file; disclosing it releases that item to the employee on their portal, and stamps the date and time it happened. The principle behind it: the employee must see what the decision-maker saw, before the decision is made — otherwise they are answering a charge blind, and the decision is unfair no matter how right it is. That timestamp is your proof at the NLC that they saw it. Practical rule: disclose everything you intend to rely on before issuing the query; an undisclosed item on a decided case is counted as a defect on the dashboard.
The three moments people get wrong
- Skipping disclosure — evidence added but never disclosed, then relied on. The dashboard counts these as defects.
- Treating silence as admission — the deadline lapsing is minuted as a lapse; the case then proceeds on the evidence, not on the silence.
- Refusing a companion — the single most common procedural defect at the NLC. If the employee asks to bring someone, the answer is yes.
5. Effective-dated configuration
A case is judged by the configuration in force on its incident date, not today's. If you tighten a policy in March, a January case still runs under January's rules — otherwise every closed case becomes arguable. That is why offences, sanction types and authority rules carry Effective from / Effective to dates, and why the case snapshots its offence class, procedure and recommendation at triage.
6. Occurrences and the sanction ladder
Each offence carries a ladder: the recommended sanction for the 1st, 2nd, 3rd… upheld occurrence. At triage the system counts the respondent's prior upheld, unspent occurrences of the same offence and pre-selects the right rung. Departing from the recommendation requires a written justification, and configured floors/ceilings are enforced. Severity never decreases down a ladder.
Spent records don't count. When a sanction's validity elapses (e.g. a written warning after 12 months), a nightly job marks it spent: still on the trail forever, but excluded from occurrence counting. Closure starts the clock; it does not end the record.
7. Suspension is not a sanction
Precautionary suspension is a neutral measure while a case runs — it may span review, query and hearing, it blocks leave approval, and it auto-lifts the moment the case closes. An SME forgetting to reinstate someone is a real liability; the system makes it impossible.
8. Roles and the authority matrix
Business roles (Line Manager, HR Officer, HR Manager, Managing Director, CEO) carry a seniority order. The authority matrix says, per sanction: who may issue, who must approve, and who hears the appeal — and the appeal authority must sit strictly above the issuer. Two absolutes hold regardless of configuration: the issuer never determines the appeal against their own decision, and dismissal is never reachable without a concluded hearing.
9. The audit trail is the case
Every transition, query, disclosure, finding, sanction, acknowledgement (or refusal), lapse and note is appended to the case's event log with actor, timestamp and reason. There is no code path that edits or deletes an entry. The Case Pack's chronology is this log — which is why it stands up at the NLC.
Glossary
| Term | Meaning |
|---|---|
| Allegation | One specific factual assertion on a case; each carries its own finding |
| Appeal window | Working days after a sanction during which the employee may appeal |
| Case reference | The immutable number (e.g. DC/2026/0007) minted when a case is created |
| Disclosure | Releasing an evidence item to the respondent; timestamped to prove they saw what the decision-maker saw |
| Finding | The adjudication of one allegation: Upheld, Not Upheld, Partially Upheld, Withdrawn, or No Finding |
| Grievance | An employee's complaint to the organisation; rides the same case machinery with no sanction path |
| Lapse | A response deadline passing with no response — minuted with a timestamp, never treated as an admission |
| Occurrence | Which upheld repetition of an offence this case is, for the respondent |
| Quorum | Minimum voting panel members who must be eligible (after conflict exclusions) and present |
| Restricted | Case visibility that excludes even the respondent's line manager |
| Spent | A sanction whose validity has elapsed — on the record, out of the counts |
| Working days | Calendar days minus weekends and the public-holiday calendar; all deadlines use them |
Glossary
Every word the Discipline module uses, in plain language. Terms are grouped by theme; use the search box (or the outline on the right) to jump straight to one. Where a term comes from Ghana's Labour Act, 2003 (Act 651) the section is cited; where the Act is silent, we say so — those practices come from natural justice (the fair-hearing principles the NLC applies) or from your own handbook.
How to read a law reference: Act 651 s.62 means section 62 of the Labour Act, 2003. The Act is the floor, not the ceiling — your handbook or collective agreement can be more generous to the employee, never less.
The people on a case
Respondent
The employee who has to answer the allegation — the person the case is about. On a grievance the respondent is optional (a grievance may be about a situation, not a person).
Complainant / Reported by
Whoever raised the matter. On a disciplinary case it's usually the line manager; on a grievance it's the aggrieved employee.
Anonymous report
A report where the reporter's name is withheld from the record. The system still requires a named HR validator before the case can pass triage — someone accountable must vouch that the report is worth pursuing. Not from the Act — good practice so anonymous reports can't be weaponised.
Validator
The named HR person who reviews an anonymous report and confirms there's a case to answer. Their name goes on the record; the reporter's does not.
Initiator
The supervisor or manager who starts cases. The dashboard tracks cases by initiating supervisor because one person raising most of the cases is a warning sign about the supervisor, not the staff.
Panel
The group of people who sit in a disciplinary hearing and recommend a decision. Configured in Setup with members, a quorum and a decision rule (e.g. majority).
Quorum
The minimum number of panel members who must actually sit for the hearing to count. If exclusions (see conflict of interest) drop attendance below quorum, the hearing cannot proceed.
Conflict of interest
A reason a person cannot judge a case. The system enforces two absolutes: the complainant and the investigator can never sit on the panel, and a rehearing excludes everyone who sat the first time. Optional per-panel rules also exclude the respondent's supervisor or department. Not spelled out in the Act — it is the "no one judges their own cause" rule of natural justice, and the NLC applies it.
Investigator
The person appointed to establish the facts before a decision — interviews, documents, witness statements. Investigating disqualifies them from judging: they present findings, they don't decide.
Witness
Anyone who gives an account during an investigation or hearing. Their statement is recorded on the case file.
Representative / Companion
The person the employee brings to a hearing — a colleague or a union representative. The right to organise and be represented by a union flows from Act 651 s.79 (freedom of association). Refusing a requested companion is the most common procedural defect — the module flags it in red wherever it happens.
Appeal authority
The role that decides an appeal. The rule the system enforces: whoever issued the sanction can never determine the appeal, and the appeal authority must outrank the issuer.
The case itself
Case
The file everything hangs off — allegations, evidence, queries, responses, hearings, findings, sanctions, appeals and the audit trail. One case = one matter about one respondent.
Case type
Disciplinary (the employer alleges misconduct) or Grievance (the employee raises a complaint). Both run on the same machinery; a grievance has no offence and no sanction path.
Case reference
The permanent number on the file, e.g. DC/2026/0007 — generated when the case is created, never changed, never reused.
Three tiers
The module's response model: a counselling note (tier 1, the quiet word), a disciplinary case (tier 2, the formal process), and the grievance track (employee-initiated). Most issues should die at tier 1.
Counselling note
The written record of an informal correction: employee, what was discussed, validity period (default 6 months). It is not a sanction — it isn't appealable and doesn't appear in appraisals. It exists to prove the employee was told, and it counts at the tier boundary: a repeat inside the validity window justifies escalating to a case.
Grievance
A complaint by an employee — about workload, treatment, pay, a colleague. Raised from the employee portal (or by HR on the employee's behalf), triaged, investigated, decided and closed on the same audited machinery. Under Act 651 s.64 an unresolved workplace grievance can end up before the NLC, so the record matters just as much.
Visibility
Who can see the case. Restricted — named participants only (harassment, financial matters; even the line manager is excluded); HR only; Department. New cases default to the company's configured default, normally Restricted. Confidentiality is also a Data Protection Act, 2012 (Act 843) obligation — discipline data is personal data.
Audit trail / Case event
The append-only log under every case: who did what, when, from which status to which. Nothing on it can be edited or deleted — it is the chronology the case pack prints and the evidence the NLC reads.
Case pack
The one-click bundle of the entire case — report, allegations, disclosed evidence, query and response, hearing minutes, decision, sanction letter, appeal — as one ordered, printable document on the company letterhead. Built for the day a dismissal is challenged.
Working days
Deadlines in the module (response periods, appeal windows, hearing notice) count working days: weekends and the company's holiday calendar are skipped. The Act states notice in ordinary days/weeks/months (s.17); the module uses working days for internal process deadlines because that is fairer to the employee.
SLA
Service-level agreement — the internal clock on each step (e.g. "respond to a query within 5 working days"). Breached means the deadline passed. SLAs discipline the process, not the employee.
Offences and sanctions
Offence
A defined act of misconduct in your catalogue — e.g. Lateness, Insubordination, Theft. Its definition is printed verbatim on the query letter, so it's written in plain words, not legal shorthand. Misconduct as a ground for termination comes from Act 651 s.15 and s.62(b) — but only proven misconduct, which is what the whole process exists to prove.
Offence catalogue
The company's list of offences, grouped by class and category, with effective dates. Cases always use the catalogue as it stood on the incident date — you cannot change the rules after the fact.
Offence class
How serious the offence type is: Minor, Major or Gross. The class picks the procedure — a minor offence runs the short procedure; gross misconduct forces the full one (investigation, possible suspension, mandatory hearing).
Offence category
What the offence is about — Attendance, Conduct, Safety, Financial, Harassment, Confidentiality, Insubordination, Substance, Property. Categories power the dashboard's pattern heatmap. (Safety duties: Act 651 s.118; sexual harassment is defined in Act 651 s.175, and harassment-linked termination is unfair under s.63.)
Occurrence
Which time this is, for this employee and this offence: 1st, 2nd, 3rd… Counted at triage from prior upheld, unspent records only — dismissed cases and expired records don't count against anyone.
Sanction
The formal penalty at the end of a proven case — the outcome. (The process is the case; the outcome is the sanction.)
Sanction type
A kind of penalty in your catalogue: verbal warning (recorded), written warning, final written warning, suspension without pay, demotion, dismissal. Each has a severity rank and a validity period.
Sanction ladder
Per offence, the recommended sanction per occurrence — e.g. lateness: 1st = counselling, 3rd = written warning, 5th = final warning. Severity can never decrease down the ladder. The ladder is why two employees who did the same thing the same number of times get the same penalty — consistency is half of fairness at the NLC.
Recommended sanction
What the ladder (or an escalation rule) proposes at triage. It is pre-selected when the sanction is issued — a recommendation, not an order.
Override
Issuing a different sanction than recommended. Allowed, but it demands a written justification on the record, stays within the offence's floor and ceiling, and is counted on the dashboard (override rate) — a high rate means the ladder and reality disagree.
Terminal sanction
A sanction that ends employment — dismissal. The system physically requires a concluded hearing first; there is no configuration where dismissal skips the hearing. Termination grounds and notice: Act 651 ss.15, 17, 62; wrongly done, it becomes unfair termination under s.63, remediable by the NLC under s.64 (reinstatement, re-employment or compensation).
Spent sanction / validity
Every sanction expires after its validity period (e.g. a written warning valid 6 months). Once spent, it no longer counts toward occurrence numbers. The dashboard's compliance clock shows sanctions going spent in the next 30 days.
Payroll effect
What a sanction does to pay, automatically: a suspension without pay or a fine raises the deduction instruction in Payroll — no side-channel emails.
Escalation rule
An automatic recommendation trigger: "3rd lateness in 12 months → final written warning". First matching rule wins, and it only ever recommends — a human decides.
The process, stage by stage
Triage
The sorting step right after a report: HR (or the manager) examines it and decides what it actually is — pick the offence from the catalogue in force on the incident date, snapshot its class and procedure onto the case, count the occurrence, and see the ladder's recommendation. Think of a hospital triage nurse: nothing is treated yet; the case is classified so the right procedure applies. A report with no substance is dismissed at triage and the respondent's record stays clean.
Allegation
The specific charge, in writing: what the employee is said to have done, when and where (the particulars). A query cannot be issued until at least one allegation is on file — the employee must know exactly what they are answering. This is the "reason for the charge" half of the fair-hearing rule the NLC applies.
Evidence
Anything that supports (or undermines) an allegation — documents, photos, attendance records, statements. Evidence is registered on the case with who collected it and when.
Disclosure
Releasing evidence to the employee, with a timestamp. The principle: the employee must see what the decision-maker saw, before the decision. An undisclosed item on a decided case is a defect — the dashboard counts them.
Query
The formal written "please explain yourself" letter, served on the employee (on their portal) with the allegations, the disclosed evidence and a working-day response deadline. The right to be heard before punishment is the heart of procedural fairness — no path in the module reaches a sanction without a query.
Response
The employee's answer, in their own words, from their portal. If HR types up a verbal answer instead (transcribed response), it is held until the employee verifies the transcription — nobody's words are put in their mouth.
Lapse / Minuting a lapse
If the deadline passes in silence, HR clicks Minute Lapsed Deadline. The lapse is recorded, never assumed — and silence is not an admission of guilt. The case proceeds on the evidence.
Precautionary suspension
Sending the employee home (normally on full pay) while a serious matter is investigated. It is not a sanction and implies no guilt — it protects evidence, people or money. It has a planned end date, must be reviewed if it runs past it, blocks leave approvals while active, and auto-lifts when the case closes. The Act doesn't regulate suspension directly; unpaid or indefinite suspension is where employers get into unfair-treatment territory, so the module defaults to paid and time-boxed.
Investigation
The fact-finding stage for serious cases: an appointed investigator, witness statements, a findings report. The offence definition can require it; a gross-misconduct procedure always includes it.
Hearing
The formal sitting where the employee answers the charge before a panel: notice served in advance (minimum notice days are configured), attendance recorded, representation offered, minutes taken, votes recorded, conclusion reached. Mandatory before any terminal sanction.
Finding
The decision on each allegation: Upheld (proven), Not upheld, Partially upheld, Withdrawn, or No finding — insufficient evidence. Every allegation gets one — there are no half-decided cases. Only upheld findings can carry a sanction; "proven misconduct" is the exact language of Act 651 s.62(b).
Appeal
The employee's challenge to the decision or the sanction, lodged from their portal within the appeal window. Heard by someone senior to (and other than) the issuer.
Appeal window
The working-day period after a sanction during which the employee may appeal. A case cannot close while the window is open unless the employee has waived the appeal in writing.
Appeal outcomes
Dismissed — sanction confirmed · Sanction reduced · Sanction increased · Finding overturned · Rehearing ordered (before a fresh panel — nobody who sat the first time). A substituted sanction supersedes the original: the old one stops counting but stays visible on the trail — history is never rewritten.
Overturn rate
The dashboard's headline quality number: the share of determined appeals that changed the outcome. A high rate means first-instance decisions are getting it wrong — retrain the deciders or fix the process.
Closure
The end of the case, with a closure reason: sanction served, dismissed at triage, allegation withdrawn, employee resigned or dismissed, referred to the NLC or police, time-barred, duplicate. Closing auto-lifts any active suspension; a closed case is read-only forever.
Institutions and instruments
Labour Act, 2003 (Act 651)
Ghana's principal employment statute. The sections this module leans on: s.15 (grounds of termination) · s.17 (notice) · s.62 (fair termination — including proven misconduct) · s.63 (unfair termination) · s.64 (remedies before the NLC) · s.79 (freedom of association / union representation) · s.118 (occupational safety) · s.175 (definitions, including sexual harassment).
NLC — National Labour Commission
The statutory body (established under Part XVIII of Act 651) that hears unfair-termination and labour complaints. When an employee challenges a dismissal there, the employer must prove the ground and the procedure were fair. The case pack is your file for that day.
Natural justice
The two fair-hearing rules courts and the NLC apply even where the Act is silent: hear the other side (no sanction without notice of the charge and a chance to answer) and no one judges their own cause (conflict screening, independent appeal). Most of the module's hard gates are these two rules in software.
Data Protection Act, 2012 (Act 843)
Why discipline records default to restricted visibility, notifications are suppressed on sensitive cases, and retention is policy-driven — discipline data is personal data.
Employee handbook / Collective agreement (CBA)
Your own rules — offence definitions, ladders, procedures. The module's catalogue is where they become executable. They may improve on the Act's minimums, never undercut them.
See also: Key Concepts for how these pieces fit together, and the FAQ for the data rules.
Disclaimer: this glossary is practical guidance for using AstraHR, not legal advice. Section references are to the Labour Act, 2003 (Act 651) as enacted; have your lawyer confirm interpretations that matter to a live dispute.
Setup & Configuration
Everything the module judges cases by lives in one place: HR → Discipline → Discipline Setup — a tabbed workspace. This page walks every tab, in the order you should review them.
You start from a working catalogue
A complete Ghana SME default catalogue is seeded automatically for every company (and can be re-run any time from the Seed Catalogue tab). Your job on day one is to review and adjust, not to build from scratch.
The two configuration laws
- Deactivate, never delete. Configuration referenced by a case must stay resolvable forever, so every list offers Deactivate (the ban icon), never delete. Deactivated rows show greyed and stop appearing on new cases; historical cases still resolve them.
- Effective dating. Offences, sanction types and authority rules carry Effective from / to. A case runs under the configuration in force on its incident date. When you change policy, set the new row's effective date rather than rewriting history.
Tab 1 — Parameters

One record per company; the module-wide defaults.
| Setting | Meaning | Default |
|---|---|---|
| Reference prefix / format / reset | How case numbers are minted, e.g. {PREFIX}/{YYYY}/{SEQ:4} → DC/2026/0007; sequence resets never/yearly/monthly | DC, yearly |
| Query response period | Working days the employee has to answer a query (1–14) | 3 |
| Appeal window | Working days to appeal a sanction (1–30) | 7 |
| Minimum hearing notice | A hearing cannot be scheduled inside this many days | 2 |
| Anonymous reports / HR validation | Allow anonymous intake; require a named HR validator before an anonymous report passes triage | on / on |
| Employees respond via the portal | The query/response step runs through ESS | on |
| Representation | Whether and by whom the employee may be accompanied (union rep, colleague, lawyer, family) | on; union rep + colleague |
| Default sanction validity | Months before a sanction becomes spent when its type doesn't specify | 12 |
| Auto-expire spent records | Drives the nightly expiry job | on |
| Retention after closure | Years, for Act 843 alignment | 6 |
| Default case visibility | Restricted / Department / HR only | Restricted |
| Process-review threshold | Above this % of staff breaching, auto-triggers stand down and flag HR instead | 40% |
Working days everywhere: all deadlines skip weekends and the public-holiday calendar maintained in HR.
Tab 2 — Offence Classes
The severity bands: Minor, Major, Gross Misconduct (seeded; you may add). Each class sets: severity rank, whether an investigation and a hearing are mandatory, whether it permits summary dismissal, and its default procedure.
The one rule you cannot configure away
Permits summary dismissal requires Hearing mandatory. There is no configuration in which an employee can be dismissed without a hearing — the save is refused.
Tab 3 — Offence Catalogue
What an employee can be charged with. Each offence has three tabs in its editor:
Details — code (ATT-01), name, class, category, and the definition. The definition is printed verbatim on the query letter — write it as it should read to the employee, not as legal shorthand. Optional: handbook clause, statutory reference (e.g. Act 651 s.62), CBA clause, "requires investigation" (may only raise the class default), "prompt precautionary suspension", "externally reportable", restricted visibility (harassment/financial — excludes the line manager from the case), record validity override, grade/department applicability, effective dates.
Sanction Ladder — one row per occurrence: the recommended sanction for the 1st, 2nd, 3rd… upheld occurrence, optional floor/ceiling for overrides, and whether overriding needs a justification (default yes). Occurrences must run 1, 2, 3… and severity may never decrease down the ladder — the save tells you if it does.
Evidence — the expected evidence types (rendered as a checklist on the case), whether evidence is mandatory before the query can be issued, and guidance for the investigator.
Tab 4 — Sanction Types
The penalties a case can impose. Seeded set: Verbal Warning (Recorded), Written Warning, Final Written Warning, Suspension Without Pay, Dismissal With Notice, Summary Dismissal.
Key fields: severity rank (unique — drives ladders and appeal routing), kind (warning / financial / status change / separation / non-punitive), terminal (ends employment), validity months (empty = permanent), appealable + window override, letter template, and the payroll block — effect (none / unpaid period / fixed / percentage deduction / increment withheld / grade change), the payroll item it applies through, deduction cap, duration limits. Terminal sanctions must state their notice treatment (served / pay in lieu / summary) and separation reason.
Hard validations: terminal ⇒ hearing required, no validity, notice treatment set; a payroll effect needs its payroll item.
Tab 5 — Escalation Rules
Progressive discipline across offences: "3 attendance offences in 12 months → Final Written Warning". Rules run in priority order; the first match wins, and the result is a recommendation shown at triage — never auto-applied. Scope: same offence / same category / same class / any offence; rolling lookback window; counting flags (upheld only — default on; include expired — default off; count counselling notes — the tier-1→2 bridge).
Tab 6 — Suspension Types
Precautionary suspension is configured here — it is not a sanction type. Pay treatment (full/half/no pay), maximum days (review prompt at expiry), extensions and approver, whether it revokes portal access, recalls assets, or pauses attendance capture (so no absence penalties accrue while suspended). Auto-lift on case closure is always on and cannot be disabled.
Tab 7 — Procedures
The ordered steps a case follows: Triage → Investigation → Query → Response → Hearing → Decision → Sanction → Appeal → Closure — each step with mandatory flag, responsible role, SLA (working days) and optional document. Templates apply per class, per grade, per employment type — and probationers must have their own template; the system never silently applies the permanent-staff ladder to them.
Validation: a template for a hearing-mandatory class must contain a mandatory Hearing step preceded by a Query step.
Tab 8 — Panels
Hearing panels: members with roles (exactly one Chair), voting flags, alternates; quorum; decision rule (unanimous / simple majority / chair decides). The conflict-of-interest switches live here — but two are locked and always on: the complainant and the investigator can never sit. Optional: exclude the respondent's direct supervisor (default on), same department, declared relations; manual recusal (reason minuted).
A one-member panel is legitimate — the "minimum viable hearing" for a small company is a single hearing officer with the conflict rules still enforced.
Tab 9 — Authority Matrix
Per sanction (and optionally per grade/department scope): who may issue, who must approve (second signature), who hears the appeal (role and/or panel), and any final authority. The appeal authority must sit strictly above the issuing role in the seniority order — the matrix refuses a configuration where the issuer would hear the appeal against their own decision.
Roles are assigned to employees under HR's management-role assignment; the order is: Line Manager < Department Head < HR Officer < HR Manager < Managing Director < CEO.
Tab 10 — Notifications
One rule per event × recipient: which events (query issued, hearing scheduled, sanction issued, response overdue, appeal lodged/decided, case closed…) notify whom (respondent, complainant, line manager, HR, a custom role) on which channels. Suppress on restricted cases (default on) keeps harassment matters from leaking through a cc line. Email is the delivery channel today; in-app and SMS ride the same matrix when wired.
Tab 11 — Letter Templates
The letters the module serves: query, hearing invitation, warning, sanction, dismissal, suspension, appeal letters. Bodies are plain text with merge tokens — {employee.full_name}, {case.reference}, {offence.name}, {offence.description}, {query.response_deadline}, {sanction.name}, {appeal.deadline} and more. Letters and the case pack render on the company letterhead uploaded under Config → Letterhead.
Locked wording
The hearing invitation's right-to-be-accompanied sentence is appended by the system at render time and is not editable template text — no tenant can forget it.
Tab 12 — Seed Catalogue
Shows how many records each catalogue currently holds, and Run Seeding loads whatever is missing from the Ghana SME default set. Safe at any time: every record is checked by its code first, so seeding only fills gaps — it never duplicates and never overwrites your edits. The result panel shows exactly what each run added.
Tutorial: Running a Minor Case
The everyday scenario, end to end: an employee has been persistently late, a counselling note six weeks ago didn't change anything, and their manager wants a written warning. Target time on task: under five minutes, spread across the response window.
What you'll touch: HR → Discipline → Cases.
Step 1 — Report the incident

- Open Cases and click Report Incident.
- Type: Disciplinary. Pick the respondent (the employee concerned) and optionally reported by.
- Incident date, time, location, and a plain-language summary of what happened.
- Create Case. The case is minted with its immutable reference (e.g.
DC/2026/0012) and opens in the workspace at Reported.
Anonymous reports
Tick Anonymous report to omit the reporter. The case then cannot pass triage until a named HR validator is recorded — an anonymous accusation alone never advances.
Auto-raised Drafts (from the attendance triggers) start one step earlier: review the attached system evidence, then Advance to Reported or Dismiss Draft.
Step 2 — Take under review and triage

- Click Take Under Review. (Gate: respondent identified; anonymous reports validated.)
- Click Triage and pick the offence — e.g. ATT-01 Persistent lateness. Only offences in force on the incident date are accepted.
Triage does four things automatically, all visible on the case header:
- snapshots the class (Minor) and the procedure the case will follow;
- counts the respondent's prior upheld, unspent occurrences of this offence — say this is occurrence 2;
- reads the offence's sanction ladder → recommendation: Written Warning;
- runs the escalation rules — a matching rule can raise the recommendation (it's still only a recommendation).
Step 3 — Allegations and evidence
- Allegations tab → Add Allegation: the specific factual assertion — "Reported at 09:40 on 18 Aug, 09:55 on 19 Aug and 10:05 on 21 Aug against an 08:00 start." One case can carry several; each will get its own finding.
- Evidence tab → Add Evidence: attendance records, statements, CCTV… When you want the employee to see an item, click Disclose — the timestamp is your proof they saw what the decision-maker saw.
The query is blocked until at least one allegation exists (and evidence, where the offence demands it).
Step 4 — Issue the query
Click Issue Query. The text is pre-drafted from the offence definition — edit it, then Issue. The system:
- stamps the response deadline (parameters default: 3 working days — weekends and holidays skipped);
- serves the query to the employee's portal and (per the notification matrix) emails them;
- moves the case to Query Issued.
When the employee opens it on the portal, the opened timestamp lands on the case — service is proven.
Step 5 — The response
Three ways this resolves:
| What happens | What you do | Case moves on? |
|---|---|---|
| Employee responds on the portal | Nothing — it lands on the case | Yes → Response Received |
| Employee hands you paper / responds verbally | Record Response, choosing the mode. A verbal transcription is held until the employee verifies it on the portal — otherwise it's HR's account of their defence | After verification |
| Deadline passes silently | Minute Lapsed Deadline — recorded with a timestamp and explicitly not treated as an admission | Yes |
Step 6 — Decide
Click Record Decision (a minor offence may skip the hearing; a hearing-mandatory class cannot — the button will tell you). For every allegation, record a finding — Upheld / Not upheld / Partially upheld / Withdrawn / No finding — plus a one-line rationale. No partially adjudicated cases: the sanction stays locked until all findings are in.
Nothing upheld? Close (No Sanction) — the case and its trail remain forever, but no record counts against the employee.
Step 7 — Sanction
Click Issue Sanction. The dialog shows the recommendation for occurrence 2 (Written Warning), pre-selected.
- Take the recommendation → click Issue Sanction.
- Depart from it → the system demands a written justification, and refuses anything outside the ladder's floor/ceiling for this occurrence.
On issue: the letter renders from the sanction type's template (snapshotted on the case exactly as served), validity is stamped (12 months → the spent date), the case moves through Sanction Issued into Appeal Window, the employee is notified, and any payroll effect raises its deduction instruction automatically.
The employee acknowledges on the portal — or refuses, and the refusal itself is recorded. Either way the record stands.
Step 8 — Appeal window, then close
The employee has the appeal window (default 7 working days, shown on the case) to appeal from the portal — see Appeals. When the window elapses (or an appeal is determined, or the employee waives in writing), click Close Case. Closing:
- auto-lifts any suspension,
- starts the validity clock — after 12 months the nightly job marks the warning spent: still on the trail, no longer counted.
What just got built, without you thinking about it
Open the Audit Trail tab: creation, review, triage with occurrence and recommendation, every allegation and disclosure, the query with its deadline, the response (or minuted lapse), each finding, the sanction with any override justification, the acknowledgement, closure — each with actor and timestamp. Click Case Pack and that record is one printable document. That is the point of the module.
Tutorial: Gross Misconduct
The high-stakes scenario: suspected theft (FIN-01 — Theft, fraud or misappropriation). Gross misconduct differs from the minor flow in four ways: an investigation is mandatory, a precautionary suspension is usually prudent, the hearing is mandatory, and the sanction may be summary dismissal — which is exactly why the procedure must be airtight. Most dismissals lost at the NLC are lost on procedure.
1. Report and triage
As in the minor tutorial: report the incident, take under review, triage to FIN-01. The class snapshot is Gross Misconduct, the full procedure applies, and the offence is flagged restricted visibility — the case is invisible to the respondent's line manager and notifications are suppressed per the matrix.
2. Precautionary suspension (Process tab)
If the employee's presence risks evidence, colleagues or funds:
- Process tab → Suspension → Apply, pick Precautionary Suspension (Full Pay).
- The system records the dated instance, marks the employee suspended (visible to Leave — leave approval is blocked while active), optionally pauses attendance capture (no absence penalties accrue) and revokes portal access if the type says so.
Remember what suspension is: a neutral measure, not a punishment, not a verdict. It has a maximum duration with a review prompt, and it will auto-lift the instant the case closes — nobody stays suspended by oversight.
3. Investigation (Process tab)
- Appoint an investigator with terms of reference. The investigator cannot be a party to the case — and is automatically barred from the later hearing panel.
- The investigator gathers evidence onto the case (each item typed and described) and witness statements (witnesses need not be employees).
- Record Findings — findings and a recommendation, timestamped.
Disclose to the respondent every evidence item the panel will rely on — undisclosed evidence is flagged in red on the case pack.
4. Query and response
Issue the query as usual. For gross misconduct the stakes make the wording matter: the offence definition (printed verbatim) plus allegations that are specific — dates, amounts, documents. The employee responds on the portal within the working-day deadline; a lapse is minuted, never assumed.
5. The hearing (Process tab)
This is where cases are won or lost. The system holds your hand:
Scheduling.
- Hearing → Schedule; pick the panel. The conflict screen runs immediately and tells you, by name and reason, who cannot sit: "K. Mensah cannot sit — is the complainant", "A. Osei — conducted the investigation", "B. Addo — is the respondent's direct supervisor". Quorum is then checked after exclusions; if it fails, you're told to substitute or use another panel — the sitting cannot be confirmed.
- Date/time must respect the minimum notice window (parameters, default 2 days) — earlier dates are refused.
- On scheduling: the invitation is served to the portal with the sitting details and the locked right-to-be-accompanied wording, and the case moves to Hearing.
Recording the sitting (Record Sitting):
- Attendance register — present / absent / apology per person.
- Representation status — accompanied, declined, waived, or requested-but-refused. That last one lights up red everywhere: a refused request for accompaniment is the single most common procedural defect in dismissal cases.
- Minutes — what was put, what was answered.
- Votes — each voting member: uphold / not uphold / abstain, with dissent notes minuted.
- Panel recommendation, then tick Conclude — the case moves to Decision only if quorum was present, representation is recorded and minutes are attached. Otherwise the gate tells you what's missing.
6. Decision and summary dismissal
Record a finding on every allegation. With theft upheld and the hearing concluded, Issue Sanction → Summary Dismissal is now — and only now — reachable:
A terminal (or hearing-required) sanction is refused unless a concluded hearing is on the case. There is no configuration, no role and no shortcut around this.
On issue: the dismissal letter renders (notice treatment summary — no notice; separation reason Summary Dismissal), the appeal window opens, and if the offence was marked externally reportable you record the regulator/insurer reference on the case.
7. Appeal, closure, aftermath
The employee may appeal — for dismissal cases assume they will, and be glad of it: an internally-decided appeal is far cheaper than the NLC. On closure the suspension auto-lifts (moot after dismissal, automatic regardless), and the Case Pack gives you the complete bundle: chronology, allegations and findings, evidence index with disclosure proof, query and response as served, investigation, hearing with attendance/representation/minutes/votes, the letter, the appeal.
Gross-misconduct checklist
- [ ] Offence triaged on the incident date's catalogue; restricted visibility respected
- [ ] Suspension (if any) applied through the module — never verbally
- [ ] Investigator appointed with ToR; findings submitted; witnesses recorded
- [ ] All relied-on evidence disclosed to the respondent
- [ ] Query served and answered (or lapse minuted)
- [ ] Panel passed the conflict screen; notice window respected
- [ ] Representation status recorded — refusal shows red for a reason
- [ ] Minutes and votes on file; hearing concluded
- [ ] Finding on every allegation before the sanction
- [ ] Letter served; acknowledgement (or refusal) captured
- [ ] Appeal window respected before closure
Appeals
An appeal is the employee's challenge to a sanction. Handled well, it is your cheapest quality control — an internal correction beats an NLC determination every time. The module treats the overturn rate as a signal about decision-making quality, not as an embarrassment to hide (it headlines the dashboard).
How an appeal is lodged
Only the employee lodges, from their portal, while the case sits in Appeal Window:
- The sanction card on the portal shows the deadline — issue date + the appeal window in working days (sanction-type override, else the company default of 7).
- The employee picks a ground — procedural irregularity, new evidence, sanction disproportionate, finding against the evidence, bias/conflict of interest, other — and writes their submission.
- On lodgement the system computes in time / out of time. A late appeal is recorded and flagged, never silently refused — refusing to even record a late appeal looks terrible at the NLC; deciding what to do with it is a human call.
The appeal is automatically routed per the authority matrix in force on the incident date: the configured appeal authority role (which the matrix guarantees outranks the issuer) and/or appeal panel.
Determining an appeal
On the case workspace, Sanction tab → Determine Appeal:
| Outcome | What the system does |
|---|---|
| Dismissed — sanction confirmed | Sanction stands; case closes |
| Sanction reduced / increased | You pick the substituted sanction; a new sanction instance is issued and the original is marked superseded on appeal — both remain on the trail, nothing is edited |
| Finding overturned | The sanction is rescinded; the case returns through Appeal Upheld to Decision for findings to be re-recorded |
| Rehearing ordered | The case returns to Hearing — and the conflict screen now also excludes everyone who sat on the original sitting: a rehearing needs fresh ears |
A written rationale is mandatory — it is what makes the determination defensible.
The two hard rules
- The issuer never determines the appeal against their own decision. The system refuses the determination outright.
- A case cannot close over an appeal. While an appeal awaits determination, Close is refused. Closing early — inside the window, no appeal — requires the employee's written waiver on file, recorded as the closure reason.
Timeline of a varied sanction
Counselling Notes
Tier 1 of the response model: a written record that the employee was told — before anything becomes a case.
Why this exists (and why "verbal warning" doesn't)
Managers reach for a "verbal warning" for first lapses. But a verbal warning is a contradiction: if it is to matter later ("we told you in March"), it must be written down — and once written, it is a record. AstraHR names it honestly: a counselling note. It is:
- not a sanction — nothing is imposed;
- not appealable — there is nothing to appeal;
- not in appraisals;
- evidence of prior notice — it counts at the tier-1→2 boundary while valid, where an escalation rule says so.
Raising one (manager / HR)

HR → Discipline → Counselling Notes → New. Under a minute:
- Employee, optional offence from the catalogue, incident date, discussed-on date (defaults today; discussed by defaults to the employee's manager).
- What was discussed — the summary, in plain words.
- Validity in months (default 6) — after this the note is spent and stops counting.
The employee's half
On their portal the employee sees the note and:
- adds their own comment — typed by them, never by the manager. That distinction is the note's integrity: it captures both sides in each side's own words;
- acknowledges that the conversation happened — or declines, and the refusal itself is recorded.
Once the employee has commented or acknowledged, the note is locked — the manager can no longer edit it.
Life of a note
When to use which tier
| Situation | Right tool |
|---|---|
| First missed timesheet, first lateness | Nothing, or a nudge |
| Repeat minor lapse; a real conversation happened | Counselling note |
| Lapse persists after a note; or any major/gross matter | Formal case |
Grievances
A grievance points the other way: the employee's complaint to the organisation — working conditions, pay, workload, treatment by management, harassment, discrimination, safety, interpersonal conflict.
Grievances ride the same case machinery as discipline (same file, same audit trail, same confidentiality), with the punitive half removed: no offence, no occurrence counting, no sanction path.
Raising a grievance
Employee (normal path): portal → Discipline → Raise a Grievance — category, what happened, submit. The complainant is always the logged-in employee; there is nothing to fill in on someone's behalf and no way to impersonate.
HR (on behalf): Cases → Report Incident → type: Grievance — for grievances received on paper or in person. Pick the complainant, optionally a named concerning employee, category, summary.
Either way a case is minted with a reference and lands in HR's case list marked Grievance.
Handling it
- Take Under Review. The grievance skips triage — there is no offence to classify.
- Investigate if warranted (Process tab): appoint an investigator, gather statements — same machinery as discipline.
- Move to Decision and record the resolution.
- Close with the closure note. The complainant follows progress and sees the outcome on their portal.
What carries over from discipline, and what doesn't
| Carries over | Does not apply |
|---|---|
| Case reference, workspace, evidence, audit trail | Offence catalogue, triage, occurrence counting |
| Confidentiality defaults and restricted visibility | Queries and response deadlines |
| Investigation and witness statements | Sanctions, ladders, payroll effects |
| Closure discipline (reasons, record kept forever) | Appeals (nothing was imposed) |
A harassment complaint is a grievance first
When an employee reports harassment, it enters as their grievance. If investigation substantiates it, HR opens a disciplinary case against the harasser (offence HAR-01, restricted visibility) — two files, each with its own procedure and its own record.
The Employee's Side
Everything the employee does lives in the portal under Discipline (sidebar → Workplace). Every call is scoped server-side to the logged-in session — there is no employee ID anywhere to tamper with, and no employee can ever see another's records.
What an employee sees on a case
Deliberately a subset of the case file:
| Visible to the employee | Never visible |
|---|---|
| The charge: offence name + the definition as written for them | Internal HR notes and triage detail |
| The query as served, with the response deadline | The reporter's identity on restricted matters |
| Evidence that has been disclosed (with the disclosure timestamp) | Undisclosed evidence |
| Hearing invitation: sitting, venue, panel, the right-to-be-accompanied wording | Panel deliberations and votes |
| Their own response, verbatim | Other employees' cases — ever |
| The outcome: sanction letter, validity, appeal deadline |
What an employee does
Respond to a query. The case card shows Respond by in red. They write their response — their words, straight onto the record — optionally ticking I admit the conduct described, and submit. HR cannot edit it.
Verify a transcription. If HR captured a verbal response, the portal asks the employee to confirm the transcription says what they said. Until they do, the case does not move — otherwise it would be HR's account of their defence.
Acknowledge a sanction — or refuse. Acknowledging confirms receipt, not agreement. Refusing is allowed and is itself recorded; the sanction stands either way, and the record shows exactly what happened.
Appeal. Within the window shown on the sanction: pick a ground, write the submission, lodge. Late appeals are recorded and flagged, not blocked. The outcome and rationale appear on the same card when determined.
Comment on and acknowledge counselling notes. Their side of the conversation, in their own words — the manager cannot type it for them, and the note locks once they respond.
Raise a grievance. Category + what happened → a real case with a reference, handled confidentially by HR, progress visible on the portal.
Why this matters beyond convenience
Every portal interaction is service and participation proof: the query's opened timestamp, the response's submission time, the acknowledgement (or its refusal), the appeal's lodgement time. When a dismissal is challenged, "the employee never saw it" stops being an argument — the record answers.
Automation & Jobs
One principle governs everything here: automation recommends; humans decide. No job opens a live case, applies a sanction, or advances a file on its own.
Attendance auto-triggers (weekly, Monday morning)
The trigger scans the last 7 days of attendance per company:
| Pattern | Draft raised |
|---|---|
| 3+ Reported Late days | ATT-01 Persistent lateness |
| Any Absent Without Notice day | ATT-02 Absence without permission |
Each hit creates a case in Draft — not Reported — with the attendance rows pre-attached as system evidence (source: Attendance, record reference kept). Drafts sit in the case list under the Draft (auto-raised) filter until a manager reviews the evidence and either Advances or Dismisses them. Duplicate protection: an employee with an open draft/report for the same offence doesn't get a second one.
Process-review suppression
If more than the configured threshold (default 40%) of tracked staff breach in the same week, the triggers stand down for that company and the situation is flagged for process review instead. Sixty warnings for one broken clock-in form makes the ERP the villain — when most people "breach", the process is the problem, not the people. Manual case creation stays available throughout.
Nightly jobs (2:30 am)
Record expiry. Sanctions whose validity has elapsed are marked Spent — kept on the trail forever, excluded from occurrence and escalation counts. Closure starts the clock; this job runs it. (Controlled by the Auto-expire spent records parameter.)
SLA watch. Open queries are checked against their response deadline: Due soon the day before, Breached after — surfaced on the case list, the dashboard, and (per the matrix) notified to the line manager.
Deadline arithmetic
Every deadline in the module — query response, appeal window, hearing notice — is computed in working days: weekends and the public-holiday calendar are skipped. A 3-day query issued Thursday before a Monday holiday is due Wednesday, and the case shows that date; nobody does calendar maths.
Notifications
Driven entirely by the notification matrix (Setup → Notifications): event × recipient × channels. Wired events: query issued, hearing scheduled, sanction issued, response overdue, suspension applied, appeal lodged/decided, case closed. Recipients resolve to real people — respondent, complainant, line manager (the respondent's supervisor), or holders of a management role. Rules marked suppress on restricted stay silent for restricted/HR-only cases. Delivery is asynchronous and never blocks or fails the business action; email is the wired channel today, with in-app/SMS riding the same matrix when enabled.
Escalation engine
Runs at triage, after the offence ladder: rules in priority order, first match wins, producing a recommendation (a stronger sanction, or a reclassification). Counting is conservative by design — upheld findings only, spent records excluded, counselling notes counted only where the rule says so. The full rule reference is in Setup — Tab 5.
What is deliberately NOT automated
- Opening a live case (drafts only, and only from attendance)
- Applying or suggesting suspension (a human applies; offences can prompt)
- Applying any sanction
- Determining appeals
- Closing cases
Dashboard & Case Pack
The dashboard
HR → Discipline → Discipline Dashboard. Its layout is an opinion: what needs a human first, quality second, counts last — because "how well are we running the process" matters more than "how many cases do we have".

Two kinds of number live on the page, and the header of each section says which is which:
- Current state — Needs Action, the work queue, open-by-stage, the case mix and the compliance clocks describe the caseload as it stands and ignore the period filter.
- Period bound — everything else follows the From/To range in the header (default: this quarter; quick periods reload immediately).
| Section | What it tells you |
|---|---|
| Needs Action | Six tiles for what is waiting on a person: drafts to review, responses overdue (no lapse minuted), hearings in the next 7 days, appeals awaiting determination, suspensions past their planned end, transcribed responses awaiting employee verification. Every tile opens the case list already filtered, and the queue below lists the same items oldest-first with days overdue |
| Process Quality | The numbers the NLC would probe: appeal overturn rate (flagged above 30% — retrain the issuers, don't blame the appellants), allegations not upheld (over-charging signal), dismissed at triage (report quality), representation refused (the most common procedural defect — red the moment it is non-zero), average days to close with the trend against the previous period, and lapsed responses |
| Case Flow | Cases opened vs closed per month (are you keeping up?), open cases by stage with the slowest stage computed from the audit trail, and the disciplinary/grievance mix with the restricted-visibility count |
| Patterns | The offence category × department heatmap — a cluster is usually a process problem (roster friction, unclear rules) before it is a people problem; occurrence at triage (is the ladder deterring repeats?); sanctions issued with the ladder override rate |
| People Signals & Tier 1 | Repeat respondents over a rolling 12 months (dismissed cases excluded); cases by initiating supervisor — the bias indicator: one supervisor generating a disproportionate share is worth a conversation about the supervisor, read with their overturn and not-upheld rates; and counselling-tier health — notes raised, acknowledgement rate, and how many became cases |
| Automation & Clocks | The attendance auto-trigger funnel (raised → advanced → dismissed) with a trigger precision figure — below half means the thresholds are catching noise; and the compliance clocks: sanctions going spent within 30 days, appeal windows closing this week, undisclosed evidence on decided cases |
The case pack
The Case Pack button on any case produces the complete NLC-ready bundle as one ordered, printable document on your company letterhead (uploaded under Config → Letterhead). Use the browser's Print → Save as PDF for the file.
Contents, in order:
- Cover — reference, parties, offence, class, dates, status, occurrence
- Allegations & findings — each assertion with its adjudication and rationale
- Evidence index — every item with collector, timestamp and disclosure proof (undisclosed items flagged red)
- The query as served — the exact text, deadline, the employee's opened timestamp, any minuted lapse
- The employee's response — verbatim, with mode and verification status
- Investigation — investigator, terms of reference, findings, witnesses
- Hearing — panel, notice, attendance register, representation status (requested-but-refused in red), minutes, votes with dissents
- Sanction — what, when, by whom, any override justification, the letter as served, acknowledgement or recorded refusal
- Appeal — lodgement, grounds, submission, determination and rationale
- Chronology — the full append-only audit trail, actor and timestamp on every line
Nothing in the pack is composed for the occasion — every line is the record as it was written at the time. That is exactly what makes it persuasive.
FAQ & Data Rules
Process questions
Can I skip the query for an open-and-shut case? No. The right to be heard is not bypassable — every path to a sanction passes through a query and the chance to respond. "Open-and-shut" cases that skipped the query are how employers lose winnable NLC cases.
The employee refuses to sign anything. Now what? Nothing stops. Acknowledgement confirms receipt, not agreement — and a refusal is itself recorded, which is just as good on the record. The same goes for refusing to acknowledge a counselling note.
The employee resigned mid-case. Do we drop it? Close the case with closure reason Employee resigned. The record — allegations, findings so far, the trail — stays intact, which matters if the matter resurfaces (references, re-employment, NLC).
Can I edit a query/letter after serving it? No. The served text is snapshotted on the case. Template edits affect future letters only.
We made a mistake on a sanction. Can we fix it? Not by editing — records are never edited. The appeal path exists precisely for this: determine an appeal (or invite one) with outcome sanction reduced/increased or finding overturned; the original is superseded or rescinded, and both remain on the trail.
Who can see a restricted case? Not the respondent's line manager, and notifications marked suppress on restricted stay silent. Harassment and financial offences are seeded restricted by default. The respondent always sees their own employee-facing view.
What's the difference between Dismissed and Closed?Dismissed = the case died at review (no case to answer) — it never counts against the employee. Closed = the case ran its course, whatever the outcome.
Does a "Not upheld" case count against the employee later? Never. Occurrence counting and escalation rules count upheld findings only — a dismissed allegation can never escalate anything.
How do occurrences interact with old warnings? Only active (unspent, unrescinded, unsuperseded) sanctions with upheld findings count. A warning that expired last year is spent — on the record, out of the maths.
Probationers? They follow their own procedure template. The system will not silently run the permanent-staff ladder on a probationer.
What if we're too small for panels? A one-member panel — a single hearing officer — is fully supported. The conflict rules still apply to that one person.
Data rules — what the system refuses to do
| You cannot… | Because… |
|---|---|
| Delete a case, allegation, evidence, finding, sanction, appeal or audit entry | The record is the product; a trail with a delete button proves nothing |
| Edit the audit trail | Append-only, no update path exists in the code |
| Reach a sanction with an unadjudicated allegation | No partially adjudicated cases |
| Dismiss without a concluded hearing | Enforced against the sanction, not just the class config |
| Sit the complainant or investigator on a panel | Locked conflict rules |
| Determine an appeal you issued the sanction on | Hard rule, regardless of roles |
| Close over an active suspension | It auto-lifts — nobody stays suspended by oversight |
| Close over an undetermined appeal | The employee's challenge is answered first |
| Charge an offence not in force on the incident date | Effective dating protects closed cases |
Configuration is deactivated, never deleted, once anything references it — historical cases must resolve their config forever.
Retention & privacy
- Discipline data is the most sensitive HR data; visibility defaults to Restricted and every read of an employee's own data on the portal is session-scoped.
- Spent ≠ gone: expired sanctions stay on the trail but stop counting.
- The retention parameter (default 6 years after closure, Act 843-aligned) is the policy input for eventual archival/anonymisation — deletion is never the mechanism.
Migration from the old screens
The pre-2026 "Disciplinary Action" screen and its tables (misconduct, discipline_action, employee_discplinary_action) are retired and removed from the application. Historical rows are handled manually from backup per the migration script docs/migrations/2026-08-24-drop-legacy-disciplinary-tables.sql — back up first if any of it matters. Old records are deliberately not imported as cases: a migrated "case" would imply a procedure (query, hearing) that never happened, which would undermine the very defensibility the module exists to provide.
Glossary shortcut
See the Key Concepts glossary.
Leave Management
Leave Dashboard
Who is on leave now, who is going soon, and the pending requests that need action — the leave overview for HR and managers.
Where: HR → Leave Management → Leave Dashboard
The list shows employee, department, leave type, start/end dates, number of days and status; View Details opens the request with its approval trail. Use the Pending Requests screen to work the approval queue itself.
Leave Balances
Days remaining per employee at a glance: total allocation, days taken, days remaining — with department and rank for context.
Where: HR → Leave Management → Leave Balance
Refresh recomputes from allocations and approved leave. Balances follow the allocation rules (rank-based or individual) in Leave Configuration.
Pending Requests
The approval queue: every leave request awaiting a decision, with balance context so approvers decide with the numbers in front of them.
Where: HR → Leave Management → Pending Requests · Who: leave approvers (management-role holders and the employee's manager)
Steps
- Open a request — you see the employee's leave types, days taken, balance, the requested dates, half-day flag and comment.
- Approve, Reject, or Revert (send back to pending after an earlier decision).
What happens next
- Approval books the days against the employee's allocation and shows on the leave calendar; the employee is notified and sees the status on the portal.
- An employee under an active disciplinary suspension cannot be approved — the system refuses with the reason.
Common questions
Who can approve? The approvers resolved for the request — the leave approval manager role holder(s). Approval actions are recorded with the approver's name.
Leave Requests
Booking leave on behalf of an employee, and the employee's request history.
Where: HR → Leave Management → Leave Request · Employees normally request from the portal; this screen is for HR capturing paper/verbal requests and corrections.
Steps
- Search and select the employee.
- Choose the leave type — the picker shows entitlement context; set start and end dates (working days are computed for you, skipping weekends and public holidays), optional half-day, and a comment.
- Save. The request enters the approval flow like any portal request.
The list
Each request row: leave type, start, end, resumption date, status (Pending / Approved / Rejected), number of days.
Common questions
The day count looks off. The count is working days: weekends and the public-holiday calendar are excluded. Check the holiday list under settings if a holiday is missing.
Can I edit an approved request? No — revert it from the approvals screen first.
Leave Calendar
The month view of who is away when — approved leave plotted per day so clashes are visible before they happen.
Where: HR → Leave Management → Leave Calendar
Use it when approving: two people from the same small team overlapping is the thing this screen exists to catch.
Leave Records
The company-wide leave ledger: per employee and leave type — days enjoyed, balance, totals — plus the underlying request rows, with approval actions where you hold them.
Where: HR → Leave Management → Leave Records 
Filter by period, leave type and status, then Load. Two views: the summary (employee × leave type with days enjoyed/balance/total) and the detail (individual leaves with from/to dates). View Approvals shows who decided each request; Approve/Reject/Revert are available to approvers directly from here.
Leave Config
Everything leave runs on:
Leave types
Name + description (Annual, Sick, Maternity, Compassionate…). A type must exist before it can be allocated or requested.
Allocations
Two ways to grant days:
- Rank allocation — days per leave type per rank/grade; every employee of that rank gets the entitlement. The scalable default.
- Employee allocation — days per leave type for one employee; use for exceptions and carry-overs.
When both exist, the employee-specific allocation wins for that person.
What happens next
Allocations power the balance screen, the approval context, and the request pickers. Changing an allocation mid-year changes balances immediately — do it deliberately.
Leave Report
Leave data cut for reporting — filter by period and leave type, export for management or audit.
Where: HR → Leave Management → Leave Report
Project Management
Projects
Project register for HR task tracking: name, department, project manager, counterparty (client), goal and dates — the parents that activities and timesheet tasks hang off.
Where: HR → Project Management → Projects
Add New Project with the fields above; Assign Project attaches employees with tasks and assign dates. Assigned employees see their tasks on the portal timesheet.
Activities
The activity catalogue used by timesheets — the "what was the time spent on" list, per project.
Where: HR → Project Management → Activities
Keep activities few and meaningful; every timesheet entry picks one, and reports roll up by it.
Attendance
Attendance
The day's register: who reported, who was late, who is absent — recorded manually here, from the clock-in device, or auto-marked by the nightly job.
Where: HR → Attendance → Attendance
Recording

Record Attendance: employee, date, status, clock-in/out times, comments and a task summary. Statuses: Reported · Reported Late · Not Recorded · Called in Sick · Absent With Notice · Absent Without Notice · Absent (Other).
The list shows each employee's clock in/out, status and computed hours (regular, overtime, Saturday/Sunday/holiday).
Where the data comes from
- Manual entry on this screen.
- Clock-in device — pushes events automatically (see Attendance Device).
- Nightly job — initialises the day's register for companies with attendance recording enabled (weekdays), so unrecorded staff surface as Not Recorded instead of disappearing.
- Employee portal — self clock-in where enabled, geo-verified against mapped premises.
What attendance feeds
- Monthly work-hours and payroll (overtime, absence effects) — see Attendance Summaries.
- Discipline auto-triggers: 3+ late reports in a week, or any Absent Without Notice, raises a draft disciplinary incident with the attendance rows attached as evidence — a manager reviews and advances or dismisses it (how that works).
- Suspended employees (discipline) are excluded from capture while suspended, so no absence penalties accrue.
Records
Look up any date's full register: employee, clock in, clock out, present status — and print it.
Where: HR → Attendance → Records
Pick the date, View Attendance, Print for the paper copy.
Summaries & Monthly Hours
Two rollups sit above the daily register:
Daily summary
Where: HR → Attendance → Summary. Per day: expected vs reported, late, not recorded, sick, absent with/without notice — with a holiday flag per day and drill-down to the employees behind each number. Update All recomputes; Download Image exports the table for sharing.
Monthly work-hours
Where: HR → Attendance → Time Sheet (monthly). Per employee for the month: regular, overtime, Saturday, Sunday and holiday hours, and total — the numbers payroll consumes.
Actions across the month: Recompute Summary (rebuild from the daily data) · Confirm All / per-employee confirmation · Lock All / Unlock All (freeze the month against edits) · Post Attendance Summary (hand the confirmed hours to payroll) · Notify All (send each employee their sheet) · Print / Download Zip.
The month-end sequence
- Close out daily gaps (Not Recorded rows) → 2. Recompute → 3. review and Confirm → 4. Lock → 5. Post to payroll.
Common questions
Numbers disagree with the daily screen. Recompute — the summary is a snapshot, not a live view.
Locked month needs a fix. Unlock, fix the day, recompute, re-confirm, re-lock. Every unlock is deliberate; don't leave months unlocked.
Attendance Device
Clock-in hardware registration and the attendance notification rules.
Where: HR → Attendance → Device
Devices: each registered device shows its ID, name, last heartbeat and time elapsed — a device that stops heartbeating is your first clue clock-ins aren't flowing.
Notifications: per notification type, set the recipient number/email (with CC/BCC) and enable/disable — e.g. the daily attendance summary mail.
Working Period
The company's working hours per weekday — start time, end time, break hours — and the overtime rate. This is the base attendance arithmetic: hours beyond the working period count as overtime; Saturday/Sunday/holiday hours are tracked separately.
Where: HR → Working Period
Set each weekday's times once; revisit only when working hours genuinely change (the change affects computations from then on).
Timesheets
Project/task time tracking: assign tasks to employees, employees log time (portal), and HR reviews per month.
Where: HR → Attendance → Time Sheet / Project Management screens
Assigning work
Assign Task: project, task activity, description, assignee, date, duration (hrs), priority, notes. Assigned tasks appear on the employee's portal timesheet.
Reviewing
The list rolls up per employee: assigned vs completed tasks and hours. Filter by period/project/activity, export Excel/PDF.
Monthly Review shows one employee's month as a calendar of entries (project, activity, duration, status, when it was entered — including entered after flags for late logging), exportable as Excel/PDF/calendar image.
Timesheet lapses and discipline
Where timesheet discipline matters, persistent failure to submit is an offence in the seeded discipline catalogue (ATT-04) — handled through counselling notes and cases, not through this screen.
Recruitment
Manage recruitment
Vacancies and applicants in one place: publish a vacancy, collect applications, move applicants through the pipeline.
Where: HR → Recruitments → Manage Recruitment
Vacancies
Add New Vacancy: job title, employment type (classification), work option (on-site/remote/hybrid), opening and closing dates, salary expectation, job description, vacancy status — plus Advertise for me and Show company name on ad for published adverts.
Applicants
Per vacancy: applicant name, gender, phone, email, how soon they can start, application method (online/manual) and date. Update Status moves an applicant through the pipeline (shortlisted, interviewed, offered…); Process converts the successful applicant toward an employee record.
Appraisal
Company Appraisal
An appraisal cycle for the whole company: define the period, initialize it for employees, then manage completion and final ratings.
Where: HR → Appraisal → Company Appraisal
Steps
- Add New Appraisal: period from/to and a label (e.g. "2026 Mid-Year").
- Initialize — creates each employee's appraisal from the question set (Appraisal Questions).
- Manage — track each employee's progress; open any appraisal to see areas, items, self scores/comments and reviewer scores.
- Close with the general comment, final rating and final comment.
Employees complete their self-assessment on the portal; supervisors score their side there too.
Employee Appraisal
One employee's appraisals across cycles — self and supervisor values per assessment item, comments, and the final outcome.
Where: HR → Appraisal → Employee Appraisal
Discipline note: sanctions do not appear here unless the sanction type is explicitly marked visible in appraisal — conduct and capability are deliberately separated.
Appraisal Questions
The question bank appraisals are built from: each question belongs to an assessment area, carries a description, an answer type and a weight.
Where: HR → Appraisal → Appraisal Questions · Areas and answer values are configured alongside (Assessment Values).
Weights drive the scoring roll-up — keep them proportional to what actually matters.
Assessment Values
The answer scales for appraisals: per answer type (e.g. nominal grades, yes/no), the values a reviewer can pick and the weight each value scores.
Where: HR → Appraisal → Assessment Values
Training
Add New
Training events and their trainees: what, where, who supervised, who attended, and each trainee's report.
Where: HR → Training → Add New
Add New Training: department, supervisor, training subject, type, institution, venue, reason, start/expected end dates, remarks. Add Trainee attaches employees; trainee reports are captured per attendee as the training concludes.
Workplace
Announcements
Company-wide or department notices published to the employee portal.
Where: HR → Announcements
Compose with title, body, category and audience (whole company or a department); publish now or schedule with publish-from/until dates; pin to the top for the ones that must stay visible. The list shows each announcement's audience, visibility window and status.
Food Ordering
Staff meal ordering: HR maintains the menu; employees order on the portal; the kitchen list is confirmed per day.
Where: HR → Food Ordering → Menu Setup / Day Food Orders
Menu Setup: food items with name, group and price, arranged per weekday. Save All publishes the menu the portal shows.
Day Food Orders: pick the date, Load Orders — each employee's items and total, with per-order and Confirm All confirmation. Share Summary / Copy to Clipboard produces the kitchen list.
Management Roles
Assign business roles to employees: who is the Leave Approval Manager, HR Officer, HR Manager, Department Head, Managing Director, CEO. These assignments drive leave approvals and the Discipline module's authority and notifications.
Where: HR → Management (roles) · Who: HR administrators
Pick the role, pick the employee, save. One role can be held by more than one person where that makes sense (e.g. HR Officer); the modules that read roles resolve all holders.
Roles have a seniority order (Line Manager < Department Head < HR Officer < HR Manager < Managing Director < CEO) — the Discipline authority matrix uses it to guarantee appeals are heard above the issuer.
Workflow Approvals
Approval requests routed to you from HR flows — review and act in one queue.
Where: HR → Workflow Approvals
Each request shows what it is for, who raised it and its status; approve or decline with the action recorded. (Leave has its own dedicated approval screens; discipline records approvals on the case file itself.)
HR Reports
Cross-cutting HR reporting — headcount and profile listings cut by period and filters, exportable for management.
Where: HR → Reports
Pick the period (From/To) and generate. For module-specific reporting see: Leave Report, Attendance Summaries, Discipline Dashboard.
Fleet
Fleet Management
Vehicles, drivers and everything that keeps them moving: assignments, requisitions, fuel, maintenance, inspections, insurance and road-worthiness, trip logs and accidents — with a dashboard over cost and compliance.
Where: the Fleet module · Employees interact through the portal (vehicle requests, trip logs). 
The register
- Vehicles — the fleet list; each vehicle's file holds its documents, assignments, fuel and maintenance history. Vehicle locations track where vehicles are stationed.
- Drivers — who may drive, with licence details.
Day to day
| Screen | What happens there |
|---|---|
| Assignments | Attach a vehicle to an employee/role, dated |
| Requisitions | Vehicle requests (from the portal or here): journey, purpose, passengers → dispatch assigns vehicle & driver |
| Fuel | Fuel fills per vehicle: date, quantity, cost, odometer — consumption falls out of the odometer trail |
| Logs | Trip logs: route, purpose, odometer start/end |
| Maintenance | Service events and costs per vehicle, with schedules |
| Inspections | Periodic checks and their findings |
| Insurance / Road-worthy | Policies and certificates with expiry dates — the compliance clock |
| Accidents | Incident records per vehicle/driver |
Oversight
The dashboard rolls up availability, running costs and expiring documents; Reports cut fuel, maintenance and utilisation per vehicle and period. Settings hold fleet vocabularies (vehicle types, maintenance types…).
Renewal dates (insurance, road-worthy) are the discipline here: keep them current and let the dashboard's expiry warnings do their job.
Point of Sale
POS Guide
The fast lane for over-the-counter sales: a till screen for scanning/picking products, taking payment and printing receipts — feeding the same stock and ledger as everything else.
Where: the POS module (and Account → Sales Till / Cash Register views)
Selling
- Open your till (register) for the day.
- Add items — scan or search; quantities and line prices adjust in place.
- Take payment (cash, MoMo, card per your setup), print/share the receipt.
Stock reduces immediately; the sale posts to the daily summary and ledger.
The day
- Daily Summary (Account) shows the day's takings by register — the cash-up sheet.
- Cash Register records the till's cash movements; count and close at day end.
Off-POS credit sales, orders and invoicing live in Inventory/Account — POS is deliberately the simple path.
CRM
CRM Dashboard
The relationship overview: ticket and lead volumes, pipeline value, activity and tasks — with date-range filtering (the shared From/To + quick-period selector) and drill-through into each workspace.
Where: CRM → Dashboard
Use it as the team stand-up screen: tickets by status, tasks due, recent leads and activity in one view.
CRM Customers
The 360° customer view: profile and contacts on one side; the account position — AR/AP balances, invoices, payments, tickets, opportunities and activity — on the other.
Where: CRM → Customer Records 
Customers/partners themselves are the shared partner register (also used by Sales and Accounts); this workspace is where the relationship is read. The account-position header answers "where do we stand with them" before every call.
Sales
CRM Sales
Prospects before they're customers — the same workspace shape as Tickets: KPI tiles, filter tray, list ↔ board by lead status.
Where: CRM → Leads
Capture a lead with contact details, source and owner; qualify it through your statuses; convert the good ones into an opportunity (pipeline) or straight into a customer. Lead statuses are configurable in CRM settings.
CRM Opportunity
The sales pipeline: deals by stage on a kanban (or list), each with party, value, expected close and owner.
Where: CRM → Opportunities
Drag deals between stages as they progress; stages and their order are configurable in CRM settings. Won deals carry into sales/invoicing; lost ones keep their history for the post-mortem.
Client Management
CRM Interactions
The contact log across every record type: calls, meetings, emails and notes attached to a customer, lead, opportunity or ticket — plus scheduled tasks/activities with due dates, categories, priority and assignee.
Where: CRM → per-record activity panels, and the dashboard's activity/task views
Log as you go; the record's timeline is the institutional memory when people change.
Customer Support
CRM Tickets
Customer support tickets in a workspace rebuilt around flow: KPI tiles, a collapsible filter tray, and a list ↔ board view switcher (the board is a kanban by status — drag a ticket to move it).
Where: CRM → Tickets 
Working the queue
- Tiles (open, due, closed…) are clickable filters.
- Filters: status, party, assignee and the date range selector.
- Open a ticket for the detail panel: description, party, assignment, status history, and responses/activity logged against it.
- Statuses (and their board column order) are configurable under CRM settings — open statuses first.
Creating
New ticket: party (customer), subject, description, source, priority, assignee. The ticket lands in the first open status; work moves it rightward across the board.
Assigned staff see and update their tickets from the employee portal's Tickets & Tasks.
Configurations
CRM Settings
The vocabularies the CRM workspaces run on:
- Ticket statuses — with view order (board column order; open statuses first)
- Opportunity stages — with view order for the pipeline board
- Lead statuses, sources, task categories
Statuses are per-company and editable; records keep working when a status is renamed. Keep the lists short — every extra column dilutes the board.
Configurations
Dashboard
The configuration landing: shortcuts into company details, branding, users & permissions, workflow, templates and module settings — with the company's setup completeness at a glance.
Where: Config → Dashboard · See the Configuration Reference for the full map.
Business Details
Introduction
This page allows you to update your business details, ensuring your information is accurate and current for communication and operational purposes.
How to Update Business Details
Company Name
Enter the full name of your company. This is essential for official records and to ensure accurate identification.Company Address
Enter your company's full address, including the street, city, state, and zip code. Be sure the address is complete and accurate for shipping, billing, and other correspondence.Company Email
Enter the main email address for your company. This email will be used for official communications, inquiries, and customer contact.Contact No.
Enter your company’s primary phone number. This number is crucial for customer service and direct communication with your business.WhatsApp Phone No.
If your company uses WhatsApp for business communication, enter the WhatsApp number here. This provides an additional communication channel for customer interaction.Update
Once you've entered or made changes to the details, click the "Update" button to save them. This ensures that your business information is updated and stored.
Tips and Best Practices
- Double-check all contact details for accuracy to avoid missed communications or errors in official records.
- Keep the business information consistent across different platforms to maintain a professional and unified presence.
Users
Welcome to the User Management Page
This page allows you to view and manage existing users in the system efficiently.
How to Use This Page
User List
The table displays a list of all registered users. Each row represents a user and includes the following details:
- Name: Full name of the user.
- Email Address: The email address associated with the user's account.
- Mobile No.: The user's mobile phone number.
- Is Employee: Indicates whether the user is an employee of the organization.
- Is Agent: Indicates whether the user is an agent or representative of the organization.
- Is Active: Shows whether the user account is currently active or inactive.
- Actions: Each user has the following action options available:
Actions Menu (More...)
Click the "More..." button to access a dropdown menu with these additional actions:
- Edit: Modify the user's information.
- Send Email: Send an email directly to the user.
- Set Password: Reset the user's password.
- Render Inactive: Deactivate the user's account.
- Delete: Permanently remove the user's account from the system.
New User
Click the "New User" button to create a new user account. This allows you to add additional users to the system as needed.
Home
Click the "Home" button to navigate back to the main page or dashboard.
Additional Tips
- Search: Use the search bar to find specific users by entering their name or email address.
- Filter: Apply filters to view only active or inactive users.
- Sort: Sort the list of users by columns such as name, email address, or any other parameter for easier navigation.
By using these features, you can efficiently manage users and ensure that your system remains organized and up to date.
Add New Users/Account
This page allows you to create a new account/user.
Name
Enter the full name of the person or entity you are creating an account for.Mobile Number
Enter their mobile phone number.Email Address
Enter their email address.Designation/Role
Enter their job title or role within the company (if applicable).Is Employee
Check this box if the person is an employee of the company.Is Agent
Check this box if the person is an agent or representative of the company.Save Changes
Once you have entered all the necessary information, click the "Save Changes" button to create the account.Close
To exit without saving, click the "Close" button.Home
Clicking the "Home" button will take you back to the Users page.
Additional Tips
- Make sure to enter all required information accurately.
- If you're unsure about any field, you can leave it blank.
- You can create multiple accounts using this page, making it easy to manage users or entities in the system.
User Locations
The User Locations configuration allows you to assign users to specific locations within the system.
How to Add a User to a Location
- Search for or select the user in the User column.
- Select the desired location(s) in the Location field.
- Click Save Changes to assign the location, or click Clear to reset/remove the selection.
How to Edit a User's Assigned Location
- Click the Edit button next to the user.
- Select a new location for the user.
- Click Save Changes to update the assignment.
How to Delete a User's Assigned Location
- Click the Delete button next to the assigned location.
- Confirm the deletion to remove the location.
Repeat the steps to assign additional users to locations.
New Company
Adding a New Company
- Click the 'New Company' button.
- On the company form:
- Enter the unique company code.
- Provide the Name.
- Input the Contact Number.
- Add the Postal Address.
- Specify the Contact Email.
- Provide the TIN Number.
- Check 'Initialise With Default Data' to include predefined data (e.g., Chart of Accounts).
- Click 'Save Changes' to save the company.
- To exit the page without saving, click 'Close'.
Managing Companies
- Edit Company:
- On the Company Listing page, click the 'Edit' button for the desired company.
- Update the details in the form.
- Click 'Save Changes' to apply updates.
Inviting Users to a Company
- Click the 'Invite User' button next to the company.
- In the dialog box, enter the user's email/phone.
- Click 'Invite'.
The user will receive an email with a link to join the company.
Permissions
The Permissions page allows administrators to control user access to specific modules and pages within the system.
What Are Permissions?
Permissions determine whether a user can access specific modules or pages (e.g., restricting access to "Accounts Expenses"). Without permission, the user cannot view or interact with that page or module.
How to Set Permissions
Step 1: Select a User
- Use the dropdown at the top to select the user.
- The active modules for the user will display.
Step 2: Activate/Deactivate Modules
- To grant full access to a module:
- Click YES under the "Activate" column.
- To restrict module access:
- Click NO under the "Activate" column.
Step 3: Add Permissions for Specific Pages
- Click Pages under the "View" column for the selected module.
- Search for or locate the desired page in the "Account Pages" section.
- Click Add in the "Action" column for the page.
Step 4: Configure User Actions
- In the "User Permissions" section:
- Locate the page and click Actions (or More → Actions).
- Select actions the user can perform:
- Edit: Allows editing of records/items on the page.
- Delete: Grants permission to delete records/items.
- Create: Enables creating new records/items.
- Approve/Disapprove: Allows managing approval statuses.
- Click Save to confirm the changes.
Step 5: Remove Permissions
- Locate the page under "User Permissions."
- Click More → Delete to remove the permission.
Repeat the steps for additional modules or pages as needed.
Permissions User Guide Video
Message Templates
The email/SMS bodies AstraERP sends, per message type (invoices, payslip notifications, account invitations, notifications…). Each template holds email text and SMS text with merge placeholders filled at send time.
Where: Config → Message Template
Defaults are seeded per company; edit to your voice. Keep SMS bodies short — they bill per segment. The message generator sends ad-hoc messages using the same infrastructure.
Logo
Every bulk-upload screen in AstraERP (employees, bank accounts, products, prices, sales, journals, payroll items, statements…) works from a downloadable template. Get the template from the screen you're uploading into (or the Upload Templates page), fill it exactly as laid out — column order and formats matter — and upload. Every upload previews per-row results before processing, and failed rows tell you why.
Mobile App
Getting Started
Screen recordings for these flows are being re-captured against the current app and will appear here.
- Onboarding experience for new users and a reference point for existing users who want to explore the app's capabilities.
Prerequisite
Company Registration
- You will need to have a company registered before you can login the app.
- To register a company
- Tap on the Register on the Login Screen
- Enter details for all the fields. You can register using only your phone number / email.
- Tap on Register
- Go back to the Login screen and login into the app using your valid credentials.
Setting Up your Organisation
Step 1 Create Product
- To create product a product in AstraERP Mobile
- Go to Invoice|Sales
- Select Product|Services
- Tap on the New Button in the top right corner of the page
- Select Product type and complete the required field
- Tap on Save
| Field | Description |
|---|---|
| Product Type | Select whether your product is a goods or service |
| Product Name | Identify the specific goods or service |
| Product are bought/sold in | Indicate how the product is packaged |
| Quantities in Package | If products are sold in boxes or packs, how many individual items make up a full box |
| Cost price | Indicate the amount you bought the product from the suppliers |
| Selling price | Indicate the amount you are going to sell the product to the final consumer |
Step 2- Receive Stock.
- A document indicating the stock a seller has purchased from supplier, its quantities and their prices. To create a Receive stock
- Go to Invoice|Sales
- Tap on Receive Stock
- Tap on the New Button in the top right corner of the page.
- Fill in the required details
- Tap on Save
- Post to Inventory
| Field | Description |
|---|---|
| Date Received | Select the date you bought the product from the suppliers. if you already have the stock and you are a first time user, please select the current date |
| Vendor | Indicate the supplier you bought the goods from. If you do not want to save the suppliers' information, please select Backlog Supplier |
| Paid | Indicate whether you have paid for the goods or payment would be made later. |
| Payment Account | There is a default payment account(Cash-in-hand) in the system. You can add more payments account in the Charts of Account |
| Add item | Add the product you are purchasing from suppliers, its right quantities and cost prices |
Step 3 Cash/Credit Sales
- A financial transaction which confirms the supply of products between the seller and the customer.
- To create Cash/Credit Sale
- Go to Invoice|Sales
- Select credit|cash sale
- Click New Button in the right corner of the page
- Fill in the required details
- Add items
- Click Process
- Add payment details
- Click Save
