Data Template: Order to Cash - Sales Order Processing

Microsoft Dynamics 365
Data Template: Order to Cash - Sales Order Processing

Your Order to Cash - Sales Order Processing Data Template

This template provides a structured overview of the essential data elements required to analyze your Order to Cash - Sales Order Processing in Microsoft Dynamics 365. It outlines the crucial attributes to collect and the key activities to track within your event log. Additionally, you will find practical guidance on extracting this data effectively from your system.
  • Recommended attributes for comprehensive analysis
  • Key process activities to track
  • Specific data extraction guidance for Microsoft Dynamics 365
New to event logs? Learn how to create a process mining event log.

Order to Cash - Sales Order Processing Attributes

These are the recommended data fields to include in your event log for comprehensive analysis of your Order to Cash - Sales Order Processing in Microsoft Dynamics 365.
5 Required 5 Recommended 11 Optional
Name Description
Activity
ActivityName
The name of the specific business event or task that occurred at a point in time within the sales order process.
Description

This attribute represents a distinct step or event in the sales order lifecycle, such as 'Sales Order Created', 'Goods Shipped', or 'Payment Received'. The sequence of these activities for a given sales order forms the process flow.

Analyzing the sequence, frequency, and transitions between activities is the core of process mining. It helps visualize the process map, identify common and rare process variants, detect bottlenecks, and pinpoint areas of rework or non-compliance. This attribute is fundamental to understanding what is actually happening in the process.

Why it matters

It defines the steps of the process, making it possible to construct and visualize the process flow, which is the primary goal of process mining.

Where to get

This attribute is conceptually derived by mapping specific system events or status changes in tables like 'SalesTable' and related logistics or financial tables to a standardized activity name.

Examples
Sales Order CreatedGoods ShippedInvoice CreatedPayment Received
Sales Order
SalesOrderNumber
The unique identifier for each sales order, serving as the primary case identifier for the process.
Description

The Sales Order Number is a unique alphanumeric code assigned to each customer order in Microsoft Dynamics 365. It functions as the core Case ID, linking all related activities and events from creation to closure.

In process mining, this attribute is essential for reconstructing the end-to-end journey of every individual sales order. It allows analysts to trace the complete sequence of activities, measure case durations, and analyze variations for each specific order, forming the foundation of the entire process analysis.

Why it matters

This identifier is crucial for correlating all related events, enabling a complete, end-to-end analysis of each sales order's lifecycle.

Where to get

Located in the 'SalesTable' table, field 'SalesId'.

Examples
SO-00102345SO-00102346SO-00102347
Start Time
EventTime
The precise date and time when a specific activity or event occurred.
Description

The Event Time, or timestamp, records the exact moment an activity took place. Each activity in the event log has an associated timestamp, creating a chronological record of the process for each case.

This attribute is critical for all time-based analysis in process mining. It is used to calculate cycle times between activities, measure the total duration of a case, analyze waiting times, and identify bottlenecks where the process is delayed. It also allows for performance monitoring over time, such as tracking throughput by day, week, or month.

Why it matters

This timestamp is essential for calculating all duration-based metrics, such as cycle times and bottlenecks, and for ordering events chronologically.

Where to get

This is derived from various date/time fields associated with specific transactions, such as 'SalesTable.CreatedDateTime' for order creation or payment journal posting dates for payments.

Examples
2023-04-15T09:02:11Z2023-04-18T14:30:00Z2023-04-25T11:21:45Z
Last Data Update
LastDataUpdate
The timestamp indicating the last time the data was refreshed or extracted from the source system.
Description

This attribute records the date and time of the most recent data pull from Microsoft Dynamics 365. It provides transparency into the freshness of the data being analyzed.

For any process analysis, understanding the recency of the data is critical for making informed decisions. This timestamp helps users trust the data by showing exactly when it was last updated, ensuring that conclusions are based on current information.

Why it matters

It ensures users are aware of the data's freshness, which is critical for the relevance and accuracy of the process mining analysis.

Where to get

This is generated at the time of data extraction and appended to each record during the data ingestion process.

Examples
2023-10-27T02:00:00Z2023-10-28T02:00:00Z
Source System
SourceSystem
Identifies the information system from which the data originates.
Description

This attribute specifies the source application where the event data was recorded. In this context, it will typically be 'Microsoft Dynamics 365'.

