All Projects → jansorg → tom

jansorg / tom

Licence: other
Command line tool to track time and to simplify related office work (reporting, invoicing)

Programming Languages

go
31211 projects - #10 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to tom

Atom Wakatime
Atom plugin for automatic time tracking and metrics generated from your programming activity.
Stars: ✭ 303 (+1793.75%)
Mutual labels:  time-tracker, time-tracking
Activitywatch
The goal of ActivityWatch is simple: Enable the collection of as much valuable lifedata as possible without compromising user privacy.
Stars: ✭ 5,927 (+36943.75%)
Mutual labels:  time-tracker, time-tracking
Gitlab Time Tracker
🦊🕘 A command line interface for GitLab's time tracking feature.
Stars: ✭ 371 (+2218.75%)
Mutual labels:  time-tracker, time-tracking
legacy-python-cli
Command line interface used by all WakaTime text editor plugins.
Stars: ✭ 1,048 (+6450%)
Mutual labels:  time-tracker, time-tracking
Hackaru
Simple, cross-platform time tracking application
Stars: ✭ 82 (+412.5%)
Mutual labels:  time-tracker, time-tracking
Gauzy
Gauzy™ - Open-Source Business Management Platform (ERP/CRM/HRM)
Stars: ✭ 374 (+2237.5%)
Mutual labels:  time-tracker, time-tracking
Moro
Simple CLI tool for tracking work hours. Note: Heavy changes are happening in this repository. Docs might not be up to date, and things might be broken. Only the released NPM version is stable.
Stars: ✭ 390 (+2337.5%)
Mutual labels:  time-tracker, time-tracking
Kimai
Kimai v1 open source time-tracking - please switch to Kimai v2
Stars: ✭ 583 (+3543.75%)
Mutual labels:  time-tracker, time-tracking
Kimai2
Kimai v2 is a web-based multiuser time-tracking application. Free for everyone: freelancers, agencies, companies, organizations - all can track their times, generate invoices and more. SaaS version available at https://www.kimai.cloud
Stars: ✭ 1,216 (+7500%)
Mutual labels:  time-tracker, time-tracking
Zeit
Zeit, erfassen. A command line tool for tracking time spent on activities.
Stars: ✭ 33 (+106.25%)
Mutual labels:  time-tracker, time-tracking
team-timesheets
Time tracking web app built as a replacement for old school timesheets.
Stars: ✭ 25 (+56.25%)
Mutual labels:  time-tracker, time-tracking
Takt
Track your tasks and time
Stars: ✭ 142 (+787.5%)
Mutual labels:  time-tracker, time-tracking
Klog
A plain-text file format and command line tool for time tracking
Stars: ✭ 222 (+1287.5%)
Mutual labels:  time-tracker, time-tracking
clockify-cli
A simple cli to manage your time entries on Clockify from terminal
Stars: ✭ 99 (+518.75%)
Mutual labels:  time-tracker
gone
Where has my time gone?
Stars: ✭ 46 (+187.5%)
Mutual labels:  time-tracking
wakatime-zsh-plugin
🕒Track how much time you have spent in your terminal!
Stars: ✭ 71 (+343.75%)
Mutual labels:  time-tracking
unfog.vim
⏱ Vim plugin for Unfog CLI task & time manager.
Stars: ✭ 61 (+281.25%)
Mutual labels:  time-tracker
Workday.WebServices
Workday API clients
Stars: ✭ 18 (+12.5%)
Mutual labels:  time-tracking
timenaut
Desktop time tracking application for Windows, Mac and Linux that does not invade your privacy
Stars: ✭ 16 (+0%)
Mutual labels:  time-tracker
billwarrior
A Timewarrior report extension for generating invoices in LaTeX
Stars: ✭ 21 (+31.25%)
Mutual labels:  time-tracker

GoDoc Linux and macOS Build Status Go Report Card

This project is still in an early phase. It's usable and working but not yet recommended for production.

A simple UI is developed at https://github.com/jansorg/tom-ui (Qt5 tested on Linux and macOS). A preview for mac is available there.

tom

tom is a command line application to track time and to simplify office work. It's able to track time, to create HTML and PDF reports and to create invoice drafts for a few web-based invoicing application.

tom tracks time locally. Instead of implementing billing, etc. it will rely on 3rd-party tools, i.e. mostly cloud-based services.

Get tom

Instructions to get started until better documentation is available:

GO111MODULE=on go get github.com/jansorg/tom

After that tom will be available, assuming that your $GODIR/bin is in the $PATH.

If you want to build in place, then run this:

git clone https://github.com/jansorg/tom.git
cd tom
go build .

The binary tom will be in the current directory.

Basic usage

A typical session looks like this:

tom create project acme
tom start acme
sleep 10
tom stop
tom report --month 0

Documentation

Documentation about the command line is available at docs/markdown

Data model

The data is stored in a few JSON files on disk. It's easy to backup and still fast. Right now it's on disk at $HOME/.tom/. The available commands make it easy to export it into different target formats. Most commands are supporting plain text and JSON at this time. Other formats may be added in the future.

Projects

tom supports nested projects. The separator character is the slash '/'. The simplest form is a project without any subprojects.

If you need to bill a single client for several distinct project then it's better to use subprojects. For example:

tom create project client1 client1/web client1/backend
tom start client1/web
tom stop
tom report --split project -p client1

This will create a report on all projects which belong to client1 with the tracked time per project.

Tracking time

Start

Stop

Cancel

View

Reporting

Date and time filters

Splitting options

The reporting allows to split the tracked time into multiple pieces. Multiple levels of splitting is possible. Possible values:

  • year
  • month
  • project

For example, -split year creates a report where the tracked time is grouped into the years which are covered by tracked time. -split year,project will renders groups of years which are further grouped by the projects which were tracked in this particular year. -split project,month groups the tracked time by project first and then lists the summaries grouped by month for each project.

Plain Text Reports

HTML Reports

PDF Reports

api2pdf service integration

Import from other tools

Import data from Watson

tom import watson

Import data from Fanurio

This needs a custom CSV export (to be documented).

tom import fanurio complete-export.csv

Import data from Mac Time Tracker

This imports the CSV format exported by Mac Time Tracker.

tom import macTimeTracker export.csv

License

To be decided

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].