Fullscreen
Loading...
 
[Show/Hide Right Column]

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

TimeSheet

Working on getting a basic Time sheet feature.

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.

Who

  • 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

Options

  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?)

documentation

Documentation of the current implementation for Tiki9 is here, as a work in progress:
https://doc.tiki.org/Timesheet

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).


Remarks:
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

Security

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.

Distributed

  • 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

Related

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?

Benefits:

  • 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

PluginTimesheet
{TIMESHEET()}
Date and time start | Date and time end | Time worked | Description 
{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

Customer

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

Agency

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


alias

Spaces [toggle]

Search Wishes (subject only) [toggle]

Keywords [toggle]

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.




TogetherButton [toggle]

Documentation: PluginTogether