Skip to main content

How to Calculate Double Time Hours in a Single Entry Timesheet on Dashpivot Web

Learn how to use a formula to automatically calculate Double Time hours in a single entry Labour timesheet in Dashpivot Web. Covers weekday overtime beyond 10 hours, all Sunday hours, night shifts, and Saturday hours after the first 2.

Written by Nina Yang

Learn how to use a formula to automatically calculate Double Time hours in a single entry Labour timesheet in Dashpivot Web. Double Time applies to six scenarios: weekday overtime beyond 10 hours, Saturday hours after the first 2, all Sunday hours, weekday early starts (before 06:30), weekday late starts (18:30 or later), and Saturday night shifts.

Prerequisites

Before you begin, make sure you have the following:

  • Plan: All Plan Types

  • Permission: Org Controller (Home Folder) or Project Controller (Team Folder)

  • Skills Required: Dashpivot, basic formula knowledge

  • Device Type: Computer

  • Subscription: Dashpivot Web

Column Setup

Before adding the formula, make sure your Labour table has the following columns in order:

Column

Label

Field Type

B

Day

Date

C

Start time

Time

D

Finish time

Time

E

Break time

Number

H

Double

Formula

Break time must be entered as a decimal number of hours — for example, 0.5 for 30 minutes and 1 for 1 hour.

Step-by-Step Instructions

  1. Open your template in the Template Editor and navigate to your Labour table.

  2. Add a new column and set the field type to Formula.

  3. Label the column Double.

  4. Enter the following formula in the Formula field:

    =IF(TIMEDIF(C1,D1)-E1>10, TIMEDIF(C1,D1)-10-E1, 0)
     * IF(WEEKDAY(B1,2)<=5, 1, 0)
     * IF((C1>=Timevalue("06:30AM"))*(C1<Timevalue("06:30PM")), 1, 0)+IF(WEEKDAY(B1,2)=6, 1, 0)
     * IF(TIMEDIF(C1,D1)>2, TIMEDIF(C1,D1)-2-E1, 0)
     * IF((C1>=Timevalue("06:30AM"))*(C1<Timevalue("06:30PM")), 1, 0)+IF(WEEKDAY(B1,2)=7, TIMEDIF(C1,D1)-E1, 0)+IF((C1<Timevalue("06:30AM")), TIMEDIF(C1,D1)-E1, 0)
     * IF(WEEKDAY(B1,2)<=5, 1, 0)+IF(C1>=Timevalue("06:30PM"), TIMEDIF(C1,D1)-E1, 0)
     * IF(WEEKDAY(B1,2)<=5, 1, 0)+IF(WEEKDAY(B1,2)=6, 1, 0)
     * IF((C1<Timevalue("06:30AM"))+(C1>=Timevalue("06:30PM")), TIMEDIF(C1,D1)-E1, 0)
  5. Save the template.

Understanding the Formula

The formula has six parts, each covering a distinct double-time scenario. Think of each part as a different rule — the formula checks each one and only the rule that matches the situation will produce a result. The others automatically return 0 and stay out of the way.

Key Concepts

TIMEDIF(C1, D1) returns the difference between start and finish time as a decimal number of hours. Net hours worked = TIMEDIF(C1, D1) − E1 (total hours minus break).

Timevalue("06:30AM") / Timevalue("06:30PM") are the shift boundary constants used to determine whether a shift is a day shift or night shift.

WEEKDAY(B1, 2) returns the day of the week as a number, where Monday = 1 and Sunday = 7. Values 1–5 are weekdays; 6 is Saturday; 7 is Sunday.

IF as a gate — many parts of the formula use IF to return 1 (pass) or 0 (block). These are multiplied together so that all conditions must be true for hours to be counted. If any gate returns 0, the entire part equals 0.

+ as logical OR — in Part 6, two conditions are joined with + rather than *. This means either condition being true is enough to trigger the result.

Part 1 — Weekday day shift overtime beyond 10 hours

IF(TIMEDIF(C1,D1)-E1>10, TIMEDIF(C1,D1)-10-E1, 0)
* IF(WEEKDAY(B1,2)<=5, 1, 0)
* IF((C1>=Timevalue("06:30AM"))*(C1<Timevalue("06:30PM")), 1, 0)

Component

