Has anyone ever implemented a system like this? Here I have documented the requirements, and I am planning to work on this. Any inputs or suggestions based on the documentation would be appreciated.
System Requirements & Workflow for Weight-Based Goods Receiving in ERPNext
Objective
To streamline the inward goods receipt process by:
-
Automatically recording actual weights via connected digital weighing scales
-
Generating item- and bag-level labels with QR codes after Purchase Receipt submission
-
Ensuring traceability and error detection through conversion factor audits
-
Flagging deviations when actual weight differs significantly from system-expected weight
-
Facilitating manual verification through periodic spot audit tables
Workflow Summary
1. Purchase Receipt Creation
-
Operator creates a new Purchase Receipt in ERPNext.
-
Selects Supplier and Pulls Items from a linked Purchase Order.
-
Enters Supplier Invoice Number.
-
Modifies received quantities if they differ from PO.
2. Number of Bags Entry (Hybrid Approach)
-
For each line item, operator enters the Number of Bags received. (Manual field)
-
Optionally, the system can suggest a number based on quantity and UOM (e.g. 1 bag = 20 Nos).
-
This field is editable, allowing for variations in packing.
3. Item Receiving & Weighing (Per Bag)
-
Each bag is weighed individually using a USB-connected digital scale (e.g., CAS PR-C).
-
Operator initiates the weighing process:
-
System auto-generates that number of rows in the Bag Details table.
-
Operator selects a row and clicks “Weigh Bag” to fetch live weight.
-
System calculates quantity from weight using UOM conversion.
-
4. Deviation Alert
- System calculates:
Deviation % = |(Actual Weight - Expected Weight)| / Expected Weight × 100
- If deviation > 2%, a warning alert is shown:
“Deviation exceeds allowed limit. Please verify the weight or quantity.”
5. Spot Audit Table (Manual QA Check)
-
For selected items or receipts (as configured later), operator must perform a spot audit.
-
Manually count actual units in a few bags and log results in a child table:
-
Bag No
-
Expected Quantity
-
Actual Counted Quantity
-
Deviation %
-
Remarks
-
6. Purchase Receipt Submission & Label Generation
-
Labels can only be printed after submission of the Purchase Receipt.
-
One label is generated per bag with QR code containing key details.
Functional Requirements
Purchase Receipt Custom Fields
-
Number of Bags
(Integer) — entered manually per item line -
Expected Weight (kg)
— calculated from quantity and UOM -
Actual Weight (kg)
— fetched from scale or entered manually -
Deviation (%)
— auto-calculated -
Deviation Alert
— display field
Bag Details Child Table
Field | Description |
---|---|
Bag No | Auto-incremented identifier |
Weight (kg) | Fetched from scale |
Quantity | Auto-calculated from weight |
Label Printed | Yes/No |
QR Code | Optional, generated post-submission |
Spot Audit Child Table
Field | Description |
---|---|
Bag No | Audited bag number |
Expected Quantity | From system calculation |
Actual Counted Qty | Manual count |
Deviation % | Auto-calculated |
Remarks | Optional notes |
Deviation Alert Logic
-
Triggered during the weighing phase.
-
If actual weight deviates from system-expected weight by more than 2%, a red alert is displayed.
-
Optionally, submission can be blocked or flagged for supervisor override.
Label Format (Per Bag)
Fields to include:
-
Item Name
-
Quantity
-
Weight
-
Bag No
-
Supplier Name
-
Purchase Receipt Number
-
QR Code
To Be Decided
Parameter | Decision Status |
---|---|
Spot Audit Frequency | To be configured later |
Deviation Threshold | Default 2%, may be item-specific |
Label Print Format | To be finalized |
QR Code Data Format | Standardized JSON |