Data Template: Order to Cash - Sales Order Processing

NetSuite
Data Template: Order to Cash - Sales Order Processing

Your Order to Cash - Sales Order Processing Data Template

This template provides a comprehensive guide to collecting the necessary data for analyzing your Order to Cash - Sales Order Processing in NetSuite. It outlines the essential attributes and activities you will need to extract from your system. Additionally, you will find practical guidance on how to extract this data efficiently, setting you up for successful process analysis.
  • Recommended attributes for detailed analysis
  • Essential activities to track in your process
  • Practical data extraction guidance for NetSuite
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.
3 Required 8 Recommended 10 Optional
Name Description
Activity Name
ActivityName
The name of the business event or activity that occurred at a specific point in time.
Description

This attribute describes a specific step or status change within the sales order lifecycle, such as 'Sales Order Created', 'Goods Shipped', or 'Payment Received'. The sequence of these activities forms the basis of the process map.

Analyzing the flow of activities helps identify common process paths, deviations, and bottlenecks. Understanding the frequency and order of activities is crucial for identifying opportunities to streamline operations and reduce manual effort.

Why it matters

It defines the steps of the process, allowing for the visualization and analysis of the process flow.

Where to get

This is typically derived from system status changes, transaction types, or specific event logs within NetSuite. It often requires mapping status fields or transaction creation events to a standardized activity name.

Examples
Sales Order CreatedSales Order ApprovedGoods ShippedInvoice CreatedPayment Received
Event Time
EventTime
The timestamp indicating when the activity occurred.
Description

This attribute provides the exact date and time for each activity in the process. It is the chronological backbone of the event log, enabling the calculation of cycle times, durations, and waiting times between different steps.

Accurate timestamps are essential for performance analysis, such as measuring the time from order creation to shipment or identifying delays in the credit approval process. It allows for detailed analysis of process efficiency and adherence to service level agreements.

Why it matters

Timestamps are critical for calculating all time-based metrics, including cycle times and durations, which are essential for identifying process bottlenecks.

Where to get

This corresponds to date fields on NetSuite transaction records, such as 'Date Created' for the sales order, 'Actual Ship Date' for item fulfillments, or 'Date' for invoices and payments.

Examples
2023-04-15T10:00:00Z2023-04-15T14:30:00Z2023-04-16T09:00:00Z
Sales Order
SalesOrder
The unique identifier for each sales order document.
Description

The Sales Order serves as the primary case identifier, linking all subsequent activities from customer order placement through goods delivery and final payment. Each sales order represents a single instance of the end-to-end process.

In process mining, this attribute is fundamental for reconstructing the journey of each order. It allows for the analysis of process variants, cycle times, and bottlenecks on a per-order basis, providing a complete view of the lifecycle for each individual customer request.

Why it matters

This is the core identifier that connects all related events into a single process instance, making end-to-end analysis possible.

Where to get

This is the internal ID of the Sales Order transaction record in NetSuite. It can typically be found as 'Internal ID' on the Sales Order form or in search results.

Examples
SO-100521SO-100522SO-100523
Customer Name
CustomerName
The name of the customer who placed the sales order.
Description

This attribute contains the name of the legal entity or individual that purchased the goods or services. It links the sales order process to a specific customer account.

Filtering or dimensioning analysis by customer is essential for understanding customer-specific behaviors, identifying issues affecting key accounts, and evaluating service levels. It allows for a customer-centric view of the process, highlighting which customers experience the most delays or rework.

Why it matters

Allows for segmenting the process by customer, which is key to analyzing customer satisfaction, identifying issues with key accounts, and tailoring services.

Where to get

This is the 'Customer' or 'Entity' field on the Sales Order transaction record in NetSuite.

Examples
Global Corp Inc.Innovate Solutions Ltd.Dynamic Tech
Invoice Number
InvoiceNumber
The unique identifier for the customer invoice.
Description

This attribute is the reference number for the invoice document generated from the sales order. It links the sales fulfillment process to the accounts receivable process.

