1) Overview
2) Create custom exports
3) Provider Format Options
i) Format strings
ii) String Filters
4) Custom export example
5) Use custom payroll exports
6) Use custom billing exports
i) Creating a custom billing export
🔍 RELATED ARTICLES
Reports | Payroll Costs
Reports | Roster Costs
1) Overview
The custom export feature can be used to build an export format file specific to an organisation. This means that development work is not always necessary if an integration with a new product is required.
Custom exports enable organisations to control the format used to export their data to 3rd party applications. Having the ability to do this is cheaper and more flexible than other methods. This functionality enable organisations to create or modify a custom export file whenever the need arises.
NOTE: This feature is not enabled by default. Please contact support@easyemployer.com to discuss your requirements and evaluate if this feature can satisfy your organisation's needs.
2) Create custom exports
Follow these steps to access custom exports:
3) File name / Provider format options
i) Format strings
The options available for the file name and the provider are called format strings. Format strings allow having user specified output in different parts of Easy Employer.
The syntax of a format string is as follows (including the curly brackets): {my_query_string}
-
An example of this is the format string {now}, which gives the current unix timestamp (a way to track time as a running total of seconds) which produces a result similar to this: 1620958228 (you can check Epoch Converter to see what date this example refers to).
As shown above, {now} is not human readable, so we can apply a string filter to present the unix timestamp in a more human friendly format:
- date -
{now|date}
= 16th Jul 2014 12:00am
The above string filter is used by adding the |
(bar/pipe character) followed by the name of the filter date
.
This makes the output readable, but it is also possible to provide more information to the filter with a filter parameter:
-
date -
{now|date:d/m/Y}
= 16/6/2014
By using the filter parameter :d/m/Y
, the format for the date filter has been set to day, month and year separated by a forward slash.
The date format string filter is special because it requires some extra characters to work. These format characters allow you to specify a custom way to display a date. The format characters should be added directly after the date filter, separated by a colon. For example: {start|date:d/m/Y} might output 09/07/2024.
The following is a list of the most common format characters*:
Format character | Description | Example returned values |
Day | — | — |
d | Day of the month, 2 digits with leading zeros | 01 to 31 |
D | A textual representation of a day, three letters | Mon through Sun |
j | Day of the month without leading zeros | 1 to 31 |
l (lowercase 'L') | A full textual representation of the day of the week | Sunday through Saturday |
S | English ordinal suffix for the day of the month, 2 characters | st, nd, rd or th. Works well with j |
Month | — | — |
F | A full textual representation of a month | January through December |
m | Numeric representation of a month, with leading zeros | 01 through 12 |
M | A short textual representation of a month, three letters | Jan through Dec |
n | Numeric representation of a month, without leading zeros | 1 through 12 |
Year | — | — |
Y | A full numeric representation of a year, 4 digits | Examples: 1999 or 2003 |
y | A two digit representation of a year | Examples: 99 or 03 |
Time | — | — |
a | Lowercase Ante meridiem and Post meridiem | am or pm |
A | Uppercase Ante meridiem and Post meridiem | AM or PM |
g | 12-hour format of an hour without leading zeros | 1 through 12 |
G | 24-hour format of an hour without leading zeros | 0 through 23 |
h | 12-hour format of an hour with leading zeros | 01 through 12 |
H | 24-hour format of an hour with leading zeros | 00 through 23 |
i | Minutes with leading zeros | 00 to 59 |
s | Seconds, with leading zeros | 00 through 59 |
Timezone | — | — |
e | Timezone identifier | UTC, GMT, Atlantic/Azores |
O | Difference to Greenwich time (GMT) in hours | 200 |
P | Difference to Greenwich time (GMT) with colon between hours and minutes | +02:00 |
T | Timezone abbreviation | EST, MDT ... |
* For the full table of available date format strings, please see the PHP date reference manual
ii) String filters
They can be used in conjunction with query strings that are used in Easy Employer (remember to put a |
(bar/pipe) before the filter, e.g., {my_query_string|filter}
).
Filter | Description | Filter Parameters |
---|---|---|
date |
use a specific date or time format | Takes a date string the follows PHP’s string format convention. PHP: DateTimeInterface::format - Manual |
initials |
only show initials | Integer - Number of characters to include per work |
upper |
convert to upper-case | N/A |
lower |
convert to lower-case | N/A |
prepend |
prepend a string to format value (Default '-') | String - string value to be prepended |
append |
append a string format value (Default '-') | String - string value to be appended |
replace |
replace all occurrences of the search string with the replacement string | 2 parameters (…|replace:value1,value2) String - the string to search for to replace String - the value the string should be replaced with |
round |
round to a decimal place | Integer - the number of decimal places to round to |
roundf |
round to a decimal place, preserving the decimal length | Integer - the number of decimal places to round to |
padr |
right pads the input with a character to match a determined length | 2 parameters (…|padr:value1,value2) Integer - the length to pad the string to String - the character to use to pad the string |
padl |
left pads the input with a character to match a determined length | 2 parameters (…|padl:value1,value2) Integer - the length to pad the string to String - the character to use to pad the string |
trimr |
trims the right side of the input | Integer - the length to trim the string to |
triml |
trims the left side of the input | Integer - the length to trim the string to |
math |
applies a mathematical function to the input | 2 parameters (…|math:value1,value2) String - the function to apply, one of:
|
4) Custom export examples
i) Payroll cost-based export:
Column | Provider | Explanation |
---|---|---|
User export code | {user_export_code} | The users export code |
Shift start date | {shift_start_date|date:d/m/Y} | The shifts start date in the format dd/mm/yyyy |
Shift end date | {shift_end_date|date:d/m/Y} | The shifts end date in the format dd/mm/yyyy |
Shift start to end date | {shift_start_date|date:Y/m/d} - {shift_end_date|date:Y/m/d} | The shifts start to end date in the format yyyy/mm/dd - yyyy/mm/dd |
Shift start time | {shift_start_date|date:H:i} | The shifts start time in 24-hour format of an hour with leading zeros and minutes with leading zeros |
Shift end time | {shift_end_date|date:H:i} | The shifts end time in 24-hour format of an hour with leading zeros and minutes with leading zeros |
Shift start to end time | {shift_start_date|date:h:i A} - {shift_end_date|date:h:i A} | The shifts start to end time in the 12-hour format of an hour with leading zeros, minutes with leading zeroes and uppercase Ante Meridien and Post Meridien |
Shift break length in minutes | {break_length|round:0} | The shift break length in minutes rounded to 0 decimal places |
Shift break length in hours | {break_length|math:divide,60|round:2} | The shifts length in hours rounded to 2 decimal places |
Cost record start date | {cost_start_date|date:d/m/Y} | The cost records start date in the format dd/mm/yyyy |
Cost record end date | {cost_end_date|date:d/m/Y} | The cost records end date in the format dd/mm/yyyy |
Cost record start to end date | {cost_start_date|date:Y/m/d} - {cost_end_date|date:Y/m/d} | The cost recrods start to end date in the format yyyy/mm/dd - yyyy/mm/dd |
Cost record start time | {cost_start_date|date:H:i} | The cost records start time in 24-hour format of an hour with leading zeros and minutes with leading zeros |
Cost record end time | {cost_end_date|date:H:i} | The cost records end time in 24-hour format of an hour with leading zeros and minutes with leading zeros |
Cost record start to end time | {cost_start_date|date:h:i A} - {cost_end_date|date:h:i A} | The cost records start to end time in the 12-hour format of an hour with leading zeros, minutes with leading zeroes and uppercase Ante Meridien and Post Meridien |
Payroll cost code | {cost_code} | The award payroll categories payroll cost code |
Payroll cost duration in hours | {cost_duration|round:2} | The cost duration in hours rounded to 2 decimal places |
Payroll cost duration in minutes | {cost_duration|math:multiply,60|round:0} | The cost duration in minutes rounded to 0 decimal places |
Payroll cost hours or units | {cost_hours|round:2} | The cost hours or units rounded to 2 decimal places |
Cost type | {cost_type} | The cost record type |
Cost effective hourly rate | {effective_hourly_rate|round:4} | The cost records effective hourly rate rounded to 4 decimal places |
Cost total amount | {cost_amount|round:4} | The cost total amount rounded to 4 decimal places |
Payroll entity cost centre | {payroll_entity_cost_centre_code} | The cost records payroll entity cost centre code |
Site cost centre | {site_cost_centre_code} | The cost records site cost centre code |
Role cost centre | {role_cost_centre_code} | The cost records role cost centre code |
Payroll entity cost centre format generation | {cost_centre_code} | The cost records cost centre code generated from the format string set on the payroll entity |
ii) Billing application export:
Column | Provider | Explanation |
---|---|---|
Transaction ID | {transaction_id} | Automatically generated transaction ID, starting value set in organisation -> settings -> applications |
User export code | {user_export_code} | The users export code |
User given name | {given_names} | The users given names |
User surname | {surname} | The users surname |
User labour details name | {user_labour_details_name} | The users labour details name |
User labour details type | {user_labour_details_type} | The users labour details type |
User labour details ABN | {user_labour_details_abn} | The users labour details ABN |
User state | {user_state_territory} | The users labour details State |
Shift clocked start date | {start|date:d/m/Y} | The shifts clocked start date in the format dd/mm/yyyy |
Shift clocked end date | {end|date:d/m/Y} | The shifts clocked end date in the format dd/mm/yyyy |
Shift clocked start time | {start|date:H:i} | The shifts clocked start time in 24-hour format of an hour with leading zeros and minutes with leading zeros |
Shift clocked end time | {end|date:H:i} | The shifts clocked start time in 24-hour format of an hour with leading zeros and minutes with leading zeros |
Shift paid start date | {paid_start|date:d/m/Y} | The shifts paid start date in the format dd/mm/yyyy |
Shift paid end date | {paid_end|date:d/m/Y} | The shifts paid end date in the format dd/mm/yyyy |
Shift paid start time | {paid_start|date:H:i} | The shifts paid start time in 24-hour format of an hour with leading zeros and minutes with leading zeros |
Shift paid end time | {paid_end|date:H:i} | The shifts paid start time in 24-hour format of an hour with leading zeros and minutes with leading zeros |
Shift units | {units} | The unit amount for the shift |
Prioritised rate | {prioritised_rate} | The effective rate used in calculating the gross amount |
Total billing amount | {gross_amount} | The billing rate multiplied by the unit amount for the shift |
Tax rate based on custom entity | {entity_tax_amount} | The custom entity tax rate applied to the gross amount |
Tax rate based on user | {user_tax_amount} | The users tax rate applied to the gross amount |
User based total amount | {cost_amount} | The base hourly rate multiplied by the unit amount for the shift |
Shift site | {site} | The site of the shift |
Shift site address | {addr} | The site address of the shift |
Site cost centre | {site_cost_centre_code} | The site cost_centre_code of the shift |
Shift area | {area} | The area of the shift |
Shift role | {role} | The role of the shift |
Role cost centre | {role_cost_centre_code} | The role cost centre code of the shift |
Role job code | {role_job_code} | The role job code of the shift |
Calculated cost centre | {cost_centre_code} | The cost centre code prioritised from a custom entity on the shift, falling back to the role cost centre |
Billing job code | {billing_job_code} | The billing job code from the first custom entity assigned to the shift that has this value set |
Billing entity name | {billing_entity_name} | The name of the billing entity of the shift |
5) Use custom payroll exports
Once a custom payroll export has been created it can be selected for use. This will occur on the settings page for a payroll entity.
6) Use custom billing exports
Once a custom billing export has been created it can be selected for use, in the settings page for a payroll entity.
7) Videos
i) Creating a custom billing export