While it may seem redundant in a single-system analysis, it becomes crucial when merging data from multiple systems, such as a separate CRM or a warehouse management system. It ensures data lineage and helps in troubleshooting data extraction issues by pinpointing the origin of the records.

Why it matters

It provides crucial context about data origin, especially when integrating data from multiple systems, ensuring clear data lineage.

Where to get

This is a static value, typically added during the data transformation process to label the dataset's origin.

Examples
Microsoft Dynamics 365 F&OMicrosoft Dynamics 365 Sales
Confirmed Delivery Date
ConfirmedDeliveryDate
The delivery date that the company has confirmed and committed to the customer.
Description

The Confirmed Delivery Date is the date that the selling organization promises to the customer for the delivery of goods. This date is set after internal checks, such as inventory availability and production schedules, are completed.

This attribute is essential for calculating the 'Delivery Date Adherence Rate' KPI from an operational commitment standpoint. It provides a more realistic internal benchmark for on-time delivery than the customer's initial request. Analyzing deviations from this date helps identify internal process failures in logistics and fulfillment.

Why it matters

Represents the company's commitment to the customer, making it a critical internal benchmark for measuring fulfillment reliability and operational performance.

Where to get

Located in the sales order line data, often in the 'SalesLine' table with a field name like 'ConfirmedDlv'.

Examples
2023-05-122023-06-012023-05-28
Customer Name
CustomerName
The name of the customer who placed the sales order.
Description

This attribute contains the legal name of the customer associated with the sales order. It is derived by linking the customer account number on the sales order to the main customer master data.

Analyzing the process by customer is fundamental to understanding customer-specific behaviors and service levels. It helps identify which customers experience the most delays, which ones have the highest rework rates, or which ones follow non-standard process paths. This is vital for improving customer satisfaction and managing key accounts effectively.

Why it matters

Enables customer-centric analysis to identify patterns, delays, or issues specific to certain customers, directly impacting customer satisfaction.

Where to get

Looked up from the 'CustTable' using the 'CustAccount' field from the 'SalesTable'.

Examples
Contoso LtdAdatum CorporationFabrikam Inc.
Order Value
OrderValue
The total monetary value of the sales order.
Description

This attribute represents the total financial amount of the sales order, including all items, taxes, and charges. It is a key financial metric associated with each case.

Order Value is critical for value-based process analysis. It allows for segmenting the process to see if high-value orders are handled differently or experience more delays than low-value orders. This helps prioritize process improvement efforts on the most financially significant cases and supports dashboards like 'Sales Order Value by Segment'.

Why it matters

Allows for financial segmentation of the process, helping to prioritize improvements on high-value orders and understand cost implications of process deviations.

Where to get

Located in the sales order header data. Consult Microsoft Dynamics 365 documentation for the specific table and field, often calculated from sales line amounts.

Examples
5250.7512300.00899.50
Requested Delivery Date
RequestedDeliveryDate
The delivery date for the order as requested by the customer.
Description

This attribute stores the date when the customer initially requested to receive their goods. This date is captured at the time of order creation and serves as the baseline for measuring delivery performance from the customer's point of view.

This date is a critical input for the 'Delivery Date Adherence' dashboard. Comparing the 'RequestedDeliveryDate' with the 'ConfirmedDeliveryDate' and the actual 'Goods Delivered' date reveals how well the organization meets customer expectations. Large gaps can indicate issues with planning, inventory, or logistics.

Why it matters

Serves as the customer's expectation for delivery, providing a key baseline for measuring customer satisfaction and on-time delivery performance.

Where to get

Located in the 'SalesTable' table, commonly named 'DeliveryDate' or a similar variant.

Examples
2023-05-102023-06-012023-05-25
Sales Channel
SalesChannel
The channel through which the sales order was received, such as Web, Direct Sales, or Partner.
Description

The Sales Channel indicates the origin of the customer order. This could be an e-commerce website, a direct sales team, a retail store, a call center, or a partner network. This dimension is often configured based on business needs in Dynamics 365.

Analyzing the process by sales channel helps uncover performance differences between channels. For example, web orders might be processed faster and more automatically than orders taken by phone. This insight allows for channel-specific process optimization and resource allocation, supporting dashboards like 'Sales Order Value by Segment'.