Tracking the invoice number is important for financial reconciliation and for analyses that span from order to final payment. It provides a concrete link between the operational activities of shipping goods and the financial activity of collecting cash.

Why it matters

It connects the sales order to the specific financial transaction for billing, enabling a true end-to-end Order-to-Cash analysis.

Where to get

This is the 'Invoice #' or 'Transaction ID' of the Invoice record created from the Sales Order.

Examples
INV-2001INV-2002INV-2003
Payment Terms
PaymentTerms
The agreed-upon terms for payment of the invoice.
Description

This attribute defines the conditions under which a customer is expected to pay for the goods or services, for example, 'Net 30' or 'Due on Receipt'. These terms are used to calculate the invoice payment due date.

Analyzing by payment terms helps identify which terms are associated with late payments and allows the business to assess the financial impact of its credit policies. It is fundamental for analyzing the 'Payment Terms Adherence Rate' dashboard and understanding cash flow dynamics.

Why it matters

It provides the basis for calculating payment due dates and analyzing customer payment behavior and adherence rates.

Where to get

This is the 'Terms' field on the Sales Order or Invoice transaction record in NetSuite.

Examples
Net 30Net 60Due on receipt
Product Category
ProductCategory
The category of the primary product or service on the sales order.
Description

This attribute classifies the items on the sales order into broader categories, such as 'Hardware', 'Software', or 'Services'. If an order contains multiple categories, a primary category may be assigned based on value or item count.

Analyzing the process by product category can uncover variations in fulfillment paths. For example, services may have a much simpler fulfillment process than physical hardware, which requires picking, packing, and shipping. This segmentation is key to designing category-specific process improvements.

Why it matters

Segmenting the process by product category helps reveal different fulfillment paths and identify category-specific bottlenecks.

Where to get

This information is derived from the 'Item' records linked to the sales order lines. It may require joining with the Item master data to get the category.

Examples
ElectronicsSoftware LicenseConsulting Services
Requested Delivery Date
RequestedDeliveryDate
The delivery date requested by the customer.
Description

This attribute captures the date on which the customer has requested to receive their goods. It serves as a key performance indicator baseline for measuring on-time delivery.

This date is compared against the actual delivery date ('Goods Shipped' timestamp) to calculate the 'On-Time Delivery Rate' KPI. Analyzing the gap between requested and actual delivery dates helps identify systemic issues in forecasting, inventory management, or logistics that prevent the company from meeting customer expectations.

Why it matters

It's the baseline for measuring on-time delivery performance and customer satisfaction.

Where to get

This may correspond to a standard or custom field on the Sales Order record, often named 'Requested Delivery Date' or similar.

Examples
2023-05-202023-06-012023-06-15
Sales Order Status
SalesOrderStatus
The current status of the sales order within its lifecycle.
Description

This attribute indicates the current state of the sales order, such as 'Pending Approval', 'Pending Fulfillment', or 'Billed'. It provides a snapshot of where the order is in the overall process.

While the activity log shows the historical flow, the current status is useful for filtering and focusing on orders that are currently stuck or active. Analyzing cases by their terminal status helps to understand process outcomes, such as whether an order was successfully closed, cancelled, or is still in progress.

Why it matters

It allows for filtering cases by their current state, which is crucial for analyzing open orders and identifying those that are blocked or delayed.

Where to get

This is the 'Status' field on the Sales Order transaction record in NetSuite.

Examples
Pending FulfillmentPending BillingBilledClosed
Total Order Amount
TotalOrderAmount
The total monetary value of the sales order.
Description

This attribute represents the total financial value of the sales order, including all items, taxes, and shipping charges. It is a critical measure of the economic significance of each process instance.

Analyzing the process based on order value can reveal important patterns. For example, high-value orders may follow a different, more manual approval process, while low-value orders may be highly automated. This analysis helps in prioritizing process improvement efforts on the most impactful orders.

Why it matters

Enables value-based analysis, helping to prioritize high-value orders and understand how process efficiency impacts revenue.

Where to get

This is the 'Total' field on the Sales Order transaction record in NetSuite.

Examples
1500.00250.5012500.75
User
User
The user or employee who performed the activity.
Description

