Jobs
When the application is first opened, the user is brought to the main screen of the application. This screen displays a summary of jobs that have been created.
There are various graphics that can be displayed within each row in this screen. The graphics and their meaning are as follows:
- Red Dot – This indication will show in the lower right hand corner of a row. When showing, it indicates that there is an active time entry within the job. Also note that while a time entry is running, the job total will update accordingly.
- Red Hide Object – This indication will show in the upper left corner of a row. When showing, it indicates that the job is hidden.
- Red Bar – When a red bar is located to the left of the entire row, it indicates that the job is overdue.
- Blue Bar – When a blue bar is located to the left of the entire row, it indicates that the job has been billed.
- Green Bar – When a green bar is located to the left of the entire row, it indicates that the job has been paid in full.
At the top of the Job list screen, the user can select a drop down to view all jobs or only a set of jobs for a particular client. When a selection is made, the list of jobs is updated accordingly. The drop down will summarizes the current set of jobs displayed, showing the total for those jobs as well as the number of jobs within the list.
Note: If this is the very first time that the application has been run, a test job will be created, with a name of “Test Job”. This “Test Job” will be associated with the “Default” client. This job is created to allow the user to easily play around with the various functions within the application. At anytime, the job can be deleted by long pressing the “Test Job” and then selecting “Delete Job” from the menu that pops up.
Job List Sort Order
When a user selects the Sort action, they will be presented with a set of primary and secondary sort options. Both sort options can be set to ascending or descending. Sort options that are available are:
- Primary:
- Client – When selected, the list will first be sorted by the client name that is associated with the job.
- Status – When selected, the list will first be sorted by the current status of the job (i.e. Active, Billed, Overdue, or Paid).
- Due Date – When selected, the job list will first be sorted based on the Due Date of the jobs.
- Secondary: Note that all secondary sort criteria will only come into play once the primary sort has already been applied to the data.
- Due Date – This sort option will further sort the data according to the due date of the job.
- Minimum Date – This sort option will further sort the data according to the earliest date of all the different transactions that are associated with the job.
- Maximum Date – This sort option will further sort the data according to the latest date of all the different transactions that are associated with the job.
Job List Filter
This screen also allows for filtering to be applied to pare down the list of jobs displayed. By selecting the filter (funnel) button at the top of the screen, the user can be presented with a list of filters that can be enabled/disabled. Based on the selections, jobs will appear or disappear from the job list. The filter options available are as follows:
- Show Hidden – When deselected, jobs that are hidden will no longer appear within the Job list.
- Show Active – When deselected, Active jobs will not longer appear within the Job list.
- Show Billed – When deselected, Billed jobs will not longer appear within the Job list.
- Show Overdue – When deselected, Overdue jobs will not longer appear within the Job list.
- Show Paid – When deselected, Paid jobs will not longer appear within the Job list.
- Only 12 Months - Selecting this option will only show Jobs with transactions inside of the last 12 months. So, if a job has 5 expenses within in it and 4 of the expenses has a date that is 13 months old, but one transaction has a date that is 12 months old, the job will be displayed. However, if all the transactions are outside of the 12 month boundary, the job will no longer be displayed in the job list.
- Current Calendar Year - Selecting this option will only show Jobs with transactions inside of the current calendar year, starting January 1st of the current year. This filter acts similar to the 'Only 12 Months' filter. If both the 'Only 12 Months' filter and this filter are selected, this filter takes precedence.
Job Management
Within the application, a Job is the glue that holds together the various expenses, mileage entries, time entries, and payments. A job represents a unit of work for a particular Client. As such, a job must be associated with a Client.
Manage Job Transactions
From the Job List window, a user can touch a particular job to navigate to the transactions that make up the Job. These transactions consist of expenses, mileage, time entries, and payments. Each of these transactions will be discussed in more details later within this document.
Add/Edit Job
Both the Add Job and Edit Job functions take you to the same Job edit window.
To Add a job, select the “Add Job” button at the top of the main screen.
To Edit a job, long press the job you would like to edit, then select “Edit Job” from the list of options that are displayed.
From the Add/Edit Job screen, the following options are available:
- Name – This field identifies the job and is displayed as the job name on the main screen of the application. This field must be unique across all clients.
- Client – This selection list will contain all clients defined within the application. Selecting a client will associate this job to the selected client.
- Status – Each job can have a different state. Available states of the jobs are:
- Active – The active state is the state of a job when the work is typically being done. During this phase, expenses, mileage and time are accumulating within the job. Note that the default state of a new job is Active.
- Billed – Once the job has been billed to the customer, the job will typically be sent to the billed state. The application has a configurable option that when enabled will cause the application to prompt you as to whether or not the job should move to the billed state when a report is emailed from the application. The option will be discussed more later.
- Overdue – A job typically becomes overdue when when the due date is past and the client has not paid for the work. The application has a configurable option that will cause it to automatically move a job to an overdue state when the due date is past and the total payments does not exceed the total job amount. The option will be discussed more later.
- Paid – When the client has paid the bill, the job will typically be moved to the paid state. The application has a configurable option that will cause it to automatically move a job to a paid state when the total payments is equal or greater than the total amount of the job. The option will be discussed more later.
- Due Date – This field is where a job's due date can be specified.
- Mileage Rate – The mileage rate for the job defaults to the system preference value of mileage rate when the Job is created. At anytime the rate can be adjusted on a per job basis. Note that when this value is adjusted, all mileage dollar amounts will be adjusted based on the new rate.
- Hide – This check-box allows a user to hide a job from the main screen job list. Note that hidden jobs will continue to be visible within the job list as long as the Job List filter item for showing Hidden Jobs is selected. If deselected, all jobs that are hidden will be removed from the Job list. This allows jobs to be kept around longer within the application database, while not cluttering the Job List view.
- Purpose – The purpose is a free form text field that allows you to provide a more wordy description of what the job is about. This field is optional, but when defined will be shown on the main screen of the application.
After any changes are made to the Add/Edit Job screen, pressing the “Save” button or the “back” button will save the changes. Pressing the “Cancel” button will cancel the changes.
Job Options
From the main screen, there are a variety of Job Options that are available by long pressing on the desired job. The options that are available are:
- General Options
- Edit Job – Selecting this option will allow you to edit the job characteristics that are mentioned above (see Add Job). The same screen as is opened when adding a new Job is raised when editing a job. All fields are able to be modified. See the Add Job section above for more details.
- Hide or UnHide Job – This option provides a quick way for a user to select or unselect the Hide Job option. When the job is tagged as hidden, it will display or not display within the Job list based on whether or not hidden jobs are being filtered from the Job list view. Note that only the Hide or UnHide option is available depending upon the current Hide status of the job.
- Delete Job - Any job can be deleted by selecting the “Delete Job” option. Warning: When a job is deleted, all associated data will also be deleted. This includes pictures of receipts, expenses, mileage entries, time entries and payment entries. Once done, there is no recovery of the deleted data.
- Clear Job – This option was created to enable a user to re-use an existing job without going through the trouble of creating a new job. When selected, the application will delete all associated expenses, time entries, mileage entries, and payments.
- Quick Reports - The application has a wealth of information to report on, which allows me, the developer, to slice and dice the data in a variety of ways. I'm very interested in end user ideas for how they would like to see the data reported. The application has an extensive reporting engine that is accessible from the “Report” menu option spoken of later within the User Guide. However, it also has a few Quick Reports that can be quickly accessed for a job by selecting this option. More details about the quick reports that exist can be found in a later section of this document.
- Job Status options – The available Job Status options vary depending upon the current state of the Job. For example, if the current state is Active, only the Job Billed, Job Overdue, and Job Paid options will be available. On the other hand, if the current state of the job is Billed, only the Job Active, Job Overdue, and Job Paid options are available. Each of these options allows the user to quickly switch a job to a particular state that corresponds to the option that is chosen. Note that if the application configurable options that affect state are enabled, the job state could transition to a different state after being commanded to a particular state via one of these options. For example, if a job is Overdue, and the configurable option for automatically setting a job state to Overdue is enabled, trying to force the job to a Billed state will be impossible. You would either have to change the due date or turn off the automatic determination of the Overdue state. Available options are: Job Active, Job Billed, Job Overdue, and Job Paid.