Why it matters

Allows for performance comparison across different sales channels, revealing inefficiencies or best practices specific to how orders are initiated.

Where to get

This information is typically stored on the sales order header. Consult Microsoft Dynamics 365 documentation for the specific field.

Examples
WebDirectPartnerRetail
Country
CountryRegion
The country of the customer's shipping address.
Description

This attribute indicates the destination country for the sales order shipment. It is derived from the customer's delivery address information stored in Dynamics 365.

Analyzing process performance by country is important for identifying regional variations. International shipments may involve additional steps like customs clearance, leading to longer cycle times. This analysis helps in understanding and optimizing logistics for different geographic markets.

Why it matters

Facilitates geographical analysis, helping to identify regional bottlenecks, compliance issues, or performance variations in the supply chain.

Where to get

Derived from the customer's delivery address, which is linked to the sales order. The country information is typically in the 'LogisticsPostalAddress' table, joined via the delivery address link on the 'SalesTable'.

Examples
USADEUCANGBR
Cycle Time
CycleTime
The total time elapsed from the creation of the sales order to its final closure.
Description

Cycle Time is a calculated metric that measures the total duration of a process instance. For the sales order process, it is typically the time difference between the 'Sales Order Created' event and the 'Order Closed' event.

This is a primary key performance indicator for process efficiency. Dashboards and KPIs like 'Overall Sales Order Cycle Time' rely directly on this calculation. Analyzing its average, median, and distribution helps to quantify process performance, set improvement targets, and measure the impact of optimization initiatives.

Why it matters

This is a key performance indicator for overall process efficiency, directly measuring the end-to-end time it takes to fulfill a customer order.

Where to get

Calculated by subtracting the timestamp of the first event (e.g., 'Sales Order Created') from the timestamp of the last event (e.g., 'Order Closed') for each 'SalesOrderNumber'.

Examples
10 days 4 hours5 days 11 hours22 days 1 hour
End Time
EndTime
The precise date and time when an activity was completed.
Description

The End Time timestamp captures the moment an activity concludes. When available, it provides a more accurate measure of an activity's duration compared to inferring it from the start time of the next activity.

In analysis, having both a start and end time allows for the precise calculation of 'Processing Time' for each activity, distinguishing it from 'Waiting Time' between activities. This is invaluable for identifying which specific tasks are time-consuming versus which process steps involve long delays.

Why it matters

Enables the precise calculation of individual activity processing times, distinguishing active work time from idle waiting time.

Where to get

Like Start Time, this is derived from various date/time fields. It might be a 'ModifiedDateTime' field or a specific status update timestamp in tables like 'SalesTable' or 'WHSLoadTable'.

Examples
2023-04-15T09:12:30Z2023-04-18T14:35:00Z2023-04-25T11:21:55Z
Is Rework
IsRework
A boolean flag indicating if a sales order has experienced rework, such as a repeated activity.
Description

This calculated attribute identifies cases that have deviated from a direct, 'happy path' process flow. Rework is detected by identifying sequences of activities that indicate a step was repeated, such as an order being un-confirmed and then re-confirmed, or goods being picked and then returned to stock.

Flagging cases with rework is essential for the 'Sales Order Rework Rate' KPI. It allows analysts to quickly isolate and investigate inefficient process flows to understand the root causes of rework, which could be data entry errors, credit issues, or inventory problems. Reducing rework is a primary goal of many process improvement projects.

Why it matters

Helps to quantify process inefficiency by flagging cases that required repeated steps, enabling targeted analysis to reduce waste and delays.

Where to get

This is calculated by the process mining tool by analyzing the sequence of activities for each case. For example, detecting a pattern like (A -> B -> C -> B) would flag the case as rework.

Examples
truefalse
Item Number
ItemNumber
The unique identifier for a product or service on the sales order.
Description

The Item Number identifies the specific product being sold. Since a sales order can contain multiple products, this attribute is typically associated with event data at the line-item level.

Analyzing the process by product helps uncover product-specific issues. For instance, certain products may be associated with longer fulfillment times, higher rework rates, or more frequent credit holds. This enables targeted improvements in inventory management, product data setup, or fulfillment processes for specific items.

Why it matters

Allows for product-level analysis, revealing if certain items are associated with process delays, rework, or other inefficiencies.

