Planon Mobile Time Registration

Introduction

Planon Mobile Time Registration is a app module that supports time and item registrations for the payroll process including the approval by a manager. It can also import time from other sources in Planon like a work order or a resource activity. The module consists of two main elements. A module in the PMFS Live framework for time registration and an approval TSI for the manager.

There are multiple types of payroll records that can be created in the mobile app and reviewed by the manager in the approval TSI;

Internal time records: to register time that is non commercial, not related to a work order. (e.g. internal meetings, leave, etc…)

Resource Activity Time records: Similar to Internal time records but synced from the resource planner as proposed time record when booked in advance.

Commercial Time Records: Synced from the workorder process to complete the time registration for the payroll process.

Additional Costs: Additional elements with a unit that require registration because they have an effect on payroll amounts (e.g. driven KM’s, or surcharges for Health and Safety)

Commercial Additional Costs: Additional elements with a unit that require registration because they have an effect on payroll amounts that need to be linked to a workorder.

Each record type has his own characteristics and is determined by the selected special tariff line in combination with the origin of the record. (manually created or synced from another module in Planon)

Prerequisites

Environment

This solution is designed to work with Planon Live L107 and above.

Constraints

The app is based on below constraints

  • Special Tariff Lines are used as indicator on the payroll records, the Planon environment should have a license to use this BO.

  • Some functionalities are linked to Workorders and Resource Activities. To be able to use that the Planon environment should have these items configured.

  • Date time picker icons are not visible in Apple devices for Start Time and End date time fields on the time records. But the values can be entered by clicking on the fields

Required free BOs & free fields

The app requires below free Bos & fields

  • Free Business Objects need to be available in the Planon environment, preferred with history features.

  • A free reference field needs to be available on the person BO

  • Optional a free string field on the person BO (to register weekly contracted hours)

  • A free string field needs to be available on the order BO

  • A free reference field is needed on the resource activity BO

  • free strings fields, 1 free integer field and 1 free decimal field on special tariff lines

Assumptions

This design and functionality of the solution is based on the following assumptions.

  • The customer has mobile devices running Android or IOS with the Planon app installed. The customer has a license to use Planon Mobile Time Registration.

  • The Planon Mobile Time Registration module can be used on tablets. However, currently the app is designed and optimized to be used on a mobile phone.

  • Planon Mobile Time Registration is an online module within the Planon app, so an internet connection is required to make use of the module

Features

Overview and navigation

Action buttons

  • Add record: Create a new payroll record

  • Submit record: Submit records for today or for the whole week

Day navigator

  • Open bullet: Not all records have been submitted for this day

  • Green check mark: All records are submitted or approved for this day

  • Red cross icon: You have at least one rejected record that requires your attention

Icons

  • Pencil = edit record

  • Double pages = copy record

  • Dustbin = delete record

  • Magnifying glass = view record

  • Calander = Change the selected date

  • Two round arrows = refresh page

Status flow of a record in Planon Mobile Time Registration:

Booking different type of time records & cost elements

By hitting the ‘add record’ button a user can create a new record registered on a certain day.

The first action is to select a special tariff line (or time/project code, if renamed).

The selected line will determine which type of record is created, a internal time record or an additional costs record. In addition, special tariff lines determine whether you can change the rate field when you create a record

Time records

Time records are booked in hours and are added to the day and week total of that user. In this way the user can keep track of the day and week total that should be booked for his labour contract.

Additional costs

Additional costs are often surcharges to the salary and can be booked in a pre-defined unit (currency, distance, units, time, etc…)

Note: Additional costs can also have the unit ‘hours’ these are NOT summarized in the day and week total as additional costs records are not seen as ‘worked time’.

Save and Submit

When the user hits the save button the record is saved for himself. The record is not submitted to a manager yet.

When the user hits the submit button the record is submitted to the manager for review directly.

Import and complete resource activity time records

When configured, a pre-booked resource activity can be synced with Planon Mobile Time Registration. This can be done for resource activities that are booked for the future only or also for all records (setting). Information from the resource activity is passed on to the resource activity time record. Resource activity time records are treated the same as internal time records. Difference is that the first status of the record is ‘prepared’ instead of ‘registered’ meaning that the record hasn’t been edited by the user after sync. Once submitted no data is kept in sync between the resource activity and the resource activity time record.

Options:

When configured it is possible to indicate a special tariff line on the resource activity already before creating a time record. (manual or with a default value on the Lay-out or UDBO)

When configured it is possible to only trigger the creation of a (Resource activity related) time record after the resource activity is set to a certain status. (see settings)

When set resource activities that are created for the past, will also create a time record. (see settings)

The status of the resource activit can be shown in the resource planner, updating the description of the resource activity.

Note: Resource Activities are often registered in the resource planner or created in the Person TSI. More information about resource activities can be found in the Web Help.

Import and complete labour hour records from orders

When a user of the time registration app also processes work orders/assignments where he is tradesperson for, the time writing module will create a linked record for payroll administration. The payroll record will be kept in sync with the labour hour records of the work order. For the workorder time-amount and for payroll time-amount different values exist on the payroll record. A user has to possibility to update the payroll amount e.g. for rounding off purposes, when configured. The manager linked to the user can approve these deviations. In addition, a user can complete the record with other information if required, such as a special tariff line to categorize the time for payroll purposes.

Submit hours

