Configure GL codes in Projectworks
A key component of the financial configuration of Projectworks is the creation of the GL Codes to be used for associating with revenue (invoices) and costs (expenses).
Each budget line within a project needs to have a GL Code associated with it, with that code being used when raising invoices for those budget lines. GL Codes also need to be set up for use on expenses that are logged in Projectworks.
You don’t need to set up the full list of accounts from your financial system, just the ones that will be required for transactions recorded in Projectworks.
When setting up the integration to your accounting system you will create a mapping between the GL Codes in Projectworks to the corresponding accounts in your accounting system. This ensures data exported from Projectworks arrives in your accounting system correctly coded (eg invoice lines will be coded to the correct account based).
Before finalising your mapping to your Accounting system through the integration you will need to create the GL Codes in Projectworks.
Types of GL Codes
Projectworks has three groups of GL codes: revenue codes for invoices, operating expense codes for expenses, and two balance sheet types used by Revenue Journal exports. Revenue codes are split into Services Revenue (time budgets) and Non Services Revenue (expense budgets).
Revenue
Each budget line in a billable project needs to have a revenue GL Code set on it. The codes are automatically assigned to invoice lines (based on the budget line the invoice is for).
Services Revenue
-
These codes are able to be associated to time budget lines within a project
-
A Services Revenue code called Sales, with code 200 is created by default in each Projectworks environment
Non Services Revenue
-
These codes are able to be associated to expenses budget lines within a project
-
A Non Services Revenue code called Other Income with code 260 is created by default in each Projectworks environment
-
Note these are the codes you will use to record the revenue (invoicing) from oncharging expenses to customers. not the codes for coding a cost to your business
You can create a services and non-services version of the same code if your organisation doesn’t need to distinguish between the different types of revenue that Projectworks tracks.
Likewise, to record revenue to the same code as where expenses are coded you will need to create a non-services revenue GL Code to match the operating expenses version.
When setting up the mappings in the accounting system integration you can map multiple Projectworks GL Codes codes to the same account code in your accounting system. However, each GL Code in Projectworks can only be mapped to one account code.
Expenses
Expenses added in Projectworks all have an expense claim type (which is what people choose from when entering an expense), with each expense claim type linked up to an operating expense GL Code.
Operating expenses
-
These codes are able to be linked to expense claim types which need to be set up separately
-
An Operating Expense code called Operating expenses with code 999 is created by default in each Projectworks environment
-
Operating expense GL codes are always available to every organisation, because expense claim types are shared by all organisations
When setting up the mappings in the accounting system integration you can map multiple Projectworks GL Codes codes to the same account code in your accounting system. However, each GL Code in Projectworks can only be mapped to one account code.
Refer to the Expense Claim Types article for more details on expense claim types →
Accrued income and deferred revenue
If you use Revenue Recognition, Revenue Journal exports post their balance sheet lines to two GL code types:
- Accrued Income
For budgets that have recognised more revenue than they've invoiced - Deferred Revenue
For budgets invoiced ahead of their recognised revenue
Before your first journal export:
- Add at least one GL code of each type, mapped to the matching account in your accounting system.
- Set them as each organisation's default. Adding a code doesn't make it a default. See Default GL codes.
- If you don't use Revenue Recognition, you can ignore these two types. They're listed for every account
- If you had already exported a journal, or changed the old accrued income and deferred revenue account code settings, Projectworks has created these two codes for you from those settings
Read more about Revenue Journals →
Limiting GL codes to organisations
If you have more than one organisation, you can limit each GL code to the organisations that use it. Projects only offer, and only apply, GL codes their organisation can use.
- Existing GL codes are available to every organisation until you change them
- A new GL code starts with every organisation listed. Remove any that shouldn't use it
- A new organisation can use every GL code. Where a type has only one active code, it becomes the new organisation's default
- Operating Expenses codes are always available to every organisation
- You can't remove an organisation from a code that its project budgets or organisation wide invoicing budgets already use
Default GL codes
Each organisation has its own default GL code for each type. There's no account-wide default.
- Go to Settings > System > Organisations.
- Edit the organisation.
- Under Default GL codes, choose a code, or None, for each type. Only active codes the organisation can use are listed.
- Click Save.
The system uses these defaults whenever a billable budget needs a GL code and none has been chosen, for example when you:
- Choose a budget's type (time or expense) on the Budgets tab
- Add a project, or make a non-billable project billable
- Clone a project
- Create budgets through the API or imports
Good to know:
- New Revenue Journal exports start with the organisation's Accrued Income and Deferred Revenue defaults
- The Operating Expenses default isn't used as you work in Projectworks. It's only used when Projectworks Support imports data for you
- If an organisation has no default for a type, you'll be asked to choose a code yourself
Read more about an organisation's default GL codes →
Maintaining GL Codes
Click the + button (Add GL Code) to add a new GL Code. A GL Code can be edited by clicking the name of the GL Code or from the three dots to the right.
You can rename and renumber the GL codes Projectworks creates for you to match the main codes your organisation uses.
-
GL Code type: Determines where the code is able to be used (see above): Services Revenue, Non Services Revenue, Operating Expenses, Accrued Income or Deferred Revenue
-
Description: The name of the code
-
GL code: The number/code
-
This GL Code is Intercompany: Can be left unticked. There is no functionality linked to this.
-
This GL Code is Active: Tick or untick to make the GL Code active or inactive .
-
Organisations that can use this GL code: The organisations whose projects can use the code. Use Select a new organisation to add one, or the bin icon to remove one. For Operating Expenses codes, a note says they're available to every organisation instead.

Once a revenue GL Code has been used on a project budget the code can’t be changed from services to non-services or vice versa, or to operating expense. Likewise, if an operating expense code has been linked to an expense claim type it can’t be changed to a revenue code.
A code that is an organisation's default can't be removed from that organisation, made inactive, changed to another type or deleted. Choose a different default for the organisation first.
Finding GL codes in the list
Use the list controls to find the codes you need.
- Organisations column: the organisations that can use each code. (default) shows after each organisation that uses the code as its default
- GL Code Type and Organisation filters: show only codes of one type, or only the codes one organisation can use
- Hide/Show/Group: group the list by GL Code Type