Where to get

Located in the 'SalesLine' table, field 'ItemId'.

Examples
PROD-00123PROD-00548SVC-00045
On Time Delivery
OnTimeDelivery
A boolean flag indicating if the goods were delivered on or before the confirmed delivery date.
Description

This calculated attribute compares the timestamp of the 'Goods Delivered' activity with the 'ConfirmedDeliveryDate' for each sales order. It is set to 'true' if the delivery was on time or early, and 'false' if it was late.

This flag is the basis for calculating the 'Delivery Date Adherence Rate' KPI. It simplifies analysis by allowing for easy filtering and aggregation of on-time versus late orders. This helps to quickly identify the factors that correlate with late deliveries, such as specific products, customers, regions, or shipping methods.

Why it matters

Directly measures fulfillment performance against commitment, which is crucial for monitoring customer satisfaction and supply chain reliability.

Where to get

Calculated by comparing the 'EventTime' of the 'Goods Delivered' activity against the 'ConfirmedDeliveryDate' attribute. Formula: ('Goods Delivered' Timestamp <= ConfirmedDeliveryDate).

Examples
truefalse
On Time Payment
OnTimePayment
A boolean flag indicating if payment was received on or before the payment due date.
Description

This calculated attribute compares the timestamp of the 'Payment Received' activity with the 'PaymentDueDate'. It is set to 'true' if the payment was on time and 'false' if it was late.

This flag is the core component of the 'On-Time Payment Rate' KPI. It allows for quick segmentation of customers into 'on-time' and 'late' payers. This analysis can inform credit policies, collection strategies, and customer relationship management by identifying chronically late-paying customers.

Why it matters

Measures customer payment behavior against agreed terms, which is fundamental for managing cash flow and assessing credit risk.

Where to get

Calculated by comparing the 'EventTime' of the 'Payment Received' activity against the 'PaymentDueDate' attribute. Formula: ('Payment Received' Timestamp <= PaymentDueDate).

Examples
truefalse
Payment Due Date
PaymentDueDate
The date by which the customer is required to make payment for the invoice.
Description

The Payment Due Date is calculated based on the invoice date and the payment terms agreed upon with the customer. This date is recorded on the customer invoice.

This attribute is fundamental for the 'Payment Due Date Compliance' analysis and the 'On-Time Payment Rate' KPI. By comparing the 'PaymentDueDate' with the actual 'Payment Received' date, the business can identify late payments, analyze payment behavior by customer segment, and take proactive measures to improve cash flow and reduce days sales outstanding (DSO).

Why it matters

This is the benchmark for measuring payment performance, which is critical for analyzing cash flow and managing accounts receivable effectively.

Where to get

Located in the 'CustInvoiceJour' table, field 'DueDate'.

Examples
2023-05-302023-06-152023-06-30
Sales Order Status
SalesOrderStatus
The current status of the sales order at the time of data extraction.
Description

This attribute reflects the overall status of the sales order, such as 'Open order', 'Invoiced', 'Canceled', or 'Delivered'. This is a summary status maintained on the sales order header.

While the activity log provides a dynamic view of the process, the final status is useful for filtering and segmentation. It allows analysts to easily isolate all open orders for a view of the current workload, or to separate successfully completed orders from canceled ones to analyze the reasons for cancellation.

Why it matters

Provides a snapshot of the order's state, enabling analysis to be filtered for open, closed, or canceled orders, which is useful for workload management and outcome analysis.

Where to get

Located in the 'SalesTable' table, field 'SalesStatus'.

Examples
BackorderDeliveredInvoicedCanceled
Shipping Method
ShippingMethod
The method or carrier used to ship the goods to the customer.
Description

This attribute specifies the transportation service used for delivery, such as 'Ground Shipping', 'Air Freight', or the name of a specific carrier. This is selected during order processing based on customer preference, cost, and delivery speed.

For the 'Shipping Method Performance' dashboard, this dimension is essential. Analyzing cycle times from 'Goods Packed' to 'Goods Delivered' broken down by shipping method helps identify which carriers are faster, more reliable, or more prone to delays. This insight enables better logistics planning and carrier selection.

Why it matters

Enables performance analysis of different carriers and shipping options, helping to optimize logistics for cost, speed, and reliability.