A user can submit records to his manager. This can be done with individual records in the form or for the whole day or week in the home screen of the module.

When a user hits the ‘submit button’ while editing a record. The record is directly submitted to his manager.

When a user hits the ‘Submit records’ button in the home screen, the user can choose to submit all hours and costs elements of the selected day or the selected week

Approve and Reject hours

Each Activity definition may have list of ‘tasks’ to be done while working on the activity. The task data of each schedule is considered as a Check list item of the activity definition. So, whenever we create or update schedules, the correspnding tasks are also created or upadated in Planon as Check list items associated to the Activity definition.

Planon Web client

The manager that is responsible for reviewing the payroll records has its own user interface in the Planon web client to approve or reject time and additional cost records.

When a record is approved the record cannot be edited anymore and is seen as ‘final’.

When a record is rejected, the manager has to provide a comment. The field worker (the mobile user) can correct the record accordingly in the app and submit again.

Correction mode: Synchronise backwards to a labour hour record of an order.

Optionally, when approving a commercial time record, it is possible to sync the values of the actual number of hours field OR the determined number of hours field ‘backwards’ to the labour hour record linked to the (work)order. In the module settings of the app (see settings chapter), the setting syncHoursWithOrders can be set to enable the ‘correction mode’. This allows the user to update labour hour records linked to the workorder after the workassignment is set to done and removed from the mobile device in PMFS. In addition to the number of hours also trade and worktype can be updated on the time record and synced back.

With this setting enabled it is recommended that the status transisition on the order that completelty closes the workorder is blocked when not all related time records are approved. (see chapter 7 paragraph business rules)

To explain this functionality more in detail a short example;

An employee processes a workassignment in PMFS. This employee booked a record for travel and a record for work on the job with start and stop actions. When setting the assingment to done the workassignment is removed from the mobile device. In Planon Mobile Time Registration the employee reviews his time records at the end of the day. When reviewing his day the employee notices that he stopped the job too early. He edits the time record and changes the start and end date time and the determined number of hours to the correct values. With the correction mode enabled this value is updated on the workorder as well when the manager of this employee approves his time records in the approval TSI. Because correction mode is enabled the project manager keeping track of the progress of the workorder cannot set the workorder to administrative completed before all time records are approved by the manager.

Rejected records in Planon Mobile Time Registration

When a record is rejected the user of the mobile app sees directly what record is rejected. In addition the day navigator indicates that there is a rejected record on that day.

Push Notifications

When a record is rejected the field worker receives a push notification from the Planon app.

By default the message is configured in this format: ‘Time record {0} recorded on {1} is rejected. Please review your registered record.’ One can modify the message in the translation section of the app when desired. See last paragraph.

To configure push notifications, see chapter Planon Configuration post installation of App.

Sync Hours back to base records.

When ever a time record of type Commercial Time Record or Resource Time Record is approved, the data from the time record is updated on the source record ie Order Hour or Resource Activity based on the type.

Fields synchronized for the Commerical Time Records

  • Actual Number of Hours (configurable through the setting syncHoursWithOrders).

  • Start Date

  • End Date

  • Trade

  • Work Type

  • Note: Data is synced only when this setting is provided via value

Fields synchronized for the Resource Activity Time Records

  • Start Date

  • End Date

Till the version 1.x.x, this rules has to be configured on the order BO which is explained in the chapter Planon Configuration post installation of App

From version 2.x.x, this is now changed to a new business rule. More details can be found under the chapter Planon Configuration post installation of App

Sync Order data to commercial time records

Whenever the fields External Order Number, Property or Customer is changed on the order, the corresponding fields of the related time entries are updated.

Note: Property and Customer are updated only if the setting showFields contains Property and Customer

Till the version 1.x.x, this rules has to be configured on the order BO which is explained in the chapter Planon Configuration post installation of App

From version 2.x.x, this has now become a pre-defined rule. More details can be found under the chapter Planon Configuration post installation of App

Block Order Status transition

The app comes with a rule that can block the status transition if the order has any time records that are not approved. The status of the order is configurable.

Till the version 1.x.x, this rules has to be configured on the order BO which is explained in the chapter Planon Configuration post installation of App

From version 2.x.x, this has now become a pre-defined rule. More details can be found under the chapter Planon Configuration post installation of App

Splitting time records

Whenever time records span into multiple days, either multiple days, or just 2 midnights past midnight, the time record will be splitted into a single time record per day. This will not impact resource activities and/or labour hours.

Identifying overlapping time records

It is possible to have multiple time records for the same person at the same time. Sometimes this indicates a mistake and sometimes it is on purpose. To easily identify which time records are overlapping, there is now a field “UsrOverlap” that will tell you whether a time record is overlapping with another time record for the same person.

Miscellaneous

Favourites

The Special tariff line and Cost carrier fields contain a favorites function. When the star icon is enabled, the indicated value is always displayed at the top for the user. This way, values that are used regularly are easily accessible.

Copying records & Commercial Additional Costs

It is possible to copy records using the double paged icon. When copying it is only possible to select a special tariff line of the same type (unit or time). Exception on the rule is when a commercial time record is copied. When in that case a special tariff line of the type unit is selected a ‘commercial additional cost record’ will be created.

Edit and view records

Records that are in the status of prepared, registered or rejected can be edited with the pencil icon in the app.

Records that are in the status of submitted or approved can only be viewed using the magnifying glass icon in the app.

