Time Sheet Logging Tool 🗓️👀👍

I built this after freelancing for a while and finding spreadsheets super annoying. Also, because a few of my clients track their staffs time across the project or projects that they are working on.

This build is specifically for the latter but the framework could be quite easily modified to handle your time sheets for your various customers and agencies that you work with.

You can then export everything via standard salesforce reporting or create some email templates to send your time sheets weekly - and yes you could automate that too!

Alas;

After installing the package you will need to create some base records. There are 3 main objects in the package

  • time card - each records represents 1 week of a persons time with hours against each day, be it work hours or holiday
  • time card annual summary - one record per person per year, this collates all the time cards and summaries calendar year information for that person
  • time card calendar - this record holds all the holiday dates based on the contract or location of the assigned person eg England, Scotland, USA, Germany etc

You must create the parent objects first and also the initial time card record. From then on users can either create new week time cards themselves or clone time cards from current weeks if they are working on more than one project at a time. There is a custom create/clone button on the time card list view, one for classic and one for lightning, these should be on the list view layouts already.

available in the included list views for time cards in both lightning and classic

The tool also does some handy things to manage users logging time including calculating their holiday allowance (UK only) and indicating if they have logged more than their weekly hours across eg multiple projects for the current and prior weeks (giving a manager time to address and correct).

The time cards also indicate if time is logged against a regions national holidays and shows you clearly where - stopping your clients being over billed.

note that the conflict was logged to Weds 01/01/2020 as in the users associated work calendar this date is stored as a national holiday (it will also behave the same when holiday is logged against a national holiday)

Time cards can also be connected to Projects (part of my last post about my basic case system) so a user can log some days to one project and some days to another project - per week a user should only have one time card per project.

week numbers are included but do run on the https://en.wikipedia.org/wiki/ISO_8601 standard which although a global standard does not work reliably in regions where weeks start on a Sunday (US) or Saturday (Islamic).

It's good to know that...

  • you will have to make sure time cards for the next year are set to a new annual summary record per user otherwise the clone and new tool will continue to attach to the existing record
  • the new button is not hidden by standard - you may want to change that?
  • there are no approvals on time cards but this could be added quite easily
  • note that the below flows are in fact running on a schedule
    • Update TimeCardAnnualSummary Roll Up Criteria Daily (daily@00:00)
    • Set SUM Last Weeks Hours Logged Weekly (weekly@Mon_00:00)
  • The project object is included in this package but you could easily switch that to something that you wish to use instead

If you would like to use this tool you can get it from my package link here

https://login.salesforce.com/packaging/installPackage.apexp?p0=04t4I000000tFcZ