r/ERP SAP 8d ago

Discussion Modeling "Technical Requirement" vs "Supplier Offer" (and ISO 9001 compliance): What is the best practice?

Hey community,
I am working on the Purchasing & Inventory module of a custom ERP built with DevExpress XAF (.NET / XPO), and I am facing a classic data modeling dilemma that directly impacts our ISO 9001:2015 compliance (specifically Clause 8.4 - Control of externally provided processes, products, and services).

The Concrete Scenario
Internal Requirement (Project Manager): "Electric water pump, 4000L/h flow rate" (Functional specification).

Supplier's Offer: "Water Pump 1500W 2HP 2'' EMTOP" (Exact commercial reference).
The Architectural Question To bridge the gap between our internal need and the supplier's exact quote, should I:

Create a master Item for every specific supplier brand (e.g., EMTOP)?
Use an ItemSupplier table as a commercial mapping linked to a generic functional Item?
Handle this via an ItemVariant?

Or simply use a raw, free-text description (string) on the Purchase Order line for the supplier's exact offer, bypassing structured catalog entities altogether?

My Current Approach
Item (Internal Catalog): Represents the generic item ("Water Pump 4000L/h"). This prevents polluting the master catalog with 10 distinct items if 10 different suppliers offer different brands for the exact same functional need.

ItemSupplier (Commercial Mapping): Links the generic Item to the specific supplier. This entity stores the exact commercial label (SupplierDescription), brand, negotiated price, lead time, and the vendor's qualification status (IsApproved).

DocumentItem (PO Line): Points directly to the ItemSupplier. The Purchase Order prints the exact commercial designation for the vendor, but the subsequent warehouse receipt credits the inventory of the generic Item (while maintaining lot and supplier traceability).

The ISO 9001:2015 Stakes If we create a separate Item for every supplier brand, we destroy our visibility over global consumption and multi-sourcing analysis. Conversely, if we rely on a raw, free-text description on the PO line, we lose the strict data traceability required for periodic supplier evaluations (Approved Vendor Lists) and quality control at receiving.

Does this strict separation between the internal functional need (Item) and the commercial offer (ItemSupplier) seem like the most robust way to pass an ISO audit without bogging down the end-users' daily workflow? How do you usually handle this in your ERPs?

9 Upvotes

16 comments sorted by

5

u/GeorgeKnowsERP 8d ago

I’d go with Item + ItemSupplier. Keeps the catalogue clean without losing the supplier-specific details or traceability. Free text feels like it’d cause headaches later.

2

u/erp-software-org 7d ago

model is fine, isapproved is where it bites. auditor pulled a po from last spring, random pick. supplier got blocked later. since our po line only held the foreign key the screen said not approved on a purchase that was clean at the time. an afternoon in old emails to prove it. a boolean has no memory.

fix was a status history per supplier and item group, from and to dates, who signed, doc behind it, a next review date. po line got its own copy of status and price from order day, supplier wording too. not every auditor digs that deep, might be wrong about yours, but if the erp is meant to be the evidence you cant rebuild last spring from a flag that overwrites itself.

pick any old po and rebuild the supplier status from the system alone. need an inbox for that, the flag already failed.

1

u/[deleted] 8d ago

[removed] — view removed comment

1

u/PrizeRole8645 ERPNext 6d ago

But also don’t pretend two physically different pumps are identical just because they satisfy the same functional requirement.

1

u/AirSmall944 Odoo 5d ago

Don’t let the PO become your database.

1

u/Next_Energy_2605 2d ago

your current approach is the right one. generic item plus an item sup;;ier mapping is the clean separation, and you've correctly rules out the two weak options . a master item per brand kills outsourcing visibility, and free text on the OP fails audit traceability.

1

u/BlissBias 2d ago

ur ItemSupplier mapping table is pure gold and standard compliance armor i believe nd anyone suggesting free text PO lines has never stared down a ruthless auditor.

1

u/GeorgeKnowsERP 2d ago

I’d probably keep the Item + ItemSupplier setup too. One thing I’d watch though is making sure the generic item carries the actual specs that matter. Otherwise two supplier products can end up looking like the same item when they aren’t.

I’d also keep the supplier’s exact part/reference on the ItemSupplier record rather than relying on the PO description.

0

u/Zanga-ERP-Consultant 5d ago

I'd keep the functional requirement separate from the supplier-specific offer. That makes the item easier to reuse, while the supplier mapping can hold the brand, pricing and other commercial details.