
Ask HN: How do you keep track of billable hours? - britknight
I&#x27;m starting next week at a software consulting firm, and I wanted to know your thoughts on strategies is for keeping track of time spent on various clients&#x27; projects. A text document? An Excel spreadsheet? An app? What, in your experience, works best for you?<p>Cheers, and thanks in advance for your advice.
======
dkulchenko
I use Harvest: [http://www.getharvest.com/](http://www.getharvest.com/)

~~~
AlexeyMK
Yes! In particular, Harvest for Mac:
[http://www.getharvest.com/mac](http://www.getharvest.com/mac).

Killer features: \- Start/stop timing in one-click or keyboard shortcut \- See
exact time in menu bar:
[https://www.dropbox.com/s/d56zb9ryffik7ey/Screenshot%202014-...](https://www.dropbox.com/s/d56zb9ryffik7ey/Screenshot%202014-06-28%2002.32.45.png)
\- Idle time detection - leave your computer with timer running. When you're
back, Harvest asks "You've been gone 15 minutes, should that time be counted?"

Still hoping for: \- better offline support (can't stop timer w/o internet
access, which means a bit of mental work when working offline on the
Caltrain).

~~~
kurtle
Harvest is free for up to 2 clients. I used them for 6 months free before I
upgraded to add on a third client. Definitely worth it for me.

------
daflip
I use Project Hamster from the gnome project (I'm a linux user). It's free,
integrates nicely with my desktop and is always available (unlike web based
time trackers). It uses a sqlite database which is a nice plus (I also
synchronize the database file over dropbox so I can share the time tracking on
my other machines).

At the start of a new month I export the time reports for the previous month
from hamster as XML which I then import to my custom billing engine (I tag
each task in Hamster by client name). This then gets converted to a time
breakdown on each client invoice. Clients can then view a detailed breakdown
of the billed work at per minute granularity along with descriptions of each
subtask.

------
zackbrown
I'm a fan of Toggl [http://toggl.com](http://toggl.com) We use it at our
consultancy and it works well for our needs (freelancers, employees, different
projects, reporting, invoicing)

------
trentnelson
I use HoursTracker: [https://itunes.apple.com/us/app/hourstracker-pro-
timesheet/i...](https://itunes.apple.com/us/app/hourstracker-pro-
timesheet/id321923934?mt=8)

Absolutely fantastic. Developer has been responsive to feedback/requests.

I'm a software engineer by trade and in any given week I'll log time against
5-6 different projects/clients. This app has been fantastic.

(You can export CSV/friendly formats by just e-mailing them directly from the
app, can do date-range based, etc. It's fantastic.)

------
__david__
I use a custom Emacs mode [1] that a friend of mine originally wrote. I
generally have 1 file per client, and the mode allows for tagging of different
time sheet entries, which it can then use to calculate line items on invoices.

A lot of Emacs users I know use org-mode instead, but I've always felt that
was "inside out". Hours mode is more like a work diary and that makes more
sense to me.

[1] [https://github.com/galvanix/hours-
mode](https://github.com/galvanix/hours-mode)

------
andymoe
If you are joining an existing consulting firm and they don't already have a
really good system in place you should probably run screaming in the other
direction because that means it's probably a very poorly run firm and not long
for this world. Tracking hours and billing efficiently is how you stay in
business.

That said, I like the harvest timers (server side state, configurable idle
timeout) for the granularity and the fact there is an add-on for the Xero
accounting system.

------
thangalin
I created a custom spreadsheet[1] that performs various calculations[2].

Download:
[http://www.mediafire.com/download/i30sbhkeqacci42/timesheet....](http://www.mediafire.com/download/i30sbhkeqacci42/timesheet.ods)

To use it:

    
    
        1. Configure the CONST worksheet values per client.
        2. Tweak the HOURS worksheet values as necessary.
        3. Switch to the worksheet corresponding to the current month.
        4. Enter a start time (in 24-hour format) in the Start column for the work day.
        5. When finished working, enter the stop time in the End column.
        6. Add activity notes; use column I for task numbers.
        7. Switch to the Invoice worksheet at month end.
        8. Type CTRL+a to select the Invoice worksheet contents.
        9. Export as PDF.
        10. Email PDF to client.
        11. ???
        12. Profit.
    

Create a directory structure with the current tax year and create one
spreadsheet per client within that directory (e.g., "2014").

[1]The spreadsheet uses LibreOffice Calc--it will not work in Excel without
modifications to the cross-references.

[2]There are only five time-slots per day; if the day is broken up further,
perform some time math to use only five segments.

------
qworty
I just look at my commit times But my workflow is kinda weird, i change code
and I commit which then pushes it to my development server. I do it this way
because I always use different computers throughout the day/week. So that way
I always have the latest version of my development code. Then when I finnish a
feature I push it from my dev repository to the test repository where I use
git like it should be used. But because I have this development git repository
it is easy to see my work times. I still want to automate it though, now i'm
just starting up qgit and do the manual lookup for a week and bill that to my
clients. I do all my projects this way.

Also recently started using this:
[https://github.com/gurgeh/selfspy](https://github.com/gurgeh/selfspy) It
gives quite awesome data, and most of my workflow is known, so maybe I could
hack something together that logs things it considers work (but since I change
pc so often I don't know if that will really work). Should have a
procrastination/work/documentation list for your browser though to make it
more effective.

------
trustfundbaby
pen and paper. that I then I enter into my billing software.

I feel you judging me. stop.

~~~
nwenzel
Tough to beat pen & paper as an easy to use UI.

~~~
djf1
Pen and paper requires manual subtraction: time finished - time started. An
easier UI would be a button to press at start and at finish; the subtraction
being done automatically.

~~~
dalke
The UI needs to be more complicated than that. I've forgotten to note the
finish time, and have needed to update things after the fact. Suppose, for
example, that I've forgotten to exclude lunch from the timing system. With a
pen&paper system I can mark "(lunch, 45 minutes)" after the fact. There are
plenty of computer-based systems which can do the same, but their UIs are more
complicated than the one you just outlined.

Also, with pen&paper billing is usually quantized to 10 or 15 minute
intervals, which makes it easier to do the arithmetic.

------
tadmilbourn
Disclosure: I'm one of the founders of Tiempo

Most people default to pen, paper, or Excel. But, it quickly becomes more
hassle than its worth. And, if the hours you track need to be sent to a
finance team or an accountant, it gets even more complicated. That's why we
created Tiempo.

Tiempo is a new time tracking app that aims to be the fastest way to track
time. It works on the web and has apps for both iOS and Android. We even use
it ourselves to track developers we have contracting for us.

Plus, you can have unlimited customers, even on our free tier (Harvest limits
you to 4).

Check it out at
[https://track.tiempoapp.com/signup](https://track.tiempoapp.com/signup) or
see our site at [http://www.tiempoapp.com](http://www.tiempoapp.com).

The Tiempo team is made of former Intuit employees that have spent their
careers focused on building software for small businesses.

We'd love any feedback the HN community has!

------
bobx11
We use Salesforce, Freshbooks, pivotal tracker, and toggl:

1\. Sales tracks opportunities and estimates hours with engineers

2\. Sales creates a project in Freshbooks via integration from Salesforce when
the deal is close enough to track hours

3\. Freshbooks creates a pivotal epic and label with the Freshbooks project id
- we estimate with a custom scale of hours (/me dodges thrown rocks)

4\. When a dev starts a pivotal story it is automatically synced to toggl so
they can track hours against it

5\. The toggl and Freshbooks data is all syncd to Salesforce for roll up
reporting and estimate vs actual reporting and our ops person pulls out all
data from there to create invoices (some projects have weird parameters, so
just using Freshbooks hours into invoice doesn't work for us)

Toggl is nice because it is user friendly and fast so you don't feel like
logging time slows you down.

------
chrsstrm
Freshbooks -
[https://chrissturm.freshbooks.com/refer/www](https://chrissturm.freshbooks.com/refer/www)
with the ChronoMate add-on. Run multiple timers, add notes, track based on
client, project, and task, you tell it how to round time up or down, and in my
experience, it even keeps time through a system crash and un-expected restart.
When it comes time to bill, 1 click to generate an invoice with the option to
include any related expenses. You also get to see when the client views your
invoice, so you know they saw it, plus it has customizable reminders if they
haven't paid in XX days. Easy to add in Stripe support to get paid with a
credit card. It's one service I'm happy to give my money to.

------
farhadhf
Disclaimer - I'm the co-founder of Taskulu

While Taskulu is not just a time tracking tool, it allows you to track your
work hours on your project tasks. You can create projects, phases, lists, and
tasks, manage your team with project-level Roles and Permissions, chat with
your team members in real time, and (soon) hire people and make payments or
get paid based on your logged work hours.

You can check it out at [http://beta.taskulu.com](http://beta.taskulu.com) and
register with "HNBETA" invitation code. As the URL suggests, we're still in
beta stage and looking forward to getting your feedback!

------
cl8ton
[http://www.timetrackturbo.com](http://www.timetrackturbo.com) ...Best I have
found so far, easy to use and the developer is easily accessible. (No
affiliation, I just use the product)

------
mindhunter
I use timeEdition
[http://www.timeedition.com/en/features/screenshots.html](http://www.timeedition.com/en/features/screenshots.html).
Open Source, nice and simple.

------
maxromeo
I've used Paymo in my last consultancy job, it was amazingly handy (time
track, reports and invoice generation)
[http://app.paymoapp.com](http://app.paymoapp.com)

------
kimburgess
I've been looking at the same thing lately - recently switched jobs trying to
make a few things a little more efficient for the team. One tool which has
peaked me interest is [http://www.timelyapp.com](http://www.timelyapp.com).
Start and stop times don't matter, only the amount of time spent on a project,
which is nice. It also allows to preschedule time and track estimated vs done
and how you are sitting on time / finance budgets.

------
GonchuB
We use our own open source project which you can configure to chat via
hangouts and you log your hours by project via a hangouts chat bot. It also
asks you if you learnt something and weekly sends a report ranking the people
who learnt the most:
[https://github.com/FDVSolutions/jennatimetracker](https://github.com/FDVSolutions/jennatimetracker)

------
nwenzel
It's probably not important to track down to the second. So no real need to
use a timer app. Most important thing is to track it every day. Don't fool
yourself into thinking you'll take care of it at the end of the week. You'll
never remember what you worked on, then end of the week turns into end of the
month.

Just be diligent. And it's tough to beat pen & paper as a good UI.

------
hurch
I work at a consulting company that uses an inhouse tool that is a beast of
burden. Recognise that some of this might be already solved in the listed
solutions (excel included) but this is what you don't want:

7.5 hours - every working day you need to put in 7.5 hours regardless of what
you do. Put in 7.4hours and it cracks it at you. What would be nice: Know that
I have entered time against a code and assign the rest of the days time to a
generic code that I can edit at a later date or leave. Manual submission -
every day the user needs to be submit their timesheet. People forget. People
don't care. Management cares. What would be nice: If time has been entered,
auto submit. Otherwise, let me be or prompt me in a nice way Making changes -
if you want to edit hours or change a job code on time that has been
submitted, it requires all days back to that day to be unsubmitted, the edit
made, then all time re-submitted. What would be nice: let me edit by code by
day Doesn't know where I am - we generally spend most of our time at the
clients offices and we have their address(es) within the tool. What would be
nice: Know that I have spent time at a client office and put in time to that
clients code and prompt me to confirm it Code search - painful. We have
hundreds of client codes, past and present, and finding them is not as simple
as type in client name and select. Generally there is a client codes, a
project code and potentially a sub code. If someone has spelt something
differently, allocated it to a different person or if you enter one character
incorrectly, it can't find it. What would be nice: Search that works Not
mobile - they have put together a "mobile friendly" version but it provides
limited functionality resulting in having to get onto the desktop version to
do most of it and then use the mobile site. What would be nice: Mobile that
doesn't require desktop intervention Reporting - just plain ugly and hard.
What would be nice: Not plain ugly and hard reporting Visibility - if it is a
fixed fee project and I have 40 hours allocated to it, I don't know that
unless I'm told / project manager is riding my arse on hours. What would be
nice: As time is submitted, show me how much I've consumed / how much is left
Seperation - it isn't connected to the resourcing tool that lists what people
are on, how long they are on it or if they have holidays booked in. What would
be nice: If person is put onto client, put that code in their time sheet. If
holidays booked, put it in timehsheet

------
collyw
Out of interest from someone in a permanent role, what do you bill for exactly
when freelancing?

If I am using familiar language tools, I would say I code around 4 times
faster than with a new library. Do you take that into account and adjust
accordingly? Reading documentation? Then there is all the administrative stuff
- such as working out the hours, - do you include that?

~~~
PolemicThoughts
I switched from a permanent role to freelancing last November, so I'm
relatively new to this, but I'd be glad to explain what I do.

I make my skill set clear to my clients. "I can do this, but I'm not familiar
with XYZ, so it will take longer than usual." I bill for reading
documentation-- just because I'm not writing code, doesn't mean I'm not
working. I made my skills clear, and they still decided that they want me to
do it, so reading documentation comes with the territory.

I also try to provide an estimate with granularity of half a day (4 hours).

I don't bill for the time spent generating invoices, as that seems hopelessly
recursive. I keep notes of what times I worked during the week with a
granularity of 10 minutes. All of my invoices include timestamp ranges and a
note consisting of 1 to 3 sentences describing what I was doing during that
period.

~~~
collyw
That seems like a fair way to do it.

------
elbii
Get yourself a copy of Telestream's Screenflow and record your screen when
working. At the end of the billing period, simply scrub through your
recordings to build your invoice. Don't mention this to your client as they
may request to see them! But if they ever dispute an invoice you'll have no
problem winning that battle :-).

~~~
aidanlister
Scrubbing through 60 hours of text editor footage every week -- are you
serious?

------
idle_processor
[http://paydirtapp.com](http://paydirtapp.com) has a convenient Chrome
extension that reminds you to clock in, based on a page matching filters you
define. It also has uses server-side state, which can be handy across multiple
devices or VMs.

------
mike1978
I use SpikeTime.

The website is only in german, but the tool can be used in english. I don't
get why they don't translate the website ... but well the tool is really cool.

[http://www.spiketime.de/](http://www.spiketime.de/)

~~~
jetro223
Hi, Axel one of the developers of SpikeTime here. The english website is
available at [http://www.spiketime.net](http://www.spiketime.net)

------
phillab
I use an app - Timesheet
[https://play.google.com/store/apps/details?id=com.rauscha.ap...](https://play.google.com/store/apps/details?id=com.rauscha.apps.timesheet&hl=en)

------
godDLL
I use a BASH script, that I whipped up myself. It's in a constant state of
flux though.

[https://gist.github.com/godDLL/8342287](https://gist.github.com/godDLL/8342287)

------
jetro223
I use SpikeTime - [http://www.spiketime.net](http://www.spiketime.net) \- a
time tracking Service created by me together with a friend (any feedback would
be great)

------
jrjackso
I used the following PlayBook app:
[https://appworld.blackberry.com/webstore/content/27638](https://appworld.blackberry.com/webstore/content/27638)

------
Jean-Philipe
I use worklog - it's open source and in available via your favourite package
manager, a command line tool. You can open the log file as a csv (but space
separated, first column is the time)

------
kguppta
Simple Google spreadsheet with formulas to automatically sum up hours and
dollar spent, as well as subtract what remains in my projects.

As well, quick drop down to select what is being worked on by whom.

------
cdoebler
I use timetrap. It's a simple commandline tool. It's awesome:
[https://github.com/samg/timetrap](https://github.com/samg/timetrap)

------
grumblepeet
I feel almost ashamed to admit it being a SharePoint consultant and all but I
use Emacs Org Mode. I keep my org files on Dropbox so I can switch between
devices.

------
dylanhassinger
Freckle ftw, it is great.

However now I just bill all my time as manual hours through oDesk, because it
automates the accounting and payment side of things.

------
marsman12019
Paymo, [https://app.paymoapp.com/](https://app.paymoapp.com/), has been pretty
great.

~~~
eddyparkinson
I also use paymo - for small projects, it has every feature I need.

------
drawkbox
Freshbooks: [http://www.freshbooks.com/](http://www.freshbooks.com/)

------
xuding
Freckle? [http://letsfreckle.com/](http://letsfreckle.com/)

------
dirtyaura
Google docs. If I forget to record it I reconstruct the history from Git logs
and Moves app.

------
Ixiaus
Org-mode

------
NerdfaceKillah
We use ConnectWise at my job.

------
ww520
Spreadsheet.

