Free invoicing software for freelancers & contractors paid by the hour for Symbian S60 3rd Edition smartphones

(Download these instructions as a PDF here. Or email for help here. Or visit the guestpage here.)

Google AdSense Privacy


JobTracker is a small program written in Java to run on mobile phones running Symbian's S60 3rd Edition, like the Nokia N95. It allows you to keep track of all your customers, all the jobs you have outstanding for each of them, and the amount of time you've spent on each job.

You create an entry for each customer. Each customer can then have one or more jobs, and each job can have one or more working sessions. By keeping track of how long each working sessions is, the program can tell you at any time how much work you've done for each job, how much of it you've invoiced for already and how much you've yet to invoice.

Download and Install

To download and install directly on your phone, you should download this JAD file. This is called installation 'over the air' (OTA).

If you want to download to any other device prior to transferring it to the phone later, you need to download this JAR file instead.

Either way, installation is automatic as soon as your phone opens the file.

How to use

When you first launch JobTracker, you will be shown the summary screen. This is basically a list of your customers, with a note saying how many jobs you have current for each. To start with of course, the list is empty. So the first thing to do is create one. It's a good idea to practise this with some fake data.

Creating entries

To create a new customer, pick 'add customer' off the menu. You then need to supply the customer's name, using your phone's usual text-editing facilities. When you've put the name in, choose 'done' off the menu to enter it.

Having put the customer in, you are taken next to a list of that customer's jobs. Again, it'll be empty to start with. To create a job for them, pick 'Add job' off the menu, input the name as before, and pick 'done' when you're done.

When the job has been entered, you are shown a list of work sessions linked to that job, together with the total amounts of invoiced & not invoiced time. A work session is a single period you spent working on the job. Every time you do a piece of work on a job, you create an entry for that session. It records the amount of time you spent working, the date you created the entry, and also whether or not you've billed the customer for that session.

To create a session entry, pick 'Add session' off the menu, and enter the duration of the session in minutes. For example, for 1 hour, enter 60. For 5 hours 10 minutes, enter 310 minutes. When you're done, pick 'done'.

You should now have one customer, who has one job outstanding, for which you've done one single session. You can navigate up JobTracker's heirarchy of screens by picking 'up to job', 'up to customer' & 'up to summary' from the menu. Not all of these are available from every point; for example, you can't go up to the job screen from the customer, as you can only go upwards. If you want to go down a level, for example from a customer to one of that customer's jobs, you have to select the job from the customer screen.

To demonstrate this, pick 'up to summary'. This is the top level, and it's available from everywhere, and, as has already been said, it shows you a list of all your customers. To see the details for a particular customer, you have to select that customer in the list, and then press 'select' from the menu. Exactly how you do this depends on your phone, but you should normally see a radio-button list, and you need to select the customer you want by scrolling up & down the list and activating the radio button of the one you want, and then choosing 'select'. It's not enough to scroll to the entry you want - you have to activate its button before you press 'select'. In this way you can navigate down to a particular customer, then to one of that customer's jobs, then to a particular work session within that job.

Deleting entries

To delete an entry, be it a customer, a job or a session, you need to have selected that entry. Let's say you want to delete a job, because you've finished it, you've invoiced for all the sessions in it, and that invoice has been settled.

First you need to select that job, by navigating downwards from the summary to the customer, and then picking the relevant job and pressing 'select'. Now just pick 'delete job' from the menu, and, after checking you really mean to delete it, JobTracker will delete it, and return you to that customer's list of other jobs.

For deleting other kinds of items, you'll find the relevant menu item is normally called 'delete this'. It should never be ambiguous what you're deleting - if you're on the customer screen, you're asking to delete the customer. If you're looking at a session, 'delete this' will delete that session. If you're ever not sure what kind of screen you're looking at, look at the screen's title, which will show the customer's name if it's a customer, the job title if it's a job, etc. It's worth being a little careful because some phones give the screen's title less prominence than the screen's other contents, which isn't helpful. JobTracker always checks before it deletes anything, so you shouldn't find yourself mucking up your data.

If you ever want to delete all your invoiced sessions (see below for how to mark a session as 'invoiced') in one go, you can do it from the job screen. Simply pick 'delete invoiced sessions' from the menu there. JobTracker will check first, and then get rid of them for you.


Each session represents a piece of work that you've either invoiced for or you haven't. The job screen shows a summary of the amount of invoiced time & not invoiced time for that job, above the list of sessions.

To turn an individual session from not invoiced to invoiced, you need to select that session from the job screen, press 'select', and then choose 'toggle invoice flag' from the menu on the session screen. You will see the display changing to reflect the change you've made - it turns a not invoiced session into an invoiced one, and vice versa.

Sometimes you'll invoice your customer for all your not invoiced sessions at once. You don't need to change each one individually within JobTracker. All you need to do is pick 'invoice all' from the job screen.

Save & exit

To save your data & and close JobTracker, pick 'save & exit' from the menu. Your data will be saved and JobTracker will close. Do not use any other method that your phone may give you to shut JobTracker down, unless you are happy for any changes to your data to be lost.