Cloud Information Model
The Supplier entity in the Cloud Information Model (CIM) is a specialized Party Role — it describes a party (an organization or individual) that plays the role of supplying goods or services to the enterprise. Because CIM separates the party (the durable identity of a business or person) from the role it plays, the same party can simultaneously be a Customer, a Supplier, and a Partner without duplicating master data. This is the core interoperability promise of the model: a shared, application-agnostic vocabulary that lets procurement, ERP, logistics, and analytics systems agree on what a “supplier” is.
The Supplier entity carries two broad families of attributes: identity and classification (who the supplier is) and performance scoring (how well the supplier performs). The scoring attributes are grouped into three weighted categories — contract, satisfaction, and competitive — that roll up into a single supplierScore. Understanding how those pieces fit together is essential for anyone implementing supplier scorecards, vendor master data, or procurement analytics on top of CIM.
Key Takeaways
- Supplier is a Party Role, not a standalone entity. It inherits identity from Party and adds role-specific attributes, so you never fork supplier master data from customer master data.
- Scoring is a weighted, three-category model. Contract, satisfaction, and competitive measures each carry a
weightPercentand aweightScore; the overallsupplierScorecombines them. - Most rate fields are expressed as integers representing percentages or counts, which keeps the model simple but pushes rounding and normalization decisions to the implementation.
idandactiveFromDateare mandatory. Every supplier record needs a stable GUID primary key and a start date for its active period.isCarrieris a lightweight specialization flag that lets logistics logic identify transportation carriers (e.g., FedEx, UPS) without a separate entity.- CIM is designed to be extended. The model is open source and intended to be forked and adapted, so treat these attributes as a baseline contract, not a closed schema.
Why Supplier Is Modeled as a Party Role
The most important design decision in CIM is the Party / Party Role split, a pattern also found in established enterprise models such as the TM Forum’s Information Framework (SID) and in master data management practice generally. A Party is the persistent thing — a legal entity, an organization, or a person. A Party Role is a time-bounded relationship that party has with the enterprise.
This matters because real businesses wear many hats. A contract manufacturer may sell you finished goods (Supplier), buy components from you (Customer), and co-develop a product (Partner). If you model each as a separate record, you get duplicate vendor/customer masters, reconciliation nightmares, and inconsistent hierarchies. By making Supplier a role, CIM lets you attach a single Party to multiple roles and keep one golden record.
Practical implications:
- Deduplication happens at the Party level. Two Supplier records that point to the same Party are the same legal entity.
- Roles are temporal. The
activeFromDateandactiveToDatefields let a supplier relationship begin and end without deleting history. - Role-specific data stays with the role. Vendor ranking and scorecard metrics belong on Supplier, not on Party, because they only make sense in the supplier context.
Identity and Classification Attributes
The identity attributes are deliberately minimal, which is typical of a shared model that must map cleanly onto many source systems.
id(guid, mandatory) — the primary key. Using a GUID rather than a natural key avoids collisions when merging records from multiple systems.activeFromDate(date, mandatory) — when the supplier relationship became active.activeToDate(date) — when it ended, if it has.supplierType(string) — a free-text classification such as Retailer, Distributor, Manufacturer, or Merchant.isCarrier(boolean) — true when the supplier is a transportation carrier such as FedEx or UPS.supplierSpend(integer) — total cost spent procuring products from the supplier.
A note on supplierType: because it is a plain string, it is a controlled vocabulary by convention, not by schema. In a real deployment you should constrain it with an enumeration or reference-data list, otherwise “Manufacturer,” “manufacturer,” and “Mfg” will fragment your reporting. This is a classic trade-off in shared models — flexibility versus consistency — and CIM leans toward flexibility, expecting implementers to tighten it.
Similarly, supplierSpend as an integer raises a currency and scale question. The model does not specify a currency or minor-unit convention, so you must decide (for example, store minor units and pair the field with a currency code from your own extension) before you aggregate spend across regions.
The Supplier Scorecard: Contract, Satisfaction, and Competitive
The heart of the Supplier entity is its scorecard, a weighted composite of three measurement categories. Each category has a weightPercent (how much it counts toward the total) and a weightScore (the score assigned after that category’s measures are analyzed). The overall supplierScore is defined as:
(contract weight × score) + (satisfaction weight × score) + (cost/competitive weight percentage × score)
Contract performance measures
These are objective, operational metrics tied to the purchase agreement:
contractOnTimeDeliveryRate— on-time deliveries against promised dates ÷ total deliveries.contractDeliveryCorrectnessRate— deliveries with correct quantity ÷ total deliveries.contractProductQualityRate— percentage of products with defects.contractProductReturnRate— percentage of products returned.contractInvoiceAccuracyRate— how often invoices were incorrect in the last 12 months.contractSLAIssueRate— how many times an SLA was broken in the last 12 months.contractBudgetCostRate— percentage unit-cost variance above the agreed purchase order price.contractSourcingCycleDays— days from sourcing start to contract signature.
Satisfaction measures
These are more subjective, relationship-oriented ratings:
satisfactionCustomerServiceRank— how account-management issues are routed and resolved.satisfactionTechnicalSupportRank— how training and documentation are rated.satisfactionEthicsRank— labor practices, safe working conditions, and distribution eligibility.
Competitive measures
These capture how the supplier stacks up against alternatives:
competitiveCostAvoidanceRank— value delivered through free training, delivery, and similar concessions.competitiveMarketingRank— degree of goodwill associated with the supplier.competitiveProductPriceRank— likelihood of receiving first or better prices over the relationship lifetime.competitiveWarrantyRank— warranty provided relative to other suppliers.
Each category then contributes competitiveWeightPercent / competitiveWeightScore, contractWeightPercent / contractWeightScore, and satisfactionWeightPercent / satisfactionWeightScore to the rollup.
A worked example
Suppose a procurement team weights the three categories as follows and assigns each a 0–100 score:
| Category | Weight % | Score | Weighted contribution |
|---|---|---|---|
| Contract | 50 | 90 | 45.0 |
| Satisfaction | 20 | 80 | 16.0 |
| Competitive | 30 | 70 | 21.0 |
Total (supplierScore) | 100 | — | 82.0 |
The key discipline is that the three weightPercent values must sum to 100. CIM does not enforce this, so your implementation should validate it. If they don’t sum to 100, the composite score is meaningless as a normalized figure. A common governance approach is to fix the weights centrally (say, 50/20/30) so that scores are comparable across the entire supplier base, and only adjust weights for specific commodity categories where the trade-offs genuinely differ.
How to Decide: Practical Guidance for Implementers
When you adopt the Supplier entity, a few decisions determine whether your scorecard is trustworthy.
- Normalize before you weight. The raw rate fields are percentages and counts on different scales. Convert every measure to a common 0–100 scale (or 0–1) before applying weights, or a single high-magnitude count will dominate.
- Decide directionality explicitly. For most fields, higher is better — but
contractProductReturnRate,contractSLAIssueRate,contractInvoiceAccuracyRate(as “times incorrect”), andcontractBudgetCostRate(as variance above agreed price) are lower-is-better. Invert them during scoring. - Handle missing data deliberately. A new supplier has no 12-month history. Decide whether to exclude the category, impute a neutral score, or flag the supplier as “insufficient data” rather than silently scoring it as zero.
- Keep the raw measures. Store the underlying rates alongside the composite score so you can re-weight and re-audit later. A single
supplierScorewith no provenance is not defensible in a sourcing review. - Version your weights. If you change weights, historical scores become incomparable. Record the weight set in effect when each score was computed.
Integrating Supplier Data Across Systems
Because CIM is application-agnostic, the Supplier entity is most valuable as a canonical target for integration. A typical pipeline pulls vendor masters from an ERP (SAP, Oracle, Microsoft Dynamics), scorecard data from a procurement or SRM tool, and carrier flags from a transportation management system, then maps all of them onto the CIM Supplier shape.
- Map natural keys to
id. Each source system has its own vendor number; maintain a cross-reference table to the CIM GUID. - Reconcile at the Party level. Use the Party entity as the deduplication anchor so the same legal entity isn’t counted twice.
- Treat
isCarrieras a routing hint. Downstream logistics logic can branch on it to apply carrier-specific handling. - Publish the model as a contract. Tools such as dbt, Apache Atlas, and data catalogs can document the CIM mapping so analysts know what each field means.
For teams formalizing this, the open-source nature of CIM means you can fork the model and add entities or attributes your business needs — for example, a currency code for supplierSpend or a controlled enumeration for supplierType — while keeping the core Party/Role structure intact. Related standards worth aligning with include the TM Forum Information Framework (SID) for party/role patterns and GS1 for product and location identifiers, since supplier and product data frequently travel together.
Governance and Data Quality Considerations
A supplier scorecard is only as good as the data feeding it, and supplier data is notoriously messy because it originates in many systems and changes over time.
- Ownership. Assign a data steward for supplier master data; scorecard fields often have a different owner (procurement) than identity fields (finance or MDM).
- Freshness. The 12-month windows in the invoice-accuracy and SLA fields imply rolling recalculation. Define the refresh cadence and make it visible.
- Auditability. Because scores drive sourcing decisions, keep an audit trail of inputs, weights, and computed outputs.
- Ethics and compliance. The
satisfactionEthicsRankfield touches on labor practices and safe working conditions — areas increasingly subject to supply-chain due-diligence regulation. Treat it as a compliance signal, not just a soft rating.
Frequently Asked Questions
What is the Supplier entity in the Cloud Information Model?
Supplier is a Party Role in CIM that describes a party supplying goods or services to the enterprise. It inherits identity from the Party entity and adds supplier-specific attributes such as supplierType, isCarrier, supplierSpend, and a full performance scorecard. Modeling it as a role rather than a standalone entity lets one party act as both supplier and customer without duplicate master data.
How is the supplierScore calculated?
The supplierScore combines three weighted
Frequently asked questions
What is the Supplier entity in the Cloud Information Model?
Supplier is a Party Role in CIM that describes a party supplying goods or services to the enterprise. It inherits identity from the Party entity and adds supplier-specific attributes such as supplierType, isCarrier, supplierSpend, and a full performance scorecard. Modeling it as a role rather than a standalone entity lets one party act as both supplier and customer without duplicate master data.
How is the supplierScore calculated?
The supplierScore combines three weighted categories: contract, satisfaction, and competitive. Each category contributes its weightPercent multiplied by its weightScore, and the results are summed. For the composite to be meaningful, the three weight percentages should sum to 100, and each underlying measure should be normalized to a common scale before weighting.
Which Supplier fields are mandatory?
Only two fields are mandatory: id (a GUID primary key) and activeFromDate (the date the supplier relationship became active). Everything else, including activeToDate, supplierType, and all scorecard attributes, is optional, which allows partial records to be loaded incrementally.
What does the isCarrier flag mean?
isCarrier is a boolean that is true when the supplier is a transportation carrier, such as FedEx or UPS. It provides a lightweight way for logistics and shipping logic to identify carriers without requiring a separate entity or subtype, keeping the model compact.
Why are most scorecard fields integers?
The rate and rank fields are typed as integers, typically representing percentages or counts. This keeps the model simple and portable across systems, but it means implementers must decide on rounding, scale, and normalization conventions themselves rather than relying on the schema to enforce them.
Can I extend the Supplier entity?
Yes. CIM is an open-source model intended to be adapted, so you can add attributes — for example a currency code for supplierSpend or a controlled enumeration for supplierType — or add new entities. Extensions should preserve the core Party/Party Role structure so that interoperability with other CIM-based systems is maintained.
More on Open source enterprise data interoperability standard / cloud data modeling
Browse our latest guides and reviews.
Read more →