SmartERP Documentation An Ashewa Technology Solutions Platform

Testing and upgrade guide

Test suite execution, unit test coverage, and schema upgrade migrations for supply chain modules.

1. Overview & Business Value#

This comprehensive operational guide details the architecture, business workflows, configuration parameters, and execution steps for Testing and upgrade guide within SmartERP.

This guide explains how to execute test suites and verify upgrades for SmartERP Supply Chain.

{screenshot:testing-and-upgrades-overview-dashboard}

2. Prerequisites & Security Access Groups#

  • Required Modules: purchase, stock, smarterp_store_voucher, purchase_requisition
  • Security Groups:
    • Purchase User (Technical ID: purchase.group_purchase_user)
    • Purchase Administrator (Technical ID: purchase.group_purchase_manager)
    • Inventory User / Storekeeper (Technical ID: stock.group_stock_user)
  • Master Data Dependencies: Product masters, units of measure, approved supplier catalog, warehouse storage locations, and procurement budget lines.

3. Step-by-Step Configuration & Execution#

Step 1: Navigating to the Module Interface#

  1. Log into your SmartERP instance at https://smarterp.et/odoo.
  2. Open the main App Switcher (grid icon in the top-left corner).
  3. Select the Purchase app icon.
  4. From the top navigation bar, open Purchase β†’ Orders β†’ Purchase Orders / Requisitions; Inventory β†’ Operations.

{screenshot:testing-and-upgrades-app-switcher-navigation}

Step 2: Creating and Parameterizing Records#

  1. Click the New button in the top-left control panel.
  2. Complete the mandatory fields in the record form:
    • Vendor / Supplier (Mandatory): Approved vendor profile with verified commercial license and TIN
    • Order Lines & Products (Mandatory): Specified items with precise quantities, units of measure, and unit costs
    • Delivery Destination (Mandatory): Physical store or warehouse receiving location
    • Fiscal Position & Taxes (Mandatory): Statutory 15% VAT and applicable withholding tax terms
  3. Configure optional operational parameters and localized tags as required:
    • Requisition Reference (Optional): Link to approved departmental purchase requisition
    • Payment Terms (Optional): Contractual settlement schedule (Net 30, Advance, LC)
    • Incoterm & Port (Optional): Shipping terms for import consignments (FOB Djibouti, CIF Bole)
  4. Click the Save icon in the control bar to commit the record.

{screenshot:testing-and-upgrades-record-creation-form}

Step 3: Validating and Processing Transactions#

  • State Transitions: Execute operational state progression (Draft RFQ β†’ Sent β†’ Confirmed Order β†’ Received (GRN) β†’ Billed β†’ Locked).
  • Ledger & System Impact: GRN validation posts stock valuation entries; vendor bill confirmation posts accounts payable and statutory withholding tax liabilities.
  • Audit Verification: Automated recording of author ID, timestamp, and immutable revision history.

{screenshot:testing-and-upgrades-transaction-processing-state}

Running Test Suites#

Execute the automated test suite offline:

python3 addons/smarterp_docs/tools/run_offline_tests.py

To run procurement portal unit tests within an active Odoo test database:

odoo-bin -c odoo.conf -d smarterp_test -i smarterp_purchase_portal,ats_stock_printout --test-enable --stop-after-init

Upgrade Verification SOP#

  1. Ensure zero pending unsealed tenders during major version migrations.
  2. Verify that all Model 19 GRN pickings have corresponding balanced stock valuation layers.
  3. Validate database schema integrity using migration pre-scripts before loading new ORM models.

4. Advanced Configuration Points#

  • Automated Actions & Scheduled Tasks (Crons):
    • Procurement: Run scheduler (reordering rules) (stock.ir_cron_run_procurement): Runs daily to generate RFQs for inventory items below safety stock
    • Stock: Expired lot quarantine trigger (stock.ir_cron_quarantine_expired): Runs daily to isolate batches past shelf life
    • Purchase: Check supplier delivery deadlines (purchase.ir_cron_check_deadlines): Runs daily to send automated expediting notices to suppliers
  • Custom Print Templates & Reports:
    • Purchase Order Confirmation (Commercial Contract)
    • Ethiopian Goods Receiving Note (GRN / Model 19)
    • Store Issue Voucher (SIV / Model 20)
    • Vendor Bid Evaluation & Comparison Matrix
  • Multi-Company Rules: Record-level security isolation under Company 1 (Ashewa Technology Solutions S.C.), preventing cross-company ledger leakage across parent and subsidiary legal entities.

5. Comprehensive Troubleshooting Matrix#

Error Symptom / ExceptionProbable Root CauseCorrective Action / Resolution
Access Rights Error: Cannot confirm Purchase OrderUser lacks purchase manager approval privileges.Escalate order to user with purchase.group_purchase_manager clearance.
Validation Error: Stock move destination missingOperation type lacks default internal destination location.Configure target warehouse location in Inventory β†’ Configuration β†’ Operation Types.
Quantity Mismatch: GRN vs PO 3-way match failedDelivered quantity exceeds purchase order limit beyond allowable tolerance.Verify physical delivery against supplier delivery slip and issue an amended PO or return voucher.
Budget Reservation Error: Insufficient fundsDepartmental budget allocation exhausted for target analytic account.Submit a budget transfer or supplementary allocation request to the Finance Director.
Last updated: 2026-10-30