Skip to main content
This page is to document "what Tiki should do". For feature documentation (what Tiki does), please see corresponding page on doc site

Federated Timesheets

We now have federated timesheets: https://github.com/federatedbookkeeping/timesheets

 Current status

The jQuery lib we used is dead still alive but not updated anymore:


Preliminary phase

  1. When jTrack is not suitable anymore: Research (if any) available PWAs and libs are ready to use (license compatible, dev phase requirements met)
    1. if not: Research if a "PWA framework" is necessary to develop one
      1. if yes: choose one:
        • Ionic?
        • Polymer?
        • ReactJS?
        • VueJS?
        • ...?
      2. else: develop in pure HTML5 and JS/jQuery from scratch (with Bootstrap classes)
  2. Do we need dedicated features integrated/enhanced to achieve everything we need or Profile(s) would do the same job?

Development phase

  1. If an existing PWA already available to use
    1. add to packagist and integrate with Trackers
    2. else: code one (Fabio) as a proof of concept aka version 0.1 and integrate with Trackers


The solution must consist of two main parts:

  1. a Time Tracking app (to measure the time spent on projects)
  2. Time Sheet (Time Tracker) to store the measured data

Whether a new solution is needed or not, here are the requirements:

  • Time Tracking
    • Simple, nice, easy to use interface (see Toggl for inspiration)
      • Task name
      • Project name
        • Client name
      • Start/Stop button (keep focus only on one task at a time)
      • Continue button on previously tracked items
      • All fields editable (details in pop-up? x-editable lib could be used?)
    • Must work in any modern browser and desktop (OS independent - native app or at least browser extension needed or just browser window?)
    • Must work on iOS and Android (native apps needed or just web app in native browser?)
    • Must warn user if screen is idle for specified amount of time (keep running/discard since the idle time)
    • Sync with Tracker - store data to display the TimeSheet summary/reports
  • Time Sheet (a tracker only solution or needs a dedicated feature?)


In phase one, develop a PoC PWA Timer (Time Tracker).
Phase two, work with the tracked data and re-use in Reports, Invoices, Payments and related features...




Fabio is going to develop the PWA with luci's supervision.


  • If integration can be made using Tiki Profiles and existing features - code the profile(s) in YAML on profiles.tiki.org

Follow-up phase

  • Announce on dev list, article and social channels
  • Public beta testing
  • Write docs


The information below might be out-dated but is kept for review:


jTrack was added to Tiki9 (yay!), now let's progressively make it better and integrate with the rest of Tiki (task tracking, invoices, etc.)

