Data Template: Accounts Payable Invoice Processing
Your Accounts Payable Invoice Processing Data Template
- Recommended attributes to collect
- Key activities to track
- Extraction guidance
Accounts Payable Invoice Processing Attributes
| Name | Description | ||
|---|---|---|---|
|
Invoice
Invoice
|
The unique identifier for each vendor invoice document. | ||
|
Description
The Invoice serves as the primary case identifier, linking all activities from the moment an invoice is received until its final payment. This allows for an end-to-end analysis of each individual invoice's journey through the Accounts Payable process. In analysis, grouping events by this identifier is the first step to reconstruct the process flow for each invoice. It enables the calculation of case-level KPIs like total cycle time and helps in identifying variants and bottlenecks specific to individual invoice journeys.
Why it matters
This is the essential key to trace the entire lifecycle of an invoice, making it the foundation for all process mining analysis in Accounts Payable.
Where to get
This is typically the Vendor Invoice Number from the 'Vendor invoice' page or related data entities in Dynamics 365 Finance.
Examples
INV-00125475000921DE-8832-2023
|
|||
|
Activity
ActivityName
|
The name of the business process step that was performed. | ||
|
Description
This attribute records the specific action or event that occurred at a point in time for an invoice, such as 'Invoice Registered' or 'Invoice Approved'. These activities form the nodes in the discovered process map. Analyzing the sequence and frequency of activities is fundamental to process mining. It helps visualize the process flow, identify common and rare paths (variants), and pinpoint activities that cause delays or rework.
Why it matters
Activities define the 'what' in the process, allowing for the construction of a process map and the analysis of process flow and variations.
Where to get
This is often derived from status changes, workflow history logs, or document posting records within the Dynamics 365 AP module.
Examples
Invoice RegisteredInvoice ApprovedDiscrepancy ResolvedPayment Executed
|
|||
|
Start Time
EventTime
|
The timestamp indicating when an activity or event occurred. | ||
|
Description
This attribute provides the date and time for each activity, which is essential for ordering events chronologically and calculating durations. It forms the time-based backbone of the event log. In analysis, the Start Time is used to calculate all time-related metrics, including cycle times between activities, waiting times, and overall case duration. It is critical for identifying bottlenecks and measuring process performance against SLAs.
Why it matters
This timestamp is crucial for sequencing events correctly and calculating all performance metrics, such as cycle times and bottlenecks.
Where to get
Retrieved from creation or modification date fields on transaction records, workflow history logs, or posting date fields in Dynamics 365.
Examples
2023-04-15T09:00:12Z2023-04-18T14:35:00Z2023-05-02T11:21:45Z
|
|||
|
Invoice Amount
InvoiceAmount
|
The total monetary value of the invoice. | ||
|
Description
Represents the total amount due on the vendor invoice. This is a critical financial metric for each case. This attribute allows for financial analysis of the AP process. It can be used to prioritize high-value invoices, analyze approval times based on amount thresholds, and understand the financial impact of payment delays or early payment discounts.
Why it matters
Provides financial context, enabling analysis of process behavior based on monetary value, such as identifying if high-value invoices are processed differently.
Where to get
Located in the vendor invoice header, often in fields like 'InvoiceAmount' in 'VendInvoiceInfoTable'.
Examples
1500.75250.0012345.50
|
|||
|
Invoice Due Date
InvoiceDueDate
|
The date by which the invoice payment is due, as calculated from the payment terms. | ||
|
Description
This date indicates the deadline for paying the invoice to avoid penalties and comply with vendor agreements. It is usually calculated based on the invoice date and the specified payment terms. This attribute is essential for the 'Payment Terms Compliance' analysis. By comparing the 'Payment Executed' date against the 'Invoice Due Date', the analysis can automatically flag late payments, calculate compliance rates, and help prioritize payments to maintain good vendor relationships.
Why it matters
Crucial for measuring on-time payment performance, managing supplier relationships, and avoiding late payment fees.
Where to get
Calculated field based on invoice date and payment terms. Stored in fields like 'DueDate' in vendor transaction tables (e.g., 'VendTrans').
Examples
2023-05-152023-06-302023-07-01
|
|||
|
Payment Terms
PaymentTerms
|
The agreed-upon terms for invoice payment with the vendor. | ||
|
Description
This attribute defines the conditions under which a vendor invoice should be paid, such as 'Net 30' (due in 30 days) or '2/10 Net 30' (a 2% discount if paid in 10 days, otherwise due in 30 days). Analyzing by payment terms helps understand how different agreements affect payment timeliness and cash flow. It is the basis for identifying early payment discount opportunities and segmenting compliance analysis to see if certain terms are harder to meet.
Why it matters
Defines payment deadlines and discount opportunities, directly impacting cash flow management and cost savings.
Where to get
Found on the vendor master data or specified on the purchase order/invoice header. Stored in fields like 'PaymTermId'.
Examples
Net 30Net 602/10 Net 30
|
|||
|
Purchase Order Number
PurchaseOrderNumber
|
The unique identifier for the purchase order associated with the invoice. | ||
|
Description
This attribute links the invoice to its corresponding purchase order (PO). Invoices can be PO-backed or non-PO. Analyzing this attribute helps differentiate between PO-based and non-PO-based invoice processing, which often follow different workflows. It's essential for measuring the efficiency of PO matching and identifying issues that arise when invoice details do not align with the purchase order.
Why it matters
Distinguishes between PO and non-PO invoices, which follow different processes, and is essential for analyzing matching efficiency.
Where to get
Found on the vendor invoice header or lines, typically in a field named 'PurchId' on 'VendInvoiceInfoTable'.
Examples
PO-000432PO-000511
|
|||
|
User
UserName
|
The user who executed the activity. | ||
|
Description
Identifies the specific user responsible for completing a process step, such as registering an invoice or approving it. This is often linked to the user's system ID in Dynamics 365. Analyzing performance by user helps identify training needs, high-performers, and workload distribution. It is essential for dashboards that focus on approval times and resource efficiency, allowing managers to see which users or teams are bottlenecks.
Why it matters
Attributes work to specific individuals, enabling analysis of workload, performance, and identification of training opportunities.
Where to get
Typically found in 'Created by' or 'Modified by' fields on transactions, or from the workflow history logs in Dynamics 365.
Examples
j.doea.smithr.williams
|
|||
|
Vendor
VendorName
|
The name of the supplier or vendor who submitted the invoice. | ||
|
Description
This attribute identifies the vendor associated with the invoice. Vendor data often includes details like name, ID, and category. Analyzing the AP process by vendor can reveal which suppliers consistently submit problematic invoices (e.g., those with frequent discrepancies), which ones have special payment terms, and which are associated with long processing cycles. This insight can be used to improve supplier relationships and collaboration.
Why it matters
Allows for segmenting the process to identify vendor-specific issues, such as frequent discrepancies or payment delays.
Where to get
Linked from the vendor invoice header, typically from the 'VendTable' data entity based on the vendor account number.
Examples
Contoso LtdFabrikam IncNorthwind Traders
|
|||
|
Approver
ApproverName
|
The user who approved or rejected the invoice at a specific step. | ||
|
Description
This attribute identifies the individual responsible for an approval decision in the workflow. For invoices with multi-level approvals, there may be different approvers for different steps. It is essential for the 'Invoice Approval Cycle Time Analysis' dashboard. The analysis can be broken down by approver to identify individuals who may be bottlenecks in the process, either due to workload or other factors. This allows for targeted interventions to speed up the approval cycle.
Why it matters
Enables detailed analysis of the approval process, helping to identify bottlenecks at the individual or team level.
Where to get
Extracted from the workflow history logs ('WorkflowTrackingStatusTable'), which record the user who completed each approval step.
Examples
David ChenMaria GarciaAP_Manager_Group
|
|||
|
Company Code
CompanyCode
|
The identifier for the legal entity processing the invoice. | ||
|
Description
This attribute identifies the specific company or legal entity within the organization that is responsible for the invoice. In multi-company setups, this is a critical organizational dimension. Analyzing the AP process by Company Code allows for performance comparison between different business units or legal entities. It helps identify if certain entities are less efficient, have higher rework rates, or follow different process variants, highlighting opportunities for standardization and best-practice sharing.
Why it matters
Enables performance benchmarking and process comparison across different legal entities or business units within the organization.
Where to get
A standard field on almost all transactional tables in Dynamics 365, typically named 'DataAreaId'.
Examples
USMFDEMFGBSI
|
|||
|
Discount Due Date
EarlyPaymentDiscountDate
|
The deadline to pay the invoice to be eligible for an early payment discount. | ||
|
Description
This attribute specifies the last day an invoice can be paid to receive the vendor's offered discount. It is derived from the invoice date and the discount portion of the payment terms (e.g., the '10' in '2/10 Net 30'). This date is the primary driver for the 'Early Payment Discount Status' analysis. By comparing the 'Payment Scheduled' or 'Payment Executed' date to this deadline, the system can determine whether a discount was successfully captured, providing clear metrics on financial optimization.
Why it matters
Defines the target date for capturing cost savings, making it a key driver for payment prioritization and efficiency improvements.
Where to get
Calculated by the system based on payment terms and invoice date. Stored in fields like 'CashDiscDate' in 'VendTrans'.
Examples
2023-04-252023-05-102023-06-15
|
|||
|
Discrepancy Reason
DiscrepancyReason
|
The reason code or description for an invoice discrepancy. | ||
|
Description
When an invoice is put on hold or a discrepancy is identified, this attribute captures the reason, such as 'Price Mismatch', 'Quantity Difference', or 'Missing Goods Receipt'. This attribute is key to the 'Discrepancy Resolution & Rework' analysis. By categorizing rework based on the reason, the analysis can identify the root causes of process inefficiencies. For example, if 'Price Mismatch' is the most common reason, it points to a need for better data alignment between purchasing and vendors.
Why it matters
Provides the root cause for rework, enabling targeted process improvements to reduce exceptions and manual intervention.
Where to get
May be stored in invoice hold tables, workflow comments, or specific discrepancy logging fields within the AP module.
Examples
Price MismatchQuantity DifferenceInvalid PO
|
|||
|
Early Pmt Discount Amount
EarlyPaymentDiscountAmount
|
The potential discount amount if the invoice is paid early. | ||
|
Description
This attribute shows the monetary value of the discount offered by the vendor for early payment, as defined by the payment terms. This financial data is critical for the 'Early Payment Discount Status' dashboard. It allows the business to quantify the value of discounts captured versus those missed, providing a clear financial incentive for improving the efficiency of the invoice approval and payment scheduling processes.
Why it matters
Quantifies the financial opportunity of process efficiency, providing a direct link between process performance and cost savings.
Where to get
Calculated field based on invoice amount and payment terms. This value is available in tables like 'VendTrans' or related cash discount fields.
Examples
30.015.00246.91
|
|||
|
Goods Receipt Number
GoodsReceiptNumber
|
The identifier for the goods receipt document related to the invoice. | ||
|
Description
This attribute links the invoice to the record of received goods or services, which is necessary for three-way matching (PO, Goods Receipt, and Invoice). This is essential for analyzing the matching efficiency of the process. Delays or failures in 'Goods Receipt Matched' activities can be investigated using this identifier to trace back to the source receipt document, helping to identify issues in the procurement or receiving steps that impact accounts payable.
Why it matters
Facilitates analysis of three-way matching efficiency and helps pinpoint issues originating in the goods receiving process.
Where to get
Linked via the purchase order lines, often found in packing slip journals ('VendPackingSlipJour') or related tables.
Examples
GRN-00981GRN-01024
|
|||
|
Invoice Processing Time
InvoiceProcessingTime
|
The total cycle time for an invoice from receipt to payment. | ||
|
Description
This metric represents the total elapsed time for an invoice case, typically calculated from the timestamp of the first activity (e.g., 'Invoice Registered') to the timestamp of a terminal activity (e.g., 'Payment Executed'). This is a primary KPI ('Average Invoice Cycle Time') for measuring overall process efficiency. Analyzing this duration helps to identify systemic delays and provides a high-level benchmark for process improvement initiatives. It can be sliced by dimensions like vendor or company code to find areas with the longest cycle times.
Why it matters
Directly measures end-to-end process efficiency and serves as a key performance indicator for monitoring overall AP health.
Where to get
This is not a source system field. It is calculated in the process mining tool by taking the difference between the timestamps of the first and last events of a case.
Examples
15 days 4 hours3 days 11 hours32 days 1 hour
|
|||
|
Invoice Status
InvoiceStatus
|
The current processing status of the invoice. | ||
|
Description
This attribute reflects the last known state of an invoice in the process, such as 'In Progress', 'Approved', 'Paid', or 'Cancelled'. It provides a snapshot of the invoice's position in its lifecycle. While process mining derives the flow from activities, having the final status is useful for validation and for creating business-level dashboards that summarize the current state of all open invoices. It can be used to filter for all invoices that are currently 'Approved' but not yet 'Paid'.
Why it matters
Provides a high-level summary of the invoice's current state, useful for filtering and creating status-based dashboards.
Where to get
Often derived from document status or workflow status fields within the AP module.
Examples
In ProgressApprovedPaidCancelled
|
|||
|
Is Automated
IsAutomated
|
A flag indicating if the activity was performed automatically by the system. | ||
|
Description
This boolean attribute distinguishes between activities performed by human users and those executed by system automation, such as automated invoice posting or matching. Analyzing this attribute is key to measuring the level of automation in the AP process. It helps calculate the Straight-Through Processing (STP) rate and identify which manual activities are prime candidates for future automation initiatives, ultimately reducing costs and processing time.
Why it matters
Helps measure the straight-through processing rate and identify opportunities for increasing automation and efficiency.
Where to get
Derived by checking if the user associated with an activity is a system or batch user (e.g., 'Admin', 'BatchUser').
Examples
truefalse
|
|||
|
Is Late Payment
IsLatePayment
|
A calculated flag indicating if the payment was made after the due date. | ||
|
Description
This boolean attribute is set to true if the 'Payment Executed' activity occurs after the 'Invoice Due Date'. It provides a clear, case-level indicator of non-compliance with payment terms. This attribute simplifies the calculation of the 'Payment Terms Compliance Rate' KPI. It allows for quick filtering and dashboarding to show the volume and value of late payments, and enables root cause analysis on these specific cases to understand why they were delayed.
Why it matters
Provides a clear and simple flag for analyzing non-compliant payments and calculating on-time payment KPIs.
Where to get
This is not a source system field. It is calculated in the process mining tool by comparing the timestamp of the 'Payment Executed' activity to the 'InvoiceDueDate' attribute.
Examples
truefalse
|
|||
|
Is Rework
IsRework
|
A calculated flag that identifies if an invoice has undergone rework. | ||
|
Description
This boolean flag is set to true if an invoice's process flow includes rework activities, such as 'Discrepancy Resolved' or a second 'Invoice Data Validated' step after an initial failure. It is calculated across the entire case. This attribute directly supports the 'Discrepancy Rework Rate' KPI. It simplifies analysis by allowing for easy filtering and aggregation of all invoices that required extra manual effort, helping to quantify the impact of poor data quality or process exceptions.
Why it matters
Directly measures rework, allowing for simple quantification and analysis of process exceptions and inefficiencies.
Where to get
This is not a source system field. It is calculated in the process mining tool by checking for the occurrence of specific rework-indicating activities within a case.
Examples
truefalse
|
|||
|
Last Data Update
LastDataUpdate
|
The timestamp of the last data refresh from the source system. | ||
|
Description
This attribute indicates the last time the event log was updated with fresh data from Microsoft Dynamics 365. It provides context on the recency of the data being analyzed. For dashboards and ongoing monitoring, this timestamp is crucial for users to understand if they are viewing the most current process data. It helps manage expectations about the data's freshness and aids in monitoring the data pipeline's health.
Why it matters
Informs users about the freshness of the data, which is critical for making timely and accurate business decisions based on the analysis.
Where to get
This is a metadata field generated and stamped by the data extraction and loading (ETL) tool at the time of data ingestion.
Examples
2023-06-01T02:00:00Z2023-06-02T02:00:00Z
|
|||
|
Source System
SourceSystem
|
The system from which the data was extracted. | ||
|
Description
This attribute identifies the origin of the event data, which is typically 'Microsoft Dynamics 365' in this context. It becomes particularly important when data from multiple systems (e.g., an OCR scanning tool and D365) is combined. In a process mining analysis, this helps in data lineage, troubleshooting, and understanding the technological landscape of the process. It allows for filtering the analysis to events from a specific system.
Why it matters
Provides essential context about data origin, which is critical for data validation and in multi-system process analyses.
Where to get
This is typically a static value ('Microsoft Dynamics 365') added during the data extraction and transformation process.
Examples
Microsoft Dynamics 365 FinanceD365 F&OAX2012
|
|||
Accounts Payable Invoice Processing Activities
| Activity | Description | ||
|---|---|---|---|
|
Invoice Approved
|
Represents the final approval in the workflow, authorizing the invoice to be posted for payment. This is a critical milestone before the invoice enters the payment stage. | ||
|
Why it matters
Marks the end of the approval cycle. The time between 'Submitted for Approval' and this activity is a key KPI for identifying approval bottlenecks and long-running workflows.
Where to get
An explicit event captured in the workflow history logs (WorkflowTrackingStatusTable) when the workflow status is updated to 'Completed' or 'Approved'.
Capture
Extract the 'Approved' or 'Completed' event for the invoice from the workflow tracking history.
Event type
explicit
|
|||
|
Invoice Posted
|
The approved invoice is officially recorded in the general ledger, creating a financial liability. This is a critical, often irreversible, accounting transaction. | ||
|
Why it matters
Posting is a major milestone that makes the invoice eligible for payment. It confirms that all validation and approval steps are complete and the liability is recognized.
Where to get
This is an explicit transaction. The posting date and time are recorded on the vendor invoice journal (VendInvoiceJour) and related general ledger entries (GeneralJournalEntry).
Capture
Use the posting timestamp from the VendInvoiceJour or GeneralJournalEntry tables.
Event type
explicit
|
|||
|
Invoice Registered
|
Marks the initial creation of an invoice record in the system, either through manual entry, OCR scanning, or electronic data interchange (EDI). This is the starting point of the invoice processing lifecycle. | ||
|
Why it matters
This activity is the primary start event for the process. Analyzing the time from this point to payment provides the overall invoice cycle time, which is a key performance indicator.
Where to get
Inferred from the creation timestamp (CreatedDateTime field) of the invoice header record in the pending vendor invoices or invoice journal tables, such as VendInvoiceInfoTable.
Capture
Use the creation timestamp of the invoice header record.
Event type
inferred
|
|||
|
Invoice Submitted For Approval
|
The invoice is formally submitted into a workflow for review and approval by authorized personnel. This marks the beginning of the approval cycle. | ||
|
Why it matters
This is a key milestone that starts the clock for measuring the invoice approval cycle time. It helps distinguish data entry/matching time from approval latency.
Where to get
This is an explicit event captured in the D365 workflow history logs (WorkflowTrackingStatusTable) for the specific invoice document. The submission timestamp is recorded.
Capture
Extract the 'Submitted' event for the invoice from the workflow tracking history.
Event type
explicit
|
|||
|
Payment Executed
|
The payment is officially made through the posting of a payment journal. This transaction settles the liability created by the posted invoice. | ||
|
Why it matters
This is a primary end event for the process. It is used to calculate payment term compliance, identify late payments, and measure the final end-to-end cycle time.
Where to get
An explicit event captured when the payment journal is posted. The settlement details are stored in the vendor transactions table (VendTrans), linking the payment to the invoice.
Capture
Use the transaction date of the payment settlement record in VendTrans.
Event type
explicit
|
|||
|
Discrepancy Identified
|
Occurs when the invoice fails validation or matching against the purchase order or goods receipt, requiring manual intervention. A hold or specific status is often placed on the invoice. | ||
|
Why it matters
This activity initiates a rework loop. Analyzing its frequency and cause is crucial for identifying process inefficiencies, data quality issues, or supplier problems.
Where to get
This can be explicitly logged in the invoice's history or inferred when an invoice is placed 'On Hold' with a reason code related to matching variance. Look for status changes in the invoice header.
Capture
Capture the timestamp when the invoice status is set to 'On Hold' or a discrepancy flag is set.
Event type
inferred
|
|||
|
Discrepancy Resolved
|
The action taken to clear a hold or correct an invoice after a discrepancy was identified. The invoice is now ready to be re-submitted for matching or approval. | ||
|
Why it matters
This activity closes a rework loop. The time taken to resolve discrepancies is a key indicator of the efficiency of the exception handling process.
Where to get
Inferred from the timestamp when an 'On Hold' status is removed from the invoice, or when the invoice is re-submitted to the workflow after a rejection.
Capture
Capture the timestamp when a hold is released or the invoice is re-submitted post-rejection.
Event type
inferred
|
|||
|
Goods Receipt Matched
|
For three-way matching, this activity confirms that the invoiced goods or services have been received by cross-referencing with goods receipt notes. This step verifies physical delivery against the invoice. | ||
|
Why it matters
Tracking this activity helps analyze the efficiency of the three-way matching process and identify delays caused by missing or incorrect goods receipt information.
Where to get
Similar to PO matching, this is inferred from status updates on the invoice indicating successful matching against product receipt journals (Packing Slips).
Capture
Look for status changes or flags indicating successful three-way matching.
Event type
inferred
|
|||
|
Invoice Cancelled
|
The invoice is voided or cancelled after being posted, usually to correct an error. This is an alternative, exceptional endpoint for the process. | ||
|
Why it matters
Tracking cancellations is important for understanding process quality and error rates. A high frequency of cancellations may indicate systemic issues in the upstream process.
Where to get
This is an explicit event. D365 creates a reversing or credit transaction that is linked back to the original invoice journal. The posting date of this reversal marks the cancellation.
Capture
Identify the posting date of the reversing transaction associated with the original invoice.
Event type
explicit
|
|||
|
Invoice Data Validated
|
Represents the system or user performing initial checks on the captured invoice data for completeness and correctness, before matching or approval. This can be an automated system validation or a manual review step. | ||
|
Why it matters
Tracking this activity helps identify delays caused by poor data quality. A high rate of failures or long duration here indicates issues with data capture processes, such as OCR accuracy.
Where to get
This is often an inferred event. It can be derived from the timestamp when the invoice status changes from 'New' or 'Draft' to a state like 'Validated' or 'Ready for Matching', or the last modification before submission to workflow.
Capture
Capture the timestamp of a status change indicating successful validation or the update event before workflow submission.
Event type
inferred
|
|||
|
Invoice Rejected
|
An approver denies the invoice within the workflow, typically sending it back to the originator for correction or clarification. This initiates a rework loop. | ||
|
Why it matters
Tracking rejections helps identify reasons for approval delays and rework. It can highlight issues with invoice coding, policy violations, or insufficient documentation.
Where to get
This is an explicit event captured in the workflow history (WorkflowTrackingStatusTable) when an approver selects the 'Reject' action.
Capture
Extract the 'Rejected' event for the invoice from the workflow tracking history.
Event type
explicit
|
|||
|
Payment Cleared
|
The payment executed by the company has cleared the bank, as confirmed through the bank reconciliation process. This is the final financial confirmation of payment completion. | ||
|
Why it matters
This activity provides the ultimate confirmation of cash outflow. Analyzing the time between payment execution and clearing is important for treasury and cash management.
Where to get
This information is derived from bank reconciliation modules. It's inferred when a bank statement line corresponding to the payment is matched and posted in D365.
Capture
Requires linking bank transaction data (BankStmtISOAccountStatement) back to the original payment.
Event type
inferred
|
|||
|
Payment Scheduled
|
The posted invoice is selected and included in a payment proposal or a payment journal, scheduling it for a future payment run. This indicates the intent to pay. | ||
|
Why it matters
This activity is crucial for cash flow forecasting and analyzing payment term compliance. It helps identify if early payment discounts are being considered and planned for.
Where to get
Inferred from the creation of a payment journal line (LedgerJournalTrans) that includes the invoice. The transaction date on the journal line indicates the scheduled payment date.
Capture
Use the creation date of the payment journal line referencing the invoice.
Event type
inferred
|
|||
|
Purchase Order Matched
|
The process of associating an invoice with one or more purchase orders to verify quantities, prices, and terms. This is a critical validation step for PO-based invoices. | ||
|
Why it matters
This activity is essential for measuring first-pass match rates and identifying bottlenecks in the matching process. Failures here often lead to discrepancy resolution loops.
Where to get
Can be inferred when the matching status on the invoice record is updated to 'Matched' or when line-level matching details are successfully saved. This information is typically stored in tables related to vendor invoice lines.
Capture
Identify status changes on the invoice header or lines related to PO matching success.
Event type
inferred
|
|||