Your Record to Report - Journal Entry Data Template
Your Record to Report - Journal Entry Data Template
- Recommended attributes to collect
- Key activities to track
- Extraction guidance for Microsoft Dynamics 365
Record to Report - Journal Entry Attributes
| Name | Description | ||
|---|---|---|---|
|
Activity Name
ActivityName
|
The name of the specific business process step or event that occurred. | ||
|
Description
This attribute describes a single event or task within the journal entry lifecycle, such as 'Journal Entry Created', 'Journal Submitted For Approval', or 'Journal Entry Posted'. These activities form the nodes of the discovered process map. Analyzing the sequence and frequency of these activities is core to process mining. It reveals the actual process flow, helps identify deviations from the standard procedure, and highlights bottlenecks where activities take longer than expected or are repeated.
Why it matters
This attribute defines the steps in the process, forming the backbone of the process map and enabling the analysis of process flow and variations.
Where to get
This is a conceptual attribute derived from system events, status changes, or workflow logs within Microsoft Dynamics 365.
Examples
Journal Entry CreatedJournal Submitted For ApprovalJournal ApprovedJournal Entry Posted
|
|||
|
Event Time
EventTime
|
The precise timestamp indicating when an activity or event occurred. | ||
|
Description
The Event Time records the date and time that a specific activity in the journal entry process took place. This chronological data is essential for ordering events and calculating the duration between them. In analysis, this timestamp is used to construct the timeline for each case, which is critical for calculating all time-based metrics such as cycle times, processing times, and waiting times. It allows for the identification of delays between steps and supports dashboards related to bottlenecks and SLA compliance.
Why it matters
This timestamp is essential for ordering events correctly and calculating all duration-based KPIs, such as cycle time and processing delays.
Where to get
Event timestamps are typically found in workflow history logs, audit trail tables (e.g., SysDatabaseLog), or as creation/modification timestamps on related records like LedgerJournalTable and LedgerJournalTrans.
Examples
2023-10-26T10:00:00Z2023-10-26T11:30:00Z2023-10-27T14:45:10Z
|
|||
|
Journal Entry ID
JournalEntryId
|
The unique identifier for a journal entry, serving as the primary case identifier. | ||
|
Description
The Journal Entry ID uniquely links all activities and data points related to a single journal entry transaction. It allows for the complete end-to-end tracking of a journal's lifecycle, from creation and review through to its final posting in the general ledger. In process mining analysis, this attribute is fundamental for reconstructing the process flow. Each unique Journal Entry ID represents a single instance of the process, enabling detailed examination of process variants, cycle times, and compliance for individual financial transactions.
Why it matters
This is the essential key for tracking a journal entry from start to finish, making it possible to analyze the entire process flow for each case.
Where to get
This identifier is typically found in the journal header table, such as LedgerJournalTable, often in a field named JournalNum.
Examples
JRN-0012345JV-2023-08-156GENJ0000891
|
|||
|
Event End Time
EventEndTime
|
The timestamp indicating when an activity or event was completed. | ||
|
Description
The Event End Time marks the completion of a specific activity. While StartTime indicates when an event begins, EndTime provides the other boundary, allowing for precise duration calculation of individual tasks. In process mining, having both a start and end time enables the calculation of activity processing time, which is distinct from waiting time. This is crucial for dashboards analyzing user performance and identifying which specific tasks, not just the gaps between them, are consuming the most time.
Why it matters
Enables the precise calculation of how long each activity takes, which is vital for analyzing user performance and identifying resource-intensive tasks.
Where to get
This data may be explicitly stored in workflow logs or may need to be derived by using the StartTime of the subsequent activity in the sequence.
Examples
2023-10-26T10:05:15Z2023-10-26T11:45:00Z2023-10-27T15:00:00Z
|
|||
|
Journal Status
JournalStatus
|
The current or final status of the journal entry. | ||
|
Description
This attribute indicates the state of the journal entry at a given point in time, such as 'Draft', 'In Review', 'Approved', 'Rejected', or 'Posted'. It provides a snapshot of where the entry is in its lifecycle. Analyzing the status is helpful for understanding the outcomes of cases. It can be used to filter for all rejected journals or to track the volume of journals in a specific stage. This attribute supports multiple dashboards by providing context to throughput and status analysis.
Why it matters
Provides a clear outcome for each journal entry, enabling analysis of success rates, rejection rates, and the volume of work in different stages.
Where to get
The status is often found on the journal header table, LedgerJournalTable, or derived from the workflow status.
Examples
DraftSubmittedApprovedPostedRejected
|
|||
|
Journal Total Amount
JournalTotalAmount
|
The total monetary value of the journal entry, typically the sum of debits. | ||
|
Description
This attribute represents the total financial value of the journal entry. It can be used to categorize entries into value bands, such as low, medium, and high value. Analyzing the process based on financial value can reveal important patterns. For instance, high-value journal entries might follow a more rigorous approval process with more steps and longer cycle times. This attribute is essential for materiality analysis and understanding the financial impact of process inefficiencies.
Why it matters
Allows for segmenting the process by financial value, which often correlates with process complexity, risk, and approval workflows.
Where to get
This value may need to be calculated by summing the debit amounts from the journal line table, LedgerJournalTrans, for each journal entry.
Examples
1500.75125000.0050.25
|
|||
|
Journal Type
JournalType
|
The classification of the journal entry, such as General Journal or Accrual. | ||
|
Description
Journal Type categorizes entries based on their business purpose, for example, daily entries, accruals, allocations, or eliminations. This segmentation is crucial for understanding different process paths and behaviors. This attribute allows for filtering and comparing the process across different journal types. It is essential for the 'Journal Entry Throughput Volume by Type' dashboard, helping to analyze whether certain types of journals are more prone to delays, rejections, or rework.
Why it matters
Allows for segmenting the analysis to compare processes for different business purposes, which may have distinct paths, cycle times, and approval requirements.
Where to get
This is typically stored on the journal header table, LedgerJournalTable, in a field related to journal names or types (e.g., JournalName).
Examples
General JournalAccrual AdjustmentIntercompany TransferPayroll
|
|||
|
Legal Entity
LegalEntity
|
The legal entity or company code for which the journal entry is being recorded. | ||
|
Description
The Legal Entity represents the specific company or business unit within an organization for which the financial transaction is being recorded. This is a fundamental organizational dimension in financial systems. In process mining, this attribute allows for the comparison of the journal entry process across different parts of the organization. It can reveal if certain legal entities have more efficient processes, higher rejection rates, or longer cycle times, helping to identify and share best practices.
Why it matters
Enables comparison of process performance across different companies or business units, highlighting variations and improvement opportunities.
Where to get
This is a core field in Dynamics 365, often available in transaction tables like LedgerJournalTable, typically tied to the DataAreaId.
Examples
USMFDEMFGBSI
|
|||
|
Rejection Reason
RejectionReason
|
The reason provided when a journal entry is rejected during the approval process. | ||
|
Description
When a journal entry is rejected, the approver often provides a reason for the rejection. This attribute captures that information, which is invaluable for root cause analysis. This is the primary attribute for the 'Journal Entry Rejection Rate Analysis' dashboard. By categorizing and analyzing rejection reasons, organizations can identify common problems, such as incorrect documentation, policy violations, or data entry errors, and then implement targeted training or process improvements.
Why it matters
Explains why rework occurs, providing the direct insight needed to reduce rejection rates and improve first-time right approvals.
Where to get
This information is typically stored in the workflow history or comments section associated with the rejection step.
Examples
Insufficient supporting documentationIncorrect account usedExceeds approval thresholdDuplicate entry
|
|||
|
User Name
UserName
|
The name of the user who performed the activity. | ||
|
Description
This attribute identifies the employee or system user responsible for executing a specific activity, such as creating, approving, or posting a journal entry. It links process steps to human resources. Analyzing performance by user is a key capability in process mining. It helps build the 'Journal Entry User Performance' dashboard to compare activity durations and throughput across different users or teams. This can highlight top performers, identify training needs, and assist in workload balancing.
Why it matters
Links process activities to specific individuals, enabling analysis of user performance, workload distribution, and resource allocation.
Where to get
User information is typically found in createdBy or modifiedBy fields on tables like LedgerJournalTable or in associated workflow history logs.
Examples
Alice SmithBob Johnsonsystem.batch
|
|||
|
Approval Level
ApprovalLevel
|
Indicates the current or completed stage in a multi-level approval workflow. | ||
|
Description
For journal entries that require multiple approvals, this attribute tracks which level of the hierarchy the entry has reached, for example, 'Manager Approval' or 'Director Approval'. This attribute is useful for analyzing approval bottlenecks in more detail. It can help pinpoint if delays consistently occur at a specific level in the approval chain, suggesting a need for process redesign or resource reallocation at that stage.
Why it matters
Provides visibility into multi-stage approval workflows, helping to identify bottlenecks at specific approval levels.
Where to get
This information would be derived from the workflow history log, tracking the completion of different approval steps.
Examples
Level 1: ManagerLevel 2: DirectorLevel 3: VP Finance
|
|||
|
Approval SLA Status
ApprovalSlaState
|
Indicates whether the journal entry approval met its service level agreement. | ||
|
Description
This attribute categorizes each journal entry's approval cycle based on whether it was completed within the target time defined by a Service Level Agreement (SLA). Possible values are typically 'Met' or 'Breached'. This is the core metric for the 'Journal Entry Approval SLA Compliance' dashboard. It provides a clear, business-oriented view of performance against targets, helping to monitor and manage the timeliness of the approval process and drive improvements where SLAs are frequently missed.
Why it matters
Translates raw cycle time data into a clear business outcome (met or breached), making it easy to track performance against key targets.
Where to get
This is a calculated attribute. The logic requires comparing the calculated Approval Cycle Time KPI against a predefined SLA target.
Examples
MetBreached
|
|||
|
Currency Code
CurrencyCode
|
The currency of the journal entry amount. | ||
|
Description
This attribute specifies the currency in which the journal entry is denominated, such as USD, EUR, or GBP. It provides essential context for the Journal Total Amount. While not always used for analyzing the process flow itself, the currency is vital for any financial reporting or analysis based on the journal amounts. It allows for correct aggregation and comparison of values, especially in multinational organizations.
Why it matters
Provides necessary context for any financial analysis, ensuring monetary values are interpreted correctly, especially in multi-currency environments.
Where to get
The currency code is typically available on the journal line table, LedgerJournalTrans.
Examples
USDEURGBPJPY
|
|||
|
Department
DepartmentName
|
The department or cost center associated with the journal entry. | ||
|
Description
The department or cost center identifies the internal business unit responsible for or affected by the financial transaction. This is a key dimension for internal management reporting. This attribute allows for analyzing the journal entry process by department. It can help answer questions like: Which departments submit the most journals? Do certain departments have higher rejection rates or longer approval times? This is useful for targeted process improvement efforts.
Why it matters
Provides a way to analyze process performance by business function, helping to identify department-specific bottlenecks or training needs.
Where to get
This information is typically found on the journal line level (LedgerJournalTrans) as a financial dimension.
Examples
SalesFinanceMarketingOperations
|
|||
|
Is Automated Posting
IsAutomatedPosting
|
A flag indicating if the journal entry was created or posted automatically. | ||
|
Description
This boolean attribute distinguishes between journal entries that are created manually by a user and those generated automatically by the system or a subsystem, such as a system integration or an automated allocation process. Analyzing this attribute helps to compare the efficiency and error rates of automated versus manual processes. It can highlight opportunities for further automation by showing if manual entries are more prone to errors, rework, or delays.
Why it matters
Separates manual from automated processes, allowing for a comparison of their efficiency, accuracy, and compliance.
Where to get
This may be indicated by the 'Created by' user (e.g., a system or batch user) or a specific flag on the journal header or type configuration.
Examples
truefalse
|
|||
|
Is First Time Right
IsFirstTimeRight
|
A flag indicating if the journal was approved without any prior rejections. | ||
|
Description
This case-level boolean attribute is true if a journal entry proceeds from submission to approval without any intervening 'Journal Rejected' or 'Journal Entry Corrected' activities. It is a key measure of process quality. The 'First-Time Right Approval Rate' KPI is directly calculated from this attribute. A high rate indicates an efficient and high-quality process, while a low rate signals systemic issues with initial data quality, clarity of requirements, or submission procedures.
Why it matters
This is a critical measure of process quality, highlighting how many journals flow through the approval process smoothly without any rework.
Where to get
This is a calculated attribute derived at the case level by analyzing the sequence of activities for each Journal Entry ID.
Examples
truefalse
|
|||
|
Is Rework
IsRework
|
A flag that identifies activities that are part of a rework or correction loop. | ||
|
Description
This calculated boolean attribute is set to true for activities that occur after a rejection, such as 'Journal Entry Corrected' or a repeated 'Journal Submitted For Approval'. It helps to isolate and quantify rework. This attribute is essential for the 'Journal Entry Rework and Correction Loops' dashboard and the 'Rework Rate' KPI. By flagging rework, it becomes easy to visualize and measure the frequency and impact of correction cycles, which are a primary source of inefficiency in the process.
Why it matters
Directly flags inefficient rework loops, making it easy to quantify the impact of rejections and corrections on overall cycle time and cost.
Where to get
This is a calculated attribute derived during data transformation by analyzing the sequence of activities within a case.
Examples
truefalse
|
|||
|
Last Data Update
LastDataUpdate
|
The timestamp when the data was last refreshed from the source system. | ||
|
Description
This attribute indicates the date and time of the most recent data extraction from the source system. It provides context for the freshness of the analysis and the data included. Displaying this information in dashboards assures users of the data's timeliness and helps them understand the time frame covered by the current process analysis. It is a key piece of metadata for any process mining project.
Why it matters
Provides critical context about the data's freshness, ensuring users understand how current the process analysis is.
Where to get
This timestamp is generated and stored during the data extraction, transformation, and loading (ETL) process.
Examples
2023-10-27T02:00:00Z
|
|||
|
Posting Date
PostingDate
|
The date the journal entry is posted to the general ledger. | ||
|
Description
The Posting Date is the official date on which the transaction affects the general ledger balances. This date is critical for financial reporting and closing periods. This attribute is used to analyze the lag between approval and posting, which is the focus of the 'Journal Entry Posting Lead Time' KPI. Reducing this lag is often a key goal for accelerating the financial close process. It can also be used to analyze posting volumes over time.
Why it matters
Crucial for calculating the posting lead time KPI and understanding delays between approval and when a transaction becomes official in the ledger.
Where to get
This date is typically stored on the journal header table (LedgerJournalTable) or related posted transaction tables.
Examples
2023-10-282023-11-012023-10-31
|
|||
|
Processing Time
ProcessingTime
|
The duration of time spent actively working on an activity. | ||
|
Description
Processing Time measures the time between the start and end of an activity, representing the actual work duration. This is distinct from cycle time, which includes waiting time between activities. This calculated metric is vital for the 'Journal Entry User Performance' dashboard. It helps to understand how long users or teams take to complete specific tasks, removing the influence of queueing or waiting time. This allows for a fairer and more accurate assessment of resource efficiency.
Why it matters
Measures active work time for an activity, allowing for analysis of user and team efficiency without the noise of waiting periods.
Where to get
This is calculated by taking the difference between the EventEndTime and the EventTime (StartTime) for each activity.
Examples
PT5M15SPT1H15MP1DT2H
|
|||
|
Source System
SourceSystem
|
The system of record from which the data was extracted. | ||
|
Description
This attribute identifies the source application where the journal entry data originates. For this process, the value is typically a constant, such as 'Microsoft Dynamics 365'. In a broader analysis context, especially in environments with multiple ERPs or integrated systems, this field helps differentiate processes and data sources. It ensures clarity on data provenance and is important for data governance and validation.
Why it matters
Identifies the origin of the data, which is crucial for data governance and for analyses that might span multiple enterprise systems.
Where to get
This is a static value added during the data extraction, transformation, and loading (ETL) process to label the dataset's origin.
Examples
Microsoft Dynamics 365D365 F&O
|
|||
Record to Report - Journal Entry Activities
| Activity | Description | ||
|---|---|---|---|
|
Journal Approved
|
The journal entry has been approved by the designated authority, completing the final step in the approval workflow. This is typically captured from a status change on the journal header, like moving to 'Approved'. | ||
|
Why it matters
This is a critical milestone that concludes the approval process and enables posting. It is essential for calculating approval cycle time, posting lead time, and the first-time right rate.
Where to get
Inferred from a status field change (e.g., ApprovalStatus changing to 'Approved') on the LedgerJournalTable or from the workflow history table indicating a final approval state.
Capture
Identify timestamp when the journal status changes to 'Approved'.
Event type
inferred
|
|||
|
Journal Entry Created
|
This activity marks the initiation of a new journal entry. It is captured when a user creates a new journal header record in the system, establishing a unique Journal Entry ID that serves as the case identifier for process analysis. | ||
|
Why it matters
This is the primary start event for the process. Analyzing the time from this point to posting is crucial for measuring the end-to-end cycle time and identifying initial data entry delays.
Where to get
This event is captured from the creation timestamp of the journal header in the GeneralJournalEntry or LedgerJournalTable entity. It is typically an explicit record creation event.
Capture
Use the 'createdDateTime' field on the GeneralJournalEntry or LedgerJournalTable.
Event type
explicit
|
|||
|
Journal Entry Posted
|
This activity marks the successful posting of the journal entry to the general ledger, making it an official financial record. This is a critical event, captured when the journal header status is updated to 'Posted'. | ||
|
Why it matters
This is the primary success end event for the process. It is used to calculate the end-to-end cycle time and posting lead time, which are key indicators of financial close efficiency.
Where to get
Captured from a status field change (e.g., JournalStatus changing to 'Posted') on the LedgerJournalTable and the creation of corresponding entries in the GeneralJournalAccountEntry table.
Capture
Identify the timestamp when the journal's status becomes 'Posted'.
Event type
inferred
|
|||
|
Journal Rejected
|
The journal entry has been rejected by a reviewer or approver and requires correction. This event is captured from a status change on the journal, such as moving to a 'Rejected' or 'Needs Correction' state. | ||
|
Why it matters
Tracking rejections is fundamental to calculating the rejection rate and identifying the root causes of rework. It highlights issues with data quality, compliance, or user training.
Where to get
Inferred from a status field change (e.g., ApprovalStatus changing to 'Rejected') on the LedgerJournalTable or from the workflow history log.
Capture
Identify timestamp when the journal status changes to 'Rejected'.
Event type
inferred
|
|||
|
Journal Submitted For Approval
|
Represents the formal submission of a completed journal entry into a review and approval workflow. This is typically inferred from a status change on the journal header, such as from 'Draft' to 'In Review' or 'Submitted'. | ||
|
Why it matters
This is a key milestone that initiates the approval cycle. Measuring the time from submission to final approval is critical for identifying bottlenecks in the review process and monitoring SLA compliance.
Where to get
Inferred from a status field change (e.g., ApprovalStatus changing to 'InReview') on the LedgerJournalTable or from the workflow history logs associated with the journal.
Capture
Identify timestamp when the journal status changes to a 'submitted' or 'in review' state.
Event type
inferred
|
|||
|
Journal Entry Corrected
|
This activity indicates that a previously rejected journal entry has been modified by a user. This is typically inferred by detecting a modification to the journal header or its lines after a 'Rejected' status has been recorded. | ||
|
Why it matters
This activity explicitly identifies rework. Analyzing the frequency and duration of correction loops helps to streamline the process and reduce manual effort.
Where to get
Inferred by tracking the 'modifiedDateTime' and 'modifiedBy' fields on the LedgerJournalTable or LedgerJournalTrans tables after a 'Journal Rejected' event has occurred.
Capture
Compare the timestamp of a 'Rejected' status with subsequent modification timestamps by the creator.
Event type
inferred
|
|||
|
Journal Entry Reversal Initiated
|
This event represents the start of a process to reverse a previously posted journal entry. This is captured when a user initiates the reversal action in the system. | ||
|
Why it matters
Tracking reversals helps identify the frequency of and reasons for correcting posted entries. This can point to underlying issues in the initial data entry or approval stages.
Where to get
This is typically an explicit user action that can be captured from audit trails or by identifying the creation of a new reversing journal linked to the original.
Capture
Use the creation event of a new journal entry that is marked as a reversal of a posted journal.
Event type
explicit
|
|||
|
Journal Entry Reversed
|
Marks the completion of the journal entry reversal process, where a reversing entry is successfully posted. This serves as an alternative end point for the lifecycle of an incorrect journal. | ||
|
Why it matters
This activity provides closure on corrected entries and helps analyze the total effort spent on post-posting adjustments, which impacts overall process efficiency.
Where to get
Captured when the new reversing journal entry is itself moved to a 'Posted' status. The link to the original journal is maintained through a reference field.
Capture
Identify the 'Posted' status event for the associated reversing journal entry.
Event type
inferred
|
|||
|
Journal Line Added
|
This event signifies that a debit or credit line has been added to the journal entry. It is captured each time a new transaction line is created and associated with the journal header. | ||
|
Why it matters
Tracking line item creation helps understand the complexity and data entry effort for different journal types. It can also highlight delays between header creation and line completion.
Where to get
Captured from the creation timestamp of records in the LedgerJournalTrans entity, linked back to the journal header. Each line creation is a discrete event.
Capture
Use the 'createdDateTime' field for each record in the LedgerJournalTrans table.
Event type
explicit
|
|||
|
Journal Posting Attempted
|
This activity signifies that a user has initiated the posting process for an approved journal. This may be captured explicitly if the system logs the start of the posting job. | ||
|
Why it matters
Distinguishing between the attempt to post and the successful posting can help diagnose system performance issues or batch job delays that affect the financial close.
Where to get
This may be an explicit event logged in a batch job history table or inferred from a status change to 'Posting in progress' on the LedgerJournalTable.
Capture
Requires analysis of batch job or system logs related to the General Ledger posting routine.
Event type
explicit
|
|||
|
Journal Resubmitted For Approval
|
A corrected journal entry is sent back into the approval workflow for a new review cycle. This is inferred from a status change from 'Rejected' or 'Draft' back to 'In Review' or 'Submitted'. | ||
|
Why it matters
This activity marks the beginning of a rework loop. Counting these events helps quantify the rework rate and the average number of approval loops per journal entry.
Where to get
Inferred from the workflow history or by tracking status changes on the LedgerJournalTable where the status moves from a rejected state back to a submitted state.
Capture
Identify a 'Submitted' status event that occurs after a 'Rejected' status event for the same journal.
Event type
inferred
|
|||
|
Journal Review Started
|
This activity marks when a reviewer begins actively working on a submitted journal. It can be inferred when the journal is assigned to a reviewer or when the reviewer first opens the record for examination. | ||
|
Why it matters
This activity helps measure reviewer handoff time, which is the delay between submission and the start of the review. It can expose resource allocation or notification issues.
Where to get
This is often not explicitly logged. It may be inferred from workflow assignment logs or requires comparing the submission timestamp to the first modification timestamp by a reviewer user.
Capture
Requires analysis of workflow user assignment logs or user activity logs, which may not be standard.
Event type
inferred
|
|||