CDO Demonstration EnvironmentDemo data

1 field needs attention

Illustrative rule gap: this mapping supports YYYYMMDD only. Alternative date formats would require a conversion rule before activation; this is separate from the distributor retry scenario.

Field mapping

· SAP / distributor extract → enterprise model
Source field Enterprise fieldData typeRequiredTransformation ruleStatus
customer_codecustomerIdStringRequiredTrim and uppercaseMapped
material_noskuStringRequiredStrip leading zerosMapped
sales_orgregionEnumRequiredLookup: 1000→Luzon, 2000→Visayas, 3000→MindanaoMapped
net_valuenetSalesDecimal(14,2)RequiredConvert to PHP, 2 decimalsMapped
plant_codefacilityStringOptionalLookup plant masterMapped
order_datetransactionDateDateRequiredYYYYMMDD → ISO 8601Warning

Sample source data

· as received from the source system
{
  "customer_code": "  demo-0045 ",
  "material_no": "000000871420",
  "sales_org": "2000",
  "net_value": "128450.5",
  "plant_code": "DEMO07",
  "order_date": "20260929"
}

Sample transformed data

· after mapping and validation
{
  "customerId": "DEMO-0045",
  "sku": "871420",
  "region": "Visayas",
  "netSales": 128450.50,
  "facility": "Demo Distribution Center 07",
  "transactionDate": "2026-09-29"
}

6 of 6 fields valid · ready to publish to /sales/orders

Standardized enterprise data model

· the shared vocabulary of the enterprise

Customer

customerId, name, channel, region, creditStatus

Data owner: Sales Operations

Product

sku, description, category, brand, unitOfMeasure

Data owner: Enterprise Applications

SalesTransaction

transactionId, customerId, sku, netSales, transactionDate

Data owner: Sales Operations

Supplier

supplierId, name, terms, category

Data owner: Supply Chain IT

Facility

facility, plantCode, region, type

Data owner: Manufacturing IT

Validation applied on every record

  • Required fields present (customerId, sku, netSales, transactionDate)
  • Data types and decimal precision enforced
  • Region codes resolved against the sales_org lookup
  • Currency normalized to PHP
  • Duplicate transaction IDs rejected
  • Consumer PII masked before it leaves the hub