This attribute identifies the individual responsible for executing a specific process step, such as the sales representative who created the order or the warehouse operator who packed the goods. It can be a user's name or a unique ID.

Analyzing by user helps to understand workload distribution, identify training needs, and compare performance across individuals or teams. It is crucial for root cause analysis when investigating deviations or delays associated with specific user actions.

Why it matters

It enables performance analysis by employee or role, helping to identify top performers, automation candidates, and training opportunities.

Where to get

This information can be found in fields like 'Created By', 'Modified By', or 'Owner' on various NetSuite transaction records.

Examples
John SmithJane DoeWarehouse User 1
Credit Status
CreditStatus
Indicates the credit hold status of the sales order.
Description

This attribute reflects the customer's credit status at the time of order processing, for example, 'On Hold' or 'Released'. It is a key factor in the early stages of the order lifecycle.

Analyzing this attribute helps in understanding the impact of credit checks on overall order cycle time. The 'Credit Check Cycle Time Analysis' dashboard relies on this data to identify how many orders are placed on hold and how long it takes to release them, highlighting bottlenecks in the credit management process.

Why it matters

Directly impacts the 'Credit Check Cycle Time' KPI and helps explain early-stage delays in the order process.

Where to get

This might be a standard status field or a custom checkbox, e.g., 'Credit Hold', on the Sales Order record. It can also be inferred from the presence of 'Credit Hold Applied' and 'Credit Hold Released' activities.

Examples
GoodOn HoldReleased
Is On Time Delivery
IsOnTimeDelivery
A flag indicating if the order was delivered on or before the requested date.
Description

This calculated boolean attribute compares the 'Goods Shipped' or actual delivery timestamp with the 'RequestedDeliveryDate'. It is true if the delivery was on time or early, and false if it was late.

This flag is essential for calculating the 'On-Time Delivery Rate' KPI and for powering the 'Delivery Promise vs. Reality Gap' dashboard. It simplifies the analysis of delivery performance, allowing for easy filtering and aggregation to find the drivers of late shipments, whether they are specific products, regions, or process bottlenecks.

Why it matters

Provides a clear, binary outcome for delivery performance, simplifying the calculation of KPIs and root cause analysis of late orders.

Where to get

This is calculated during data transformation by comparing the timestamp of the 'Goods Shipped' activity with the 'RequestedDeliveryDate' attribute.

Examples
truefalse
Is On Time Payment
IsOnTimePayment
A flag indicating if the invoice was paid on or before the due date.
Description

This calculated boolean attribute compares the 'Payment Received' timestamp with the 'PaymentDueDate'. It is true if the payment was made on or before the due date, and false otherwise.

This attribute is the foundation for the 'On-Time Payment Rate' KPI and the 'Payment Terms Adherence Rate' dashboard. It provides a clear measure of customer payment behavior, enabling analysis of which customers, regions, or payment terms are most associated with late payments.

Why it matters

Directly measures customer payment discipline, which is critical for cash flow management and assessing credit risk.

Where to get

This is calculated during data transformation by comparing the timestamp of the 'Payment Received' activity with the 'PaymentDueDate' attribute.

Examples
truefalse
Last Data Update
LastDataUpdate
Timestamp of the last data refresh or extraction from the source system.
Description

This attribute indicates when the dataset was last updated. It provides transparency to business users about the freshness of the data they are analyzing, ensuring they understand the time frame covered by the process mining dashboards and analysis.

This is not used for process flow analysis but is a critical metadata element for data governance and user trust. It helps users assess the currency of the insights and know when to expect new data to be reflected.

Why it matters

Informs users about the timeliness of the data, which is essential for making decisions based on the analysis.

Where to get

This timestamp is generated and stamped onto the dataset at the time of data extraction from NetSuite.

Examples
2023-10-27T02:00:00Z
Payment Due Date
PaymentDueDate
The date by which the invoice payment is due.
Description

This attribute is the calculated date by which the customer must make payment, based on the invoice date and the payment terms. For instance, for an invoice dated April 1st with 'Net 30' terms, the due date would be May 1st.

