Timetracker – Timesheet Approvals and Multi-Layer Approvals in Confluence
[Timetracker]
When your company is tracking time, the process is often a means to an end. Whether to send an invoice to a client or to send your timesheet to HR for payroll, these scenarios all require that the submitted data is as accurate as possible.
One way of removing possible human error is to build in locks in the system, when worklogs can no longer be edited, or to have one or more layers of approvals. Another set of eyes to look over the submitted timesheets ensures that there are no mistakes and no missing hours.

Approval solution through combinations of apps
Our Jira plugin, Timetracker supports locking worklog data after a configurable period but does not natively have any approval functionality (at least, at the time of writing this article – if you’re interested in what we’re working on, check out our public roadmap).
But the beauty of the Atlassian Ecosystem is, that you can always create harmonious solutions built on not one, but the combination of several apps. So that is why we decided to explore solving the need for Timesheet approvals by combining our Timetracker with an app dedicated to Approvals.
Below, you’ll find 3 apps we have investigated. This article is intended to give you a general overview of what you can achieve with the combination of a time-tracker and an approval app. If you are interested in more details in any of the apps and how they work together with our Timetracker, please head over the our documentation portal, where we have separate guides for all 3 apps.
What’s shared in the methods, is that all 3 apps we have selected are built not on Jira, but on Confluence. While in general, switching contexts can be thought of as a bad thing, we believe this is a case of an exemption that strengthens the rule. The extra step of switching context from Jira allows for “locking” the Jira worklog data, so even if you are not using our time-tracking plugin, but another that doesn’t offer a “worklog lock”, in theory, you should be able to use the methods listed below with your current tools.
By nature, whatever export you have, the worklog data is “locked” to the moment of your exportation. This is the final piece of the puzzle to increase data accuracy and can be an extremely time and cost-efficient way of ensuring that clients are billed the right amount and for the right things, and that HR pays the right wages to their employees and contractors.
How to “secure” worklogs
To approve content inside Confluence, you’ll need to bring the data there, but Confluence doesn’t have a native method for displaying Jira worklogs. You can, however, embed and load exports of your Timesheet reports.
We’ll use our Timetracker as an example. Although with the app you can share directly your saved reports, which will stay inside Jira, so to move things to Confluence, you have to do other things. One extreme idea is, that you can use the URLs of your reports from Jira, and just embed them inside a Confluence page. Due to the mismatch between how Jira apps tend to be full screen inside Jira, and the limited space a Confluence page offers to embedded content, this will be too awkward probably.
A better option will be to use Excel and CSV exports of a report from Timetracker and load that into Confluence. In our app, you can export all of the different views of Reporting, so it is highly recommended that depending on your needs you use a different report type. For example, HR might require the per-day accuracy of a monthly Timesheet, while a longtime client might be satisfied with a project and user-level summary report. Once the export of the report is on a Confluence page, it just takes a dedicated Approval app to approve the page.
3 apps we tried out with Timetracker
Before we dive in on the details of what we liked and disliked about the 3 apps we checked out, let’s answer some questions:
Why them?
We wanted to select apps that are popular in terms of install numbers and also in terms of positive feedback on them. Another aspect we took into consideration is cost. With Timetracker, we aim to provide plenty of value for our users for a really affordable price. So we looked for Approval apps with similar price/value philosophies, and automatically discarded apps over the psychological barrier of 1000$/annual for 100 users.
How did we check them?
We tested 4 different scenarios to provide a good representation of how you could get a timesheet approval in Confluence using Appfire’s Page Approval for Confluence.
-
Adding a Timesheet Report as an Image and requiring a single approver
-
Adding a Timesheet Report as a .csv and requiring multiple approvers (approval chain)
-
Adding a Timesheet Report as a table and requiring “Partial” approvers (approval quorum)
-
Rejecting the Timesheet Report
The breakdown of the scenarios for each app is available in our documentation portal – you’ll find the direct links at the bottom of the table below. In each scenario, we’ll show you a glimpse of the app, so you can see various ways to implement timesheet approval in Confluence.
And now, without further adieu, let’s see the 3 apps:
App | Page Approval for Confluence | Approvals for Confluence | Approval Path for Confluence |
---|---|---|---|
Vendor | Appfire | AppFox | Warsaw Dynamics |
Marketplace link | Page Approval for Confluence | Approvals for Confluence | Approval Path for Confluence |
Installs (at the time of publishing this article) | 2411 | 1085 | 215 |
Price (Cloud Annual, 100 user tier) | free for a while, with an announcement for turning into paid subscription in 2024 | 750 $ | 610 $ |
Why it works | The app does a great job of providing functional ways of approving pages in Confluence for free. The app does a great job of simplifying the approval process and making it very intuitive to submit your timesheets to the various stakeholders. In other words, the app provides a similar UI, Dashboard, and workflow as the other players out there, but simpler. | This app is straightforward to use: it requires no real setup and you just start designating approvers and get them to sign off on your Confluence Page/Timesheets. There are also some very convenient settings such as getting external approvers involved and resetting the approval process once an edit has been made - no changing those timesheets in secret! It’s also worth mentioning that this app allows for a 5th scenario which we couldn’t try with the other apps: you can approve a section of a Confluence page. |
The tool is extremely simple to set up and use, and we particularly like the ability to add multiple approvers from various sources (users, Jira Groups, external users). This makes it particularly useful in the case of say, a contractor sending off his timesheets for approvals to HR. There are also nifty little things that can also be done, which further makes this and possible niche use cases fairly simple to execute. For example, adding an expiry date to the approval, being able to delegate the approval (in case someone is OOO), or being able to use webhooks. |
What we like | 1. Free for now 2. Templates are a great addition to further simplify and hasten the approval process. There are no reasons not to use them. 3. ”Acknowledgers” are neat: For example, if you have a team lead who is OK with your timesheet but cannot approve it, this could be a good way of getting a first check that everything is OK. 4. The little extras: Things like having comments that mention all the players as well as the versions that were approved, or the possibility of adding priorities to the approvals, are all small things that add up to make this app very versatile and complete. |
1. The ability to see the amount of versions that have been done and which version has been approved is very clever from an auditing standpoint 🤩. 2. The nice visual cues - such as the ability to see many of the approvers have approved the version without needing to click on the app or the status that the confluence page currently is on. 3. The “expire on edit” option (ie. every time there is a change made, the whole approval process restarts), especially if you’re dealing with sensitive information like in our case - to remove any potentially malicious manipulation of the data (e.g: changing the vacation days to normal work days). From our experience, this is the only app that provides this option. You can also add manual expiration dates. 4. You can specify only certain segments of the Confluence Page that require approval. This can be very productive if you only need a small section to be looked at. While we didn’t need to do it in our simplified use case, this could be quite useful if we were to add more information. |
1. Simple to use and very well made : Define the approval path, pop the approval path in a page, get it approved! 2. Numerous scenarios to approve: Single Approver, Multiple approvers , delegators, external approvers, and Parallel approvers. This should be more than enough for 99% of the use cases. 3. There is a way to add a manual expiration date on the approvals. 4. The little extras: The possibility to automate via webhook;, the possibility of adding external users as approvers; that approvers have their own, dedicated approver section inside the app; adding Jira groups as approvers also has a unique and useful approval option pop-up. |
What we dislike | 1. The UI is much slower than the competition, and every time you approve things, it refreshes the page due to comments which is a little annoying. 2. You can only add Jira groups as approvers, which is a shame as it would make the approvement process even faster if paired with a quorum approval (and also seems to be the standard). 3. The visual clarity of the app could be improved. For example, the chain of command option doesn’t provide a clear way of displaying the approval order and if you are using the approval quorum option, it doesn’t show how many people are needed for the page to be approved anywhere after the initial setup. |
1. There is a way to use templates for adding approvers (once per space), but beyond that, it may become rather annoying that you have to define who the approvers are every single time. 2. Double edged sword of working with versions: if you've started the approval process and a tiny change has been done - then you'll have to restart the approval process as a new version has been shipped out. This can possibly create too much signal for the approvers as a result. 3. You only get notifications via email from the app (if the option is ticked). There are no in-app notifications (and by extension email updates from Confluence about changes made) or comments made on the page regarding the changes in the approval process. |
1. The main pain point is that for external users, the content in Confluence might not load properly. For instance, Images and Macros would not load. Which is rather disappointing. 2. At the time of writing (July 2024), it didn’t look like the approval would highlight the changes made from one version to another - so it would be up to the approvers to do their research and re-audit everything again if changes are being made (whether post approval or because the page has been rejected). |
How to set it up with Timetracker | Approval Path for Confluence | Approval Path for Confluence | Approval Path for Confluence |
How to test it |
Conclusion
We wanted to show you how you can implement a Timesheet approval process with a combination of cost-efficient apps in Jira and Confluence. We explored three apps that will allow you and your colleagues to approve your Timetracker timesheets in various formats and methods in Confluence. These apps will be able to handle many different scenarios and approval requirements.
As for which app you choose, that is up to your own little specifications and internal processes. – each app seems to mainly do the same thing with a little twist. To summarize these unique twists:
Page Approval for Confluence by Appfire: It provides the basic approval features for free (until the paid subscription model starts).
Approvals for Confluence by Appfox: Version changes and edits made on the page will reset the approval process, so you won’t miss updates.
Approval Path for Confluence by Warsaw Dynamic: Easy to set up approval paths that can be reused between pages, and External users can also act as approvers.
If you have further questions, please do not hesitate to contact us or the vendors of the app you found most interesting.
Disclaimer:
This blog post originally appeared on EverIT's blog on 2024.07.11. EverIT has joined catworkx (part of TIMETOACT GROUP) on 2025.01.01.