Your Order to Cash - Billing & Invoicing Data Template

Microsoft Dynamics 365
Your Order to Cash - Billing & Invoicing Data Template

Your Order to Cash - Billing & Invoicing Data Template

This template provides a clear roadmap for collecting the essential data points needed to analyze your Order to Cash - Billing & Invoicing process. You will find recommended attributes to include in your event log, key activities to track, and practical guidance on extracting this information. It is designed to help you quickly set up your data for insightful process mining.
  • Recommended attributes to collect
  • Key activities to track
  • Extraction guidance for Microsoft Dynamics 365
New to event logs? Learn how to create a process mining event log.

Order to Cash - Billing & Invoicing Attributes

These are the recommended data fields to include in your event log for comprehensive Order to Cash - Billing & Invoicing analysis.
3 Required 6 Recommended 9 Optional
Name Description
Invoice Number
InvoiceNumber
The unique identifier for each customer invoice, serving as the primary case identifier for the billing process.
Description

The Invoice Number is the central key that groups all activities related to a single billing document. It allows for a complete, end-to-end analysis of the invoice lifecycle, from generation and approval to customer payment and final closure. By using this as the Case ID, every event log entry corresponds to a specific invoice, enabling detailed variant analysis, cycle time calculation, and performance monitoring for each billing transaction.

Why it matters

This attribute is essential for tracking the entire lifecycle of an invoice, enabling the analysis of process efficiency, bottlenecks, and deviations for each individual billing document.

Where to get

This is typically found in the Sales and marketing module, within tables like CustInvoiceJour (field InvoiceId) or exposed through data entities like SalesInvoiceHeaderV2.

Examples
CIV-001254INV-2023-9876US-004321
Activity Name
ActivityName
The name of the business activity or event that occurred at a specific point in the invoice lifecycle.
Description

This attribute describes a specific step or milestone within the billing process, such as 'Invoice Generated', 'Invoice Approved', or 'Customer Payment Received'. The sequence of these activities forms the process flow. Analyzing the activities is fundamental to process mining, as it allows for the discovery of process models, identification of variants, and measurement of performance between different steps.

Why it matters

It defines the steps in the process, allowing for the visualization of process maps, analysis of process variants, and identification of bottlenecks or deviations from the standard procedure.

Where to get

This attribute is typically derived from multiple sources, such as status change fields (e.g., DocumentState), specific date fields being populated, or workflow history logs within Microsoft Dynamics 365.

Examples
Invoice GeneratedInvoice ApprovedCustomer Payment ReceivedCredit Note Issued
Event Time
EventTime
The precise timestamp indicating when a specific activity or event occurred.
Description

Event Time, also known as the timestamp, records the exact date and time for each activity in the process. This data is critical for all time-based process mining analyses. It is used to calculate cycle times between activities, measure the total duration of a case, and understand process performance over time. Accurate and reliable timestamps are the foundation for KPIs like Days Sales Outstanding and Invoice Generation Time.

Why it matters

This is the foundational attribute for all performance and time-related analysis, enabling the calculation of cycle times, durations, and throughput to measure process efficiency.

Where to get

Timestamps are sourced from various date and time fields across different tables in Dynamics 365, such as CreatedDateTime on the CustInvoiceJour table for invoice generation, or specific workflow history timestamps.

Examples
2023-04-15T10:22:15Z2023-05-01T14:05:00Z2023-05-10T09:00:30Z
Customer Name
CustomerName
The name of the customer to whom the invoice was issued.
Description

The customer name provides a human-readable identifier for the business or individual being billed. In process mining analysis, this allows for segmenting the billing process by customer. This can reveal which customers consistently pay on time, which ones are frequently late, or if certain customer groups experience unique process variations or delays. It is key for dashboards related to customer payment behavior and Days Sales Outstanding analysis.

Why it matters

This allows for process analysis to be segmented by customer, helping to identify customer-specific behaviors, payment patterns, or process issues.

Where to get

This information is retrieved by joining the invoice data with the customer master data table, typically CustTable, based on the customer account number.

Examples
Contoso Ltd.Fabrikam, Inc.Northwind Traders
Department
Department
The business department associated with the user or the activity.
Description

This attribute assigns an activity or user to a specific organizational department, such as 'Accounts Receivable' or 'Sales'. It allows for a higher-level view of process performance than the individual user level. Analyzing by department helps in understanding cross-functional handoffs, comparing efficiency between teams, and identifying department-level bottlenecks, as required by the 'Billing Department Activity Load' dashboard.