This date is crucial for financial analysis and is directly compared with the 'Payment Received' date to determine if a payment was on time. It is a key component for calculating the 'On-Time Payment Rate' KPI and managing accounts receivable.

Why it matters

This is the benchmark for measuring on-time payment performance, which is critical for managing cash flow and accounts receivable.

Where to get

This is the 'Due Date' field on the Invoice transaction record. It is automatically calculated by NetSuite based on the invoice date and payment terms.

Examples
2023-05-302023-06-152023-07-01
Sales Order Change Count
SalesOrderChangeCount
The number of times a sales order has been changed after its initial creation.
Description

This calculated metric counts the occurrences of 'Sales Order Changed' activities for each case. A high change count indicates rework, which can be caused by customer requests, data entry errors, or pricing adjustments.

This attribute is a direct input for the 'Sales Order Rework Rate' KPI and the 'Sales Order Rework Variants' dashboard. Analyzing the characteristics of orders with high change counts helps to identify the root causes of rework, such as issues with specific products, customers, or sales reps.

Why it matters

Directly quantifies rework, helping to pinpoint sources of inefficiency, data quality issues, and process instability.

Where to get

This is calculated during data transformation by counting the 'Sales Order Changed' events for each 'SalesOrder' case ID.

Examples
013
Sales Order Type
SalesOrderType
The classification of the sales order, such as standard, rush, or special.
Description

This attribute categorizes sales orders based on their type, which often dictates the process path and priority. For example, a 'Rush Order' may bypass certain steps or have stricter SLAs compared to a 'Standard Order'.

Analyzing the process by order type is critical for understanding if different process variants are intentional and effective. It helps evaluate whether special handling procedures for certain order types are actually leading to faster or better outcomes, and at what cost.

Why it matters

Allows for comparing different intended process paths, such as standard vs. rush orders, to see if they perform as expected.

Where to get

This is typically a custom 'Order Type' field on the Sales Order form, as NetSuite uses different transaction forms (e.g., Standard Sales Order, Standard Sales Order - Cash Sale) rather than a single type field by default.

Examples
Standard OrderRush OrderProject Order
Sales Team
SalesTeam
The sales team or group credited with the sales order.
Description

This attribute identifies the team or department responsible for the sale. It is used to organize sales representatives and manage sales territories or product lines.

In process mining, analyzing performance by sales team can uncover best practices from top-performing teams or identify systemic issues affecting a particular team. It can highlight differences in data entry quality, discount approvals, or other upstream factors that impact the downstream fulfillment process.

Why it matters

Enables performance comparison across different sales teams, helping to identify best practices or areas needing support.

Where to get

This may be a standard or custom field on the Sales Order record, often linked to the Sales Rep's employee record.

Examples
North America SalesEMEA EnterpriseAPAC Channel
Shipping Country
ShippingCountry
The destination country for the shipment.
Description

This attribute contains the country to which the order's goods are being shipped. It is derived from the shipping address associated with the sales order.

Geographical analysis based on the shipping country can reveal variations in process performance due to logistics, customs, or regional office efficiency. It allows for comparing shipping times, delivery accuracy, and process costs across different countries or regions.

Why it matters

Enables geographical analysis to identify regional bottlenecks, compare logistics performance, and understand international complexities.

Where to get

This is part of the 'Shipping Address' on the Sales Order transaction record.

Examples
USAGermanyJapan
Source System
SourceSystem
Identifies the system from which the data originated.
Description

This attribute specifies the source application where the event data was generated. For this process, it will typically be 'NetSuite'. In more complex environments, it can help differentiate data coming from various integrated systems, such as a separate CRM or WMS.

In analysis, it helps confirm data lineage and is crucial when blending data from multiple sources to create a single, unified process view. It ensures that data is correctly attributed to its origin, which is important for data governance and troubleshooting.

Why it matters

It provides crucial context about data origin, especially in environments where multiple systems are integrated.

Where to get

This is a static value ('NetSuite') added during the data extraction and transformation process.

Examples
NetSuite
Required Recommended Optional

