Data Mapping & Transformation
Source fields, enterprise schema and validation rules.
Demo 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 field | Data type | Required | Transformation rule | Status | |
|---|---|---|---|---|---|---|
| customer_code | customerId | String | Required | Trim and uppercase | Mapped | |
| material_no | sku | String | Required | Strip leading zeros | Mapped | |
| sales_org | region | Enum | Required | Lookup: 1000→Luzon, 2000→Visayas, 3000→Mindanao | Mapped | |
| net_value | netSales | Decimal(14,2) | Required | Convert to PHP, 2 decimals | Mapped | |
| plant_code | facility | String | Optional | Lookup plant master | Mapped | |
| order_date | transactionDate | Date | Required | YYYYMMDD → ISO 8601 | Warning |
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 enterpriseCustomer
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