Timetracking

By law we’ve to keep track of the work time (attendance) of VSHNeers. To allow the Antares team to send invoices to customers for hourly billed work we’ve to record the time we work for customers (work logs).

We use two systems to track our time: Odoo for attendance and Jira for worklogs.

Don’t wait until the last day of the month to fill in your timesheets! Your contract states it should be done by the end of every work day, and experience shows it’s even better to do it immediately during the day, as you go from project to project.

Odoo

At VSHN we use the Odoo ERP. One of its modules, the timesheet, must be filled every day in the following way:

  • Login into Odoo.

  • Select "Human Resources" in the menu above, then "My Current Timesheet" from the menu on the left. Or click on this direct link.

  • Every Monday morning, remember to "Create a new Timesheet" by clicking on the "Save" button before logging time.

  • Every morning when you arrive, and every evening when you leave, click on the white "check-in" button next to your username. Also check-out and check-in again while you enjoy your lunchtime break. Alternatively you can edit your attendance time directly in the timesheet or in the Attendance overview.

  • On the first monday of a new month, go through your timesheets of the last month (choose list view in upper right corner) and click on the "Submit to Manager" button to close the timesheet and mark it ready to process. Note that it’s locked after that, so do your work log items (see below) before closing it.

odoo

Attendance Rules

Lunch

Lunch time must also be recorded separately as it’s not automatically deducted. Simply sign out & sign back in according to your lunchtime.

Home Office & Absences

Absences and home office days must be communicated reliably, and above all they must be planned, as much as possible! Absences or home office must be communicated in the team; exceptions such as illness and unforeseen events (train cancellations, etc.) as early as possible.

Date Overlaps

If you have to work beyond the day change (for example from 22:00 to 01:00), then you must log out at Odoo at 23:59 and log back in again at 00:00, because otherwise the system gets spoiled and credits you 42 hours (or similar) for the day! It’s a bug, not a feature.

Special Attendance

  • Can be recorded using the Action Reason when signing in or out. Use separate attendance, don’t mix it with other Action Reason attendance entries.

  • Besides ordered outside-office-hours, must be logged as attendance time corresponding to your daily working hours, taking into account part-time employment (reduced working hours per day).

You always need a sign-in and and sign-out with the same Action Reason.

Outside Office Hours

  • is from 20:00 to 08:00 and only upon request, for example if you’ve to work for planned maintenance or OnCall alerts. Outside Office Hours aren’t to be confused with 24/7 worklogs for customers (which is about billing).

  • can be recorded using Outside office hours as the Action Reason.

Sick leaves

  • are the first 2 days sick at home.

  • are when you are on sick leave prescribed by the doctor.

  • can be recorded using Sick / Medical Consultation as the Action Reason.

Medical Consultation

  • are doctor visits during normal office hours.

  • must be scheduled for off-peak hours or, in the case of part-time employees, for days off. If this isn’t possible, the absence must be recorded in the ticket VINT-739 with the note "Doctor’s visit."

  • can be recorded using Sick / Medical Consultation as the Action Reason .

Militia Fire Service

  • counts as work time during normal office hours for ordered assignments ("Einsätze" or "Angeordnete Übungen"), because:

    • according to Swiss law (Art. 324a OR) the fulfillment of legal obligations during normal office hours is work time.

    • There is a militia fire service obligation in most cantons and municipalities of Switzerland which counts as fulfillment of legal obligations.

    • VSHN decided in VIP-70 to give this right to any VSHNeer in active fire service duty regardless of the canton or city of residence.

  • can be recorded using Requested Public Service as the Action Reason.

  • salary impact should be checked annually by PeopleOps only if a VSHNeer has an annual double payment exceeding CHF 500. We don’t actively enforce this and trust VSHNeers to report if they estimate this to be higher.

Jira

In VSHN we use Jira to track every task, its progress and the time spent for it. Whenever you are assigned to a project or a task, there will be a Jira ticket for you to track your time in.

Use the Timetracker to add entries to your work during the day.

We use Jira extensively in many other ways. Please check the corresponding section in this Handbook for more information.

Worklogs and Attendance

We’ve rules depending on the type of the Team:

Product and Central Services Teams

The sum of attendance in Odoo and the sum of recorded work logs per day in Jira don’t have to match. Work logs for invoiceable work still has to be logged though and the teams are responsible to make sure this actually happens. Members of these teams are free to still log work on internal Issues and Chores, if it helps the team to organize their work or assess the workflow.

Solution Teams

A mechanism is needed to make sure no billable hours are lost. For this these Teams use a very simple set of Chores to track their internal time (for example Internal Work, Meetings, Team Building) and thus have the ability to make sure the sum of attendance in Odoo and the sum of recorded work logs per day in Jira can match. VSHN Internal Work is offered as a "catch-all" Chore company wide. Managed service related work, that can’t be logged directly to a customer ticket, shouldn’t be logged on the VSHN Internal Work chore, but on the Monitoring Ops chore instead.

Worklog Rules

15 Minute Blocks

We record time in 15 Minute blocks (not 5, not 20). When in doubt, round up or down. This is because we use the timesheet entries to bill our customers.


These rules are tracked and reviewed as VIP-17.