Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: How do you keep track of billable hours?
27 points by britknight on June 28, 2014 | hide | past | favorite | 50 comments
I'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' projects. A text document? An Excel spreadsheet? An app? What, in your experience, works best for you?

Cheers, and thanks in advance for your advice.





Yes! In particular, Harvest for 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-... - 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).


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.


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.


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


I use HoursTracker: https://itunes.apple.com/us/app/hourstracker-pro-timesheet/i...

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.)


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


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.


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

Download: http://www.mediafire.com/download/i30sbhkeqacci42/timesheet....

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.


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 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.


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

I feel you judging me. stop.


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


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.


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.


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 or see our site at 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!


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.


Freshbooks - 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.


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 and register with "HNBETA" invitation code. As the URL suggests, we're still in beta stage and looking forward to getting your feedback!


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)


I use timeEdition http://www.timeedition.com/en/features/screenshots.html. Open Source, nice and simple.


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


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. 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.


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


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.


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


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?


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.


That seems like a fair way to do it.


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 :-).


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


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.


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/


Hi, Axel one of the developers of SpikeTime here. The english website is available at http://www.spiketime.net



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


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



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)


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.


I use timetrap. It's a simple commandline tool. It's awesome: https://github.com/samg/timetrap


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.


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.


Paymo, https://app.paymoapp.com/, has been pretty great.


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




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


Org-mode


We use ConnectWise at my job.


Spreadsheet.




Consider applying for YC's Summer 2025 batch! Applications are open till May 13

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: