CX-0128 - Demand and Capacity Management Data Exchange v2.3.0
ABSTRACT
This section and all its subsections are non-normative
The Catena-X Demand and Capacity Management (DCM) standard is designed for all members of the automotive supply chain. Its goal is to help these members prevent or anticipate production issues that can arise from fluctuations in demand or capacity planning. This standard is particularly relevant for mid- to long-term planning, covering periods up to 24 months into the future. Effective collaboration between partners in a direct business relationship (also referred to as “one-up” and “one-down”) is a key element of success.
The Catena-X DCM standard is accessible to all supply chain participants, including suppliersSupplier In the context of OSim, the producer of goods. and Original Equipment Manufacturers (OEMs), regardless of their size and position in the supply chain. It is particularly useful for those involved in production and production planning. The standard prioritizes parts and materials that are critical to manufacturing, aiming to create mutually beneficial outcomes for all parties involved and to enhance the flexibility in meeting customerCustomer In the context of OSim, the receiver of produced goods from a supplier. needs.
This standard offers an alternative to proprietary systems or manual processes that are often resource-intensive and prone to errors. It provides a collaborative foundation for demand and capacity management within the automotive industry, ensuring compatibility with existing systems and maintaining data sovereignty for all users.
Recent global supply chain disruptions have highlighted the need for greater resilience. The automotive industry, with its complex and volatile environment, has multiple IT solutions and interfaces within a single company and across the supply chain. However, there is a lack of a unified process understanding among all partners.
Demand and Capacity Management (DCM) involves the exchange of demand and capacity data between customersCustomer In the context of OSim, the receiver of produced goods from a supplier. and suppliersSupplier In the context of OSim, the producer of goods. within their direct business relationships. CustomersCustomer In the context of OSim, the receiver of produced goods from a supplier. communicate their anticipated material needs for specific timeframes and suppliersSupplier In the context of OSim, the producer of goods. respond with their planned production capacities for those materials and timeframes.
For successful DCM, companies must share a common understanding that enables the exchange of data across different partners and systems while respecting each partner's data sovereignty.
This standard describes the data models, data exchange protocols and a core business logic for interpreting the data, ensuring a consistent approach for all DCM participants.
Cross-company interactions and common business logic required for DCM are standardized in Chapter 5, while the Application Programming Interfaces (APIsAPI An API is a way for two or more computer programs to communicate with each other.) are described in Chapter 4. The data models are presented in Chapter 3.
COMPARISON WITH PREVIOUS VERSIONS OF THIS STANDARD
This section and all its subsections are non-normative
1 INTRODUCTION
This section and all its subsections are non-normative
1.1 Audience and Scope
This standard is intended for the three roles below, who are involved in the Demand and Capacity Management (DCM) process within the automotive industry:
- Data provider
- Data consumer
- Business application provider
For clarity on the roles and responsibility of each actor, please see Chapter 5.2. The scope of this standard includes regulations for managing future demands and capacities. It does not cover the specific methods companies use to calculate their demand or capacity data, nor does it address internal company measures.
Illustrations and descriptions of roles are provided to help explain concepts and processes but are not mandatory. This standard requires that data consumers, providers and business application providers must adopt a uniform business logic, data models and data exchange protocols to ensure interoperable data exchange.
This standard focuses on direct one-to-one business relationships between customersCustomer In the context of OSim, the receiver of produced goods from a supplier. and suppliersSupplier In the context of OSim, the producer of goods.. Companies participating in Catena-X DCM must have agreed to the Data Exchange Governance framework agreement.
1.2 Context and Architecture Fit
This standard (CX-0128) defines the standard data models and APIsAPI An API is a way for two or more computer programs to communicate with each other. for the following objects, utilized by the DCM use case: WeekBasedMaterialDemand, WeekBasedCapacityGroup, IdBasedRequestForUpdate and IdBasedComment. Applying these standards ensures that:
- All actors participating in the DCM use case provide and consume demand-, capacity- and comment-information in an identical manner
- All actors participating in the DCM use case process data in an identical manner
- All actors participating in the DCM use case exchange data only via a connector conformant to [CX-0018] (e.g. Tractus-X EDCTractus-X EDC The Tractus-X Eclipse Dataspace Connector (Tractus-X EDC) is a reference implementation for a connector conformant to CX-0018 and acts as a de-facto standard/reference implementation within Catena-X; other CX-0018-conformant connectors are also valid options.)
- All actors participating in the DCM use case interpret the exchanged data in an identical manner
The APIsAPI An API is a way for two or more computer programs to communicate with each other. must only be used on the context of Catena-X and must only be accessible via a connector conformant to [CX-0018] (e.g. Tractus-X EDCTractus-X EDC The Tractus-X Eclipse Dataspace Connector (Tractus-X EDC) is a reference implementation for a connector conformant to CX-0018 and acts as a de-facto standard/reference implementation within Catena-X; other CX-0018-conformant connectors are also valid options.).
1.2.1 Architectural Overview
This standard covers the exchange of WeekBasedMaterialDemand, WeekBasedCapacityGroup, IdBasedRequestForUpdate and IdBasedComment data as JSON strings through a connector conformant to [CX-0018].
This standard also discusses the optional use of digital twin registries to support the transmission of WeekBasedMaterialDemand and WeekBasedCapacityGroup objects.
How to build an application that creates and handles these objects is not part of this standard.
1.3 Conformity and Proof of Conformity
Non-mandatory sections include authoring guidelines, diagrams, examples and notes. All other content is mandatory.
The capitalized key words such as MAY, MUST, MUST NOT, OPTIONAL, RECOMMENDED, REQUIRED, SHOULD and SHOULD NOT are to be interpreted as defined in BCP 14 [RFC2119] [RFC8174].
Participants must demonstrate conformity with Catena-X standards. Conformity Assessment Bodies (CABs) verify that standards are correctly applied.
If a participant or application only implements either the business role customerCustomer In the context of OSim, the receiver of produced goods from a supplier. or the business role supplierSupplier In the context of OSim, the producer of goods., then conformity must only be demonstrated along conformity assessment criteria (CACs) that apply to the specific business role.
Conformity assessment criteria are found only in the following chapters:
- 2.3 Policy Constraints for data exchange
- 3.1 Aspect Model WeekBasedMaterialDemand
- 3.2 Aspect Model WeekBasedCapacityGroup
- 3.3 Aspect Model IdBasedRequestForUpdate
- 3.4 Aspect Model IdBasedComment
- 4 APPLICATION PROGRAMMING INTERFACES
- 4.1 WeekBasedMaterialDemand API
- 4.2 WeekBasedCapacityGroup API
- 4.3 IdBasedRequestForUpdate API
- 4.4 IdBasedComment API
- 4.5 DCM Asset Administration Shell API (AAS API)
- 5 PROCESSES
- 6 FRAMEWORK AGREEMENT AND POLICIES
Proof of Conformity for Data Models
Participants must implement and conform to the standardized data models as described in Chapter 3. Depending on which business role a participant or application implements only parts of Chapter 3 are relevant for conformity.
| Data model | Business role | Relevant capability |
|---|---|---|
| WeekBasedMaterialDemand | CustomerCustomer In the context of OSim, the receiver of produced goods from a supplier. | Data provider |
| WeekBasedMaterialDemand | SupplierSupplier In the context of OSim, the producer of goods. | Data consumer |
| WeekBasedCapacityGroup | CustomerCustomer In the context of OSim, the receiver of produced goods from a supplier. | Data consumer |
| WeekBasedMaterialDemand | SupplierSupplier In the context of OSim, the producer of goods. | Data provider |
| IdBasedRequestForUpdate | CustomerCustomer In the context of OSim, the receiver of produced goods from a supplier. or supplierSupplier In the context of OSim, the producer of goods. | Data provider and data consumer |
| IdBasedComment | CustomerCustomer In the context of OSim, the receiver of produced goods from a supplier. or supplierSupplier In the context of OSim, the producer of goods. | Data provider and data consumer |
Proof of Conformity for APIsAPI An API is a way for two or more computer programs to communicate with each other.
Participants must implement and conform to the standardized APIsAPI An API is a way for two or more computer programs to communicate with each other. as described in Chapter 4. Depending on which business role a participant or application implements only parts of Chapter 4 are relevant for conformity.
| APIAPI An API is a way for two or more computer programs to communicate with each other. taxonomy | Business role | Relevant capability |
|---|---|---|
| DcmWeekBasedMaterialDemand | CustomerCustomer In the context of OSim, the receiver of produced goods from a supplier. | Call APIAPI An API is a way for two or more computer programs to communicate with each other. |
| DcmWeekBasedMaterialDemand | SupplierSupplier In the context of OSim, the producer of goods. | Offer APIAPI An API is a way for two or more computer programs to communicate with each other. |
| DcmWeekBasedCapacityGroup | CustomerCustomer In the context of OSim, the receiver of produced goods from a supplier. | Offer APIAPI An API is a way for two or more computer programs to communicate with each other. |
| DcmWeekBasedCapacityGroup | SupplierSupplier In the context of OSim, the producer of goods. | Call APIAPI An API is a way for two or more computer programs to communicate with each other. |
| DcmIdBasedRequestForUpdate | CustomerCustomer In the context of OSim, the receiver of produced goods from a supplier. or supplierSupplier In the context of OSim, the producer of goods. | Offer APIAPI An API is a way for two or more computer programs to communicate with each other. and call APIAPI An API is a way for two or more computer programs to communicate with each other. |
| DcmIdBasedComment | CustomerCustomer In the context of OSim, the receiver of produced goods from a supplier. or supplierSupplier In the context of OSim, the producer of goods. | Offer APIAPI An API is a way for two or more computer programs to communicate with each other. and call APIAPI An API is a way for two or more computer programs to communicate with each other. |
| Submodel | CustomerCustomer In the context of OSim, the receiver of produced goods from a supplier. or supplierSupplier In the context of OSim, the producer of goods. | Offer APIAPI An API is a way for two or more computer programs to communicate with each other. and call APIAPI An API is a way for two or more computer programs to communicate with each other. |
Proof of Conformity for Process and Core Business Logic
Participants must implement and conform to the DCM core business logic as described in Chapter 5. Depending on which business role a participant or application implements only parts of Chapter 5 are relevant for conformity.
| Relevant process step | Business role |
|---|---|
| Manage demands | CustomerCustomer In the context of OSim, the receiver of produced goods from a supplier. |
| Manage capacities | SupplierSupplier In the context of OSim, the producer of goods. |
| Bottleneck calculation | CustomerCustomer In the context of OSim, the receiver of produced goods from a supplier. and supplierSupplier In the context of OSim, the producer of goods. |
| Collaborate | CustomerCustomer In the context of OSim, the receiver of produced goods from a supplier. and supplierSupplier In the context of OSim, the producer of goods. |
| Align capacities and demands | CustomerCustomer In the context of OSim, the receiver of produced goods from a supplier. and supplierSupplier In the context of OSim, the producer of goods. |
| Update demands | CustomerCustomer In the context of OSim, the receiver of produced goods from a supplier. |
| Update capacities | SupplierSupplier In the context of OSim, the producer of goods. |
1.4 Examples
1.4.1 Examples for Process and Core Business Logic
CustomersCustomer In the context of OSim, the receiver of produced goods from a supplier. and suppliersSupplier In the context of OSim, the producer of goods. must have agreed to the Data Exchange Governance framework agreement, implement the core business logic from Chapter 5 and manage their access authorizations. They should ensure that material demand and capacity data are accurate, regularly updated and shared in a standardized format.
Business application providers must implement APIsAPI An API is a way for two or more computer programs to communicate with each other. as described in this standard and enforce requirements for a trusted usage environment, contractual agreements and antitrust requirements. Their applications must also enforce process traceability and data sovereignty.
1.4.2 Examples for Data Models
This section provides JSON examples for WeekBasedMaterialDemand, WeekBasedCapacityGroup, IdBasedRequestForUpdate and IdBasedComment payloads. Further property descriptions are available in Chapter 5.
1.4.2.1 WeekBasedMaterialDemand data model JSON structure
{
"unitOfMeasureIsOmitted" : false,
"unitOfMeasure" : "unit:piece",
"materialDescriptionCustomer" : "Spark Plug",
"materialGlobalAssetId" : "urn:uuid:48878d48-6f1d-47f5-8ded-a441d0d879df",
"materialDemandId" : "0157ba42-d2a8-4e28-8565-7b07830c1110",
"materialNumberSupplier" : "MNR-8101-ID146955.001",
"supplier" : "BPNL000000000BXT",
"changedAt" : "2023-11-05T08:15:30.123-05:00",
"demandSeries" : [ {
"expectedSupplierLocation" : "BPNS000000000PFA",
"demands" : [ {
"demand" : 1000,
"pointInTime" : "2023-10-09"
} ],
"customerLocation" : "BPNS0000000000WN",
"demandCategory" : {
"demandCategoryCode" : "0001"
}
} ],
"materialDemandIsInactive" : true,
"materialNumberCustomer" : "MNR-7307-AU340474.002",
"customer" : "BPNL00000000015G"
}
1.4.2.2 WeekBasedCapacityGroup data model JSON structure
{
"unitOfMeasure" : "unit:piece",
"linkedDemandSeries" : [ {
"loadFactor" : 3.5,
"materialNumberCustomer" : "MNR-7307-AU340474.002",
"materialNumberSupplier" : "MNR-8101-ID146955.001",
"customerLocation" : "BPNS0000000000WN",
"demandCategory" : {
"demandCategoryCode" : "0001"
}
} ],
"linkedCapacityGroups" : [ "be4d8470-2de6-43d2-b5f8-2e5d3eebf3fd" ],
"unitOfMeasureIsOmitted" : false,
"capacityGroupIsInactive" : true,
"demandVolatilityParameters" : {
"rollingHorizonAlertThresholds" : [ {
"sequenceNumber" : 1,
"absoluteNegativeDeviation" : 100.0,
"subhorizonLength" : 4,
"relativeNegativeDeviation" : 0.3,
"absolutePositiveDeviation" : 100.0,
"relativePositiveDeviation" : 0.2
} ],
"measurementInterval" : 4,
"startReferenceDateTime" : "2024-01-10T12:00:00.320Z"
},
"supplier" : "BPNL000000000BXT",
"name" : "Spark Plugs on drilling machine for car model XYZ",
"supplierLocations" : [ "BPNS000000000PFA" ],
"capacities" : [ {
"pointInTime" : "2022-08-01",
"agreedCapacity" : 1800,
"actualCapacity" : 1000,
"maximumCapacity" : 2000,
"deltaProductionResult" : 400
} ],
"changedAt" : "2023-03-10T12:27:11.320Z",
"capacityGroupId" : "0157ba42-d2a8-4e28-8565-7b07830c1110",
"customer" : "BPNL00000000015G"
}
1.4.2.3 IdBasedRequestForUpdate data model JSON structure
1.4.2.3.1 RfU: Provide Everything
{
}
1.4.2.3.2 RfU: Provide only Material Demands
{
"weekBasedMaterialDemand": [
]
}
1.4.2.3.3 RfU: Provide only Capacity Groups
{
"weekBasedCapacityGroup": [
]
}
1.4.2.3.4 RfU: Provide only certain Objects
{
"weekBasedMaterialDemand": [
{
"materialDemandId": "0157ba42-d2a8-4e28-8565-7b07830c3456"
}
],
"weekBasedCapacityGroup": [
{
"capacityGroupId": "0157ba42-d2a8-4e28-8565-7b07830c1110"
},
{
"capacityGroupId": "a2fc69ac-ede7-48d3-bee5-04de665d49f0"
},
{
"capacityGroupId": "34238729-990a-4b61-b0c6-336da7b71675"
}
]
}
1.4.2.3.5 RfU: Provide only certain Objects and only if my version is not up to date
{
"weekBasedMaterialDemand" : [ {
"materialDemandId" : "0157ba42-d2a8-4e28-8565-7b07830c3456",
"changedAt" : "2023-03-10T12:27:11.320Z"
} ],
"weekBasedCapacityGroup" : [ {
"capacityGroupId" : "0157ba42-d2a8-4e28-8565-7b07830c1110",
"changedAt" : "2023-03-10T12:27:11.320Z"
} ]
}
1.4.2.4 IdBasedComment data model JSON structure
{
"postedAt" : "2023-03-10T12:27:11.320Z",
"listOfReferenceDates" : [ "2023-11-05" ],
"author" : "someone@company.com",
"supplier" : "BPNL000000000BXT",
"commentType" : "information",
"commentId" : "f5c151e4-30b5-4456-94fd-2a7b559b6121",
"changedAt" : "2023-03-10T12:27:11.320Z",
"commentText" : "Hello, this is a comment!",
"requestDelete" : true,
"objectId" : "dfeb1334-497e-4dab-97c1-4e6f4e1c0320",
"objectType" : "urn:samm:io.catenax.week_based_capacity_group",
"customer" : "BPNL00000000015G"
}
1.4.3 Examples for Data AssetsAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer.
This section provides JSON examples for registering APIAPI An API is a way for two or more computer programs to communicate with each other. endpoints as data assetsAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. with your own connector conformant to CX-0018.