Why it matters

Allows for performance analysis at an organizational level, comparing efficiency across different teams and understanding how inter-departmental handoffs impact the process.

Where to get

This is typically not a direct field on the invoice transaction. It is derived by joining the UserResponsible ID with the employee or user directory which contains department information.

Examples
Accounts ReceivableFinanceBilling Operations
Invoice Amount
InvoiceAmount
The total monetary value of the invoice.
Description

This attribute represents the total amount due on the invoice. It is a critical metric for financial analysis, allowing for the segmentation of invoices by value. For example, analysts can focus on high-value invoices to understand their payment behaviors or identify if larger invoices face longer approval times. It's also fundamental for calculating the total value of outstanding invoices and for DSO calculations.

Why it matters

It enables financial impact analysis, allowing you to filter and segment processes by monetary value to prioritize high-value invoices and understand their specific process behaviors.

Where to get

Found in the CustInvoiceJour table, typically in a field like InvoiceAmount. Also available in related transaction tables.

Examples
5430.5012500.00750.25
Invoice Status
InvoiceStatus
The current status of the invoice in its lifecycle (e.g., Open, Paid, Canceled).
Description

This attribute provides a snapshot of where the invoice currently stands. It indicates whether an invoice is still awaiting payment, has been fully paid, is overdue, or has been canceled via a credit note. This is useful for filtering cases to analyze only open invoices or to confirm the final outcome of a closed invoice. It helps in understanding the current workload and the financial state of receivables.

Why it matters

Provides a quick snapshot of the invoice's current state, which is useful for filtering cases and understanding the outcomes of different process variants.

Where to get

This can be derived from the payment status of the invoice, often by checking if the balance on the related CustTrans record is zero. There isn't always a single 'status' field.

Examples
OpenPaidOverdueCanceled
Payment Due Date
PaymentDueDate
The date by which the customer is expected to pay the invoice.
Description

The Payment Due Date is a critical date field calculated based on the invoice date and the customer's payment terms. It serves as the baseline for measuring payment timeliness. This attribute is essential for the 'Payment Terms Adherence Analysis' dashboard and for calculating KPIs like 'On-Time Payment Rate' and 'Days Sales Outstanding'. Comparing this date with the actual payment date reveals customer payment behavior and the effectiveness of the collections process.

Why it matters

This is the benchmark for measuring payment performance. It's essential for calculating on-time payment rates and analyzing adherence to customer payment terms.

Where to get

This is typically found in the CustInvoiceJour table in a field like DueDate.

Examples
2023-05-152023-06-302023-07-01
User Responsible
UserResponsible
The user or employee responsible for executing a specific activity.
Description

This attribute identifies the individual who performed a particular task in the billing process, such as approving an invoice or applying cash. It is crucial for workload analysis, performance comparison, and identifying training needs. For example, the 'Billing Department Activity Load' dashboard relies on this attribute to see if work is distributed evenly or if certain users are bottlenecks. It also helps in understanding resource allocation and efficiency.

Why it matters

It enables resource-level analysis, helping to identify bottlenecks, measure individual or team performance, and analyze workload distribution across the billing department.

Where to get

This can be sourced from workflow history logs (e.g., WorkflowTrackingStatusTable) or ownership fields like Owner or ModifiedBy on relevant tables.

Examples
John SmithAlicia BakerSystem Administrator
Currency
Currency
The currency code for the invoice amount (e.g., USD, EUR).
Description

This attribute specifies the currency in which the invoice amount is denominated. It is essential for multi-national organizations that deal with different currencies. Without this context, aggregating or comparing invoice amounts would be meaningless. It allows for proper currency conversion and accurate financial reporting and analysis across different regions.

Why it matters

It provides essential context for any financial metrics like Invoice Amount, preventing incorrect aggregations and enabling accurate analysis in multi-currency environments.

Where to get

Found in the CustInvoiceJour table, typically in a field like CurrencyCode.

Examples
USDEURGBP
Days Sales Outstanding
DaysSalesOutstanding
The number of days between invoice generation and receiving customer payment.
Description

Days Sales Outstanding (DSO) is a key financial metric that measures the average number of days it takes for a company to collect payment after a sale has been made. This calculated attribute computes this duration for each individual invoice. It is the primary metric for the 'Days Sales Outstanding Trend Analysis' dashboard and the 'DSO' KPI. Analyzing DSO helps in managing cash flow and evaluating the efficiency of the credit and collections function.

