--- pdfexport: true glightbox: false alias: tutorials-materialregistration timetoread: true tutorial: full description: "Critical Manufacturing MES documentation outlines material registration via manual or scanner methods, utilizing barcode labels and configurable data mapping" --- # Material Registration In Critical Manufacturing MES, there are multiple methods available for creating **Materials** - including manual creation through the **Material** page, creation via **Production Orders**, and a method that can be scanner-assisted, represented by the Register Materials operation. The system offers native support for several barcode label formats, such as ECIA, GS1, and MAT-Label. However, it is also designed with flexibility in mind, allowing for the configuration of additional custom label formats to accommodate specific business requirements. !!! info Material Logistics is a separately licensed module required to enable this feature. ## Overview In this tutorial, we will walk through a complete scenario covering the configuration and execution of the Material Registration operation, using both both manual and scanner-assisted methods. The tutorial is structured as follows: - Initial Considerations: Key concepts and prerequisites to be aware of before getting started. - Use Case Presentation: A clear description of the production context and specific system requirements. - Configuration: Step-by-step setup, supported by video and images. - Feature Execution: Hands-on walkthrough of the operation, covering both manual input and a simulation of scanner-assisted registration. - Final Considerations: Additional tips and usability notes to help users get the most out of the functionality. ## Initial Considerations Before starting the tutorial, there are a few key aspects you should be familiar with to ensure a smooth understanding of the process and its context. The [[register-material]] operation is available under **Planning and Logistics** Menu, and is used for the creation of **Materials** of **Products** with the following types: - Raw Material - Durable - Part These are the only **Product** types that support the definition of Product Manufacturers, which is a prerequisite for the registration process. Regarding the required user features, to execute the Register Materials operation, the user must be granted: :lock: Material.**Register** – Required to access the operation in general :lock: Material.**RegisterManual** – Required to perform manual registration specifically For label support and customization, Critical Manufacturing MES supports several barcode label formats natively (ECIA, GS1, MAT-Label). If you are considering supporting a custom label format, you should be aware of the following Lookup and Generic configuration tables, which define how label data is interpreted: | Table Name | Description | |---------------------------------|-----------------------------------------------------------------------------------------------------------------------| | [[labelspecification-lt]] | Lookup Table for Label Specifications | | [[labelmaterialproperty-lt]] | Lookup Table for Material Properties | | [[labelspecification-gt]] | Generic Table for defining the properties of the different Label Specifications | | [[labelsymbologyidentifier-gt]] | Generic Table for defining label specs with symbology identifiers and barcode types | | [[labelmaterialproperty-gt]] | Generic Table for setting **Material** properties or attributes that can be referenced as a Label Specification Field | | [[labelspecificationfield-gt]] | Defines each field in the label format, including prefix, length, and mapping | ## Use Case In this use case, we are operating within a production environment where raw materials are delivered to the production site. Upon arrival, an employee is responsible for registering these materials in Critical Manufacturing MES. For the purposes of this scenario, we consider that the Raw Material Business Partner supplies two products: - Raw Material 1 - Raw Material 2 The following conditions and requirements apply to this use case: **Material Placement**: When created, **Materials** are assigned to a designated physical location. - Raw materials are created in the Warehouse **Facility**. - They are placed in the Receiving and Storage **Flow**, at the Receiving **Step**. **Labeling Standard**: The information provided by the supplier follows the GS1 label specification. **Data Capture at Registration**: At the moment of **Material** creation, the employee must collect and register the following data: | Data Point | CM MES Mapping | |--------------|------------------------------------------------------| | Facility | Maps to the Facility **Material** property | | Manufacturer | Business Partner linked to the **Material** | | GTIN | Maps to Part Number Identification **Material** property | | COUNT | Maps to Primary Quantity **Material** property | | BATCH/LOT | Maps to Manufacturer Lot Number **Material** property | | PROD Date | Maps to Manufacturer Date Code **Material** property | | ERP Code | Must be stored as **Material** attribute ERPCode | **Product Details**: Logistical attributes linked to the **Product** definition. | Product | Part Number | Standard Quantity Delivered | Moisture Sensitivity Level | |----------------|----------------|-----------------------------|----------------------------| | Raw Material 1 | 11111111111111 | 100 | 2a | | Raw Material 2 | 22222222222222 | 25 | 6 | ## Configuration The following steps outline the configuration required to support material registration in this tutorial. A video walkthrough of this configuration is included at the end of this section. !!! warning This configuration walkthrough does not cover the base model setup (e.g., **Calendars**, **Facilities**, and **Areas**). ### Business Partner To create a **Business Partner**, navigate to: **Business Data > Business Partner**. In order for a **Business Partner** to be recognized as a Product Manufacturer, the following conditions must be met: - The Manufacturer property must be set to true - A Label Specification must be defined - for this use case, select GS1 Example configuration: ![Business Partner](images/material_registration_business_partner.png) ??? note "See more information about this entity here" - User Guide: [[user-guide-business-partner-page]] - [[tutorials-howto-createbusinesspartner]] ### Entity Type Material Add Attribute Since `ERPCode` is not a native attribute of the **Material** entity, it must be added manually. To do this, go to: **Administration > Entity Types > Material > Manage Attributes**, and add a new attribute named `ERPCode`. Attribute details: | Property | Value | |--------------------|-----------------------------| | Name | ERPCode | | Type | NVarChar | | Size | 256 | | Is Reportable | Yes | | Is History Enabled | Yes | | IsMandatory | No | | Other flags | Leave default unless needed | Example configuration: ![Material Entity](images/material_registration_material_entity.png) !!! note If the attribute does not appear in the system after being added, you may need to use the Generate operation on the **Material** entity to apply changes. ??? note "See more information about this configuration here" - [[tutorials-howto-addanattributetoanentity]] ### Generic Tables First, you must include the `ERPCode` attribute as a collectable label property, in the [[labelmaterialproperty-gt]] Generic Table. Set it as mandatory, define its sequence, and specify the data type. Example configuration: ![GT Label Material Property](images/material_registration_label_material_property.png) Then, add `ERPCode` as a valid field under the GS1 Label Specification at the [[labelspecificationfield-gt]] Generic Table, with a prefix (for example 43), a data type (for example String), length and sequence number. Example configuration: ![GT Label Specification Field](images/material_registration_label_specification_field.png) ??? note "See more information about this configuration here" - [[tutorials-howto-editgenerictable]] ### Flow and Step Create a simple **Flow** and **Step** structure at the Warehouse **Facility**: - **Flow**: Receiving and Storage - **Step**: Receiving No further operation-related entities (e.g., **Resource** or **Service**) are required. Example configuration: ![Flow and Step](images/material_registration_flow_step.png) ??? note "See more information about these entities here" - User Guide: [[step-page]] - User Guide: [[flow-page]] - [[tutorials-howto-createstep]] - [[tutorials-howto-createflow]] ### Products For this use case, create two **Products**: Raw Material 1 and Raw Material 2. Each **Product** must include: - Product Type: Raw Material - Default Units, Form, and Flow Path In the Products Manufacturer section, add the information for the Raw Material Business Partner and include: - Part Number - Standard Quantity - Moisture Sensitivity Level (MSL) Example configuration: === "Raw Material 1 - General" ![Raw Material 1](images/material_registration_product_1.png) === "Raw Material 1 - Product Manufacturer" ![Raw Material 1 PM](images/material_registration_product_1_manufacturer.png) === "Raw Material 2 - General" ![Raw Material 2](images/material_registration_product_2.png) === "Raw Material 2 - Product Manufacturer" ![Raw Material 2 PM](images/material_registration_product_2_manufacturer.png) ??? note "See more information about this entity here" - User Guide: [[user-guide-product-page]] - [[tutorials-howto-createproduct]] - [[tutorials-howto-manageproductmanufacturers]] {% set video_id = '5271f363d33f7fbfae484e3ca1571e39' %} {% include-markdown 'includes/cloudflare_stream.md' %} The master data file supporting this model is available here: [XML File](files/register_material_tutorial_111.xlsx), and was designed using version 11.1. !!! warning If you use the master data file to create the new attribute in the **Material** entity, you may still need to perform the Generate Schema operation referenced earlier. ## Register Material Manual Process In this section we will simulate the creation of a **Material** through the Register Material operation. When navigating to **Planning and Logistics > Register Material**, you will be presented with an interface designed to guide you through the registration process. Creating a material for Raw Material 1: | Property | Value | Note | |-------------------------------------------|-------------------------------|--------------------------------------------------------------------------------------------------------------| | Facility | Warehouse | This is where the material is being received | | Manufacturer | Raw Material Business Partner | The Manufacturer must match the defined Supplier Part Number | | Number of Identical Materials to Register | 2 | Defines how many identical material records will be created in this operation, each with the same properties | | GTIN | 11111111111111 | The Part Number Identification Material | | Count | 150 | The primary quantity of the material | |Batch/Lot| 202505081| The manufacturer lot number| | Prod Date | 20250508 | The Manufacturer Date Code | |ERP Code| ERP111111 |ERP Code Material attribute value| Example: ![Register Material Raw Material 1](images/material_registration_register_rm1.png) Creating a material for Raw Material 2: | Property | Value | Note | |-------------------------------------------|-------------------------------|--------------------------------------------------------------------------------------------------------------| | Facility | Warehouse | This is where the material is being received | | Manufacturer | Raw Material Business Partner | The Manufacturer must match the defined Supplier Part Number | | Number of Identical Materials to Register | 1 | Defines how many identical material records will be created in this operation, each with the same properties | | GTIN | 22222222222222 | The Part Number Identification Material | | Count | 85 | The primary quantity of the material | |Batch/Lot| 202505082| The manufacturer lot number| | Prod Date | 20250508 | The Manufacturer Date Code | |ERP Code| ERP222222 |ERP Code Material attribute value| |Time on Label|90|Related to Moister Sensitivity Level| Example: ![Register Material Raw Material 2](images/material_registration_register_rm2.png) In the upper-right corner of the interface, you’ll find an option to print labels. This allows the user to specify the number of labels to print for the **Materials** being registered. To enable this functionality, the following conditions must be met: - The **Step** where the **Material** is created must have a **Printable Document** assigned. To configure this, go to **Step > Details View > Edit > Material Label**, and set a **Printable Document**. - The Print Material Label Automatically flag must be set to `true`. This process is demonstrated step-by-step in the accompanying video. {% set video_id = 'df517fd2dfd89b7ff3d41875fd38cff0' %} {% include-markdown 'includes/cloudflare_stream.md' %} ## Register Material Using Barcode Scanner To simulate barcode scanning, you can generate the required barcodes, place them in a file, and use your device's camera to scan them, or use a barcode reader. The barcodes used in this demonstration are available in this [PDF File](../files/register_material_barcodes.pdf), and were generated following GS1-Code128. Using the same Register Material interface, simply select on the camera icon :material-camera: to activate the scanning mode and present the printed or on-screen barcodes. You can follow this process step by step in the video below. {% set video_id = 'a9769be1e0d23a8f1e23ca6081f0e534' %} {% include-markdown 'includes/cloudflare_stream.md' %} ## Final Considerations This section provides additional tips and usability notes to help users get the most out of the Register Materials functionality. - The Facility field can have a predefined default value. To configure this, use the [[guielementdefaultvalue-gt]] table with the following: - Context: `Material.Register` - Element: `Facility` - If the system configuration `/Cmf/System/Configuration/MaterialLogistics/RegisterMaterials/AutoPopulateDataFromProductManufacturer/` is enabled, the system will attempt to automatically populate fields using data from the Product Manufacturer. - If the configuration `/Cmf/System/Configuration/MaterialLogistics/RegisterMaterials/InferManufacturerFromManufacturerPartNumber/` is enabled, the system will attempt to infer the Manufacturer based on the provided Manufacturer Part Number.