One of the earliest—and most underestimated—decisions during an ERPNext implementation is how to structure Item Codes.
Manufacturers frequently ask:
- “Should we create a new item for every supplier’s part number?”
- “What if Vendor A and Vendor B sell the same raw material under different codes?”
- “How do we handle alternates without breaking our BOMs?”
In spreadsheet-driven environments or legacy ERPs, it is common to see:
- Multiple item codes for the same physical material
- Item masters named after suppliers
- BOMs hard-linked to vendor-specific parts
This may feel manageable at low volume, but the impact becomes severe as operations scale.
Real-World Consequences of Getting This Wrong
If item coding is poorly designed, manufacturers experience:
- Bloated item masters with duplicate items
- Rigid BOMs that break when a supplier changes
- Procurement inefficiencies due to manual substitutions
- Rework during ERP maturity phases, often requiring data cleanup and migration
ERPNext does not “fix” bad master data decisions. It amplifies them.
This is why understanding generic vs supplier-specific item codes is not an accounting detail—it is a core supply chain design decision.
ERPNext’s Conceptual Model: How the System Thinks
ERPNext is intentionally designed around separation of concerns.
At a high level:
- Item represents what you stock, consume, manufacture, or sell
- Supplier represents who you buy from
- BOM represents how you manufacture
- Purchase transactions represent commercial terms
What ERPNext Assumes by Design
ERPNext assumes that:
- An Item is supplier-agnostic
- Suppliers may have their own internal codes for the same item
- Procurement decisions change more frequently than engineering decisions
- Manufacturing should not break because purchasing switches vendors
This is why ERPNext discourages creating supplier-specific items unless the material is truly different in form, fit, or function.
This conceptual separation allows ERPNext to scale cleanly across:
- Multi-supplier sourcing
- Cost negotiation cycles
- Shortages and substitutions
- Long-term product lifecycle changes
ERPNext Features Most Teams Don’t Fully Use (But Should)
What it does:
Maps supplier-specific identifiers to a single internal item.
Use when:
- Same material sourced from multiple vendors
- Supplier codes differ significantly
- Vendor catalogs change frequently
Do NOT use when:
- The material specification differs (grade, tolerance, coating)
What it does:
Allows interchangeable components without duplicating BOMs.
Use when:
- Multiple equivalent components can be consumed
- Supply shortages are common
- Engineering approves substitutions
Do NOT use when:
- Substitutions affect performance, compliance, or certification
What it does:
Tracks traceability without fragmenting item masters.
Use when:
- Quality or compliance requires traceability
- Same item has multiple incoming batches
Do NOT replace item codes with batch logic
What it does:
Lets suppliers sell in one UOM while you stock in another.
Use when:
- Supplier sells in KG, you consume in meters or pieces
- Conversion is stable and predictable
Manufacturing Example: End-to-End Use Case
Scenario
A hardware manufacturer uses M8 Hex Bolts (Grade 8.8) in multiple products.
- Supplier A calls it HX8-8-M8
- Supplier B calls it BOLT-M8-G88
- Supplier C supplies during shortages only
Correct ERPNext Setup
Item Master:
- Item Code: BOLT-M8-G8.8
- Stock UOM: Nos
Supplier Details:
SupplierSupplier Part No
Supplier A.
HX8-8-M8
Supplier B.
BOLT-M8-G88
Supplier C
M8-HEX-ALT
BOM:
- Uses BOLT-M8-G8.8
- Optional: Alternative Items enabled
Outcome:
- BOM remains unchanged
- Purchasing switches suppliers seamlessly
- Inventory stays consolidated
- Cost comparison is accurate
This is exactly the operational resilience ERPNext is designed for.
Decision Framework: What Should You Do?
Use a Generic Item Code When:
- Functionally identical materials
- Engineering spec is the same
- Multiple sourcing is expected
Create a New Item Only When:
- Specification differs
- Compliance or certification differs
- Manufacturing behavior changes
Red Flags During Setup
- Item count growing unusually fast
- Same description with different codes
- BOM duplication due to vendor change
Common Mistakes to Avoid
- Treating Item Code as a supplier catalog field
- Letting procurement drive item creation
- Encoding supplier logic into BOMs
- “Fixing later” during go-live pressure
These mistakes usually stem from speed—but cost far more time later.
Closing Summary: The Practical Takeaway
ERPNext is not restrictive—it is opinionated for good reason.
By separating:
- Item identity
- Supplier identity
- Manufacturing logic
ERPNext enables manufacturers to scale procurement and production without rework.
If you get item codes right before transactions begin, everything downstream—inventory, costing, BOMs, analytics—works as intended.


Testing
Nice Article!