jansorg / tom-ui

Qt5-based user interface for the tom time tracker
https://www.tomtime.dev
GNU General Public License v3.0
8 stars 2 forks source link

Support data export to FreeAgent #111

Open tanius opened 4 years ago

tanius commented 4 years ago

Some in our company use tom for time tracking in our company, but everyone else just enters their worktimes into our accounting system FreeAgent. So if there was a way to directly export data from tom-ui to FreeAgent via API, we could simplify and unify the process of timesheet creation and signing in our company.

I imagine that the following user user interface would be suitable, at least for our purposes: a dialog "File → Sync …" that allows to set up multiple regular synchronization tasks. Each task would have the following parameters:

To preserve consistency between the tom-ui and exported remote data, data in tom should be marked accordingly. The "archived" mark seems suitable for this, as it indicates that a time entry cannot or should not be edited anymore.

When a new sync task is due to run, tom-ui would not just execute it but present the user with a dialog that says: "Snychronization task … for time period … is due. Please finalize your time entries and click the toolbar button 'Run pending sync tasks'.". This gives the user a chance to look through time records, check for consistency, check for spelling mistakes in the notes or missing notes etc., before finally committing the data to be synched and archived.

(There may be better ways to structure this dialog of course. The above is just my first idea.)

jansorg commented 4 years ago

@tanius Would reports in Freeagent have to aggregate tracked time of multiple persons on a single invoice? Or does Freeagent have timesheets per person?

Technically best might be a (self-hostable) server which aggregates time entries of one or more persons. An administrator could then configure daily, weekly, monthly syncing for one or more persons. But that's out-of-scope for now.

tanius commented 4 years ago

does Freeagent have timesheets per person?

Yes, it has. It can store worktime per person just as tom, and even includes an integrated browser based time tracker. But it's rather rudimentary and not integrated with my time tracking for projects I don't do for that same company, so I don't use FreeAgent time tracking.

What we need is a way to transfer and store the tom timetracking data into FreeAgent timetracking data. Everything after that like invoicing etc. based on these time records is then FreeAgent's problem and out of scope for this issue.