Job Costing can be addressed multiple ways in ESC. Job costs can be tracked when entering data virtually anywhere in ESC simply by entering the job number on the transaction. Since there are so many ways to address job costing in ESC here we will address just the three basic methods.
Some companies use only one method of job costing while others may use all three: work in progress for commercial construction, full job costing for residential construction and sales job costing for install and service. We will outline the different job costing options and their setups so you can decide which job costing method(s) best fit your needs.
- Sales Job Costing – Records only entries entered through Sales to the Job Sales Report. Jobs can be done in phases and multiple invoices can be created. This option is usually used for jobs lasting less than a month, but with multiple billings. If only one invoice will be created for a job it is not necessary to set up a job, the same profitability information can be seen on the Sales Report without setting up a job.
- Full Job Costing – Records any entries made in ESC with a job number to any of the job reports. This option is usually used for jobs lasting more than a month, with income and expenses going directly to the Income Statement.
- Work–In–Progress – WIP works just like Full Job Costing, but keeps the income and expenses on the Balance Sheet until the job is closed. This option is also used for long term jobs.
Things you need to know about Job Costing
Jobs are setup in Customer Info → Job List → Add Job and are attached to a customer, although the job can be used on any transaction for any customer (commonly used for third party billing).
The Department entered on the job will be the default department whenever the job number is used, but can be changed.
The Status on the job helps when running reports and no entries can be made to a job in a Closed status.
Costs are tracked as Types and Job Classes:
- Types are hardcoded and cannot be changed. They consist of Material, Equipment, Labor, Subcontract, Permits and Other.
- Job Classes are sub-categories of Types and determine where an item appears on the job reports. They are optional and are generally recommended for payroll or labor breakdowns. Examples of job labor classes are Startup Labor, Duct Labor, Finish Labor and Electric Labor. Job classes can be entered throughout ESC in screens, such as Purchase Orders, Time Entry, Enter Bills. Job Classes are setup in Company → Enter Job Classes.
Items received from a Purchase Order can automatically be costed to a Job by selecting the Automatically cost inventory items received to a job option in Company → System Setup → Inventory.
Multiple Quotes can be entered per job and multiple dispatches are allowed per quote, but only one invoice per dispatch.
Work-in-Progress Job Costing
How WIP Job Costing Works
When doing Work In Progress, all transactions (Journal Entries, AP Bills, Checks, Inventory items, etc.) can be tracked by entering a Job Number on the transaction. All income and expenses are kept on the Balance Sheet until the job is closed and then are moved to the Income Statement at the same time. This option is used primarily for long term jobs.
One Time Setup
- Go to Company → System Setup → Accounting and place a check in the Enable Work-in-progress Accounting box as shown below.
- Chart of Accounts – Additional accounts will need to be added to your Chart of Accounts under Company → Enter Chart of Accounts. This can be as simple or complex as you want to make it. You will need at least one Inventory account for the expenses to go into and one Current Liability account for the income to go into. We suggest having an Inventory account for each of your Cost of Goods Sold accounts. When you check the WIP Enabled box a Closing Account field appears. When the job is closed, the money for the job is removed from the WIP account and put into the closing account.
Setup the new accounts as shown below, you may use account numbers of your choosing, but be sure to use the categories shown.
- Departments – In Company → Enter Departments, recall or enter the department(s) that you will use with Work in Progress and enter your Job Draw account number in the Income Account field. When the jobs are closed, the sales income and cost of sales will be transferred to the proper department.
- Inventory – Make sure all parts that will be used on jobs are setup in inventory.
- Job Classes – Setup any desired Job Classes in Company → Enter Job Classes.
- Billing Codes – If you will be using billing codes on WIP jobs, you will need to set up additional billing codes that hit the Job Draw account instead of Sales and the WIP account instead of the COGS account. See examples below.
- Pay Rates – Labor costs always go to the General Ledger and Job Reports from payroll. WIP wage items will be needed so labor costs go to the WIP account until the job is closed. To set up these wage items, go to Employee → Wage Items → Add New. Basically the WIP wage items are the same as your other wage items used for technicians, except that the expense account should be your WIP Labor account instead of the COGS Labor account. The two most commonly used WIP wage items are regular and overtime, as shown below. Normally all taxes apply to wage items, but it is a good idea to look at your regular tech wage item to see which taxes are checked and set these up the same way.
Go to Employees → Enter Employees and double-click on an employee to edit their profile. Click on the Payroll tab and add the WIP wage items and rate to any employee that will be working on WIP jobs.
The same process used for Full Job Costing is used for WIP, the only difference being the GL accounts used. Labor hits the Job Reports and GL from payroll, and non-inventory expenses come directly from Accounts Payable or Banking using the methods described below. When using this method, it is important not to cost the items twice.
Enter the Quote
Even though we are not listing all the parts required for the job on the Quote, in order to do progressive billing and/or compare the quoted amounts to the actual amounts, a quote is still required.
To enter a quote, go to Sales → Quote List → Add. If the quote has not yet been accepted, leave the Status as Pending. In the example below, the Contract Amount is the only line that will print on the quote. By entering the estimated costs for labor, material, permits and other, we can tell from the job reports how the job is progressing, how closely we estimated the job and how profitable it was in the end.
Quote is Accepted
When the quote is accepted, go to Sales → Quote List and find the quote by entering the quote number or the customer name in the Search field. Choose the correct quote and click OK.
Set up the Job
Create a new job for this quote by clicking on the word Job.
The Setup Jobs screen will pop up with the customer field populated by the customer on the quote. To create the job, click the Assign next job number button or manually type in a unique Job Name and make sure the Active box is checked. The job can also be associated with a location, if desired. This can be helpful when identifying jobs if you do a lot of jobs for a customer that has several locations.
At this point, you can associate a Supervisor and Sales person to the job. The Supervisor field can be used to filter reports, but has no other functionality.
The Sales person field, however, will automatically fill in the Sales person field on all progressive invoices created for the job. You can also assign a Default department to the job, doing this will ensure all transactions made for this job will use this department unless changed by a user.
If the job will start shortly set the Status to Open, otherwise use the Pending status. Set the Start Date and Projected End Date, if you know them. Leave the Actual End Date blank.
If you would like to add any notes to the job you can do so on the Notes tab. This is a free form text field that can be used for everything from phone numbers of job site inspectors to the status of permits needed for the job.
Click Save then Exit when you are finished.
Back on the Quote screen, change the Status to Accepted. If you will be using dispatches on this job, a dispatch can be created now by clicking the Create Dispatch button at the top of the screen. In this example we will not be using dispatches. Click Save.
Getting Costs to the Job
When doing WIP job costing and using inventory parts, you cannot transfer parts to a job on a Sales Invoice because the cost will go to the account set on the inventory part instead of the WIP account. Use any of the ways described below to post costs to the job.
- Inventory Job Transfer – This is used to transfer parts out of inventory and to the job. Go to Inventory → Inventory Job Transfer and the following screen is displayed. From this screen you can transfer parts to or from a Job by changing the Type of Transaction field.
The Cost Account will default to the COGS set in System Accounts, so it is important to change it to the appropriate WIP account. Make sure the correct date is entered, then enter the parts you want to transfer to the job at this time. Enter the Job, Job Category (Class) and the Warehouse you are transferring from. When the Job Name/Number is entered, the default department will populate the Department field, but can be changed. Once the first line item has been entered the Job, Job Class and Warehouse will repeat on the next and subsequent lines until changed, making entry faster and easier. Parts can be transferred to more than one job per entry as long as the Cost Account is correct for the jobs.
The one drawback to using this method for costing parts is they will not go to History and Equipment even if they are set to in Inventory Entry.
An Inventory Transaction report filtered by Job (Inventory → Reports) shows materials and equipment used on the job and removed from inventory using this screen.
- Accounts Payable Bills – When entering an AP bill, entering the Job Name/Number and Job Class will tie that line item to the Job. As shown in the example below more than one job can be represented on a bill.
- Banking – When entering a check, entering the Job Name/Number and Job Class will tie that line item to the job. As shown in the example below, more than one job can be represented on a check.
- Payroll – When entering time for payroll, entering the Job Name/Number and Job Class will tie that line item to the job.
- Journal Entries – Line items in Journal Entries can also be tied to a job by entering a Job Name/Number and Job Class.
- Purchase Orders – When ordering parts specifically for a job, the parts can be received directly to the job. To do this enter a PO for the required item(s) with a Job Name/Number and Job Class for each line item.
Receive the Items
When a Job Name/Number is on a PO and items are received from that PO, you will be asked if you wish to cost items to a job.
Answer Yes and you will be taken to the Inventory Job Transfer screen. At this point you can modify, add or remove any items you want posted to a job. Change the Cost Account to the appropriate WIP account and click Save.
Closing the Job
When the job is completed and all costs have been entered, payroll printed and sales invoices created, the job should be closed. No entries can be made to a closed job, but the job can be reopened if needed.
Recall the job and change the Status to Closed. When the status is changed, the Actual End Date fills with today’s date, but can be changed.
Click Save and the resulting Journal Entry appears with the memo "Close Job". Click Save again.