Time Entry and transactions

Share
Time Entry and transactions

The time entry or timesheet is an important part of Project Operations.

It is central in the project execution part within the project lifecycle and at the crossroads of the different actuals created that are later used to invoice clients

 The diagram below is extracted from Microsoft learn site and describe the time entries process in a Project Operations project lifecycle:

It is crucial to be able to trace where a transaction comes from as traceability is important and basically a client might ask " where is this coming from"?

 A first easy answer is to display the Actual entity's "Source document" field that allow to jump to the source transaction.

 The "Source document" field is a polymorphic lookup, so it can reference different kinds of source records. It is intended to make processing and navigation easier by providing a direct “origin document” pointer

 A second traceability tool is the Transaction Origin table, though it requires work as it is storing transaction GUIDs only and support end-to-end traceability across the full transaction lifecycle.

 Each of the event (or activity) in the business process above triggers the creation of records in the Transaction origin table to help build a trace of the relationships between the records that are created across time entry, journal line, actual, and invoice line details. (source: Transaction origins - Link actuals to their source | Microsoft Learn).

 The time entries has a state and their state transition can be summarized thanks to the diagram below:

This diagram is limited to the time entries only.

 Each time entry gives way to more transactions further down the road and their interactions is becoming messy when you consider all the non-happy flows, not even considering multi level approvals for the time entries.

 I recently found a good diagram for time and material oriented projects on LinkedIn, by Matthew Lazowski:

 What that mean for practitioners is that we need to give some considerations about the applicable states or events when we customize the time entries (or the journals) and not hide the complexity so we can document the design for the developers and the project benefits and build the test cases along with the design.

Read more