Deleting records

Records that are in the status prepared or registered can be deleted with the dustbin icon. An exception are commercial time records that are linked to a labour hour record from a work order, these cannot be deleted.

Upload files

The version of app 2.1.0, now provides the feasibility to upload document on the time records. User can decide to use this feature based settings.

Prevent Approval of Overlap Records

When the setting is set to ‘No’ and a time record is set to the status approved in the TSI an additional check will be performed if the record overlaps with an existing record. If so, the status transition will be blocked.

Handle Overlap flag

When the time records are updated or deleted overlap field on the associated overlapping timerecords is updated.

Planon Configuration

Business Objects

Cost Carrier

A free BO is needed to configure Cost Carrier records. This needs a User Defined BO with system name UsrCostCarrier

Below tables shows the fields required on the Cost Carrier business object

DescriptionSystem nameField TypeMandatoryIn SelectionUniqueInheritHistory
CodeCodeTextNoYesYesNoNo
NameNameTextNoYesNoNoNo

Time Writing records

Another free business object which is needed to store the time records.

Fields

Below tables shows the list of fields and the type needed on the business object

DescriptionUser-defined system nameField type. System nameNr of decimalsSystem nameMandatoryUnique
Actual no. of hoursUsrActualNumberOfHoursBigDecimal3FreeDecimal4NoNo
AmountUsrAmountBigDecimal3FreeDecimal10NoNo
ApproverUsrApproverPersonFreeString2NoNo
Cost elementUsrCostElementStringFreeString22NoNo
CustomerUsrCustomerCustomerFreeInteger11NoNo
DateUsrDateDate Time NeutralFreeDateTime10NoNo
Determined no. of hoursUsrDeterminedNumberOfHoursBigDecimal3FreeDecimal2NoNo
End date-timeUsrEnddatetimeDate Time NeutralFreeDateTime4NoNo
Labour hoursUsrLabourHoursRefOrderHoursFreeInteger2NoNo
Manager commentUsrManagerCommentStringExt endedFreeRemark2NoNo
OrderUsrOrderRefBaseOrderFreeInteger13NoNo
Order no.
Planon
UsrOrderNumberPlanonStringFreeString30NoNo
OverlapUsrOverlapCodesCodeName YESNOFreeString1NoNo
RateUsrRateMoney3FreeDecimal13NoNo
Source timeUsrSourceTimeRefFree XFreeInteger4NoNo
Start date-timeUsrStartdatetimeDate Time NeutralFreeDateTime3NoNo
TechnicianUsrTechnicianPersonFreeString20NoNo
Time codeUsrSpecialTariffLineSpecialTariffLineFreeInteger3NoNo
Total actual hoursUsrTotalActualHoursBigDecimal3FreeDecimal11NoNo
Total deviationUsrTotalDeviationBigDecimal3FreeDecimal12NoNo
Total amountUsrTotalAmountBigDecimal3FreeDecimal14NoNo
TradeUsrTradeTradeFreeInteger12NoNo
Unit of measureUsrUnitOfMeasureUnitOfMeasureFreeInteger1NoNo
User commentUsrUserCommentStringExt endedFreeRemark1NoNo
Work typeUsrWorkTypeCodesCodeNameFreeString8NoNo
Work assignmentUsrWorkAssignmentOrderResourceActivityFreeInteger14NoNo
DocumentUsrDocumentDocumentAny free fieldNoNo
Statuses

Below are the statuses needed on the time writing business object

CodeSystem name
ApprovedUsrApproved
RegisteredUsrRegistered
RejectedUsrRejected
SubmittedUsrSubmitted
PreparedUsrPrepared

Note: Make sure to keep name and system name exactly the same

UDBO’s

Below are the list of UDBOs with system name and the default status for the corresponding BO

  • UsrAdditionalCostElements (default status = registered)

  • UsrCommercialAddCostElements (default status = prepared) for integration with orders and ppm orders

  • UsrCommercialTimeRecord (default status = prepared)

  • UsrInternalTimeRecord (default status = registered)

  • UsrResActTimeRecord (default status = prepared) for integration with resource activities

