SmartERP Documentation An Ashewa Technology Solutions Platform

Concepts and procurement principles

Two-envelope sealed bids, cryptographic SHA-256 receipts, CPO bid bonds, 3-way matching logic, and store voucher taxonomy.

1. Overview & Business Value#

This comprehensive operational guide details the architecture, business workflows, configuration parameters, and execution steps for Concepts and procurement principles within SmartERP.

This page explains the fundamental concepts and rules governing SmartERP Procurement and Supply Chain Operations.

{screenshot:concepts-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:concepts-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:concepts-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:concepts-transaction-processing-state}

Two-Envelope Sealed-Bid Architecture#

To eliminate bias and prevent premature price discovery, SmartERP enforces a strict two-envelope separation:

  1. Envelope 1: Technical Proposal: Contains company profile, tax clearances (TIN, VAT, business license), methodology, technical specifications, and key personnel credentials.
  2. Envelope 2: Commercial / Financial Offer: Contains unit pricing, discounts, total bid sum, and delivery schedules.

The commercial envelope is cryptographically locked with zero visibility to buyers or evaluators until:

  • The formal submission deadline expires.
  • The formal opening ceremony takes place.
  • The technical evaluation committee awards a score meeting or exceeding the minimum qualification threshold (e.g. 70%).

Cryptographic Submission Receipts#

Upon bid submission via the vendor portal, SmartERP generates an immutable SHA-256 cryptographic hash:

$$\text{Hash} = \text{SHA-256}(\text{Vendor TIN} + \text{Tender Ref} + \text{BoQ JSON} + \text{Timestamp} + \text{Salt})$$

The vendor receives a printable Cryptographic Bid Submission Receipt containing the unique 64-character hash. At the opening ceremony, the system recomputes the hash; any file tampering or database edit immediately flags a red security alert.

Automated 3-Way Matching Logic#

SmartERP automatically compares three primary commercial documents prior to releasing vendor bills for payment:

[scm-three-way-matching]

The mathematical verification equation is:

$$\Delta Q = |Q_{\text{PO}} - Q_{\text{GRN}}| \le \epsilon_Q \quad \text{and} \quad \Delta P = |P_{\text{PO}} - P_{\text{Bill}}| \le \epsilon_P$$

Where:

  • $Q_{\text{PO}}$: Quantity ordered on approved purchase.order.
  • $Q_{\text{GRN}}$: Quantity physically received and inspected on stock.picking (Model 19 GRN).
  • $P_{\text{Bill}}$: Unit price billed on vendor invoice (account.move).
  • $\epsilon$: Allowable tolerance percentage configured per product category (default: 0.0%).

Ethiopian Store Voucher Taxonomy#

[scm-store-voucher-lifecycle]

SmartERP standardizes physical inventory vouchers across warehouse operations:

  • Model 19 (Goods Receiving Note / GRN): Acknowledges receipt of physical goods from external suppliers. Records delivered quantity, damaged quantity, acceptance status, and warehouse bin location.
  • Model 20 (Store Issue Voucher / SIV / GIN): Authorizes release of inventory from central stores to requesting departments, branch offices, or project job sites.
  • Model 21 (Store Return Voucher / SRV): Documents return of unused materials, excess stock, or defective tools from project sites back to central stores.

Landed Cost Distribution Engine#

[scm-landed-cost-allocation]

When goods are imported through customs, additional expenditures (customs duties, maritime freight, clearing fees) must be capitalized into inventory valuation rather than expensed immediately:

$$\text{Unit Landed Cost} = \text{FOB Unit Price} + \sum_{i} \left( \text{Additional Cost}_i \times \frac{W_k}{\sum W} \right)$$

Split methods supported by SmartERP include:

  • By Equal Share: Divided equally among order lines.
  • By Quantity: Allocated proportionally to item counts.
  • By Current Cost: Allocated based on FOB invoice line value.
  • By Weight / Volume: Allocated based on physical mass or cubic volume.

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.

Next#

Last updated: 2026-10-30