Relevance: All users
Version release: Aluminium 6.00 (including patches 5.22 to 5.05)
Release to staging: 22/10/2023
Proposed Release to production: 25/10/2023


Summary of functionality

Aluminium 6.00 has now been split into two versions – this version contains a lot of things we care about but that our users don’t even really need to know about. This version does however include a new feature allowing for the management of special holidays and a few other small tweaks… so read on.


Reminder to submit/approve timesheet

We previously did not record reminders to submit a timesheet as an event against a user’s timesheet timeline nor did we record if managers had been reminded to approve a timesheet. This helps with transparency so now every time a reminder (to submit or to approve) is sent, it is entered into the timesheet timeline.


Special holidays

To help with those ‘public holidays’ that are not really public holidays, we now have special holidays. These can be created and assigned to groups of staff through conditional rules (public holidays by default are currently assigned to all users).

Handy for union picnic days, right? Just create a condition that applies to the relevant staff by default. You can even customise the ref number/hour code to override the default for public holidays.


New reports

There are a couple of new reports including:

  • New costing reports for projects and work-orders – Costing by project over time and Costing by work-order over time. This actually gave me a brain explosion and inspired a rework of the dashboards for work-orders and projects – see Aluminium 7.00.
  • New plant entry report (modelled heavily off the Payrun entry report) for councils that they can use to manually key plant data into their financial systems. Some councils record and cost plant data separately from timesheets – so this is custom-designed for them to enter manually.
  • New Paid excess-time by department over time report where for each excess-time instance a row is written for the sum total of all excess-time for each excess-time type (paid, unpaid, accrued, unpaid) for the period (from start to end payrun).
  • New Paid excess-time over time report where there is a row for each cost centre displaying the total excess-time paid costed to that cost centre within the period by each user.
    The excess-time should only include excess-time rules where the excess time-type is Paid.


On the backs of the invisible, we build what can be seen…

As the main focus of this release was a bunch of stuff behind the hood, as always there are a bunch of items that, while maybe not performing starring roles and getting photos on the red carpet, we think are all awesome. So here they are…



[FIX] Fix error when payroll officers open the My teams timesheets page and there were multiple pay periods with large numbers of outstanding timesheets. Let’s close those payruns, shall we? ‘cough’ ‘cough’

[CHORE] Alter the order of duty requests on the Staff management > Timesheet options page – the list was showing oldest to newest by default. Now, after popular request, it shows newest to oldest 🙂



A new default ext ref value can be added for accrued hours if the ref idea is not set at the rule level. To be honest, the field was always there – we just made the label easier to understand – Default ext ref ID to be used if no other ID is set for accrued time



[FEAT] Create SGSC keypay report – Create special report for keypay with new batchfile construction rules and also create tenant naming convention for keypay batch files so different councils with different files can ensure they have the right report enabled – because eeny meemy miny moe is not the most efficient way (despite what we learnt at school) of selecting which report is the right one.

[FIX] Fix error with generating User leave requests over time report if there are leave requests that were auto-approved in the selected period. Not going to lie, we might not have tested this scenario on the reports when we approved it.

[FIX] Fix error on date comparison that was stopping report Work patterns by department from working. We had a conflict with the date formats that needed to be fixed, so it was and now it is.

[FIX] Fix issue with ambiguous table alias on ad hoc allowances rows for details payrun data source.



[FIX] Fix calculation error on timesheet summaries where total hours adjusted and total paid hours adjusted were not deducting the values correctly from RDO earnt, accrued hours and unpaid excess-time. Just because you work all the hours doesn’t mean you get paid for them – sorry about that.

[PERF] Users with work-orders – it was super slow on the web tenant. Yes, yes it was. Turns out that loading 120,000 work-orders plus their sub-tasks into a drop-down selector is not instant. So we re-designed the process and split the service and also just did some cool magic to sort this out, which is actually awesome and we are repeating it in the app. Thanks for the memories Hogwarts #nightsintheastronomytower

[FIX] Fix rounding error on calculating period excess-time with leave where FTE calculations are applied, daily excess-time is triggered but no period excess-time should trigger because 0 of 0 is actually 0. Yes, this might be a fringe case but it is still important to resolve.



[FIX] Fix auto-allowance calculations for excess-time type when more than one instance of excess-time is triggered on the same time block.



[FIX] Fix on pagination on command that re-posts the failed files that were skipping a page every page, forcing it to run multiple times. I don’t think we need to add much to that description, do we?

[FEAT] Create console command to re-post all files that failed to integrate to EDRMS because having to script this was just getting annoying and it is almost summer so easy is great. G&T by the pool while those files reprofile anyone?

[FIX] Fix issue with importing CSV files where BOM is present – turns out when files brought the BOM our importer tool got so scared it stopped working. We sat it down and had a chat and now if your CSV file has some BOM, our importer tool says bring it.

[CHORE] Increase the rate limit for authenticated but public non-whitelisted API requests to 600 requests per minute.

[CHORE] Add command to clean finished integration unnecessary data to run automatically every night.

[CHORE] Integrations – LOGS – Remove rubbish from dataset.

[CHORE] Make log messages shorter to save database space on external systems integration.

[CHORE] Integrations – Update process to run work-orders syncing.


Mobile API

[FEAT] Create a new API service for user profile info to be used to populate user page on mobile app.

[FEAT] Create new service on API v3 to refresh the token for logged user.

[FEAT] Create new service to get assigned role information by ID on API v3.

[FEAT] Create new service to get list of work-orders by role ID on API v3.

[CHORE] Improve error codes on API v3 for better handling from mobile app.

[CHORE] Remove work-orders from API v3 response for timecard config.

[FIX] Fix error with mobile app when opening timesheet or timer pages due to relationship changes on the data construction.

[CHORE] Add ability to end record on the next day when saving time.