Note:

  • Make sure to configure the default value for the code field for the above BO’s with “&CODEGEN(########,T,1)”

  • The default status advised is the setting for the best practice configuration. It is allowed to modify this value to a different state (e.g. set Commercial Time Records by default to the status submitted)

Status transitions on all UDBO’s

Below image shows you the required status transitions for all the UDBOs configured above

SpecialTariffLine

This section describes you the list of free fields needed on the System business object SpecialTariffLine

DescriptionUser-defined system nameField typeMandatoryIn selectionUniqueInheritHistory
CSS
Classes
UsrCSSClassesFree fieldNoNoNoNoNo
Time or unit?UsrTimeOrUnitFree field (link to yesno code descriptive picklist)NoYesNoYesYes
Modifiable rate?UsrModifiableRateFree field (link to yesno code descripti ve picklist)NoYesNoNoYes
Unit of measureUsrUnitOfMeasureFree integer (refrence to UnitofMeasure BO)NoYesNoNoYes
RateUsrRateFree numerical fieldNoYesNoNoYes
Fixed number of hoursUsrFixedNrOfHoursBigDecimalNoYesNoNoNo
Fixed amountUsrFixedAmountBigDecimalNoYesNoNoNo

Person

This section describes you the list of free fields needed on the System business object Person

DescriptionUser-defined system nameField typeMandatoryIn selectionUniqueInheritHistory
ManagerUsrLineManagerFree field (reference to Person)NoNoNoNoNo
Weekly Contract Hours*UsrWeeklyContractHoursFree field (Bigdecimal)NoNoNoNoNo
Weekly hoursUsrNumberHrsWeekFree field (Bigdecimal)NoNoNoNoNo

BaseOrder

This section describes you the list of free fields needed on the System business object BaseOrder

DescriptionUser-defined system nameField typeMandatoryIn selectionUniqueInheritHistory
External order numberUsrExternalOrderNumberFree fieldNoNoNoNoNo

OrderHours (Optional)

This section describes you the list of free fields needed on the System business object OrderHours

DescriptionUser-defined system nameField typeMandatoryIn selectionUniqueInheritHistory
Work assignmentUsrWorkAssignmentFree field (reference to Work Assignment)NoYesNoNoNo

ResourceActivity (Optional)

This section describes you the list of free fields needed on the System business object ResourceActivity

DescriptionUser-defined system nameField typeMandatoryIn selectionUniqueInheritHistory
Time codeUsrSpecialTariffLineFree field (reference to Work Special Tariff line)NoYesNoNoNo

If desired, it is possible to define statuses and status transitions for the different Resource activities UdBOs to build an approval process for example:

In the app settings, it is then possible to define from which status an RA time record is then created

Code / descriptive picklists

WorkType

A code descriptive pick list needs to be created and linked to the field ‘work type’ in the time writing business object

ListCodeDescription
Work_typeWorkWork
Work_typeTravelTravel
Work_typeWaitingWait

TIME_OR_UNIT

A code descriptive pick list needs to be created and linked to the field ‘Time or unit?’ in the special tariff line business object

ListCodeDescription
Time_or_unitTTime
Time_or_unitUUnit
Time_or_unitCTCommercial Time
Time_or_unitITInternal Time
Time_or_unitRAUResource Activity Unit

YESNO

If not present yet, a code descriptive YESNO pick list needs to be created and linked to the fields ‘modifiable rate’ in the time writing line business object

ListCodeDescription
YESNOYYes
YESNONNo

Layouts

Now the business objects are configured and the app has been installed. The only thing left is to configure the Approval TSI for the ‘management’ user group.

The following paragraph shows an example of that. One can make your own choices in what to view to the end user, what is read only y/n, what is mandatory etc…

Basic knowledge of configuring TSI’s and Layouts is required. More information about this can be found from Planon Webhelp

Create a lay-out for every UDBO. Most fields need to be read-only. Exceptions are the ‘Manager Comment’ field and the ‘Approver’ field.

Make the status transitions ‘Submitted > Approved’ and ‘Submitted > Rejected’ available on each lay- out.

Internal Time Record

Commerical Time Record

Additional Cost Elements

TSI filter

Create a TSI filter for the payroll record approval TSI

Business object = Time Writing

Code = Time Approver filter Filter = (Status = Rejected OR Approved OR Submitted)

TSIs

Create a TSI for the FreeBusinessObject you have used for the business object ‘UsrTimeWriting’ using the Free option in the TSI manager.

More info from Planon Webhelp

For example for Free1 and the history of free1. In our example we also included Free3 (our cost carrier BO) in the same TSI.

Link the TSI filter to the Payroll (or Time Writing) Approval selection step. It is also recommended to define a customizable list and some user filters

It is recommended to create a separate navigation panel ‘Payroll processing’ (or Time writing’) for this add-on with at least these 3 TSI’s

  • Personnel, to ‘jump to all-time records of a selected person’ and to change the manager linked to a person when needed.

  • Special Tariffs and special tariff lines, to manage the special tariffs and special tariff lines.

  • Payroll approval, for approving and rejecting payroll records

Data Management

After configuration of this add-on two new main business objects are added. In addition, the special tariff line and person business objects are extended with some additional fields.

  • Special Tariff Lines (extended) to indicate a code and a type to payroll records.

  • Person (extended) to link a manager to an employee

  • Cost Carrier to categorize payroll records with a financial cost carrier if required.

Data management of special tariff lines

In Planon there are special tariffs and special tariff lines. A special tariff is a category holding multiple special tariff lines. Special tariff lines are used to indicate the internal tariff and tariff indicator for a specific payroll record. A special tariff can be linked to an employee record. By doing so the amount available tariff lines will be limited by that special tariff (category) for the user of the Planon Mobile Time Registration app. If no special tariff is linked to a person all special tariff lines will be shown to the user according to its authorisation.

More information about special tariffs and lines can be found from Planon Webhelp

Specifically for this add on additional fields are added to the special tariff lines to trigger business logic in Planon Mobile Time Registration:

Time or Unit

  • IF set to time: The special tariff line will be seen as a ‘time’ tariff line. Records that are recorded with this type are added to the day and week balance of the user, to indicate if the amount of contractual hours are met. This type of special tariff line is applicable for all types of time records, but not for cost elements.

  • IF set to commercial time: The special tariff line will also be seen as a ‘time’ tariff line, but will only be applicable for commercial time records.

  • IF set to Internal time: The special tariff line will also be seen as a ‘time’ tariff line, but will only be applicable for Internal time records.

  • IF set to unit: The special tariff line will be seen as an additional costs tariff line. Records that are recorded with this type are seen as additional costs with a specific unit. (E.g. Distance, amounts, units etc..) These types or records are often used to register an appliable surcharge to payroll. This type of special tariff line is applicable for all types of Additional cost element records.

  • IF set to Resource Activity Unit: The special tariff line will also be seen as a additional costs tariff line, but will only be applicable for resource activty time records.

Unit of Measure

Indicates the unit of a special tariff line, most important for special tariff lines of the type ‘unit’

Fixed number of hours

It is possible to set a fixed number of hours for records with this special tariff line. The user cannot change the value in the app.

Fixed amount

It is possible to set a fixed amount for additional cost elements with this special tariff line. The user cannot change the value in the app.

Rate

To indicate a rate to the special tariff line, if applicable Modifiable Rate

If set to yes: The user can provide a rate in the ratefield

If set to no: The user doesn’t see the rate field

Data management of cost carriers

Cost Carriers can be used to indicate the financial cost carrier to a payroll record when required. Some organizations use different classification names like WBS element or PSP. For this add-on it is only required to register a code and a description for a cost carrier. If required one can also use other free fields from the business object to register additional values e.g. cost center references or legal entity

Manager registration on employee (person)

To indicate which person is responsible for approving payroll records, a new field has become available on the employee record. In the field ‘manager’ of the employee record is registered who is responsible for reviewing Payroll records. When a payroll record is created the approver will be assigned to this person by default.

Installation

This chapter describes the steps required to install this app on your Planon environment.

Installation Process

There are two ways to install the app:

  1. Using the Marketplace
  2. Manual installation

Install the app by using the marketplace

In case your environment is configured to use the Planon app store the only thing required to install the app is to add the app license in the AppCenter TSI. Planon will automatically download and install the app.

AppCenter Marketplace Installation

Manual installation

In case you want to perform a manual installation follow the steps below.

  1. Open AppCenter TSI from Planon webclient and click on install from action menu

AppCenter Installation

  1. Browse to the .ppk file

Browse ppk file

  1. Click OK to install the app and follow the installation process
  2. When the app is successfully installed, the app will appear in the AppCenter

Installed App

  1. Add the app license in Apps TSI

Add App License

Activation

Once the app has been configured, you can activate the app by pressing the Active status transition from the action panel. Always make sure that the required User groups are linked correctly and the Configure action is executed before activating the App.

AppCenter App Activation

App Level Configuration

Add module settings

  1. Provide the module settings which are available in the Module Settings section. Here is an example:
  1. Click the Save button after populating the module settings values.

Module Setting details

ParameterExample ValueDescription
allowTimeRecordCreationInPastYes‘Yes’ if you want to allow creation of time records in the past from resource activities, else ‘No’
boTypeNameTimeWritingFree20System name of the FreeBO used for TimeWriting BO
disableCopyOfCommercialTimeNoSet this to Yes to disable the copy of commerical time records in the mobile app
editStartAndEndDateTimeYesThis is to define whether the start date and end date fields are editable on the time records.
CT – Editable only on Commerical time records
IT – Ediatble only on Internal Time records
Yes – Editable on all types
No – Not editable on any type
editableOnCommercialTime“ActualNumberOfHours", “DeterminedHours”, “Trade,“Worktype”,“Description”,“TimeCode”This is to define the fields that are editable on the Commercial time record.
Supported fields : ActualNumeberOfHours, DeterminedHours, Trade, Worktype, Description, TimeCode
editableOnInternalTime“ActualNumberOfHours”This is to define the fields that are editable on the Commercial time record.
Supported fields : ActualNumberOfHours
enableStatusConcatenationToDescriptionYesStatus of ResourceActivity to be concatenated on Update/Insert of a RA?
enableFileUploadNoThis setting enables the system to support upload of file on the time record BO.
fieldNameOrderHourWorkAssignmentUsrWorkAssignment(User-defined) system name of the field referring to the work assignment on the order hours BO
orderStatusApprovalCheckStatusesTBDOrder Status To Be Checked
sendNotificationOnRejectionNoSend a notification to the Planon app when a TimeRecord is rejected
showFieldsActualNumberOfHours”, “CostType”,“CostCarrierList of fields that are to be displayed on the time record in the mobile app
Supported fields: CostCarrier, CostType, ActualNumberOfHours, DeterminedHours, Customer, Property
syncHoursWithOrdersUsrActualNumberOfHoursUser defined system name of the actual number of hours field on the Time Record BO
Possible values:
UsrActualNumberOfHours
UsrDeterminedNumberOfHours
No
! Also setup business rule form paragraph 6.5.2. and 6.5.4 when enabled
timeRecordStatusNotAllowedToUpdate“UsrApproved” / “UsrRejected”Mention the statuses for which the TimeRecord shouldn’t be allowed to update
triggerLabourHourYesSet this to Yes if the app needs to sync Labour Hours from workassignments to time records
triggerResourceActivityYesSet this to Yes if the app needs to sync Resource Activities to Time records
triggerResourceActivityStatusUsrResourceActivityReportedMention the Resource Activity statuses for which the related TimeRecord should be allowed to be created. Make sure this is set always set
updateExternalOrderNumberNoSet this to Yes to update the External Order number from Order to the Time records
! Also setup business rule from paragraph 6.5.3 when enabled.
onlyTimeRecords[UsrInternalTimeRecord,UsrCommercialTimeRecord,UsrResActTimeRecord
]
The system name for time record types
allowOverlappingYesAllows overlapping of time records.
statusedToIgnoreForOverlapRecords[UsrRejected]the status check to be ignored for overlapping records
additionalLabourHoursFieldMappingAdditional Field Mapping for Labour Hours, FieldLabourHours1:FieldTimeRegistration1,FieldLabourHours2:FieldTimeRegistration2 Here ValuePresent in FieldLabourHours1 is copied to FieldTimeRegistration1( i.e sourceField-from labourhour to target Field- from timeentry BO)
additionalResourceActivitiesfieldMappingAdditional Field Mapping for Resource Activites,FieldResourceActivites2:FieldTimeRegistration1,FieldResourceActivites2:FieldTimeRegistration2
Here ValuePresent in FieldResourceActivites1 is copied to FieldTimeRegistration1( i.e sourceField-from resourceactivity to target Field- from timeentry BO)
disableSubmitOnTimeEntryFormNoSet this setting to Yes to disable the Submit option on individual time entry meaning users can submit only for whole day or whole week. Set to No to be able to submit each time entry
disableCopyOfInternalRecordNoSet this to Yes to disable the copy of internal records in the mobile app

Note:

  • By default the time registration module gives the user the option to register different time values on labour hours (workorder records) and commercial time records. The workorder value (determined no of hours) is always kept in sync on the commercial time record as well as information for the user.

  • The setting syncHoursWithOrders allows you to sync back data to a linked labour hour record of a commercial time record, when desired. (Correction mode for labour hours). The hours are synced back to the labour hour record of the workorder when the status of the time record reaches the state of ‘approved’. You can choose to sync the determined number of hours field when you choose to keep payroll and commercial hour values separated. If you sync back the actual number of hours payroll and commercial time is always equal to each other.

  • With this setting activated it is recommended to block the status transition of the workorder to a admin completed status before all linked time records are approved. To enable this set the business rule in the field definer.

Translations

Error messages, field lables on the time record on mobile device are translatable. The translations for each language can be provided under the Translations selection step of the Details level of the App in APP Centre TSI

Planon Configuration post installation of App

Please follow the sections in this order from top to bottom.

PMFS (Live) – App configuration TSI

  1. Go to the PMFS (Live) – App configuration TSI

  2. Select the TimeRegistrationMobileModule

  3. Add the PSS definition ‘Time Record’

  4. Fill in a appropriate navigation name (in several languages), code, description and icon. These will be visible in the mobile app

  5. Fill in a sequence to indicate the position of Planon Mobile Time Registration in the Planon app.

Business Rules – till version 1.x.x

Push Notification Configuration

This Buiness Rule sends notification to the Mobile device when the Time Record is moved to the configured status

  1. Go to TSI Field Definer

  2. Select the BO configured for Time records

  3. Set the BO to Under Construction

  4. Go to Details selection level and Extension Selection step.

  5. Click on Add extension

    1. Select the extension PushNotificationStatusChange

    2. Select the event Before Update

    3. Provide any sequence

    4. Go to settings tab and provide below settings

ParameterValueDescription
fieldDateFreeDateTime10System name of the Date Time field on the Time record
fieldPersonFreeString20System name of the Person field on the Time record
statusUsrRejectedStatus for which notifications to be received
  1. Save the changes
  1. Go back to Business Objects level and set the BO back to completed state.

SyncHoursBusinessRule

This business rules syncs data from Time records to the corresponding Labour Hour records when the Time records are approved.

  1. Go to TSI Field Definer

  2. Select the BO configured for Time records

  3. Set the BO to Under Construction

  4. Select the BO with system name UsrCommercialTimeRecord

  5. Go to Details selection level and Extension Selection step.

  6. Click on Add extension

    1. Select the extension SyncHoursBusinessRule

    2. Select the event Before Update

    3. Provide any sequence

    4. Save the changes

  7. Go back to Business Objects level and set the BO back to completed state.

SyncOrderDataBusinessRule

This business rule syncs the data like External Order Number and Trade from the Order to the Time records of the order.

  1. Go to the TSI Field Definer

  2. Select the BO BaseOrder

  3. Set the BO to Under Construction

  4. Select the UDBO

  5. Go to Details selection level and Extension selection step

  6. Click on Add extension

    1. Select the extension SyncOrderDataBusinessRule

    2. Select the event BU

    3. Provide required sequence

    4. Save the changes

  7. Go back to BO level and set the BO to completed state

BlockOrderStatusTransition

This business rule blocks the status change on the order when there are time records for the order that are not in the conifgured statuses.

  1. Go to TSI Field Definer

  2. Select the BO configured BaseOrder

  3. Set the BO to Under Construction

  4. Select the UDBO

  5. Go to Details selection level and Extension Selection step.

  6. Click on Add extension

    1. Select the extension BlockOrderStatusTransition

    2. Select the event Before Update

    3. Provide any sequence

    4. Go to settings tab and provide below settings

ParameterExample ValueDescription
orderStatusToBeCheckedUsrWorkOrderTechnicallCompleted,UsrWorkOrderAdministrativelyCompletedSystem name of the status each separated by comma
timeRecordStatusToBeCheckedUsrSubmittedSystem name of the status of Time Record
  1. Save the changes
  1. Go back to Business Objects level and set the BO back to completed state.

Business Rule since version 2.x.x.

TimeRecordRejectionNotificationRule

This business rule sends notification to the Technician whenever the time record is rejected provided the notifications are enabled via the setting sendNotificationOnRejection in the app centre.

  1. Go to TSI Field Definer

  2. Select the BO configured for Time records

  3. Set the BO to Under Construction

  4. Select the UDBO required and add extension as shown in below table under the Extensions selection step

Business ObjectsBusiness RulesEvent TypeSequence
UsrAdditionalCostElementsTimeRecordRejectionNotificationRuleBUAny sequence
UsrCommercialAddCostElementsTimeRecordRejectionNotificationRuleBUAny sequence
UsrCommercialTimeRecordTimeRecordRejectionNotificationRuleBUAny sequence
UsrInternalTimeRecordTimeRecordRejectionNotificationRuleBUAny sequence
UsrResActTimeRecordTimeRecordRejectionNotificationRuleBUAny sequence
  1. Go back to Business Objects level and set the BO back to completed state.

SyncApprovedTimeRecordToOrderComponentsRule

This business is needed to sync the time record to Order Hour or Resource activity when the record is approved.

  1. Go to TSI Field Definer

  2. Select the BO configured as Time Record BO

  3. Set the BO to Under Construction

  4. Select the UDBO and add extensions as shown in below table

Business ObjectsBusiness RulesEvent TypeSequence
UsrCommercialTimeRecordSyncApprovedTimeRecordToOrderComponentsRuleAU15
UsrResActTimeRecordSyncApprovedTimeRecordToOrderComponentsRuleAU15
  1. Once the extensions are configured, set the BO back to completed state.

  2. Now make sure the setting syncHoursWithOrders from App Centre is filled such that value from this field is sycned with hours on the Labour Hour BO.

SyncOrderFieldsToCommercialTimeRecordsRule

This rule synchronizes the data between Order and its commerical time records

This business rule is already pre-configured when updating to the app of version 2.x.x by replacing the rule SyncOrderDataBusinessRule which needs to be removed from the field definer.

BlockOrderStatusTransitionRule

This rule blocks the status change of the order if there are any time records that are not approved.

The statuses of order is configurable through the setting approvalTriggerStatuses in the App Centre.

This business rule is already pre-configured when updating to the app of version 2.x.x by replacing the rule BlockOrderStatusTransition which needs to be removed from the field definer

UpdateActualHoursFromDeterminedHoursRule

This rule updates the Actual Number of Hours field with the Determined Number of Hours field on the Time record when the time record is set to status “Submitted” or “Approved”. This rule will never override Actual Number of Hours field, it will only populate it if it is still empty.

  1. Go to TSI Field Definer

  2. Select the BO configured as Time Record BO

  3. Set the BO to Under Construction

  4. Select the UDBO and add extensions as shown in below table

Business ObjectsBusiness RulesEvent TypeSequence
UsrResActTimeRecordUpdateActualHoursFromDeterminedHoursRuleBI15
UsrResActTimeRecordUpdateActualHoursFromDeterminedHoursRuleBU15
UsrCommercialTimeRecordUpdateActualHoursFromDeterminedHoursRuleBI15
UsrCommercialTimeRecordUpdateActualHoursFromDeterminedHoursRuleBU15
UsrInternalTimeRecordUpdateActualHoursFromDeterminedHoursRuleBI15
UsrInternalTimeRecordUpdateActualHoursFromDeterminedHoursRuleBU15
  1. Once the extensions are configured, set the BO back to completed state

TimeEntryAutoUpdateRule

To have the data related to Technician and Special Tariff lines to be updated on the time record, this rules needs to be configured on the Time Record BO.

So whenever a time record is created or technician is changed, the approver field of the Time Record is update with Manager of the Technician.

And whenever a time record is created or Special Tariff line is changed, the fields Unit of Measure, Fixed Amount of Hours and Fixed Amount of the tariff line are carried to the fields Unite Of Measure, Actual Number of Hours and Amount on the time record respectively.

  1. Go to TSI Field Definer

  2. Select the BO configured as Time Record BO

  3. Set the BO to Under Construction

  4. Select the UDBO and add extensions as shown in below table

Business ObjectsBusiness RulesEvent TypeSequence
UsrAdditionalCostElementsTimeEntryAutoUpdateRuleBU20
UsrAdditionalCostElementsTimeEntryAutoUpdateRuleBI15
UsrCommercialAddCostElementsTimeEntryAutoUpdateRuleBI20
UsrCommercialAddCostElementsTimeEntryAutoUpdateRuleBU25
UsrCommercialTimeRecordTimeEntryAutoUpdateRuleBI25
UsrCommercialTimeRecordTimeEntryAutoUpdateRuleBU30
UsrInternalTimeRecordTimeEntryAutoUpdateRuleBI30
UsrInternalTimeRecordTimeEntryAutoUpdateRuleBU35
UsrResActTimeRecordTimeEntryAutoUpdateRuleBI25
UsrResActTimeRecordTimeEntryAutoUpdateRuleBU30
  1. Once the extensions are configured, set the BO back to completed state

CalculateNumberOfHours

This rule makes sure the hours field on the time records are always updated based on the Start date and end date fields during the creation of time records. Also the Date field is updated whenever the Start date field is updated on the time record. The purpose of this business rule is to mainly handle the updates done in the Web client.

  1. Go to TSI Field Definer

  2. Select the BO configured as Time Record BO

  3. Set the BO to Under Construction

  4. Select the UDBO and add extensions as shown in below table

Business ObjectsBusiness RulesEvent TypeSequence
UsrCommercialTimeRecordCalculateNumberOfHoursBI10
UsrCommercialTimeRecordCalculateNumberOfHoursBU10
UsrInternalTimeRecordCalculateNumberOfHoursBI10
UsrInternalTimeRecordCalculateNumberOfHoursBU10
UsrResActTimeRecordCalculateNumberOfHoursBI10
UsrResActTimeRecordCalculateNumberOfHoursBU10
  1. Once the extensions are configured, set the BO back to completed state

SplitTimeRecordOnMidnight

This rule makes sure the hours field on the time records are always updated based on the Start date and end date fields during the creation of time records. Also the Date field is updated whenever the Start date field is updated on the time record. The purpose of this business rule is to mainly handle the updates done in the Web client.

  1. Go to TSI Field Definer

  2. Select the BO configured as Time Record BO

  3. Set the BO to Under Construction

  4. Select the UDBO and add extensions as shown in below table

Business ObjectsBusiness RulesEvent TypeSequence
Time registration root BOSplitTimeRecordOnMidnihtBI100
Time registration root BOSplitTimeRecordOnMidnihtBU100
  1. Once the extensions are configured, set the BO back to completed state

CompareBudgetAndActualHours

If total budgeted hours AND total actual hours have a value AND (total budgeted hours OR total actual hours is changed): Set total deviation to total budgeted hours MINUS total actual hours.

  1. Go to TSI Field Definer

  2. Select the BO configured as Time Record BO

  3. Set the BO to Under Construction

  4. Select the UDBO and add extensions as shown in below table

Business ObjectsBusiness RulesEvent TypeSequence
UsrCommercialTimeRecordCompareBudgetAndActualHoursBI45
UsrCommercialTimeRecordCompareBudgetAndActualHoursBU45
  1. Once the extensions are configured, set the BO back to completed state

OverlappingOfTimeRecords

This business rule checks whether the time record overlaps with another time record for the same person. If so, it will mark both records with overlap = yes. This business rule is also responsible for marking records with overlap = no when the overlap is resolved.

  1. Go to TSI Field Definer

  2. Select the BO configured as Time Record BO

  3. Set the BO to Under Construction

  4. Select the UDBO and add extensions as shown in below table

Business ObjectsBusiness RulesEvent TypeSequence
UsrCommercialTimeRecordOverlappingOfTimeRecordsBI50
UsrCommercialTimeRecordOverlappingOfTimeRecordsBU50
UsrInternalTimeRecordOverlappingOfTimeRecordsBI50
UsrInternalTimeRecordOverlappingOfTimeRecordsBU50
UsrResActTimeRecordOverlappingOfTimeRecordsBI50
UsrResActTimeRecordOverlappingOfTimeRecordsBU50
  1. Once the extensions are configured, set the BO back to completed state

TotalHoursAggregator

When the field “Actual hours” is updated, it will gather all time records for the work assignment of this time record. It will then calculate the total of all actual hours and store this value on all of the corresponding time records.

  1. Go to TSI Field Definer

  2. Select the BO configured as Time Record BO

  3. Set the BO to Under Construction

  4. Select the UDBO and add extensions as shown in below table

Business ObjectsBusiness RulesEvent TypeSequence
UsrCommercialTimeRecordTotalHoursAggregatorBI40
UsrCommercialTimeRecordTotalHoursAggregatorBU40
  1. Once the extensions are configured, set the BO back to completed state

UpdateTotalHoursOnDelete

This business rule is closely linked to the TotalHoursAggregator rule. This rule will recalculate the total actual hours on the related records when a time records is deleted.

  1. Go to TSI Field Definer

  2. Select the BO configured as Time Record BO

  3. Set the BO to Under Construction

  4. Select the UDBO and add extensions as shown in below table

Business ObjectsBusiness RulesEvent TypeSequence
UsrCommercialTimeRecordUpdateTotalHoursOnDeleteBD40
  1. Once the extensions are configured, set the BO back to completed state

PreventApprovalOfOverlappingRecords

When overlapping of records are not allowed, this rule blocks the user from “UsrApproved”. And a error message is shown in the Tsi.

  1. Go to TSI Field Definer

  2. Select the BO configured as Time Record BO

  3. Set the BO to Under Construction

  4. Select the UDBO and add extensions as shown in below table

Business ObjectsBusiness RulesEvent TypeSequence
Time registration root BOPreventApprovalOfOverlappingRecordsBU105

HandleOverlapFlag

When Time records are updated or deleted or inserted the time records are checked for overlapping, the corresponding overlap field is updated.

  1. Go to TSI Field Definer

  2. Select the BO configured as Time Record BO

  3. Set the BO to Under Construction

  4. Select the UDBO and add extensions as shown in below table

Business ObjectsBusiness RulesEvent TypeSequence
Time registration root BOHandleOverlapFlagBU110

Troubleshooting

Error handling

  • Errors are recorded in the server logs:
    • Tomcat log for web components
      • Webpages
      • PSS modules
      • Stepview
      • TSI Action
      • JAX-RS webservices
    • Wildfly log for server-side components
      • Business rules
      • Scheduled tasks
      • Workers
      • Event Connector
  • UI components (TSI Actions) also display errors in the interface