Execute automated 3-way matching
Configure automated quantity and price tolerances, audit variance discrepancies, and release vendor bills for payment.
1. Overview & Business Value#
This comprehensive operational guide details the architecture, business workflows, configuration parameters, and execution steps for Execute automated 3-way matching within SmartERP.
This guide explains how the finance and accounts payable team verifies supplier invoices against purchase orders and receiving notes.
{screenshot:execute-3way-matching-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#
- Log into your SmartERP instance at
https://smarterp.et/odoo. - Open the main App Switcher (grid icon in the top-left corner).
- Select the Purchase app icon.
- From the top navigation bar, open Purchase → Orders → Purchase Orders / Requisitions; Inventory → Operations.
{screenshot:execute-3way-matching-app-switcher-navigation}
Step 2: Creating and Parameterizing Records#
- Click the New button in the top-left control panel.
- 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
- 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)
- Click the Save icon in the control bar to commit the record.
{screenshot:execute-3way-matching-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:execute-3way-matching-transaction-processing-state}
3-Way Match Verification Checklist#
When Accounts Payable registers a vendor bill, SmartERP validates:
| Document | Verified Field | Tolerance Rule |
|---|---|---|
| Purchase Order (PO) | Unit Price, Currency, Terms | Must match agreed contract price. |
| Model 19 (GRN) | Received & Accepted Quantity | Invoiced quantity cannot exceed received quantity. |
| Vendor Bill | Tax TIN, Total Invoice Sum | Line totals must balance with GRN quantities. |
Handling Exceptions#
If a price variance occurs (e.g. supplier billed 13,000 ETB instead of contracted 12,500 ETB):
- The bill displays a red warning banner: 3-Way Match Exception: Unit Price Variance Detected.
- Posting is blocked.
- Accounts Payable has two options:
- Reject Bill: Request revised invoice from supplier matching agreed PO price.
- Request Tolerance Override: If fuel surcharge or contractual escalation applies, Procurement Manager must approve the variance.
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 stockStock: Expired lot quarantine trigger(stock.ir_cron_quarantine_expired): Runs daily to isolate batches past shelf lifePurchase: 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 / Exception | Probable Root Cause | Corrective Action / Resolution |
|---|---|---|
Access Rights Error: Cannot confirm Purchase Order | User lacks purchase manager approval privileges. | Escalate order to user with purchase.group_purchase_manager clearance. |
Validation Error: Stock move destination missing | Operation type lacks default internal destination location. | Configure target warehouse location in Inventory → Configuration → Operation Types. |
Quantity Mismatch: GRN vs PO 3-way match failed | Delivered 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 funds | Departmental budget allocation exhausted for target analytic account. | Submit a budget transfer or supplementary allocation request to the Finance Director. |
Next#
- Landed costs: Allocate customs duty and landed costs.