Your Accounts Receivable Data Template
Your Accounts Receivable Data Template
- Essential data fields for ledger analysis
- Standard process milestones for tracking
- Technical extraction guidance for Microsoft Dynamics 365
Accounts Receivable Attributes
| Name | Description | ||
|---|---|---|---|
|
Activity
Activity
|
The specific event or task performed on the invoice. | ||
|
Description
This attribute describes the step occurring in the process, such as Invoice Posted, Payment Received, or Dispute Opened. In Microsoft Dynamics 365, these are often derived from the transaction type (TransType) or the specific table where the record is logged (e.g., CustSettlement for payments). This attribute is essential for visualizing the process map.
Why it matters
It defines the nodes in the process map and allows for the analysis of process flow and variant discovery.
Where to get
Derived from TransType enum or table context (CustTrans, CustSettlement, etc.)
Examples
Invoice PostedPayment ReceivedCollection Letter SentInterest Note Posted
|
|||
|
Event Timestamp
EventTimestamp
|
The exact date and time when the activity occurred. | ||
|
Description
This attribute records the specific point in time when an event was logged in the system. It is used to calculate durations between activities, determine process lead times, and order events sequentially. In D365, this is typically the CreatedDateTime or TransDate combined with a time component.
Why it matters
Time stamps are critical for calculating all time based KPIs, such as Invoice Cycle Time and Dispatch Lead Time.
Where to get
Commonly CreatedDateTime or TransDate fields across various tables
Examples
2023-10-15T08:30:00Z2023-10-15T14:45:22Z2023-11-01T09:00:00Z
|
|||
|
Invoice Number
InvoiceNumber
|
The unique identifier for the financial invoice document. | ||
|
Description
The Invoice Number is the primary key for tracking the lifecycle of a receivable within Microsoft Dynamics 365. It links the initial sales order, the posted invoice, subsequent payments, and any collection activities into a single case. In analysis, this attribute serves as the case identifier to reconstruct the end to end process flow.
Why it matters
It is the fundamental unit of analysis for Accounts Receivable, allowing the process mining engine to group disparate events into a cohesive case.
Where to get
CustInvoiceJour.InvoiceId or CustTrans.Invoice
Examples
INV-2023-001CIV-88921US-004321DE-99120
|
|||
|
Last Data Update
LastDataUpdate
|
The timestamp of when the data was extracted or refreshed. | ||
|
Description
This attribute indicates when the data was last pulled from Microsoft Dynamics 365. It helps users understand the freshness of the analysis and validity of the KPIs. It is typically generated by the extraction tool at the time of the query.
Why it matters
It provides context on data latency and helps users trust the currency of the dashboards.
Where to get
Generated by the ETL / extraction script
Examples
2023-11-05T00:00:00Z2023-11-05T12:00:00Z
|
|||
|
Source System
SourceSystem
|
The name of the system where the data originated. | ||
|
Description
This attribute identifies the system of record for the data, which is Microsoft Dynamics 365 in this context. It is useful when combining data from multiple ERP instances or external collection tools into a single view. This allows analysts to filter or segment processes by their originating environment.
Why it matters
It ensures data lineage and traceability, especially in multi-system landscapes.
Where to get
Hardcoded during extraction or derived from connection string
Examples
D365 F&O ProdD365 FinanceDynamics AX 2012
|
|||
|
Business Unit
BusinessUnit
|
The operating unit or division responsible for the invoice. | ||
|
Description
This attribute segments data by internal organizational structure, such as Electronics Division or Services Division. In D365, this is often a financial dimension linked to the transaction. It supports the Invoice Issuance Lead Time dashboard by allowing comparisons across units.
Why it matters
Enables internal benchmarking to find which divisions are most efficient.
Where to get
Financial Dimensions (DefaultDimension) on CustInvoiceJour
Examples
BU-001Sales-NorthServices-Global
|
|||
|
Company Code
CompanyCode
|
The legal entity identifier within D365. | ||
|
Description
This attribute represents the DataAreaId in D365, which corresponds to the legal entity or company where the transaction occurred. It is essential for filtering data in multi-company deployments and ensures that invoice numbers, which may overlap between companies, are treated distinctly.
Why it matters
Crucial for uniqueness in multi-entity environments and regional analysis.
Where to get
DataAreaId field on all tables
Examples
USMFDEMFGBSI
|
|||
|
Customer Account
CustomerAccount
|
The unique identifier or account number of the customer. | ||
|
Description
The Customer Account identifies the specific entity being billed. In D365, this is the AccountNum field. Grouping by this attribute allows for analysis of payment behaviors, dispute frequencies, and clearing times across different customers.
Why it matters
Essential for identifying high risk customers and segmenting performance by client.
Where to get
CustInvoiceJour.InvoiceAccount or CustTrans.AccountNum
Examples
US-001DE-550CUST-9921
|
|||
|
Customer Group
CustomerGroup
|
The classification or segment the customer belongs to. | ||
|
Description
This attribute categorizes customers into logical groups, such as Wholesale, Retail, or Intercompany. It is used to perform comparative analysis, such as checking if certain segments have longer payment cycles or higher dispute rates. In D365, this is the CustGroup field.
Why it matters
Enables the comparison of process performance across different market segments.
Where to get
CustTable.CustGroup
Examples
WholesaleRetailIntercompanyExport
|
|||
|
Due Date
DueDate
|
The date by which the payment is expected to be received. | ||
|
Description
The Due Date is the deadline for payment as defined by the payment terms. It is compared against the actual payment date to determine on time performance and calculate days sales outstanding (DSO). It is a standard field on the customer transaction record.
Why it matters
Fundamental for calculating On Time Payment Rate and analyzing overdue invoices.
Where to get
CustTrans.DueDate
Examples
2023-11-302023-12-15
|
|||
|
Invoice Amount
InvoiceAmount
|
The total monetary value of the invoice. | ||
|
Description
This attribute represents the financial value of the invoice document. It is used to calculate the total exposure in Accounts Receivable and to prioritize high value collections. This field is typically found in the invoice journal table.
Why it matters
Critical for financial impact analysis and identifying high value bottlenecks.
Where to get
CustInvoiceJour.InvoiceAmount
Examples
1500.00250.5010000.00
|
|||
|
Is Automated
IsAutomated
|
Flag indicating if the activity was performed by a system account. | ||
|
Description
This attribute determines if a specific step was performed by a user or an automated batch job. It is calculated by comparing the User attribute against a list of known system accounts (e.g., 'Workflow', 'Batch'). It supports the Manual Clearing Rate KPI.
Why it matters
Critical for identifying automation opportunities and measuring current automation levels.
Where to get
Derived from User field logic
Examples
truefalse
|
|||
|
User
User
|
The user ID of the person or system account that performed the activity. | ||
|
Description
This attribute identifies who executed the specific process step, derived from the CreatedBy or ModifiedBy fields. It helps in analyzing resource utilization, identifying training needs, and distinguishing between automated system tasks and manual user interventions.
Why it matters
Allows for resource performance analysis and automation rate calculation.
Where to get
CreatedBy field on transaction tables
Examples
AdminJSmithWorkflowAgentBSmith
|
|||
|
Cash Discount Date
CashDiscountDate
|
The date until which an early payment discount is valid. | ||
|
Description
This attribute indicates the deadline for the customer to receive a discount for early payment. It is compared against the payment date to calculate the Missed Discount Rate KPI and analyze the effectiveness of discount incentives.
Why it matters
Key for the Early Payment Discount Optimization dashboard.
Where to get
CustTrans.CashDisc or calculated from CashDiscCode
Examples
2023-11-102023-11-15
|
|||
|
Currency
Currency
|
The currency code of the invoice transaction. | ||
|
Description
This attribute specifies the currency in which the invoice was issued (e.g., USD, EUR). It is important for normalizing financial values if global analysis is required across different regions.
Why it matters
Necessary for understanding value distribution in multi-currency systems.
Where to get
CustInvoiceJour.CurrencyCode
Examples
USDEURGBPJPY
|
|||
|
Days Overdue
DaysOverdue
|
The number of days the payment was late compared to the due date. | ||
|
Description
This metric calculates the difference between the payment date and the due date. Positive values indicate late payments, while negative values indicate early payments. It provides a granular view of payment performance beyond simple boolean flags.
Why it matters
Provides depth to the On Time Payment Rate KPI analysis.
Where to get
Calculated: PaymentDate - DueDate
Examples
50-230
|
|||
|
Dispute Reason
DisputeReason
|
The reason code assigned when a case is in dispute. | ||
|
Description
This attribute captures the categorical reason why an invoice was disputed, such as 'Price Error' or 'Damaged Goods'. It is vital for the Dispute Resolution Lifecycle dashboard to identify root causes of payment delays.
Why it matters
Enables root cause analysis for the Dispute Resolution Time KPI.
Where to get
CustTrans.ReasonRefRecId or related collections case table
Examples
PriceDiscrepancyGoodsDamagedMissingPOServiceQuality
|
|||
|
Is Cleared
IsCleared
|
Flag indicating if the invoice has been fully settled. | ||
|
Description
This boolean attribute indicates whether the invoice has reached a balance of zero through payment or write-off. It allows for the quick filtering of open vs. closed cases to calculate the Average Invoice Cycle Time.
Why it matters
Distinguishes between active and historical cases.
Where to get
Derived from CustTrans.Closed date presence
Examples
truefalse
|
|||
|
Is Credit Memo
IsCreditMemo
|
Flag indicating if the document is a credit note. | ||
|
Description
This boolean attribute identifies whether the transaction represents a credit memo issued to the customer. It is used to calculate the Credit Memo Issuance Rate and filter out standard invoices from rework analysis.
Why it matters
Directly supports the Credit Memo and Rework Frequency dashboard.
Where to get
Derived from CustInvoiceJour.InvoiceAmount < 0 or TransType
Examples
truefalse
|
|||
|
Payment Terms
PaymentTerms
|
The code defining the agreed upon payment schedule. | ||
|
Description
This attribute holds the code that dictates when payment is due (e.g., Net30, Net60). It is used to analyze if customers are adhering to their specific terms and to validate if the Due Date was calculated correctly.
Why it matters
Provides context for the Due Date and helps identify if terms are too lenient or strict.
Where to get
CustInvoiceJour.Payment or CustTable.PaymTermId
Examples
Net30Net45CODEOM
|
|||
|
Sales Order ID
SalesOrderId
|
The reference number of the sales order associated with the invoice. | ||
|
Description
This attribute links the invoice back to the originating sales order. It allows for cross-process analysis if data from the Order-to-Cash process is available and helps investigate upstream causes for billing issues.
Why it matters
Connects the billing process to the sales process.
Where to get
CustInvoiceJour.SalesId
Examples
SO-10022SO-55912
|
|||
Accounts Receivable Activities
| Activity | Description | ||
|---|---|---|---|
|
Credit Memo Issued
|
The posting of a credit note that offsets the original invoice amount. Often the result of a resolved dispute or return. | ||
|
Why it matters
High frequency indicates revenue leakage and upstream quality issues. Distinct from payment as it represents non-cash settlement.
Where to get
CustTrans table where Type is 'Credit Note' or CustInvoiceJour with a negative InvoiceAmount.
Capture
Logged when transaction posted to CustTrans
Event type
explicit
|
|||
|
Dispute Case Opened
|
The creation of a case in the Case Management module linked to the invoice, signaling a customer disagreement. Blocks standard collection flows. | ||
|
Why it matters
Disputes are a primary cause of late payments. Tracking this identifies quality issues in upstream processes like pricing or fulfillment.
Where to get
CaseDetailBase table where Category relates to Collections/AR and RefRecId links to the invoice context.
Capture
Logged when transaction X executed in Case Management
Event type
explicit
|
|||
|
Full Payment Received
|
The posting of a payment transaction that covers the remaining balance of the invoice. This is the cash inflow event. | ||
|
Why it matters
The most critical success event. Used to calculate On-Time Payment Rate and effectiveness of discount terms.
Where to get
CustTrans table with Type 'Payment', linked via CustSettlement to the invoice, bringing the balance to zero.
Capture
Logged when transaction posted to CustTrans and settled
Event type
explicit
|
|||
|
Invoice Cleared
|
The final status change where the invoice balance becomes zero and the transaction is marked as 'Closed' in the system. | ||
|
Why it matters
The absolute end of the process instance. Used for total Cycle Time calculation.
Where to get
CustTrans.Closed field (date). This date is populated when the sum of settlements equals the invoice amount.
Capture
Inferred from CustTrans.Closed date field
Event type
inferred
|
|||
|
Invoice Dispatched
|
The event where the invoice is sent to the customer via email, print, or EDI. This is often inferred from the incrementing of the 'Printed' count or print management logs. | ||
|
Why it matters
Delays between posting and dispatching directly shorten the effective payment window for the customer, leading to perceived late payments.
Where to get
Inferred from CustInvoiceJour.PrintedOriginals changing from 0 to 1, or tracked via the PrintJobHeader table if logging is enabled.
Capture
Compare status field before/after or PrintJobHeader log
Event type
inferred
|
|||
|
Invoice Posted
|
The initial recording of the invoice in the financial ledger. This activity captures the creation of the financial obligation in the CustInvoiceJour table. | ||
|
Why it matters
Marks the official start of the Accounts Receivable lifecycle and the beginning of the payment term clock. Essential for calculating Days Sales Outstanding (DSO).
Where to get
CustInvoiceJour table. The CreatedDateTime or InvoiceDate field serves as the timestamp.
Capture
Logged when transaction posted to CustInvoiceJour
Event type
explicit
|
|||
|
Partial Payment Posted
|
The recording of a payment that does not fully cover the open balance of the invoice. Often triggers a remaining balance to be pursued. | ||
|
Why it matters
Distinguishes between installment behaviors and full settlements. Important for cash flow forecasting accuracy.
Where to get
CustSettlement table linking a Payment (CustTrans) to the Invoice (CustTrans) where SettlementAmount < InvoiceAmount.
Capture
Logged when transaction X executed in CustSettlement
Event type
explicit
|
|||
|
Payment Reminder Sent
|
Records the issuance of a formal collection letter to the customer. This is captured from the Collection Letter Journal. | ||
|
Why it matters
Indicates the start of active collection efforts. Frequency analysis helps optimize the dunning strategy and reduce administrative costs.
Where to get
CustCollectionLetterJour table. Captures the date the letter code was posted for the specific invoice transaction.
Capture
Logged when transaction posted to CustCollectionLetterJour
Event type
explicit
|
|||
|
Bank Statement Matched
|
The reconciliation event where the payment recorded in AR is matched against a line on the imported bank statement. | ||
|
Why it matters
Validates that funds are actually in the bank. Delays here indicate inefficiencies in the Cash and Bank Management processes.
Where to get
BankReconciliationLine or BankAccountTrans matched status. Requires Advanced Bank Reconciliation module.
Capture
Logged when transaction matched in Bank Reconciliation
Event type
explicit
|
|||
|
Dispute Resolved
|
The closing of the dispute case, allowing the invoice to proceed to payment or credit. Marks the end of the exception handling sub-process. | ||
|
Why it matters
The timestamp delta between Opened and Resolved is a key KPI for administrative efficiency.
Where to get
CaseDetailBase table where Status changes to Closed/Resolved.
Capture
Compare status field before/after in CaseDetailBase
Event type
inferred
|
|||
|
Dispute Under Review
|
Indicates the dispute case has moved from 'Opened' to an 'In Process' state. Represents the working time of the resolution team. | ||
|
Why it matters
Bottlenecks here increase the Cash Conversion Cycle. Segregates wait time from active resolution time.
Where to get
Inferred from CaseDetailBase.Status field changes or CaseLog table entries corresponding to status progression.
Capture
Compare status field before/after in CaseDetailBase
Event type
inferred
|
|||
|
Due Date Passed
|
A calculated milestone indicating that the current date has surpassed the invoice due date while the invoice remains open. This flags the invoice as overdue. | ||
|
Why it matters
Critical for aging analysis and triggering collection workflows. It segments the process between standard billing and collections management.
Where to get
Calculated by comparing the CustInvoiceJour.DueDate against the current simulation time or payment timestamp.
Capture
Derive from comparing field DueDate to current time
Event type
calculated
|
|||
|
Interest Note Generated
|
The creation of an interest note for overdue payments. Represents a financial penalty applied to the customer account. | ||
|
Why it matters
Indicates severe delinquency. Analysis helps determine if penalties effectively accelerate payment or damage customer relationships.
Where to get
CustInterestJour table. This table logs interest notes generated for specific customer transactions.
Capture
Logged when transaction posted to CustInterestJour
Event type
explicit
|
|||
|
Payment Written Off
|
The act of declaring the invoice uncollectible and removing the balance via a write-off journal. Represents a financial loss. | ||
|
Why it matters
End state for failed collection processes. Essential for analyzing bad debt ratios and credit policy effectiveness.
Where to get
CustTrans table where Type is 'WriteOff' or GeneralJournalEntry specifically marked with write-off reason codes.
Capture
Logged when transaction posted with WriteOff type
Event type
explicit
|
|||
|
Promise to Pay Received
|
A specific commitment logged by a collections agent that the customer will pay by a certain date. Captured from the Collections Management module. | ||
|
Why it matters
Measures the effectiveness of collection calls. Comparing this date to actual payment reveals the reliability of customer promises.
Where to get
CustPromiseToPay table. Linked to the customer transaction via TransRecId.
Capture
Logged when record created in CustPromiseToPay
Event type
explicit
|
|||