Order to Cash - Sales Order Processing Activities

These are the key process steps and milestones to capture in your event log for accurate process discovery and analysis.
7 Recommended 7 Optional
Activity Description
Goods Shipped
This milestone marks the moment items have left the warehouse and are on their way to the customer. This is inferred when the status of the 'Item Fulfillment' record is updated to 'Shipped'.
Why it matters

Shipping is a critical handoff point to the carrier and customer. This event is vital for tracking on-time delivery performance and measuring the total order fulfillment lead time.

Where to get

Inferred from the 'Status' field on the linked 'Item Fulfillment' transaction changing to 'Shipped'. The timestamp for this event is the date of this status change.

Capture

Timestamp of status change to 'Shipped' on the Item Fulfillment record.

Event type inferred
Invoice Created
This represents the creation of the financial invoice for the shipped goods or services. It is an explicit event triggered by the creation of an 'Invoice' transaction linked to the sales order.
Why it matters

This activity is a crucial milestone for revenue recognition and marks the start of the payment cycle. The time between shipment and invoicing directly impacts cash flow.

Where to get

This is an explicit event captured from the 'Date Created' field on the Invoice transaction record (Transaction table, Type='CustInvc'), linked back to the Sales Order.

Capture

Use the transaction creation date for the linked Invoice.

Event type explicit
Order Fulfillment Created
This activity marks the start of the physical fulfillment process in the warehouse. It occurs when an 'Item Fulfillment' transaction is generated from the Sales Order.
Why it matters

This is a key milestone linking the sales process to warehouse operations. The time between order approval and fulfillment creation is a key indicator of operational readiness.

Where to get

This is an explicit event. The timestamp is the creation date of the 'Item Fulfillment' record, which is linked back to the source Sales Order.

Capture

Use the transaction creation date for the linked Item Fulfillment record.

Event type explicit
Payment Received
This activity marks the receipt of payment from the customer against an invoice. It is captured when a 'Customer Payment' transaction is created and applied to the invoice associated with the sales order.
Why it matters

As a key terminal event, this activity is vital for analyzing the cash conversion cycle and on-time payment performance. It signifies the successful financial conclusion of a sales transaction.

Where to get

This is an explicit event. The timestamp is the creation date of the 'Customer Payment' transaction (Transaction table, Type='CustPymt') applied to the relevant invoice.

Capture

Use the transaction date from the Customer Payment record applied to the Invoice.

Event type explicit
Sales Order Approved
This milestone signifies that the sales order has passed all internal checks, such as credit and inventory, and is ready for fulfillment. This is usually inferred from the order status changing to 'Pending Fulfillment'.
Why it matters

Approval is a critical gateway in the process. Measuring the time to approval helps identify delays in internal reviews and decision-making.

Where to get

Inferred from a status change on the Sales Order record. The timestamp is captured when the 'Order Status' field is updated to 'Pending Fulfillment' or a similar custom approved status.

Capture

Timestamp of status change to 'Pending Fulfillment' in the Sales Order's system notes.

Event type inferred
Sales Order Closed
This is the final activity, indicating that the sales order is fully fulfilled, invoiced, and considered complete. It is inferred from the sales order's status changing to 'Closed'.
Why it matters

This event signifies the operational end of the order lifecycle. The time from creation to closure provides a complete view of the end-to-end process duration.

Where to get

Inferred from the 'Status' field on the Sales Order transaction changing to 'Closed'. The timestamp is retrieved from the system notes for this final status change.

Capture

Timestamp of status change to 'Closed' in the Sales Order's system notes.

Event type inferred
Sales Order Created
This activity marks the official start of the sales order process. It occurs when a new sales order transaction is saved in NetSuite for the first time, capturing the initial customer request.
Why it matters

This is the primary start event for the Order to Cash process. Analyzing the time from this event to subsequent activities is crucial for measuring overall order processing efficiency and cycle times.

Where to get

This is an explicit event captured from the 'Date Created' field on the Sales Order transaction record (Transaction table, Type='SalesOrd').

Capture

Use the transaction creation date for Sales Orders.

