Skip to content

andreasvoigt/timesheet-overtime

Repository files navigation

timesheet-overtime

This is a small cli based tool to process csv export files from Timesheet. It will parse csv export files and calculate overtime work based on 8 h daily work time and a 5 day week.

CircleCI

Installation and Execution

The program can be installed via

npm i -g timesheet-overtime

Afterwards it can be run by

timesheet-overtime -h

or

timesheet-overtime.cmd -h

for Windows.

Configuration

The overtime calculation uses 8h workdays with a 5 workday (MO - FR) week as default configuration. If you want to use custom configuration you can supply a .json5 file using the --config parameter.

{
  dayWorkTime: "08:00:00", // standard working time defined via HH:MM:SS
  customWorkTimes: [ // optional array of custom working time definitions
    {
      from: "YYYY-MM-DD", // supply at least 'from' or 'to'
      to: "YYYY-MM-DD",

      // a list of custom working time definitions:
      workTimes: {
        // "day": "custom-working-time as HH:MM:SS"
        // Define the day property as stringified number form 0 (sunday) to 6 (saturday)
        "3": "08:00:00",
        "4": "08:00:00",
        "5": "04:00:00"
      }
    }
  ]
}

Build

The application has to be build before running it:

npm run build

CLI

The application can be run by:

node dist/src/index.js

Call with -h to get help for possible parameters:

node dist/src/index.js -h

This will generate the following output:

timesheet-overtime help console output

Executing with a single file or hole directory will produce an output like:

timesheet-overtime example output

License

timesheet-overtime is licensed unter MIT License.