AussieBear -- I figured out the Clock part, but now I'm stuck on how to embedded it. Superglue maybe?? :devil2:
Attachment 13469
Printable View
AussieBear -- I figured out the Clock part, but now I'm stuck on how to embedded it. Superglue maybe?? :devil2:
Attachment 13469
Making Log on and Log off both billable (as they're both part of Clearing & Stacking Timber) would make you more money wouldn't it?
Thoughts on chargeable time:
As an employer I would expect to pay my staff whenever they were busy. The same would apply if my staff were self-employed contractors (your situation). Or I might agree a rate for the whole job (if that can be accurately determined in advance - which I think is not the case here)
As a contractor I would expect to charge for every hour I am busy specifically on the customer's business
If the machine needs setting up, and servicing on site every day, then that time is chargeable.
So other than "crib" time and "sleeping on the job" everything else should be chargeable and the only question is at what rate?
I would charge at 2 different rates:
one rate for the time the machine is running and
a different lower rate for set-up and servicing
As an employer (employing a contractor) I would expect that approach too.
Jerrald Hayes is a great businessman, even if we don't get along at all. Politics, dontcha know :(
Anyway he developed a great spreadsheet for figuring out what you need to charge as a contractor. This is the last of his free, distributable versions.
IMHO, it is well worth playing around with.
Aussie,
This time sheet has a working time calculator.
Code:Option Explicit
Sub WorkTimeCalc()
Dim TimeCol As Range
Dim BillableCol As Range
Dim NonBillableHoursCol As Range
Dim BillableHoursCol As Range
Dim TaskTime As Date
Dim Cel As Range
Dim LastRowA As String
LastRowA = CStr(Cells(Rows.Count, 1).End(xlUp).Row)
Set TimeCol = Range("A2:A" & LastRowA)
Set BillableCol = Range("B2:B" & LastRowA)
Set NonBillableHoursCol = Range("D2:D" & LastRowA)
Set BillableHoursCol = Range("E2:E" & LastRowA)
For Each Cel In TimeCol
If Cel.Offset(1) = "" Then Exit For
If Cel.Offset(0, 1) = "" Then 'CDate Functions left over from development
NonBillableHoursCol.Rows(Cel.Row - 1) = CDate(Cel.Offset(1) - Cel)
Else: BillableHoursCol.Rows(Cel.Row - 1) = CDate(Cel.Offset(1) - Cel)
End If
Next
NonBillableHoursCol.Rows(Cel.Row).Offset(1) _
= WorksheetFunction.Sum(NonBillableHoursCol)
BillableHoursCol.Rows(Cel.Row).Offset(1) _
= WorksheetFunction.Sum(BillableHoursCol)
Cel.Offset(2, 2) = "Totals"
End Sub