Use cases

  • a company which hires freelancers on projects (and some of that time needs to be re-invoiced to the end customer)
  • manage time sheet for 15-person not-for-profit association.







  • Regis Barondeau
  • Marc Laporte
  • Kimberly Fink
  • Michael Pilling
  • Xavi (his boss at work is highly interested in finding some time tracking solution for this work team, out of Tiki if Tiki doesn't provide it)
  • Robert Plummer
  • luci


Documentation of the current implementation for Tiki9 is here, as a work in progress:

Other wiki-based wishes & infos


  1. extend trackers, like http://profiles.tiki.org/Time_Sheet
  2. use Spreadsheet? (for calculation, etc)
  3. new standalone features?
  4. A combination? (add time in trackers, make calculations in spreadsheet, and then, send to Payment.

Feature requests

  • How to send invoiced time to Payment?
  • Have a way to have a running total (so hours are added as they are done, but a negative entry is done when an invoice is prepared)
    • For freelancers: thus, the customer knows at any time how many hours are done (and will later be billed)
    • For staff: staff typically get a fixed paycheck for a fixed number of hours. However, the actual number of hours worked will fluctuate. So each paycheck would influence the number of hours in the bank. Vacation, holiday, sick, personal days, etc will also influence. So both employee and organization know how many hours are in bank or owed. This needs to be flexible because rules can change over time and are different from organization to organization.
  • Ability to import data from csv, since in some cases, the person logs its time in local on a spreadsheet, and then, data sets can be added (imported) into the time sheet at once.
  • Somehow, alow to relate records in the time sheet to projects (from a db of projets stored in a tracker?)

Mike's thoughts

(based on observations from person and my software consulting on time tracking)

  • calendar based time tracking (like google calendar) is very popular and the closest thing to the classic "daytimer" so calendar based (calendar tracker integration?) would be a big wish for this.
  • timecards need pending and approved or finalized status. Items are not billable / payable until they have been approved.
  • adding a charge from a defined list of products/services to a timeblock would be great.
  • timeblocks could be associated with projects and or clients (like tags or categories)
  • ical integration for outlook / goocal would be awesome.
  • one set of tags/ categories should apply to "status" - a simple workflow of "pending/tentative, active (to be done), done, closed, canceled. Trackers use of pending active closed may be too hardwired or can we expand the number of statuses?

Robert Plummer's thoughts

I just integrated a working example of "Time Sheet" using jTrack, which is a plugin that is designed to track time locally in your browsers cache. I've used TrackerQueryLib to pull tracker data from the Time Sheet Profile, my next step will be to create a plugin that can be used in a page, and then to extend to be used within Invoice as a means of creating line items.

cdrwhite: Analysis/Requirements for timesheets

This has been translated from our german intranet page

Existing solutions

This is an incomplete list of current time sheet packages with web interface and or API. Kimai and mite look convincing, and JTrack looks good eanough for basic use cases, combined with trackers (like in profile Time_sheet).

Convincing?: 1=yes .. 3=has potential … 5=no, 99=unknown
No*: A php script on a local server (in tiki) could interface via API with the commercial provider.

Related: Invoice and Payment

Collections of ideas

My Requirements (cdr white)

  • a database server (MySQL/PostgreSQL/PHP accessible) as backend
  • objectoriented PHP-library provides the core functionality
  • the library can be accessed via REST-Api and a web interface
  • possible clients/interfaces:
    • API for external applications
    • Web-Interface
    • IPhone-App
    • Firefox-Plugin
    • Phone-API
    • Hardware terminals with chipcard
  • Each project should have several customers, who will receive invoices
  • Each customer can have n users (employees/contractors/freelancers) and projects, A customer is automagically the first employee for himself and has a global project
  • Each customer can add employees to projects and define internal and external "prices" for the recorded times
  • Each project can have different categories, e.g. "Development", "Meeting", "Documentation"
  • Each customer can have multiple clients and give them read access to projects (external times/prices), a client will be another customer of the service
  • Times must be recorded via one click (log in/out) and by entering start and end times

Torsten & Michiel de Jong at 21st Oct '22 on gitter

  • The demonstration of George Svarovsky on YouTube is a great prrof of concept and might be partially good for productive use, as the tool timeld seems to be mainly for commandline use and not very trivial to install for non-tecchie endusers. Anyway how Tiki and timeld work together is just awesome.
  • For many use cases and people it would be important to have an easy to install, simple and comfortable interface on their phone to submit their tasks and hours
  • One example of such an app would be TeamWork from teamwork.com with the massive downside, that even if an API between Tiki and Teamwork would be developed (seems to be under way), still a SAAS would be involved. If SAAS would be involved,
  • Our FOSS approach is to provide customers and (developers aswell) a maximum of data souvereignity and data security and to respect the GDPR.
  • Torsteb and Michiel agreed, that it is necessary to find one or several FOSS mobile apps, ideally for Android and iOS, tha are able to sync with "something". That "something" could be open source self-hostable software, or some open protocol like CalDAV.


The data being processed is relvant for the german BDSG, as these informations are personal informations. Therefore the need for security is high/very high, it must be assured that data manipulation/read will be done by by the right people.
Web based communication will be encrypted via https, maybe even with client certificates.


  • In a project, there could be a freelancers, a web agency and a client. The timesheet information should be available to all three.
  • Should be easy to have a running total of time per project
    • Total done (by team member)
    • Estimated done so far (but not received time sheet or invoice)
    • Total done + estimated done
    • Estimated for the rest of the project (by team member)
    • Total estimated
  • From the time sheet, should be easy to make an invoice, and from that invoice, a Payment.

So we need Distributed data

Valerie's comments

I've been thinking about this in terms of the smartphone as the most likely input device for time tracking issues, that ultimately need to seamlessly be captured into accounting and tax preparation solutions.

Some people will simply use a calendar and most likely something like Outlook or Google rather than Tiki.

Others will prefer to use a stop watch on their phone that is captured as a time sheet. The truly technical junkies will want to use the GPS to track their mileage.

The problem with time tracking for the individual today is that inevitably different groups relevant to the professional and personal realms settle on different solutions. It is difficult to manage this through a single interface with the result that things that could be simple to handle once in real time, end up getting backlogged.

Therefore, flexibility to let users choose their own solutions for key components (calendars, task lists, time and mileage trackers). So while Tiki in many respects DOES project management, the individual participants in the collaboration should ideally be able to use their choice of PIM-type tools. Support for standards and integration are critical to achieving this goal.

My investigations into this issue have led me to conclude that Toggl is worth looking into. It has a very nice simple interface, an API, and attractive pricing, including an exceptionally generous entry level free option (5 users/unlimited projects).

At this point I am not sure that it is worth integrating Toggle with Tiki (it depends on how much the reporting could be handled by other Tiki features and how valuable integration with Basecamp would be ... I am assuming that iCal and RSS integration isn't so valuable).

PluginTimeSheet idea

Perhaps a spreadsheet or a tracker but what about a wiki plugin?


  • Less overhead that firing up a tracker
  • Still makes total
  • Easy to copy/paste to another site
  • Can be used in any Tiki project, and people watching the page can receive email notifications
  • Eventually could be used Offline

Features to be coded

  • "Time Worked" would make a total
  • "Time Worked" could be used as a variable in a page to add up values

Copy to clipboard
{TIMESHEET(user=Sam, category=can come from tracker data, categories, etc.)} Date and time start | Date and time end | Time worked | Description | Category {TIMESHEET}

TikiFest 2013 Report

1. Timesheet
2. Expenses reports
3. Tasks

Employee or contractors

  • Keep track
  • Time
  • What was invoiced today
  • Their client

  • Date { time entries }
  • # Hours (*1)
  • Client
  • Project/Dept.
  • Task/Description
  • Non billed hours
  • Start & stop time (*1)
  • Hourly rate?
  • Expense report?

-> invoice numbers it relates to -> contractor -> agency
-> invoice numbers it relates to -> agency -> to customer


  • Dashboard/Report
  • # Unbilled hours & detail of timesheet
  • # Billed hours
  • Printable
  • Watch or weekly report


  • Report per project with aggregate of all contractors
  • Bank of hours vs. invoice

List of decentral Android ToDo-list or Timesheet apps (clients)

An Android app to work in a federated environment must have a capability to sync tasks with FOSS Timesheet apps in some way, for example using CalDav or other common techniques. (more to be added)


Latest version on F-Droid: 12.7 (120700) submitted at 2022-07-03
GNU General Public License v3.0 only
Successor of Astrid
Astrid was a popular cross-platform productivity service that was acquired and discontinued in 2013. The source code from Astrid's open source Android app serves as the basis of Tasks.

  • Open protocols
    Tasks.org is compatible with Outlook, Thunderbird, Apple Reminders, and more!
  • Powerful and flexible
    Filters, tags, lists, infinite-depth subtasks, manual sorting. Tasks works with nearly any productivity system!
    can use Mardown

Tasks.org is compatible with Outlook, Thunderbird, Apple Reminders, and more!

  • Customizable and mutilingual
    Extensive options for customizing the look and feel of Tasks. Use Tasks in your language
  • Multiple sync options
    Synchronize with Tasks.org, Google Tasks, DAVx⁵, CalDAV, EteSync, or DecSync CC
  • Private
    Use offline, self-host, or setup EteSync for end-to-end encryption. There are no ads and your data is never shared with anyone


Version: 1.1.0
GNU General Public License v3.0
Manage and track your time more efficiently using a modern time tracking tool.
Pendulums is a free time tracking tool which helps you to manage your time in a better manner with an easy to use interface and useful statistics.
Clients: Android, Windows, MacOS, Linux and Web
Server: unclear
The web client (server?) seems to be written partially in Java and not sufficient for most shared hosting.
Same time Pedulums seems to be a great software an recommended to put here by Angus McAllister of the FederatedBookkeeping team on Gitter.

jtx Board journals|notes|tasks

Latest version on F-Droid: 2.00.03-rc01.ose (200030001) submittedt at 2022-10-18
GNU General Public License v3.0 only
Keep track of journals, notes & tasks - iCalendar compliant and syncable (DAVx5)

  • Elevate the power of the iCalendar standard to the next level, use the potential of the combination of journals (VJournal), notes (VJournal) and tasks (VTodo) out of one app and use DAVx5 to synchronize your entries with the CalDAV-server of your choice (coming soon)!
  • iCal standard compliant
    Using the iCal standard ensures compatibility and interoparability with other apps and services independent of a dedicated provider or infrastructure. Journals and Notes are compliant to the definition of the VJOURNAL component, Tasks are compliant to the VTODO component. Future features will also include import and export functionalities to and from .ics files 😊
  • Combine journals, notes & tasks
    Instead of using separate apps for journals, notes & tasks you can use them out of one hand, combine and link them to each other, e.g. create meeting minutes and link your tasks to them.
  • Sync with DAVx5 (coming soon)
    Synchronize your entries with any compatible CalDAV server by using DAVx5. By using DAVx5 you are free to choose your preferred provider for CalDAV, you can even use your local server to store and synchronize your data.
    Note: DAVx5 is an independent app and must be acquired separately.

Super Productivity

Latest version on F-Droid: 17.0 (17) submitted at 2022-05-03
MIT License
Free to do list & time tracker for programmers & designers

  • Organize your daily tasks at one place while making time tracking a lot less annoying. Super Productivity is a ToDo List / Time Tracker / Personal Jira Task Manager for multiple platforms.
  • Connect Jira, GitLab and GitHub
    Never miss the important updates on any of your Jira tickets. With our Jira and Github integration you will be notified about ticket changes without having to check Jira or your emails every 10 minutes. Just auto import all tasks assigned to you, plan the details locally and submit worklogs with just a single click.


seems to be discontinued after 2015
GNU General Public License v3.0 or later
Mirakel is a simple but powerful tool for managing your TODO-lists. You can sync
your lists with your own server!

* Manage your tasks in lists* Simple, but powerful User Interface
* Tablet-UI* Nice little widget
* Sort your tasks in different ways* Fully configurable
* Notifications & Reminders* Easy Backup and Import
* Import your tasks from Astrid
* Sync with Taskwarrior* Sync with CalDAV


Latest version on F-Droid: 1.4.2 (82200) submitted at 2021-03-24
Apache Licence 2.0
A task manager app, allowing you to categorise your todo list by urgency, state, timeframe etc.

Tasks can be synchronised with a CalDAV server
using, e.g., at.bitfire.davdroid and com.etesync.syncadapter

Invoice Ninja

Latest verion on F-Droid: 5.0.93 (93) submittedt at 2022-09-21
Attribution Assurance License
Create invoices, accept payments, track expenses & time-tasks
Invoice Ninja is an invoicing application that makes sending invoices and receiving payments simple and easy. Our latest version is a clean slate rewrite of our popular invoicing application which builds on the existing feature set and adds a wide range of features and enhancements that you have asked for.

We're similar to WordPress, you can either run the app on our server (hosted) or on your own server (selfhosted) – the server-part is built with PHP/Laravel; many people use Docker or Cloudron to install a packaged version, but you also can install it manually.




The following is a list of keywords that should serve as hubs for navigation within the Tiki development and should correspond to documentation keywords.

Each feature in Tiki has a wiki page which regroups all the bugs, requests for enhancements, etc. It is somewhat a form of wiki-based project management. You can also express your interest in a feature by adding it to your profile. You can also try out the Dynamic filter.

Accessibility (WAI & 508)
Articles & Submissions
BigBlueButton audio/video/chat/screensharing
Browser Compatibility
Communication Center
Contacts Address book
Contact us
Content template
Custom Home (and Group Home Page)
Database MySQL - MyISAM
Database MySQL - InnoDB
Date and Time
Debugger Console
Directory (of hyperlinks)
Documentation link from Tiki to doc.tiki.org (Help System)
Draw -superseded by Diagram
Dynamic Content
Dynamic Variable
External Authentication
Featured links
Feeds (RSS)
File Gallery
Friendship Network (Community)
i18n (Multilingual, l10n, Babelfish)
Image Gallery
Inter-User Messages
Kaltura video management
Live Support
Logs (system & action)
Lost edit protection
Meta Tag
Missing features
Visual Mapping
OS independence (Non-Linux, Windows/IIS, Mac, BSD)
Organic Groups (Self-managed Teams)
Performance Speed / Load / Compression / Cache
Revision Approval
Search engine optimization (SEO)
Semantic links
Shopping Cart
Site Identity
Smarty Template
Social Networking
Spam protection (Anti-bot CATPCHA)
Staging and Approval
Syntax Highlighter (Codemirror)
Tell a Friend
Terms and Conditions
Federated Timesheets
Token Access
Toolbar (Quicktags)
User Administration
User Files
User Menu
Webmail and Groupmail
Wiki History, page rename, etc
Wiki plugins extends basic syntax
Wiki syntax text area, parser, etc
Wiki structure (book and table of content)
Workspace and perspectives

Useful Tools