Event type explicit
Credit Hold Applied
This event occurs when a sales order is automatically or manually placed on credit hold, pausing the fulfillment process. This is typically inferred from the order status changing to a 'Pending Approval' or a specific 'Credit Hold' state.
Why it matters

Identifying when and why orders are put on hold is key to understanding delays in the fulfillment cycle. This activity highlights bottlenecks related to customer credit issues.

Where to get

Inferred from the system notes or audit trail on the Sales Order record, specifically looking for changes to the 'Order Status' field to a hold status.

Capture

Identify timestamp when order status changes to a credit hold state.

Event type inferred
Credit Hold Released
Represents the point at which a sales order is released from a credit hold, allowing it to proceed to fulfillment. This is captured by observing a status change from a hold status to an open or approved status.
Why it matters

The duration of credit holds is a critical KPI. This event allows for measuring the time taken to resolve credit issues and its impact on the overall order-to-cash cycle.

Where to get

Inferred from the system notes or audit trail on the Sales Order record, capturing the timestamp when the 'Order Status' changes from a hold status.

Capture

Identify timestamp when order status changes from a credit hold state to an active state.

Event type inferred
Credit Memo Created
This event occurs when a credit memo is issued against a sales order or invoice, typically for returns, price adjustments, or other concessions. It is captured when a 'Credit Memo' transaction is created.
Why it matters

Credit memos often represent process failures like shipping errors or product defects. Analyzing their frequency and timing helps identify root causes and improve overall quality.

Where to get

This is an explicit event based on the creation of a 'Credit Memo' transaction (Transaction table, Type='CredMemo'), which can be linked back to the original invoice or sales order.

Capture

Use the transaction creation date for the linked Credit Memo.

Event type explicit
Goods Packed
Signifies that the picked items have been packed and are ready for shipment. This is captured by tracking the status change on the 'Item Fulfillment' record to 'Packed'.
Why it matters

This activity helps measure the efficiency of the packing station. The duration between picking and packing can reveal capacity constraints or process inefficiencies.

Where to get

Inferred from the 'Status' field on the linked 'Item Fulfillment' transaction changing to 'Packed'. The timestamp is recorded from the system notes for this update.

Capture

Timestamp of status change to 'Packed' on the Item Fulfillment record.

Event type inferred
Goods Picked
Indicates that the items for the order have been picked from their warehouse locations. This is an inferred event based on the status change of the associated 'Item Fulfillment' record.
Why it matters

Analyzing the time taken to pick goods is essential for optimizing warehouse efficiency. This activity helps measure and identify bottlenecks in the picking process.

Where to get

Inferred from the 'Status' field on the linked 'Item Fulfillment' transaction changing to 'Picked'. The timestamp is taken from the system notes for this status change.

Capture

Timestamp of status change to 'Picked' on the Item Fulfillment record.

Event type inferred
Inventory Committed
This event marks when inventory is officially reserved for a sales order, ensuring it is available for fulfillment. This is inferred by observing changes to the 'Committed Quantity' on the sales order lines.
Why it matters

This activity is crucial for analyzing inventory allocation efficiency. Delays between order approval and inventory commitment can lead to stockouts and impact delivery promises.

Where to get

Inferred from the system notes for the Sales Order's line items. The timestamp corresponds to when the 'Quantity Committed' field is updated from zero to a positive value.

Capture

Timestamp of change in the 'Quantity Committed' field on order lines.

Event type inferred
Sales Order Changed
This activity captures any significant modification to a sales order after it has been created, such as changes to quantity, items, or pricing. It is captured by tracking updates in the system notes or audit trail.
Why it matters

Frequent changes can indicate data entry errors or unstable customer demand, leading to rework and process inefficiencies. Tracking these changes helps identify the root causes of order modifications.

Where to get

Derived from the system notes or audit trail associated with the Sales Order transaction. Each logged change to a relevant field can be treated as an instance of this activity.

Capture

Identify field changes in the Sales Order system notes after initial creation.

Event type inferred
Recommended Optional

Extraction Guides

How to get your data from NetSuite