Why it matters

This is a critical KPI for measuring the health of a company's cash flow and the efficiency of its collections process. It quantifies how quickly revenue is converted to cash.

Where to get

This attribute is not in the source system. It is calculated as the duration between the 'Invoice Generated' activity and the 'Customer Payment Received' activity.

Examples
284592
Is On-Time Payment
IsOnTimePayment
A flag indicating if the customer payment was received on or before the due date.
Description

This calculated boolean attribute compares the 'Customer Payment Received' timestamp with the 'Payment Due Date'. It flags each invoice as either paid on time or late. This is the core component for calculating the 'On-Time Payment Rate' KPI and is used heavily in the 'Payment Terms Adherence Analysis' dashboard. It provides a clear, binary outcome for payment performance, simplifying analysis and reporting.

Why it matters

Directly measures customer adherence to payment terms and is the basis for the On-Time Payment Rate KPI, simplifying the analysis of collection effectiveness.

Where to get

This attribute is not in the source system. It is calculated during data transformation by comparing the payment date to the PaymentDueDate.

Examples
truefalse
Is Rework
IsRework
A flag indicating if the invoice process involved rework activities, such as multiple approvals.
Description

This is a calculated boolean attribute that flags invoices that have undergone rework. Rework can be defined as having multiple 'Invoice Approved' events or reversals of payments. This attribute is specifically designed to support the 'Invoice Rework Analysis' dashboard and the 'Invoice Rework Rate' KPI. By isolating these cases, analysts can investigate the root causes of rework, which often point to process inefficiencies, data quality issues, or training gaps.

Why it matters

This flag directly quantifies process inefficiency by identifying cases with repetitive or corrective actions, helping to pinpoint root causes of waste and delay.

Where to get

This attribute is not available in the source system. It is calculated in the data transformation layer by checking for repeated activities or specific rework patterns within a case.

Examples
truefalse
Last Data Update
LastDataUpdate
The timestamp indicating the last time the data for this event was refreshed from the source system.
Description

This attribute records when the data was last extracted or updated from Microsoft Dynamics 365. It is a metadata field that is crucial for understanding the freshness of the data being analyzed. This helps analysts and business users know if they are looking at the most current information and is vital for managing data refresh schedules and ensuring the reliability of the analysis.

Why it matters

It ensures users understand the recency of the data, which is critical for data governance, dashboard refresh management, and trusting the timeliness of the insights.

Where to get

This attribute is generated and stamped onto the dataset during the data extraction, transformation, and loading (ETL) process.

Examples
2023-06-20T05:00:00Z2023-06-21T05:00:00Z
Payment Terms
PaymentTerms
The agreed-upon conditions for invoice payment (e.g., Net 30, Net 60).
Description

Payment Terms define the rules for when a customer is expected to pay an invoice. This attribute is used to calculate the Payment Due Date and is a key dimension for analyzing payment behavior. The 'Payment Terms Adherence Analysis' dashboard uses this attribute to group customers and invoices to see if certain payment terms are more or less effective or are associated with higher rates of late payments.

Why it matters

It provides context for why an invoice is due on a certain date and allows for segmenting analysis to see if certain payment terms correlate with late payments.

Where to get

This is typically stored on the customer master record but copied to the invoice header. Look for a Payment or PaymTermId field on the CustInvoiceJour table.

Examples
Net 30Net 60Due on receipt
Requires Manual Intervention
RequiresManualIntervention
A flag indicating if a payment required manual adjustment during cash application.
Description

This boolean attribute flags payments that needed manual intervention or correction during the cash application process. This is key for the 'Cash Application Discrepancy Rate' KPI, as it helps quantify the accuracy and automation level of payment posting. Identifying the reasons for manual intervention, such as missing remittance information or payment discrepancies, can lead to process improvements that increase straight-through processing rates.

Why it matters

This attribute helps identify process friction and inaccuracies in the cash application step, which is crucial for improving automation and reducing manual effort.

Where to get

