Masters & Metadata Workflow (MST)¶
Module Purpose: The "Source of Truth". This module manages the complex relationships between Group Companies, Products, and Contacts. It enforces data integrity so that "Zinc Oxide" is always "Zinc Oxide", no matter what the supplier calls it.
[!TIP] Core Concept: "Hierarchy is King." If you sell to a subsidiary, the system must know it belongs to the Parent Group for credit limit calculations.
Use Case Quick Reference¶
| ID | Title | Priority |
|---|---|---|
| MST-001 | 3-Tier Entity Hierarchies | P1 |
| MST-002 | Online Verification (GST/MCA) | P1 |
| MST-003 | Product DNA & Synonyms | P1 |
| MST-004 | Contact Lifecycle & Dual-Role | P2 |
| MST-005 | Barred & Active Status | P1 |
| MST-006 | Bank & Compliance Mapping | P2 |
UC-MST-001: 3-Tier Entity Hierarchies¶
What It Does¶
Models real-world corporate structures. It links individual "Ship-To" locations (Units) to their "Bill-To" entity (Parent), and rolls them up to a "Group" level for big-picture reporting.
Who: Data Manager
When: Creating new Customer/Supplier
How It Works¶
- Structure Definition:
- Level 1 (Group): "Tata Group" (Reporting View).
- Level 2 (Parent): "Tata Chemicals Ltd" (Legal Entity, Bills here).
- Level 3 (Unit): "Mithapur Plant" (Shipping Address, Stock arrives here).
- Logic Propagation:
- if
Credit Limitis set at Level 2, Level 3 units consume from that shared pool. - Prices negotiated for Level 2 apply automatically to Level 3.
Success Signals¶
✅ Addresses auto-fill correct State/Zone based on Pincode
✅ Shared Credit Limit blocks orders correctly across Units
UC-MST-002: Online Verification (GST/MCA)¶
What It Does¶
Prevents fake or duplicate companies. It connects to the Government GST and MCA (Ministry of Corporate Affairs) portals to validate a business before it enters our system.
Who: System / Finance
When: Onboarding a Vendor
How It Works¶
- Input: User enters GSTIN
27ABCDE1234F1Z5. - API Call: System validates with GST Portal.
- Returns: "Active", "Legal Name: Alpha Corp", "Address: Mumbai".
- Duplicate Check: "Wait! This GSTIN already exists as Customer #55."
- Auto-Fill: if valid, auto-populates Name, Address, and PAN.
- CIN Check: Similar validation for Corporate Identity Number (CIN) to prevent shell companies.
[!TIP] Implementation Reference: Practical User Stories for GST verification and fuzzy matching logic are available in prd-entity-triage.md.
Edge Cases¶
GST Suspended?
System flags account as "Hold - GST Inactive" and blocks new orders.
UC-MST-003: Product DNA & Synonyms¶
What It Does¶
Solves the "Banana vs Fruit" problem. Suppliers call it "ZnSO4", Customers call it "White Vitriol", we call it "Zinc Sulphate". This master maps all aliases to one internal ID.
Who: Product Manager
When: Defining Specs
How It Works¶
- Golden Record: Internal Name = "Zinc Sulphate Monohydrate".
- Aliases (Synonyms):
- Supplier A calls it: "ZSM-33".
- Customer B calls it: "Zinc Mono".
- Product DNA:
- CAS Number: 7446-19-7 (Universal ID).
- HS Code: 28332990 (Customs ID).
- Photos: Upload Lab Product Photo, Packing Photo (Bag), Label Photo.
- Usage: When Customer B orders "Zinc Mono", Invoice prints "Zinc Sulphate Monohydrate (Zinc Mono)".
Success Signals¶
✅ Search finds product by any Synonym
✅ Invoice correctly displays Customer's version of the name
UC-MST-004: Contact Lifecycle & Dual-Role¶
What It Does¶
Manages people (Contacts) independent of companies. Logic handles cases where "John Smith" works for "Company A" but also consults for "Company B".
Who: Sales Rep
When: Adding Contacts
How It Works¶
- Identity: Unique Key = Email + Mobile.
- Role Mapping:
- Map John to "Ace Chemicals" as "Purchase Manager".
- Map John to "Ace Logistics" as "Director".
- Private vs Public:
- Domain Email (
john@ace.com): Auto-verified. - Personal Email (
john@gmail.com): Flags "Personal ID - Manager Approval Required".
UC-MST-005: Barred & Active Status Governance¶
What It Does¶
Commercial traffic control. It allows specific blocks on business partners without deleting them.
Who: Finance / Quality Head
When: Compliance Issues Arise
How It Works¶
- Status Options:
- Active: Business as usual.
- Barred for Offer: Sales can call, but CANNOT generate a Quote. (Reason: Overdue Payment).
- Barred for Campaign: Exclude from mass emails (Reason: Unsubscribed/Spam Complaint).
- Blacklisted: No transactions allowed. (Reason: Fraud/Quality Failure).
- Visual: Blacklisted accounts appear with specific Red Icon 🔴 in all dropdowns.
UC-MST-006: Bank & Compliance Mapping¶
What It Does¶
Maps which of our bank accounts should appear on the invoice based on the customer's location or business unit, and tracks their Tax compliance documents.
Who: Finance
When: Invoicing
How It Works¶
- Logic:
- If Customer = "Export", use "Citibank USD Account".
- If Customer = "Domestic", use "HDFC INR Account".
- Compliance Vault:
- Store Customer's GST Certificate, PAN Card, MSME Certificate.
- Expiry Alert: "MSME Certificate expired. Request new one."