Where to get

This information is typically stored on the sales order header or related fulfillment records. Consult Microsoft Dynamics 365 documentation.

Examples
FedEx GroundUPS Next Day AirDHL Express
User Name
UserName
The name of the user who executed the activity.
Description

This attribute identifies the specific employee or system user responsible for performing a given task, such as confirming an order or creating an invoice. It is typically linked to a user ID in Microsoft Dynamics 365.

Analyzing performance by user helps identify training needs, recognize top performers, and ensure proper workload distribution. It is also essential for compliance and audit purposes, allowing for clear accountability for each action taken in the process.

Why it matters

It enables analysis of process performance by individual or team, helping to identify training opportunities, workload imbalances, and resource-related bottlenecks.

Where to get

Derived from user ID fields like 'CreatedBy' or 'ModifiedBy' on various transaction tables, which are then joined with the main user table (e.g., 'UserInfo') to get the full name.

Examples
Alice JohnsonRobert BrownSystem Administrator
Required Recommended Optional

Order to Cash - Sales Order Processing Activities

These are the key process steps and critical milestones to capture in your event log for accurate discovery and analysis of your sales order processing.
6 Recommended 7 Optional
Activity Description
Goods Shipped
This event signifies that the packed goods for the order have been dispatched and have left the warehouse. In Dynamics 365, this is formalized by posting the Packing Slip.
Why it matters

This is a critical milestone marking the end of the internal fulfillment process and the start of the delivery phase. It is a key timestamp for calculating on-time shipping performance.

Where to get

This is a very clear and explicit event captured from the posting date and time of the Packing Slip journal (CustPackingSlipJour).

Capture

Capture the posting timestamp of the Packing Slip journal.

Event type explicit
Invoice Created
This represents the generation and posting of the sales invoice for the shipped goods or services. This is a core financial transaction that formally records the customer's debt.
Why it matters

This activity marks the beginning of the financial settlement part of the process. The time from shipment to invoice creation is critical for the 'Invoice Generation Cycle Time' KPI and impacts cash flow.

Where to get

This is an explicit financial transaction. The event is captured from the posting date and time of the Sales Invoice journal (CustInvoiceJour).

Capture

Capture the posting timestamp of the Sales Invoice journal.

Event type explicit
Order Closed
The final status of a successfully processed sales order, indicating that it has been fully shipped, invoiced, and no further transactions are expected. This marks the successful completion of the process.
Why it matters

This activity serves as the primary end point for successfully completed cases. It is essential for calculating end-to-end cycle times and throughput.

Where to get

This is inferred from the status fields on the SalesTable. An order is considered closed when the 'Sales status' is 'Invoiced' and the line statuses are also 'Invoiced'.

Capture

Infer from SalesTable status fields changing to 'Invoiced'. The timestamp is typically the last related transaction date, like invoicing or payment.

Event type inferred
Order Confirmed
This activity signifies the formal confirmation of the sales order, committing to the delivery of the specified goods or services. In Dynamics 365, this is an explicit user action that generates a confirmation journal.
Why it matters

Confirmation is a key milestone that officially starts the fulfillment process. Measuring the time from creation to confirmation reveals front-office processing efficiency.

Where to get

This is an explicit event captured from the posting date of the Sales Order Confirmation journal (SalesConfirmJour). The timestamp can be linked back to the SalesTable.

Capture

Capture the posting timestamp of the Sales Order Confirmation journal.

Event type explicit
Payment Received
This activity signifies that the customer's payment for the invoice has been received and applied. This event occurs in the Accounts Receivable module and is linked back to the originating invoice.
Why it matters

This is a critical milestone for analyzing the cash conversion cycle. It is essential for measuring the 'On-Time Payment Rate' KPI and identifying delays in payment collection.

Where to get

This is an explicit event from the Accounts Receivable module. It is captured from the transaction date of the customer payment settlement (CustSettlement) that closes the invoice transaction (CustTrans).

Capture

Capture the settlement date from the CustSettlement table, linking it back to the invoice and sales order.

Event type explicit
Sales Order Created
This event marks the initial creation of the sales order in the system by a sales representative or through an automated channel. It is captured explicitly when a new record is created and saved in the primary sales order table.
Why it matters