This information might be inferred from the user who posted the payment (if it's not a system user) or from specific reason codes used during payment reconciliation. Consult Microsoft Dynamics 365 documentation.

Examples
truefalse
Sales Order Number
SalesOrderNumber
The identifier of the sales order that originated the invoice.
Description

The Sales Order Number links the billing process back to the preceding sales process. This connection is invaluable for broader, end-to-end Order-to-Cash analysis. It allows analysts to investigate how issues in the sales and fulfillment process, such as order changes or shipping delays, might impact the billing cycle. For example, it can help answer questions like 'Do invoices from complex sales orders take longer to get paid?'.

Why it matters

This attribute connects the billing process to the upstream sales process, enabling a more comprehensive end-to-end Order-to-Cash analysis to identify root causes of billing issues.

Where to get

Found on the invoice header or line details, linking back to the sales order. Look for a field like SalesId on the CustInvoiceJour table.

Examples
SO-009876SO-010234US-SO-00543
Source System
SourceSystem
The system from which the data was extracted.
Description

This attribute identifies the origin of the process data. In this context, it specifies that the data comes from Microsoft Dynamics 365. This is important in multi-system environments to differentiate data sources and ensure data lineage is clear, which aids in data validation and troubleshooting.

Why it matters

It provides crucial context about data origin, which is essential for data governance, validation, and when merging data from multiple enterprise systems.

Where to get

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

Examples
Microsoft Dynamics 365 FinanceD365 F&O
Required Recommended Optional

Order to Cash - Billing & Invoicing Activities

These are the key process steps and milestones to capture in your event log for accurate process discovery and analysis.
7 Recommended 5 Optional
Activity Description
Cash Applied to Invoice
Represents the settlement of a customer payment against a specific invoice, reducing the invoice's outstanding balance. This is a distinct step in Dynamics 365 that links the payment transaction to the invoice transaction.
Why it matters

This is a critical milestone for accurately calculating DSO and understanding the efficiency of the cash application team. It marks the point where the payment is fully reconciled with what was billed.

Where to get

Recorded in the CustSettlement table. The settlement date field on this table provides the timestamp for when a specific payment was applied to a specific invoice transaction.

Capture

Use the TransDate or CreatedDateTime from the CustSettlement table.

Event type explicit
Customer Payment Received
This activity marks the creation of a journal entry to record a payment received from a customer. It signifies that cash has been received, but it has not yet been applied to a specific invoice.
Why it matters

This is the starting point for measuring the cash application lead time. It differentiates between receiving the money and actually reconciling it against outstanding invoices.

Where to get

Captured from the creation or posting of a customer payment journal. This is recorded in tables like LedgerJournalTrans, which then creates a customer transaction in CustTrans upon posting.

Capture

Use the posting timestamp of the customer payment journal from LedgerJournalTable.

Event type explicit
Invoice Approved
Marks the completion of the internal review process, where the invoice is formally approved. This event is logged by the Dynamics 365 workflow system and signifies that the invoice is ready to be sent to the customer.
Why it matters

This is a key milestone for measuring the approval cycle time. Delays at this stage can directly increase the overall time to receive payment from the customer.

Where to get

Recorded in the workflow history tables, such as WorkflowTrackingStatusTable, as a completion or approval step for the specific invoice workflow instance.

Capture

Extract workflow event logs where the status is 'Approved' or 'Completed'.

Event type explicit
Invoice Closed
This activity marks the final state of an invoice, where its balance is zero as it has been fully paid or settled with credit notes. This is not a direct transaction but an inferred state based on the invoice's financial status.
Why it matters

This event signifies the successful completion of the Order to Cash cycle for a single invoice. The time taken to reach this state is a primary measure of the process's overall efficiency.

Where to get

Inferred by checking if the invoice transaction in the CustTrans table has a remaining balance of zero. This is determined by comparing the invoice amount to the total settled amount against it.

Capture

Derive from CustTrans records where AmountCur equals SettleAmountCur. The timestamp is the date of the last settlement.

Event type inferred
Invoice Generated
Represents the creation and posting of the sales invoice document in the system. This is an explicit transaction in Dynamics 365 that creates a legal document and financial entries in the accounts receivable subledger.
Why it matters

This is the official start of the billing lifecycle for an invoice. It is a critical event for tracking Days Sales Outstanding (DSO) and overall process duration.

Where to get

Captured from the creation timestamp of the posted sales invoice record in the CustInvoiceJour table. The corresponding financial transactions are created in the GeneralJournalEntry and LedgerEntry tables upon posting.

Capture

Use the CreatedDateTime field from the CustInvoiceJour table for the posted invoice.

Event type explicit
Invoice Sent to Customer
This activity represents the moment the invoice was transmitted to the customer, either electronically or physically. In Dynamics 365, this can be an explicit event if sent via system email, or inferred to occur at the time of posting if no specific tracking is enabled.
Why it matters

Measures the efficiency of the invoice delivery process. A delay between approval and sending the invoice unnecessarily extends the payment cycle.

Where to get

Can be explicitly captured from email logs like SysOutgoingEmailTable if using D365's email capabilities. Otherwise, it is often inferred to be the same as the invoice posting time from CustInvoiceJour.

Capture

Use email log timestamp if available; otherwise, use the invoice posting timestamp.

Event type inferred
Payment Due Date Reached
A calculated event that occurs when the invoice's due date is reached without a payment being fully applied. This activity does not correspond to a transaction in the system but is derived from existing data.
Why it matters

This event is crucial for analyzing on-time payment rates and identifying invoices that are becoming overdue. It acts as a trigger point for collection and dunning activities.

Where to get

This is not recorded as an event. It is calculated by using the DueDate field from the CustInvoiceJour table. The event timestamp is the due date itself.

Capture

Create an event where the timestamp is the value of the CustInvoiceJour.DueDate field.

Event type calculated
Credit Note Issued
Represents the creation of a credit note or credit memo, typically to correct a billing error, grant a price adjustment, or account for returned goods. A credit note is essentially a negative invoice.
Why it matters

Frequent credit notes can indicate systemic issues in the order fulfillment or billing process. Analyzing why credit notes are issued is key to process improvement and reducing revenue leakage.

Where to get

This is an explicit transaction, recorded as a new posted invoice with a negative amount in the CustInvoiceJour table. It is often linked to the original invoice via a reference field.

Capture

Identify records in CustInvoiceJour with a negative total amount and link them to the original invoice.

Event type explicit
Invoice Submitted for Approval
This activity indicates that a generated invoice has been submitted into a formal approval workflow. This is common in organizations with controls requiring management review before an invoice is sent to a customer. This is logged as a specific step in the D365 workflow engine.
Why it matters

Tracking submission for approval helps separate the invoice creation time from the approval waiting time. It is the first step in analyzing the efficiency of the internal review and control processes.

Where to get

Captured from the workflow history tables, such as WorkflowTrackingStatusTable, by filtering for the submission event related to the invoice document.

Capture

Extract workflow event logs where the status is 'Submitted'.

Event type explicit
Payment Reminder Issued
Represents the sending of a dunning letter or collection notice to a customer regarding an overdue invoice. Dynamics 365 has a formal dunning process that generates and logs these communications.
Why it matters

Tracking reminders helps evaluate the effectiveness of the dunning process. It allows for analysis of how many reminders are needed before a payment is received.

Where to get

This is an explicit event captured from the creation date of the collection letter journal in the CustCollectionLetterJour table, which is linked to the overdue invoice transaction.

Capture

Use the creation timestamp from the CustCollectionLetterJour table.

Event type explicit
Payment Reversed
This activity signifies the reversal of a previously posted customer payment. This occurs due to errors such as incorrect posting, non-sufficient funds, or other payment failures.
Why it matters

Payment reversals highlight operational errors or issues with customer payments. Analyzing their frequency helps identify root causes and improve the accuracy of the cash application process.

Where to get

Captured as a transaction reversal in the general ledger. A reversed journal can be identified in GeneralJournalEntry, often with a specific flag or by its relationship to the original transaction.

Capture

Identify journal entries with a reversal flag or a reference to a reversed transaction.

Event type explicit
Sales Order Fulfilled
This activity marks the point where goods have been shipped or services rendered for a sales order, triggering the billing process. It is typically inferred from the posting of a packing slip or delivery note in Microsoft Dynamics 365, which changes the status of the related sales order lines.
Why it matters

This event serves as the starting point for measuring the invoice generation cycle time. Understanding the delay between fulfillment and invoicing helps identify administrative bottlenecks that can impact cash flow.

Where to get

Inferred from the creation date of a packing slip journal entry linked to the sales order. This involves tables such as CustPackingSlipJour and CustPackingSlipTrans, which are related to the sales order that the invoice is based on.

Capture

Identify the latest packing slip posting date for the sales order associated with the invoice.

Event type inferred
Recommended Optional

Extraction Guides

How to get your data from Microsoft Dynamics 365