What it checks

Effect if false

TIMEDIF(C1,D1)-E1>10

Net hours exceed 10

Returns 0

TIMEDIF(C1,D1)-10-E1

Hours beyond 10 (the Double value)

WEEKDAY(B1,2)<=5

Weekday

Multiplies by 0

Day shift condition

Start between 06:30–18:30

Multiplies by 0

Result when all conditions pass: Double = net hours − 10. Example: 12 net hours → Double = 2 hours.

Part 2 — Saturday day shift, hours after the first 2

IF(WEEKDAY(B1,2)=6, 1, 0)
* IF(TIMEDIF(C1,D1)>2, TIMEDIF(C1,D1)-2-E1, 0)
* IF((C1>=Timevalue("06:30AM"))*(C1<Timevalue("06:30PM")), 1, 0)

Component

What it checks

Effect if false

WEEKDAY(B1,2)=6

Saturday

Multiplies by 0

TIMEDIF(C1,D1)>2

Gross hours exceed 2

Returns 0

TIMEDIF(C1,D1)-2-E1

Gross hours minus the 2 T&H hours, minus break

Day shift condition

Start between 06:30–18:30

Multiplies by 0 — night shifts handled by Part 6

Result when all conditions pass: Double = total hours − 2 − break. Example: 6 hrs gross, 0.5 break → Double = 3.5 hours.

Part 3 — All Sunday work

IF(WEEKDAY(B1,2)=7, TIMEDIF(C1,D1)-E1, 0)

Component

What it checks

Effect if false

WEEKDAY(B1,2)=7

It is Sunday

Returns 0

TIMEDIF(C1,D1)-E1

All net hours worked

Result: Every net hour worked on Sunday is Double Time. Start time and hours worked are irrelevant — all Sunday hours are double.

Part 4 — Weekday early start (before 06:30)

IF((C1<Timevalue("06:30AM")), TIMEDIF(C1,D1)-E1, 0)
* IF(WEEKDAY(B1,2)<=5, 1, 0)

Component

What it checks

Effect if false

C1<Timevalue("06:30AM")

Start time is before 06:30

Returns 0

TIMEDIF(C1,D1)-E1

All net hours worked

WEEKDAY(B1,2)<=5

Weekday

Multiplies by 0

Result when all conditions pass: All net hours are Double. If a worker starts before 06:30 on a weekday, the entire shift is double time regardless of when it ends.

Part 5 — Weekday late start (18:30 or later)

IF(C1>=Timevalue("06:30PM"), TIMEDIF(C1,D1)-E1, 0)
* IF(WEEKDAY(B1,2)<=5, 1, 0)

Component

What it checks

Effect if false

C1>=Timevalue("06:30PM")

Start time is 18:30 or later

Returns 0

TIMEDIF(C1,D1)-E1

All net hours worked

WEEKDAY(B1,2)<=5

Weekday

Multiplies by 0

Result when all conditions pass: All net hours are Double. This is the mirror of Part 4 — same logic, opposite boundary.

Part 6 — Saturday night shift

IF(WEEKDAY(B1,2)=6, 1, 0)
* IF((C1<Timevalue("06:30AM"))+(C1>=Timevalue("06:30PM")), TIMEDIF(C1,D1)-E1, 0)

Component

What it checks

Effect if false

WEEKDAY(B1,2)=6

Saturday

Multiplies by 0

(C1<Timevalue("06:30AM"))+(C1>=Timevalue("06:30PM"))

Start before 06:30 or at/after 18:30

Returns 0

TIMEDIF(C1,D1)-E1

All net hours worked

Note: The + between the two time conditions acts as a logical OR — either being true is enough. Saturday night shifts go entirely to Double; no T&H applies.

Result when all conditions pass: All net hours are Double.

Expected Results

Day

Start time

Hours

Double

Wednesday (day shift)

07:00

12.0 net

2.0

Wednesday (day shift)

07:00

9.5 net

0

Thursday (late start)

20:00

7.5 net

7.5

Thursday (early start)

05:00

8.0 net

8.0

Saturday (day shift)

07:00

6.0 gross, 0.5 break

3.5

Saturday (night shift)

21:00

6.0 net

6.0

Sunday

08:00

5.5 net

5.5

Did this answer your question?