Welcome to the User Guide
Select a module from the sidebar to view the detailed step-by-step guide, or click on one of the cards below.
Manufacturing
Formulations & Production Orders
Legal Affairs
Contracts & Signatures
CRM
Invoices & Quotations
Supply Chain
Products, Purchases & Warehouses
Custom Manufacturing
Made-to-order manufacturing management
Schools Management
Registration, Fees, Exams, Attendance, Certificates
Accounting
Journal Entries & Balance Sheet - Coming Soon
Human Resources
Employees & Payroll - Coming Soon
🏭 Manufacturing Module
A practical step-by-step guide for all manufacturing operations - from creating formulations to adding the final product to inventory.
The Manufacturing Module in Hunt ERP is an integrated system that helps you manage the entire manufacturing process from start to finish. From the moment you decide to manufacture a product, until the final product enters the warehouse ready for sale.
Imagine you want to manufacture 1000 boxes of a certain product. The cycle goes as follows:
- Define the required raw materials and their quantities (Formulation)
- Request manufacturing of that quantity (Job Order)
- Distribute the work across departments (Production Order)
- Issue raw materials from the warehouse
- Start actual manufacturing stage by stage
- When the product is finished, it enters the warehouse as a final product
- Production Manager: Plans, approves production orders and monitors all departments
- Department Supervisor: Views orders assigned to their department and manages manufacturing
- Warehouse Manager: Approves material issuance and final product additions
- Quality Control: Performs tests on raw materials and final products
Before you start manufacturing, you need to do a one-time initial setup. These steps are done once and then used for all production orders.
A department is where a part of manufacturing takes place. For example: Mixing Department, Filling Department, Packaging Department.
Each department has stages (e.g., Filling Department has filling stage and sealing stage). Each stage has machine groups.
A formulation is a product recipe - it defines what raw materials you need and in what quantities to produce a certain amount of the final product. Think of it like a cooking recipe.
After creating the formulation, now you want to request manufacturing a specific quantity. E.g., The formulation produces 100 kg, and you need 500 kg. So the job order = 500 kg.
You don't have to manufacture the entire quantity at once. You can split it into multiple production orders. E.g., First order = 200 kg, Second order = 300 kg. The system tracks the remaining quantity automatically.
A production order is the actual order that gets executed in the departments. You specify who does what and where.
After reviewing the production order and everything is correct, approve it to start execution.
- The quantity is deducted from the job order
- The starting department is activated with status (Pending) - the supervisor can see it
- Other departments status is (Not Started) - until their turn comes
- The production order status changes from draft to approved
Production order for 200 kg going through 3 departments: Mixing → Filling → Packaging
- Mixing Dept: Status (Pending) - supervisor can see it and is ready to start
- Filling Dept: Status (Not Started) - supervisor cannot see it yet
- Packaging Dept: Status (Not Started) - supervisor cannot see it yet
When the Mixing Dept finishes, the Filling Dept is automatically activated. And so on.
Before a department starts working, it must verify that the required raw materials are available in the warehouse and their quality is good.
After the check, the system automatically creates a material issue request with the required materials.
If you need extra materials during manufacturing:
From here, the supervisor starts executing stages one by one.
When a department finishes all its stages, it hands over to the next department automatically:
Production order 200 kg: Mixing → Filling → Packaging
- Mixing Dept: 200 kg input → 190 kg output (10 kg waste)
- Filling Dept: 190 kg → 185 boxes (5 kg waste)
- Packaging Dept: 185 boxes → 183 finished boxes (2 waste)
- The 183 boxes are added to warehouse as final product
The last step in the manufacturing cycle. The product is finished and ready to enter the warehouse.
- Calculates manufacturing cost from approved issue requests
- Adds the quantity to warehouse stock
- Creates an accounting entry (Debit: Inventory, Credit: Purchases)
The system automatically calculates for each machine: operating hours, consumption percentage, cost, and average monthly maintenance.
During material check before issuance:
Waste is recorded automatically when you complete a stage and enter the waste quantity. For each waste: quantity, cost, reason, whether recyclable.
Reports show: total waste by period, analysis by stage, reason, and department.
The system automatically records each worker's performance: quantities produced, working hours, efficiency rate, and waste rate.
Virtual warehouses are separate from actual warehouses. They are used to track materials before they enter the official inventory.
- Pending: Orders needing check or issuance
- In Progress: Orders currently being manufactured
- Completed: Finished orders
The admin can see all departments and can monitor, assign, and transfer orders.
For each department: order count, quantities, efficiency, costs, and department ranking by performance.
Overview of all orders with statistics by status, priority, delays, and readiness check.
⚖️ Legal Affairs Module
A practical step-by-step guide for managing contracts and signatures - from creating templates to printing the final signed contract.
The Legal Affairs Module in Hunt ERP is an integrated system for managing all contracts in your company. It helps you create ready-made contract templates, customize them for each client, employee, supplier, or contractor, and approve them with secure electronic signatures.
Imagine you want to create a contract for a new client. The cycle goes as follows:
- Create a contract template with standard clauses (one time)
- Create electronic signatures for authorized personnel (one time)
- Select the client and customize the contract, modifying clauses if needed
- Save the contract and start the signature cycle
- Each signer enters their personal signature password
- When all signatures are complete, the contract is approved and the client moves to the next stage
- Primary Client Contract: The first contract made with a new client
- Final Client Contract: The official contract after primary approval
- Estimation Contract: A contract linked to a specific estimation
- Employee Contract: Employment contract with employees
- Supplier Contract: Supply contract with suppliers
- Contractor Contract: Contract with contractors
- Create the contract or select a ready template
- Edit the first party description and clauses
- Save and approve the contract
- Signature cycle (one or more signatures)
- All signatures complete = automatic action is triggered
- Print the contract with signatures
Before creating contracts, you need to prepare the base templates. These templates serve as the foundation for all contracts.
A group is a classification for contracts. E.g., Sale contracts, Rental contracts, Employment contracts.
A template is the base contract with its clauses. You copy and customize it for each client or employee.
An electronic signature is what makes a contract official and approved. Each authorized person has their own signature in the system.
The primary contract is the first contract made with a client. It represents the initial agreement before the final contract.
- Client status changes from (Primary Contract) to (Final Contract)
- The client appears in the Final Contracts list
- The contract can be printed with signatures
After the primary contract is signed, the client automatically moves to the final contract stage. The final contract is the official approved contract.
Same steps as the primary contract: select template → edit clauses → save → signatures.
- Client status changes to (Transferred to Estimations)
- The client is now ready for creating estimations
- The final contract can be printed with signatures
New client → Primary contract → Signatures → Final contract → Signatures → Transfer to estimations
An estimation contract is linked to a specific Estimation in draft status. It includes client data, estimation details, and payment information.
- No contract (no_contract): Contract not yet created
- Draft (draft): Saved as editable draft
- Approved (approved): Clauses saved and ready for signing
Employment contracts for employees. Shows all active employees with their departments and positions.
Supply contracts with active suppliers. Same contract cycle but with supplier signing permission.
Contracting contracts with active contractors. Signing permission is (contractor).
All contracts share the same signature system. Understanding this system is very important.
- Each contract type has a group of signers (based on signature permission)
- Required signatures = number of people with that permission
- Each signer enters their personal signature password
- The system verifies: permission + password + no duplicate signing
- Each signature is recorded in order (1st, 2nd, 3rd...)
- When all signatures are complete = automatic action executes
- Primary contract: Client moves to final contract stage
- Final contract: Client moves to estimations stage
- Estimation/Employee/Supplier/Contractor contracts: Contract completion confirmed
- Does the person have signing permission for this type?
- Is the signature password correct?
- Haven't they signed this contract before?
- Is the client in the correct stage? (for primary and final contracts)
After contract approval and signature completion, it can be printed.
- First party description (company information)
- Second party details (client/employee/supplier/contractor)
- Contract clauses numbered sequentially
- Signatures section: signer name, position, signature image, signing date
The system has two layers of security: general system permissions + specific signature permissions.
- view: View contracts and lists
- add: Create new signatures
- edit: Edit clauses and contracts
- approve: Approve contracts
- print: Print contracts
- delete: Delete signatures
Each signature has specific permissions for contract types:
- estimation: Sign estimation contracts
- employee: Sign employee contracts
- supplier: Sign supplier contracts
- contractor: Sign contractor contracts
💰 Customer Relations (Sales)
Your complete guide to managing customers, quotations, reservations, invoices, returns, and collections
The Sales module is the heart of the financial system - connecting customers, products, and accounts. It covers the full sales cycle from customer registration to final collection.
The system supports a flexible sales path for all business types:
- Sales Rep: Creates quotations, reservations, and invoices
- Sales Manager: Reviews performance, manages customers, approvals
- Accountant: Tracks collections, reviews entries, manages installments
- Warehouse Keeper: Dispatches goods based on invoices & reservations
The customer is the foundation of sales. The system provides a comprehensive profile for each customer including basic data, financial settings, transaction history, and pricing policies.
When adding a new customer, the system automatically creates an accounting account under Receivables (51):
You can classify customers into groups for easier management and reporting (e.g., VIP, wholesale, retail):
The customers page provides advanced search and filter tools:
- Search by name, phone, address, or tax number
- Filter by province and region
- Filter by status (active / inactive)
- Show only customers who exceeded credit limit
You can view a detailed account statement for any customer including all invoices, payments, returns, and journal entries linked to their account.
A quotation is a non-binding document sent to a customer containing prices, quantities, and terms. Quotations do not affect inventory or accounts.
- Valid: The quotation is still within validity period
- Expired: Past expiry date - auto-updated by system
- Converted: Has been converted to a draft invoice
You can convert a valid quotation directly to a draft invoice, auto-transferring all product data and prices:
Reservations allow you to reserve goods for a customer with a down payment. The system supports two types:
- From Stock: Deducts reserved quantities from available stock immediately
- Without Stock: Records reservation only without affecting available stock
- Pending: Reservation created, waiting for confirmation
- Confirmed: Confirmed and can be converted to invoice
- Completed: Reservation has been converted to sales invoice
- Cancelled: Reservation cancelled and reserved quantities released
You can receive additional payments on a reservation before converting to invoice:
• When receiving down payment or additional payment:
Debit: Treasury/Bank/Wallet → Credit: Customer Account
A draft invoice is a modifiable draft before posting. It does not affect inventory or accounts until posted as a final invoice.
A draft invoice can be created in three ways:
- Manual creation directly from invoices screen
- Conversion from a valid quotation
- Conversion from a confirmed reservation
- Cash: Full payment immediately via treasury
- Credit: Pay later with optional down payment
- Bank Transfer: Payment via bank account
- Cheque: Payment by incoming cheque from customer
- E-Wallet: Payment via electronic wallet
- Installments: Split amount into payments with due dates
When selecting installment payment, a payment plan is created including:
- Amount and due date for each installment
- Payment method for each installment (cash/bank/cheque)
- Link cheques to installments directly (if payment by cheque)
The final invoice is the official binding document. When posting a draft invoice, the system performs several automated operations.
When posting a draft invoice, the system automatically:
• Debit: Treasury/Bank/Wallet → Invoice total
• Credit: Sales Account → Subtotal before tax
• Credit: VAT Account → VAT amount (if applicable)
• Debit: Withholding Tax Account (if applicable)
• Debit: Customer Account (Receivables) → Invoice total
• Credit: Sales Account → Subtotal before tax
• Credit: VAT Account (if applicable)
• If down payment: Debit Treasury/Bank → Credit Customer Account
• Debit: Cheques Under Collection Account → Invoice total
• Credit: Sales Account + VAT
• Cheque status auto-updated to "Used"
• Debit: Cost of Goods Sold → Item cost
• Credit: Inventory Account → Item cost
- Draft: Modifiable and deletable draft
- Posted: Final invoice with journal entries - cannot be modified
- Cancelled: Cancelled with all entries reversed
A posted invoice can be cancelled if there are no active returns. On cancellation:
- All related journal entries are reversed
- Quantities are returned to inventory
- Customer balance is updated
You can add additional discount on a posted invoice in two types:
- Percentage: Discount amount calculated from net invoice
- Fixed Amount: Discount by specific amount
Each additional discount creates a separate journal entry and records who added it, the date, and the reason.
When a customer needs to return goods, the system provides a comprehensive return process that handles inventory and accounts automatically.
- Invoice-based Return: Linked to specific invoice - tracks returned quantities per invoice item
- Direct Return: Without invoice link - used for returning goods without specific invoice reference
- Cash: Refund from treasury
- Bank Transfer: Refund via bank account
- E-Wallet: Refund via wallet
- No Refund (Credit Note): Deduct amount from customer balance without cash refund
- Credit Note: Issue credit note to be deducted from future invoices
Returns need approval after goods enter the warehouse. On approval:
- Returned quantities are added to inventory
- Original invoice is updated (total and remaining)
- Journal entries are created
For cash/bank/wallet refund:
• Credit: Treasury/Bank/Wallet → Return amount
• Debit: Sales Returns Account → Total
For credit note (no refund):
• Credit: Customer Account → Return amount
• Debit: Sales Returns Account
Warehouse Add Entry:
• Debit: Inventory → Credit: COGS
The payment collection screen shows all credit invoices with remaining balance. Includes both tax and non-tax invoices.
You can record payment for multiple invoices of one customer at once:
• Debit: Treasury/Bank/Wallet/Cheques → Payment amount
• Credit: Customer Account → Payment amount
A dedicated screen for paying due installments on installment invoices. Shows installments due today and overdue.
- Installments grouped by invoice
- Filter by customer or due date
- Statistics: total due today, overdue, counts
- Cheque-linked installments are hidden (paid when cheque is collected)
- Pending: Not yet paid
- Partial: Partially paid
- Paid: Fully paid
- Cancelled: Cancelled
• Debit: Treasury/Bank/Wallet → Installment amount
• Credit: Customer Account → Installment amount
• Payment can be reversed within a specified period
The system provides a flexible pricing system supporting multiple levels of prices and discounts.
- Basic Price: Default sale price set in product card
- Commercial: Special price for commercial customers
- Special Offer: Temporary offer price
- Wholesale: Bulk/wholesale price
Price lists allow setting different prices per product unit by type:
- Price can be adjusted by increase or decrease (percentage or value)
- Each customer has a preferred price type applied automatically
- You can view a price list specific to each customer
You can set different discount rates per product category per customer, with cascading discount support:
- First discount applied to original price
- Second discount applied to price after first discount (and so on)
- Order matters and is set by user during setup
The system supports two invoice types: Tax (with VAT and withholding tax) and Non-Tax (without taxes). Non-tax invoices work the same way but without tax calculations.
- Supports same payment methods (cash, credit, transfer, cheque, wallet)
- Same posting and accounting entries system (without tax entries)
- Returns can be processed the same way
- Appear in payment collection screen alongside tax invoices
Every screen in the Sales module is protected by a multi-level permission system:
- View: View data and lists
- Add: Create new records
- Edit: Edit existing records
- Delete/Cancel: Delete or cancel records
Regular users only see what they created (their invoices, reservations, quotations). Managers see everything.
Invoices in closed fiscal periods are hidden from lists and cannot be modified, ensuring accounting data integrity.
The system automatically records:
- Who created each invoice/reservation/return (user_id)
- Who posted (processed_by) and when (processed_at)
- Who approved return (approved_by) and when (approved_at)
- Who recorded each payment (created_by)
This chapter consolidates all automatic journal entries generated by the Sales module:
Debit: Inventory → Credit: COGS
Debit: Inventory → Credit: COGS
Debit: Opening Balance → Credit: Customer Account (if credit)
Supply Chain
Comprehensive guide for Supply Chain management including: Products & Categories management, Purchases & Suppliers & Invoices & Returns & Imports, Warehouses & Inventory & Add/Exit permits & Transfers & Inventory Count, with full explanation of all automatic journal entries.
1 Products & Categories Management
1.1 Categories
The system supports a two-level category hierarchy: Parent Categories and Sub-Categories. Each category can be active or inactive.
1.2 Products
A product is the basic unit in the inventory system. Each product belongs to a sub-category and can have multiple units with different prices.
1.3 Units & Pricing
Each product can have multiple units of measurement (e.g., piece, carton, kg). Each unit has its own sale price, purchase price, and barcode.
- Factor = 1: Main unit (e.g., piece) - the basis for inventory calculation.
- Factor > 0: Sub-unit calculated from main (e.g., carton = 12 pieces). No separate inventory record created.
- Factor = 0: Independent unit (e.g., meter). A separate inventory record is created in every warehouse.
1.4 Price Lists
The system supports multiple price types per product unit, with percentage or value-based price adjustments:
- commercial - Commercial price - for regular customers
- special_offer - Special offer - promotional and discount prices
- wholesale - Wholesale price - for bulk purchases
1.5 Barcode
The system provides Code 128 barcode printing in multiple sizes (40x25, 50x30, 60x40, 30x20 mm). Supports showing product name, price, copy count, and custom margins.
1.6 Product Compositions (BOM)
A Composite product is composed of multiple components with specified quantities. Used to calculate composite product cost automatically and to execute assembly/disassembly operations. Services within the composition have their cost calculated but are not deducted from inventory.
1.7 Assembly & Disassembly
Two main operations that work on composite products with automatic warehouse permit creation:
ASM-YYYYMM-####1.8 Excel Import/Export
Export: Excel file with all product data formatted with RTL support. Import: Upload Excel file with automatic validation (name, code, unit, prices, barcode) with clear Arabic error messages.
2 Purchases Management
2.1 Local Suppliers
An accounting account is automatically created for each supplier. Includes credit type, credit limit, payment terms, and available currencies. Cannot modify or delete a supplier with existing transactions.
External Import Suppliers
External suppliers not linked to accounts in the general ledger. They have a separate account statement tracking debits and credits in multiple currencies with exchange rates.
2.2 Purchase Requests
The first stage in the purchasing cycle. An internal request to purchase items including products, required quantities, last purchase price, and specifications.
PR-YYYYMM-####2.3 Purchase Orders
The main purchasing document. Includes supplier, warehouse, currency, and items with discount, VAT, and Withholding Tax.
Available payment methods:
2.4 Purchase Invoices
Purchase invoices are created as drafts then posted. Support the same payment methods and taxes. On posting, a warehouse add permit is automatically created.
2.5 Purchase Returns
Return goods to supplier. Links to an original purchase invoice. On creation, a warehouse exit permit is automatically created. On approval, a reverse journal entry is created.
PRET-YYYYMM-####2.6 Payment Transactions
Purchase payments can be made in multiple installments. Each transaction links to a purchase invoice, order, or supplier (bulk payment). Supports receipt printing with amount in words.
2.7 Import & Shipments
Comprehensive system for managing import shipments:
3 Warehouse & Inventory Management
3.1 Warehouses
The system supports two warehouse types with capacity tracking and user access control:
- regular - Regular warehouse - for all non-food product types.
- food - Food warehouse - dedicated to food products with expiry tracking and alerts.
3.2 Inventory Records
Each inventory record tracks: Product + Warehouse + Unit. Supports reservation and preparation:
3.3 Warehouse Add Permits
The document by which products are added to a warehouse. Supports multiple sources and creates an automatic journal entry on approval.
ADD-YYYYMM-####Add sources:
3.4 Warehouse Exit Permits
The document by which products are dispatched from a warehouse. Supports partial dispatch with quantity tracking per item and scanning mode for barcode confirmation.
EXIT-YYYYMM-#### | Partial dispatch: DSP-YYYYMM-####3.5 Warehouse Transfers
Transfer goods from one warehouse to another. On approval: quantity is reserved from source. On completion: deducted from source and added to destination + journal entry. On cancellation after approval: reserved quantities are released.
TRN-YYYYMM-####3.6 Opening Stock
Record initial balances when starting the system or at the beginning of a new fiscal year. On approval: balance is added to inventory + journal entry + optional automatic product price update.
OS-YYYYMM-####3.7 Inventory Count
Physical inventory count with multiple types: periodic, surprise, full, partial. Includes a count committee (head/member/observer) linked to employees.
CNT-YYYYMM-####3.8 Cost Center Inventory Issue
Issue raw materials to production orders and cost centers. On approval: deducted from warehouse with journal entry. Supports partial return of unused materials with a reverse entry.
RMIS-YYYY-M-#### | Return: RMIR-YYYY-M-####4 Automatic Journal Entries
All following entries are created automatically as "posted" with is_automatic = true. The value is calculated from purchase price × quantity.
4.1 Warehouse Add Entry
Created when a warehouse add permit is approved. The credit account varies by source:
| Account | Debit | Credit |
|---|---|---|
| Warehouse Account (1103.x) | XXX | - |
| Purchases Account (80) | - | XXX |
| Account | Debit | Credit |
|---|---|---|
| Warehouse Account (1103.x) | XXX | - |
| Opening Balance Account (67) | - | XXX |
| Account | Debit | Credit |
|---|---|---|
| Warehouse Account (1103.x) | XXX | - |
| Import Shipments Account (158) | - | XXX |
| Account | Debit | Credit |
|---|---|---|
| Warehouse Account (1103.x) | XXX | - |
| Cost of Goods Sold (COGS) (83) | - | XXX |
| Account | Debit | Credit |
|---|---|---|
| Warehouse Account (1103.x) | XXX | - |
| Purchases Account (80) | - | XXX |
4.2 Warehouse Exit Entry
Created on partial dispatch. The debit account varies by exit purpose:
• SAMPLE (ref: 91) - Samples expense
• INTERNAL (ref: 92) - Internal operational goods expense
• DAMAGED (ref: 93) - Damaged goods expense
• Default (ref: 83) - Cost of Goods Sold (COGS)
| Account | Debit | Credit |
|---|---|---|
| Purpose Account (91/92/93/83) | XXX | - |
| Warehouse Account (1103.x) | - | XXX |
| Account | Debit | Credit |
|---|---|---|
| Purchases Account (80) | XXX | - |
| Warehouse Account (1103.x) | - | XXX |
4.3 Warehouse Transfer Entry
| Account | Debit | Credit |
|---|---|---|
| Destination Warehouse Account | XXX | - |
| Source Warehouse Account | - | XXX |
4.4 Opening Stock Entry
| Account | Debit | Credit |
|---|---|---|
| Warehouse Account (1103.x) | XXX | - |
| Opening Balance Account (67) | - | XXX |
4.5 Material Issue Entry
| Account | Debit | Credit |
|---|---|---|
| Raw Material Expense (5301) | XXX | - |
| Warehouse Account (1103.x) | - | XXX |
| Account | Debit | Credit |
|---|---|---|
| Warehouse Account (1103.x) | XXX | - |
| Raw Material Expense (5301) | - | XXX |
4.6 Import Payment Entry
| Account | Debit | Credit |
|---|---|---|
| Import Shipments Account (158) | XXX | - |
| Treasury / Bank | - | XXX |
5 Account Reference Map
Summary of all accounting accounts used automatically in the Supply Chain module:
| Reference # | Account | Usage |
|---|---|---|
| 1103 | Inventory (+ sub per warehouse) | Inventory assets account - auto sub-account per new warehouse |
| 67 | Opening Balance | Direct addition + opening stock |
| 80 | Purchases | Purchase invoices + orders + returns + manufacturing |
| 83 | Cost of Goods Sold (COGS) | Default exit + sales returns |
| 91 | Samples Expense | Direct exit - SAMPLE purpose |
| 92 | Operational Goods Expense | Direct exit - INTERNAL purpose |
| 93 | Damaged Goods Expense | Direct exit - DAMAGED purpose |
| 158 | Import Shipments | Import additions + import payments |
| 5301 | Raw Material Expense | Material issue/return for production orders |
🔧 Custom Manufacturing
guide.cm_desc_full
0 Complete Workflow Cycle
The custom manufacturing cycle consists of eight integrated main stages from inspection to final delivery:
1 Inspections
1.1 What is an Inspection?
An inspection is a field visit to the customer to take accurate measurements and specifications before starting manufacturing. Used to obtain project details and prepare an accurate estimate.
1.2 Inspection Types
1.3 Inspection Data
Required data when creating an inspection:
INS-YYYYMM-####- guide.cm_ins_field_customer
- guide.cm_ins_field_employee
- guide.cm_ins_field_date
- guide.cm_ins_field_location
- guide.cm_ins_field_details
- guide.cm_ins_field_products
1.4 Inspection Status Cycle
scheduled → in_progress → completed | rejected | cancelled1.5 Payment and Fees
Inspection fees can be collected from customer using the following payment methods:
- cash - guide.cm_pm_cash
- bank_transfer - guide.cm_pm_bank
- electronic_wallet - guide.cm_pm_wallet
paid | partially_paid | unpaid2 Estimates
2.1 What is an Estimate?
An estimate is a detailed quotation provided to the customer after inspection, including all materials, services, and expected costs for the project.
EST-YYYYMM-####2.2 guide.cm_est_create
guide.cm_est_create_text
2.3 guide.cm_est_fields
- guide.cm_est_field_items
- guide.cm_est_field_exec_days
- guide.cm_est_field_delivery_base
- guide.cm_est_field_discount
- guide.cm_est_field_down_payment
- guide.cm_est_field_payment_method
2.4 Inspection Status Cycle
draft → approved | rejected | cancelled2.5 guide.cm_est_on_approve
guide.cm_est_on_approve_text
3 Manufacturing Orders
3.1 guide.cm_pay_what
guide.cm_pay_what_text
3.2 guide.cm_pay_methods
3.3 guide.cm_pay_rules
4 Raw Materials
4.1 guide.cm_mo_what
guide.cm_mo_what_text
MFG-YYYYMM-####4.2 Inspection Status Cycle
in_progress → completed | cancelled4.3 guide.cm_mo_products
guide.cm_mo_products_text
pending → in_progress → completed4.4 guide.cm_mo_services
guide.cm_mo_services_text
4.5 guide.cm_mo_complete
guide.cm_mo_complete_text
4.6 guide.cm_mo_deliver
guide.cm_mo_deliver_text
5 Manufacturing Services
5.1 guide.cm_rmi_what
guide.cm_rmi_what_text
RMIS-YYYYMM-####5.2 guide.cm_rmi_fields
- guide.cm_rmi_field_estimate
- guide.cm_rmi_field_mo
- guide.cm_rmi_field_cc
- guide.cm_rmi_field_warehouse
- guide.cm_rmi_field_items
5.3 Inspection Status Cycle
pending → approved → completed | cancelledguide.cm_rmi_approve_text
5.4 guide.cm_rmi_return
guide.cm_rmi_return_text
RMIR-YYYYMM-####6 Finished Products
6.1 guide.cm_psis_what
guide.cm_psis_what_text
PSIS-YYYYMM-####6.2 guide.cm_psis_auto
guide.cm_psis_auto_text
6.3 Inspection Status Cycle
pending → approved | cancelledguide.cm_psis_approve_text
7 Journal Entries
All operations in custom manufacturing are automatically documented in accounting:
7.1 guide.cm_je_inspection
guide.cm_je_inspection_text
| guide.cm_je_account | guide.cm_je_debit | guide.cm_je_credit |
|---|---|---|
| guide.cm_je_treasury_bank | XXX | - |
| guide.cm_je_customer_acc | - | XXX |
7.2 guide.cm_je_est_sales
guide.cm_je_est_sales_text
| guide.cm_je_account | guide.cm_je_debit | guide.cm_je_credit |
|---|---|---|
| guide.cm_je_customer_acc | XXX | - |
| guide.cm_je_sales_acc (70) | - | XXX |
7.3 guide.cm_je_down_payment
| guide.cm_je_account | guide.cm_je_debit | guide.cm_je_credit |
|---|---|---|
| guide.cm_je_treasury_bank | XXX | - |
| guide.cm_je_customer_acc (with cost center) | - | XXX |
7.4 Estimate Payment Entry
guide.cm_je_est_payment_text
| guide.cm_je_account | guide.cm_je_debit | guide.cm_je_credit |
|---|---|---|
| guide.cm_je_treasury_bank / guide.cm_je_cheque_acc (54) | XXX | - |
| guide.cm_je_customer_acc (with cost center) | - | XXX |
7.5 Manufacturing Service Entry
| guide.cm_je_account | guide.cm_je_debit | guide.cm_je_credit |
|---|---|---|
| guide.cm_je_wip_acc (1103.2) | XXX | - |
| guide.cm_je_mfg_expense (5202) | - | XXX |
7.6 guide.cm_je_rmi
| guide.cm_je_account | guide.cm_je_debit | guide.cm_je_credit |
|---|---|---|
| guide.cm_je_wip_acc (1103.2) - with cost center | XXX | - |
| guide.cm_je_warehouse_acc (1103.x) | - | XXX |
7.7 guide.cm_je_psis
| guide.cm_je_account | guide.cm_je_debit | guide.cm_je_credit |
|---|---|---|
| guide.cm_je_warehouse_acc (1103.x) | XXX | - |
| guide.cm_je_wip_acc (1103.2) | - | XXX |
7.8 Customer Delivery Entry
| guide.cm_je_account | guide.cm_je_debit | guide.cm_je_credit |
|---|---|---|
| guide.cm_je_cogs_acc (5102) | XXX | - |
| guide.cm_je_warehouse_acc (1103.x) | - | XXX |
8 Reports & Analytics
8.1 Comprehensive Report
The main custom manufacturing report displays:
8.2 Detailed Cost Report
Detailed cost analysis:
- guide.cm_rpt_cost_detailed
- guide.cm_rpt_cost_product_compare
- guide.cm_rpt_cost_stages
- guide.cm_rpt_cost_profitability
- guide.cm_rpt_cost_trend
8.3 Available Filters
- guide.cm_rpt_filter_date
- guide.cm_rpt_filter_customer
- guide.cm_rpt_filter_product
- guide.cm_rpt_filter_status
9 Accounts & Permissions
Accounts used in custom manufacturing:
| guide.cm_ref_num | guide.cm_ref_name | guide.cm_ref_usage |
|---|---|---|
| 1103.2 | guide.cm_ref_wip | guide.cm_ref_wip_use |
| 1103.3 | guide.cm_ref_fg | guide.cm_ref_fg_use |
| 1103.x | guide.cm_ref_wh | guide.cm_ref_wh_use |
| 5102 | guide.cm_ref_cogs | guide.cm_ref_cogs_use |
| 5202 | guide.cm_ref_mfg_exp | guide.cm_ref_mfg_exp_use |
| 70 | guide.cm_ref_sales | guide.cm_ref_sales_use |
| 54 | guide.cm_ref_cheque | guide.cm_ref_cheque_use |
9.2 Permissions
Required permissions to use custom manufacturing:
•
inspections. → view, add, edit, complete, reject, cancel, delete
•
estimates. → view, add, edit, approve, reject, cancel, delete
•
estimate_payments. → view, add, delete
•
manufacturing_orders. → view, add, add_service, update_product, complete, cancel
•
manufacturing_reports. → view
Schools Management
A comprehensive school management system covering: grades and classrooms, pricing and installments, enrollment requests and student registration, subjects and exams, attendance tracking, report cards and certificates, and financial reports.
0 Complete Workflow Cycle
The school system operates in 3 sequential phases: Basic Setup → Registration & Finance → Academics. Each phase must be completed before moving to the next.
Phase 1: Basic Setup
Phase 2: Registration & Finance
Phase 3: Academics
1 Grades, Classrooms & Pricing
1.1 Academic Grades
Grades are organized by stage (Primary / Preparatory / Secondary). Each grade has a name and active status. Sorting is automatic: Primary → Preparatory → Secondary.
| guide.field | guide.description |
|---|---|
| grade_type | Stage: Primary / Preparatory / Secondary |
| name | Grade name (e.g. Grade 1) |
| is_active | Active status |
1.2 Classrooms
Each classroom belongs to a grade with a defined capacity. When a student is registered and approved, a seat is automatically deducted from available capacity. Transferring a student returns the seat.
| guide.field | guide.description |
|---|---|
| name | Classroom name (e.g. Class A) |
| grade_id | Parent grade |
| capacity | Total capacity |
| available_capacity | Available seats (auto-updated on registration/transfer) |
1.3 Fee Pricing
Each grade has one active pricing that includes: base price + additional fees (books, uniform, activities...). Final price is calculated automatically.
| guide.field | guide.description |
|---|---|
| base_price | Base tuition fee |
| final_price | Final price = Base + Additional fees |
| additional_fees | Additional fees (name + amount) e.g. Books, Uniform, Activities |
1.4 Discounts
Create discount types (siblings, staff, honors...) then link them to each grade pricing. Discounts can be percentage or fixed amount. Multiple discounts can be applied to one student during registration.
| guide.field | guide.description |
|---|---|
| discount | Discount type (name + status) e.g. Siblings, Staff, Honors |
| available_discount | Link discount to pricing: percentage or fixed amount |
1.5 Installment Templates
Define the number of installments, percentage of total for each, and due day/month. Percentages must sum to 100%. Templates are auto-applied when creating student registrations.
| guide.field | guide.description |
|---|---|
| name | Installment name (e.g. 1st Installment) |
| percentage | Percentage of total fees (must sum to 100%) |
| due_day / due_month | Due day and month |
| sort_order | Display order |
2 Subjects & Score Divisions
2.1 Subjects
Create subjects of two types: basic (Arabic, Math...) and activity (Art, Music...). Each subject has a unique code.
| guide.field | guide.description |
|---|---|
| code | Subject code (unique) |
| name | Subject name |
| type | Type: basic / activity |
2.2 Assigning Subjects to Grades
Assign subjects to each grade per term (Term 1 / Term 2) with max score and pass score. The same subject cannot be duplicated in the same grade and term.
| guide.field | guide.description |
|---|---|
| grade_id + subject_id + term | Link subject to grade for a term (1 or 2) - no duplicates |
| max_score | Maximum score for subject |
| pass_score | Passing score |
2.3 Score Divisions
Divide a subject score into parts (e.g. Written 40 + Oral 10 + Practical 10 = 60). The sum of divisions must equal the max score.
2.4 Grade Level Scale
The grading system converts percentages to grades (Excellent A / Very Good B / Good C / Acceptable D / Fail F). Ranges and colors can be customized or reset to defaults.
| Grade | Symbol | Percentage | Color |
|---|---|---|---|
| Excellent | A | 85% → 100% | success |
| Very Good | B | 75% → 84.99% | primary |
| Good | C | 65% → 74.99% | info |
| Acceptable | D | 50% → 64.99% | warning |
| Fail | F | 0% → 49.99% | danger |
3 Teachers & Class Assignment
3.1 Teacher Data
Register teacher information: name, national ID (birth date is auto-extracted from national ID), subject, contract type (contract/hourly), salary, and photo.
| guide.field | guide.description |
|---|---|
| name | Teacher name |
| national_id | National ID (14 digits) - birth date auto-extracted |
| subject_id | Primary subject |
| contract_type | Contract type: contract / hourly |
| basic_salary | Basic salary |
| photo | Teacher photo |
3.2 Assigning Teachers to Classes
Assign a teacher to specific classrooms to teach a subject in a given term. The system only shows grades that contain the subject in the requested term.
| guide.field | guide.description |
|---|---|
| grade_id + classroom_id | Grade and classroom |
| subject_id | Subject taught |
| term | Term (1 or 2) |
| academic_year | Academic year (e.g. 2025-2026) |
4 Areas & Transportation
4.1 Geographic Areas
Create geographic areas with transportation fees for each. Area names must be unique.
| guide.field | guide.description |
|---|---|
| name | Area name (unique) |
| price | Bus fee for this area |
4.2 Buses
Create buses linked to areas. Each bus has total seats and available seats (auto-updated on registration/transfer). Bus capacity cannot be reduced below occupied seats.
| guide.field | guide.description |
|---|---|
| bus_number | Bus number (unique) |
| area_id | Linked area |
| total_seats | Total seats |
| available_seats | Available seats (auto-updated) |
5 Guardians
5.1 Guardian Types
The system supports two types of guardians. Required fields are validated based on type.
6 Enrollment Requests
6.1 Creating an Enrollment Request
Create a new enrollment request with student data linked to a guardian. The request number is auto-generated and age at October 1st is auto-calculated.
| guide.field | guide.description |
|---|---|
| enrollment_number | Auto number: ENR-YYYY-#### |
| student_name | Full student name |
| national_id | National ID (optional) |
| gender | Gender: male / female |
| birth_date | Birth date - age at October 1st auto-calculated |
| grade_type + grade_id | Stage and requested grade |
| study_type | Study type: Arabic / Languages |
| guardian_id | Link to guardian (must be created first) |
| has_special_needs | Special needs: Yes / No |
| needs_transportation | Needs transportation: Yes / No |
6.2 Request Status Cycle
Requests start as pending. They can be approved directly (becomes approved), or rejected with a recorded reason. Rejected requests can be resubmitted (returns to pending with incremented attempt count).
7 Student Registration
7.1 Creating a Registration
From the list of approved enrollments, select a student to create their registration. Student data is pulled from the enrollment with additions: classroom, transportation, fees, discounts, and installments.
| guide.field | guide.description |
|---|---|
| registration_number | Auto number: REG-YYYY-#### |
| student_enrollment_id | Approved enrollment (data pulled from it) |
| grade_id + classroom_id | Grade and classroom |
| needs_bus + area_id + bus_id | Transportation: Area → Bus (available only) |
| tuition_fees | Tuition fees |
| administrative_fees | Administrative fees |
| bus_fees | Bus fees (from area price) |
| discount_amount | Total applied discounts (multiple discounts possible) |
| total_fees | Total = Tuition + Admin + Bus - Discounts |
| installments | Installments (from templates): name + due date + amount |
| attachments | Attachments (birth cert, photos, ...) |
| uniform_size | Uniform size |
7.2 Registration Statuses
Registration goes through three statuses: draft (editable) → approved (enrolled in class) → transferred (left school).
7.3 Classroom Transfer
A student can be transferred between classrooms within the same grade, provided seats are available in the new classroom. Available capacity is updated automatically in both classrooms.
8 Receipt Vouchers & Payments
8.1 Creating a Receipt Voucher
Search for a student and select the installment to pay. Amount auto-fills with the remaining balance. Select payment destination (bank/treasury/e-wallet) and student account.
| guide.field | guide.description |
|---|---|
| voucher_number | Auto number: SRV-YYYY-#### |
| student_registration_id | Student (search by name or reg. number) |
| student_installment_id | Installment to pay (shows remaining only) |
| amount | Amount = installment remaining (automatic) |
| account_id | Student/Client account (credit side) |
| destination_type | Payment destination: bank / treasury / electronic_wallet |
| destination_id | Specific bank, treasury or wallet |
8.2 Voucher Statuses
8.3 Automatic Journal Entry
| guide.account | guide.debit | guide.credit |
|---|---|---|
| Treasury / Bank / Wallet (destination account) | Amount | - |
| Student/Client account | - | Amount |
9 Installment Reminders
The installment tracking system displays overdue, due today, and upcoming (within 7 days) installments, with WhatsApp notification capability and sent reminder logging.
9.1 Reminder Types
| Type | Description | Color |
|---|---|---|
| overdue | Overdue installments (past due date) | danger |
| due_today | Due today | primary |
| upcoming | Upcoming within 7 days | info |
9.2 WhatsApp Notifications
An auto-generated WhatsApp message contains: student name, grade, installment, due date, remaining amount, and overdue status. A WhatsApp link opens directly with the guardian phone number.
9.3 Guardian Search
Search by any guardian data (father/mother/guardian name, phone, national ID) to view all their children with installments in a consolidated view.
9.4 Reminder History
The system logs all sent reminders (date, type, sender, status) with statistics for today, this week, and this month.
10 Student Attendance
10.1 Daily Attendance Recording
Select grade, classroom, and date, then record each student status. Excuse attachments can be uploaded for excused absences. Existing records are updated if already present.
| Status | Description | Color |
|---|---|---|
| present | Present | ✓ |
| absent | Absent | ✗ |
| late | Late | ● |
| excused | Excused absence (with reason & optional attachment) | ◆ |
10.2 Absence WhatsApp Notifications
After saving attendance, the system displays absent students with WhatsApp links for instant notification to their guardians.
10.3 Attendance Reports
Weekly report: table per student with weekday columns and colored symbols. Monthly report: attendance rate per student. Best/Worst students: ranked by attendance rate.
11 Exams & Scores
11.1 Creating an Exam
Create a new exam specifying: subject/grade/term, type (weekly/monthly/midterm/final/makeup), max score, and scope (whole grade, specific classroom, or specific students).
| guide.field | guide.description |
|---|---|
| name | Exam name |
| type | Type: weekly / monthly / midterm / final / makeup |
| grade_subject_id | Subject + Grade + Term |
| max_score | Maximum score |
| scope | Scope: grade / classroom / students |
| parent_exam_id | Original exam (for makeup only) |
11.2 Exam Statuses
11.3 Entering Scores
Enter each student score (score must not exceed max). Students can be marked as absent. The system auto-calculates percentage and grade level.
11.4 Makeup Exam
Create a makeup exam from any completed exam. The system auto-shows eligible students: absent + failed (percentage below 50%). Makeup exams are linked to the original via parent_exam_id.
11.5 Exam Statistics
The system auto-calculates: total students, present, absent, highest score, lowest score, average, and pass rate.
12 Report Cards & Certificates
12.1 Generating Certificates
Generate certificates in bulk (for entire grade or classroom) or individually (for one student). Specific subjects can be selected, or default to all subjects.
| guide.field | guide.description |
|---|---|
| grade_id | Grade |
| term | Term: 1 / 2 / full (full year) |
| scope | Scope: grade / classroom / student |
| subject_ids | Select specific subjects (optional - default all) |
12.2 Certificate Content
Each certificate contains subject details: exam list with scores, total score, percentage, grade level, and result (passed/failed). Result is determined by comparing with each subject pass score.
12.3 Ranking Calculation
After generating certificates, each student rank is calculated at two levels: classroom rank and grade-wide rank (grade_rank) based on overall percentage.
12.4 Approval
Certificates can be approved individually or in bulk. Approval locks the results and prevents modification or deletion.
13 Financial Reports
13.1 Comprehensive Installment Report
A multi-dimensional financial report showing installment status from 5 different perspectives. Results can be filtered and each section can be printed or exported.
13.2 Available Filters
Filter by: grade, classroom, academic year, payment status (all/paid/unpaid/partial). Filters apply to all report sections.
13.3 Overdue Report
List of overdue installments with days overdue and guardian phone number. Direct receipt voucher creation or WhatsApp reminder available.
14 Permissions
The system supports granular permissions for each school module section. Receipt vouchers require an additional permission (accounts-operations) from the accounting system.
| Module | Permissions |
|---|---|
| Grades & Classrooms | View, Add, Edit, Pricing, Discounts, Installments |
| Subjects | View, Add, Edit, Assign to grades, Score divisions |
| Teachers | View, Add, Edit, Assign classes, Print |
| Areas & Buses | View, Add, Edit |
| Guardians | View, Add, Edit, Print |
| Enrollment Requests | View, Add, Edit, Accept, Reject, Resubmit, Print |
| Student Registration | View, Add, Edit, Approve, Transfer, Print |
| Student Records | View, Change class, Export Excel |
| Receipt Vouchers | View, Add, Edit, Post, Cancel, Print (requires accounts-operations permission) |
| Attendance | View, Record, Reports, Export Excel |
| Exams | View, Add, Edit, Enter scores, Change status, Print |
| Certificates | View, Generate, Approve, Bulk approve, Delete, Print |
| Financial Reports | View, Print, Export Excel |
| Installment Reminders | View, Send WhatsApp, Reminder history |
Accounting
The detailed guide for this module is being prepared and will be available soon.
Human Resources
The detailed guide for this module is being prepared and will be available soon.
Point of Sale
The detailed guide for this module is being prepared and will be available soon.