This activity is the universal starting point for all sales order cases. It provides the initial timestamp required for calculating the overall sales order cycle time and analyzing throughput.

Where to get

This is an explicit event captured from the 'Created date and time' field on the SalesTable header record in Microsoft Dynamics 365.

Capture

Read the creation timestamp from the SalesTable entity.

Event type explicit
Credit Check Performed
Represents the completion of a credit check for the customer associated with the sales order. This may be an automated system check or a manual review, often resulting in a change of the order's credit status.
Why it matters

Analyzing the duration and outcomes of credit checks helps identify bottlenecks in the order approval process. Frequent holds or long approval times can significantly delay order fulfillment.

Where to get

Typically inferred from status changes related to credit management on the SalesTable, such as moving from 'On hold' with a credit reason to 'Open'. It may also be logged in credit management tables if the advanced module is used.

Capture

Infer from status change history on the SalesTable or related credit hold tables.

Event type inferred
Goods Delivered
Indicates that the shipment has been successfully delivered to the customer's specified address. This information is often updated from an external carrier's system or through a manual confirmation.
Why it matters

This activity is crucial for measuring the 'Delivery Date Adherence' KPI and understanding the true customer-facing cycle time. It helps evaluate carrier performance.

Where to get

This is not natively tracked as an explicit event in standard D365. It is typically inferred by receiving an update from a carrier integration or through a manual status update on the sales order or shipment record.

Capture

Infer from an integrated carrier feed or a manual status field update.

Event type inferred
Goods Packed
This activity marks the completion of the packing process, where picked items are consolidated and prepared for shipment. In D365, this may coincide with the generation of a packing slip.
Why it matters

The time between picking and packing can reveal bottlenecks in packing stations. It's a key sub-process within the overall fulfillment cycle time.

Where to get

This can be an explicit event from the completion of container packing in the WMS module or inferred from the generation of the Packing Slip journal (CustPackingSlipJour), which often signifies the end of packing.

Capture

Infer from the completion of packing work or the creation date of the Packing Slip journal.

Event type inferred
Goods Picked
Represents the completion of the physical picking of all items for the order from their warehouse locations. This is typically recorded when a picker finalizes a picking list or work order in the WMS module.
Why it matters

Tracking picking completion time is essential for analyzing warehouse efficiency. Delays at this stage directly impact the overall time to ship.

Where to get

This is an explicit event recorded in the Warehouse Management module. It is captured from the completion timestamp of the warehouse work (WHSWorkTable) related to the sales order picking.

Capture

Capture the timestamp when the picking 'Work' status is updated to 'Closed'.

Event type explicit
Inventory Reserved
This event indicates that the required inventory for the sales order lines has been physically or automatically reserved in the system. This ensures the items are available for picking and fulfillment.
Why it matters

Tracking inventory reservation helps analyze delays between order confirmation and the start of warehouse operations. It is crucial for the 'Inventory Allocation Lead Time' KPI.

Where to get

This can be inferred from the creation or update of inventory transaction records (InventTrans) linked to the sales order lines, where the status indicates a reservation (e.g., 'On order', 'Reserved physical').

Capture

Infer from the timestamp when inventory transactions (InventTrans) for the order are marked as reserved.

Event type inferred
Order Cancelled
This event represents the cancellation of a sales order before it was fully shipped and invoiced. This is an alternative, unsuccessful end to the process.
Why it matters

Tracking cancellations helps identify reasons for lost sales or process failures. Analyzing when and why orders are cancelled can lead to process improvements.

Where to get

This is inferred from the 'Sales status' field on the SalesTable changing to 'Canceled'. The timestamp would be when this status change was logged.

Capture

Infer from the SalesTable status field changing to 'Canceled'.

Event type inferred
Released To Warehouse
Marks the point when the sales order is formally released to the warehouse for picking and shipping operations. This is a distinct step in environments using the Warehouse Management (WMS) module.
Why it matters

This activity separates order processing from physical fulfillment. Analyzing the time an order waits to be released can highlight resource planning or system integration issues.

Where to get

This is an explicit event captured from the warehouse release records (WHSLoadTable, WHSShipmentTable) associated with the sales order.

Capture

Capture the creation timestamp of the corresponding warehouse load or shipment.

Event type explicit
Recommended Optional

Extraction Guides

How to get your data from Microsoft Dynamics 365