Learn how cost codes work together to guide you in configuring your foundU platform for your desired reporting outcomes
Cost Codes and Purchase Orders play a crucial role in accurate reporting, business costing, and client invoicing within your foundU platform. In addition, Cost Codes are important for:
- Allowing you to track & maintain budgets for jobs, department spending, events, etc
- Reporting to assist businesses in making decisions
- Uploading your data into your accounting software for your Profit and Loss (P&L) statements
- Invoicing your clients
Best practice tips for Cost Codes:
- Set up & utilise the Cost Code Library
- Ensure that all employees are allocated. This is especially important for salaried employees!
- Understand how Cost Codes interact & know what Cost Codes are assigned where
In this article, we will cover:
- Key Information before you start
- How to access, add, edit, and delete Cost Codes
- Applying Cost Codes on the roster, per shift and many more
- Reporting
Please note: Within foundU, Cost Codes and Purchase Orders are the same thing. If your platform is set up to use invoicing, they will be referenced throughout your platform as Purchase Orders or POs. If not, they will be referenced as Cost Codes. In this article, they will be referred to as Cost Codes.
Before you start
There are 4 places where Cost Codes can be set. On an employee's position, on a roster, on a day for a roster, and on a shift. Understanding how Cost Codes interact will help you to determine how you should configure your platform to get the reporting the way you want.
You have several options for applying Cost Codes. You can:
- Cost a whole roster. This is the most commonly used method. Cost Codes are pulled in from your rosters so employee shifts are costed to where they are rostered.
- Cost all shifts on a single day per roster. Using day costing, all shifts on a day can be costed separately to the roster.
- Cost an individual shift (or part of a shift). Using shift costing, a specific shift can be costed separately to the roster. Multiple Cost Codes can be applied to a single shift, too.
- Cost an employee's position. This allows you to cost a position regardless of where the employee works.
- Cost a specific line item in payroll. Cost Codes can be assigned to individual line items when editing or adjusting payslips. For more information, see our helpful Edit or Adjust Payslips article.
Cost code options
The first thing to note is the options available when setting your Cost Codes.
- Override - Cost Codes that are set to override will ignore codes that are lower in the hierarchy and be used instead.
- Append - Cost Codes that are set to append will be added to the end of codes lower in the hierarchy.
- Fallback - Only position Cost Codes have a fallback option. Cost Codes set to fallback will be used if no other Cost Code is present. The most common instance of this will be with leave entitlements.
Please note: The permission 'Manage Cost Codes' is required to set up the configuration of Cost Codes in your business.
Cost code hierarchy
The second point to note is the hierarchy of Cost Codes. If you are using overrides in multiple places, you should be aware of which code will take preference.
- Position
- Shift
- Day
- Roster
SCENARIO
We'll use the following example to examine how the different Cost Code options behave.
Jack is employed as a Bartender in an RSL. Jack has been rostered into the Front of House roster.
-
There is a wedding on this day which will be costed separately. Adjust the Day code settings to see how this interacts with the roster Cost Code.
-
Jack ends up spending his time working behind the bar and needs to be costed here. Adjust the Shift code settings to see how this interacts with the day and roster Cost Codes.
- Jack has several positions on his profile, allowing him to work and be paid for different roles. Some of these positions are costed separately. Adjust the position code settings to see how this interacts with the roster, day, and shift Cost Codes.
Hot tip: To highlight the above information, please feel free to adjust the settings in the below interactive tool.
Please note: If the position Cost Code is set to 'Fallback', this will behave as though there is none in the above example.
The above section details how Cost Codes interact and work with each other, but let's now look at how they can work for your business.
Cost Codes can be set in 4 places: positions, shifts, days, and rosters. Let's take a look at some real examples highlighting some of the ways that they can be used.
Roster
A Cost Code can be specified on the roster, but if none is selected, the roster name will be used as a Cost Code. This is the base-level costing and will be used when an employee works on a roster if nothing else is selected.
Below are some examples of how this can be used.
- A licensed club is set up with a roster per area (e.g. Kitchen, Bar 1, Bar 2, Outdoor Dining, Indoor Dining, etc).
- Cost Codes have been added to each roster based on the group (i.e. both bar rosters have 'Bar' as their Cost Code).
- When their employees work across the different grouped rosters, they are costed based on the job they are doing (e.g. 'Bar'), not the specific roster they are working.
- An NDIS service provider has a roster per client. The roster name is the client's name so that their employees know who they will be working with.
- The Cost Code assigned to each roster is the NDIS Number for the specific client.
Day
A Cost Code can be applied to a day of any roster or multiple days in bulk Day Cost Codes are applied to all shifts for the day and the roster it was added to. This Cost Code will append to or override the roster Cost Code.
Below are some examples of how this can be used.
- A racing club is set up with a roster for different departments and areas (dining, bar, track, etc). They are open 7 days, but their races are primarily on weekends, with larger events held periodically.
- Their race days are costed separately through day costing, and the event name is appended to the roster code.
- A catering company has a roster configured per client. This company has a lot of repeat business through their clients.
- They use day costing to specify the Purchase Order (Cost Code) for each job for their clients.
Shift
A Cost Code can be applied to individual shifts on any roster. Multiple Cost Codes can be assigned to a single shift, too. This means that you can split the cost of your shift across several codes if required. As the shift Cost Code is higher in the hierarchy, it will take preference over the day and roster Cost Codes.
Below are some examples of how this can be used.
- A labour-hire business works primarily with different government departments for jobs that last up to a couple of weeks. The roster is set up as the government department, and the job number is applied as a Cost Code to the individual shifts. This allows a single roster to be used for the department or job site, but different Cost Codes to be applied depending on the job.
- A licensed club roster their employees where they will start their shifts. When things get busy, employees will often be moved to a different area. After a shift, multiple Cost Codes are applied to a single shift in the Approved Shifts menu. This allows the shift to be costed accurately based on the work performed across the different areas.
Position
A Cost Code can be applied to a position on an employee's profile. Position Cost Codes are above both shift & roster in the hierarchy, so they will take preference over everything.
Below are some examples of how this can be used.
- All the employees working in the head office of a healthcare provider are paid as salaried employees. A Cost Code is assigned to each person's position based on the department they work in. These employees are not rostered, but the Cost Code assigned to their position is used for them.
Please note: Salaried employees should have a Cost Code assigned to their position, as rostering them will not affect the Cost Code that is used.
- A licensed club has Cost Codes set to append to the positions of their duty managers. When their managers are rostered, the position Cost Code is added to the end of the roster Cost Code.
Managing cost codes
Cost Codes can be added from multiple places within your platform; however, the primary location to add and manage your Cost Codes will be the Cost Code Library itself. All Cost Codes in your platform can be accessed and managed in this easy-to-view Library.
Within the Library, you can view, add, edit, or delete Cost Codes.
Permission Reminder: To be able to add, edit or delete Cost Codes in your platform will need to have 'Manage Cost Codes' enabled in your user permissions.
The Cost Code Library can be accessed by navigating to the main menu > Payroll Settings > Cost Code Library.
Please note: Before creating any new Cost Codes, we recommend reviewing your current costing structure and ensuring any added codes are correct for your reporting. If you have added any incorrect Cost Codes that are used, deleting them will not remove those codes from your reports. Check out our section below on editing and deleting Cost Codes to learn more about how to handle this scenario.
Adding cost codes in the Library
To add Cost Codes directly to your Library:
- From the Cost Code Library page, on the right-hand side, select + Cost Code
- Enter the name of your Cost Code. Your Cost Codes can include letters, numbers and special characters.
- As you are entering your Cost Code, the field will search your existing codes. If you find that the code you're attempting to add already exists, you can edit it instead. Please see the 'Edit and delete Cost Codes from your library' section below to learn more about your editing options.
- If your Cost Code is only available for use in certain Operations, turn the Apply to all operations toggle off.
- With the toggle disabled, select into the Operations field and type to find your desired Operations.
- Select each Operation that the Cost Code applies to.
- Save your selections at the bottom.
Creating cost codes on assignment
When assigning a Cost Code anywhere in the platform, whether that be on the roster, on a shift, or on an employee's position. If the Cost Code you are searching for does not exist, you will have the option to create a new one by selecting the + icon next to the Code name you have typed in.
If you create a new Cost Code using this method, your platform may automatically assign the related operation. However, this will depend on where you create the
For instance, if you create a new Cost Code from the:
- Roster - The Cost Code will be added and applied to the operation to which the roster belongs.
- Approve shifts - The Cost Code will be added and applied to the operation that the shift was rostered to.
- Payslip - The Cost Code will be added and applied to the operation the pay item is attributed to.
- Employee position - The Cost Code will be added and applied to all operations.
- Invoice - The Purchase Order will be added and applied to the operation that is being sent the invoice.
If you're a business that uses a lot of Cost Codes, we see you, and we have made it easy for you to add these to your platform with our new Import Cost Codes feature!
This feature allows you to bulk import all of your Cost Codes in one hit, streamlining and speeding up that process for you.
To bulk import your Cost Codes:
- Navigate to the main menu > Payroll Settings > Cost Code Library.
- You can also do this by going to your main menu > Import/ Export > CSV Import and selecting Cost Code from the drop-down.
- From the drop-down arrow next to Add Cost Code, select + Import Cost Codes.
-
Download the Blank File and fill in the columns with your Cost Code names and the relevant Operation ID.
- Leave blank to apply to all operations or add specific operation ID(s). Use a comma-separated list if entering multiple IDs.
- Save your updated CSV file, and back in your platform, choose that file and select Import CSV to upload to your platform.
Hot tip: Do not close your CSV File until after you have uploaded it successfully to the platform. Closing the file could corrupt the formatting, meaning you would need to update it again and reupload it.
The editing and deleting of Cost Codes can be done from the Cost Code Library; you can only edit the Operation/s that a Cost Code can be used with.
If you are looking for information on how to edit the title of a Cost Code, please see below, where we will go through the recommended process.
Editing Operations
At any time, you may wish to change the Operations associated with a cost code. This could be to:
- Apply it to all Operations.
- Limit which admins can access the Cost Code using Operations as a search restriction.
To edit the Operations associated with a Cost Code:
- Navigate to Payroll Settings > Cost Code Library.
- Select the ellipsis to the right of the Cost Code you're looking to edit, and then select Edit Operations.
- Add or remove Operations as required.
- Once you've made the desired changes, select Save to update.
Cost code title
It is not possible to edit the title of an existing Cost Code regardless of whether it has been used or not.
Instead of editing the title, the recommendation would be to:
- Create a new Cost Code with the correct title. Refer to the above section.
- Update any rosters or positions using the old Cost Code and replace them with the new one.
-
Delete the old Cost Code. This will help to ensure that the incorrect one is not selected accidentally.
Deleting cost codes from the library
Before deleting Cost Codes from your library, there are a few key items you need to consider, those are:
- Deleting a Cost Code from the library will remove it as an option entirely when applying Cost Codes elsewhere within the platform.
- Deleting a Cost Code from the library will not remove it from other areas where it may already be assigned.
- For example, if it is assigned on rosters, shifts and individual employee positions. You will need to follow the steps outlined in the individual sections below to remove the codes from those areas.
-
Deleting a Cost Code from the library will not remove that code from your historical payroll reports.
Please note: If you need to update the Cost Code in your reporting, you will need to edit each employee's individual generated payslip. Before doing this, we highly recommend discussing this internally with your team or reaching out to our Support Team at help@foundu.com.au to discuss the best course of action.
To remove a Cost Code from the Cost Code library:
- From the main menu, navigate to Payroll Settings > Cost Code Library.
- Locate the Cost Code you'd like to delete.
- Select the ellipsis to the right of the Cost Code and select Delete.
Application of cost codes
Roster Cost Codes are the base level for costing. If no other Cost Code is applied, the roster name will be used. A Cost Code can be applied to a roster or, if none is specified, the roster name will be used as a Cost Code.
To assign a Cost Code to a roster:
- Navigate to Work > Rosters.
-
Select the settings icon next to the roster.
-
Add the Cost Code into the Cost Code field. If this field is blank, the roster name will be used.
- Continue through the edit roster menu and Save.
To remove a Cost Code from a roster:
- Navigate to Work > Rosters
-
Locate the roster & select the settings icon next to it.
-
Select the Cost Code field and remove the content.
- Enter a new Cost Code or leave it blank.
Please note: Rosters without a specified Cost Code will use the roster name instead. - Continue through the edit roster menu and Save
Cost Codes can be applied to a single day or a span of days on the roster, which will append to or override the Cost Code set on the roster.
Day Cost Codes are intended for businesses hosting events where an entire day is devoted to one event, such as a conference or a wedding.
Depending on the way your business runs events and whether or not these events span multiple days, and/or rosters, will determine the best method by which you apply your day Cost Codes. The options include:
- Assign a Cost Code to a single day and a single roster -This method is accessed via the ellipsis above the date on a single roster.
- Assign a Cost Code to multiple days and/or multiple rosters - This method is accessed via the Roster overview > Bulk actions > Day cost codes.
We will cover the instructions for both methods below.
Applying day cost codes on a single day and a single roster
If you have an event occurring on a specific day that will only impact one roster, the following may be your preferred method for applying a day Cost Code.
To assign a Day Cost Code to a single day or roster:
- Navigate to Work > Rosters > and open the roster you're working with.
- At the top of the roster, select the ellipsis next to the day you want to edit.
-
Select Day cost code.
- Enter the Cost Code into the Cost Code field.
- Select whether the Day Cost Code should Override or Append to the roster Cost Code.
-
Save changes.
Once you have applied the day Cost Code, a green money bag icon will sit above the day, indicating that a Cost Code exists on this day (see the image below).
Applying day cost codes in bulk
If you have an event occurring across a span of days that may also impact multiple rosters, the following may be your preferred method for applying Day Cost Codes in bulk.
To assign a Day Cost Codes in bulk:
- Navigate to Work > Rosters > and locate the Bulk Actions button.
-
From the drop-down, select Day cost codes.
- Select the dates on which you would like to apply Day cost codes using the date selector.
- Select the Operation roster.
- Enter the Cost Code into the Cost Code field, or create a new Cost Code.
- Select whether the Day Cost Code should override or append to the roster Cost Code.
- Select roster(s) for the operation.
- Once complete, select Apply cost code to finalise the Day cost codes being added to the span of days and rosters selected.
Removing day cost codes
Mistakes happen, and sometimes, you may apply the incorrect Cost Code to one or more of your days. You can resolve this issue directly on your roster, for individual days, and from the same function used to apply codes in bulk if you are removing the codes from multiple days at a time.
To remove individual Day Cost Codes:
- Navigate to Work > Rosters > and open the roster you're working with.
- At the top of the roster, select the ellipsis next to the day you want to update.
- Hover over the Cost Code icon and select the pencil icon to edit or select the rubbish bin icon to delete.
Hot tip: If you accidentally deleted the code on the wrong day, you can select to undo it from the green confirmation flag that appears at the bottom of your page.
To bulk remove Day cost codes:
- Navigate to Work > Rosters > and locate the Bulk Actions button.
- From the drop-down menu, select Day cost codes.
- Select to switch from Add Code to Remove Code.
- Using the date selector, select the dates on which you would like to remove the day Cost Codes.
- Select the Operation and rosters to remove the code from.
- Remove cost code to action and update the days.
Please note: The Cost Code will stay assigned to any shifts that have already been actioned in Approve Shifts. Please refer to the steps outlined in that accordion below to update the codes on those shifts.
Cost Codes can be applied on a per-shift basis, which will append to or override the Cost Code set on the day and roster.
Multiple Cost Codes can be added to a single shift, either on the roster or in Approve Shifts. This is a very powerful tool as it will allow you to split different portions of an employee's shift across different Cost Codes.
You can learn more about the full extent of the shift costing feature here.
To remove a Cost Code from a shift:
A Cost Code can be set up for each position assigned to an employee. This Cost Code will append to or override the cost code set on the shift, day, and roster.
Hot tip: The Cost Code applied here will also appear in reports for any approved paid leave applications.
To assign a Cost Code to a position:
- Navigate to the Employee Profile > Employee Card > Employment Type.
-
Select the edit icon next to Edit Cost Code Settings under the relevant position.
-
Then select the desired Cost Code and the preferred option for how the Cost Code will behave.
- Fall Back - Cost Code will be used if one does not exist elsewhere.
- Override - This Cost Code will be used regardless.
-
Append - Adds the Cost Code to any existing ones (e.g. roster - position).
To remove a Cost Code from an employee position:
If your business has salaried employees, you will need to decide how they are to be costed.
Unlike other employment types, salaried employees can only be costed based on their position. The costing of a salaried employee position does not change when they are rostered either.
If this is suitable, please refer to the steps laid out in the 'Cost Code per employee and position' section above.
Please note: In the case of a salaried employee, all options (fallback, append, override) will behave the same, and the Cost Code assigned to the position will be used regardless.
If you need to cost them across multiple Cost Codes, there are two options:
- Edit the payslip and adjust the Cost Code for the required hours.
- Use a flat rate position configuration instead of a salaried one.
Contact us: The use of a flat rate position is often preferred to editing payslips, as the less manual intervention at the payroll stage, the less likely errors will occur. If you're interested in this setup, please reach out to us to discuss your requirements.
Reporting
Reporting is the primary function of Cost Code! Cost Codes can be added as a grouping or included in many of the financial reports in your platform. Some of the common places you'll find and use them are:
- Advanced Payroll Activity Report (APAR)
- Labour Management Report (LMR)
- Leave Paid Report
You may also want to report on where your Cost Codes are assigned. Depending on where the Cost Codes are assigned will determine the report you use.
Employee positions
- Navigate to People > Approved People.
- Select Bulk Actions > Export All Filtered.
-
Deselect all & reselect the fields you're interested in. At a minimum, you should include Employee ID, Employee Name, and Cost Code.
Rosters