Skip to content
  • There are no suggestions because the search field is empty.

How to Build a Custom Payroll Report

The Custom Report Builder lets you create tailored payroll export files for providers that don't have a direct API integration, or for custom reporting needs.

Step 1: Create or Select a Custom Report Provider

  • From the Payroll page, select or create a custom report provider.
  • You'll see a side navigation with sections for Pay Code Mapping, Job Item Mapping, Configure Format, and Download.

Step 2: Map Pay Codes

  1. Navigate to Pay Code Mapping in the report builder side menu.
  2. Map each award's pay rates and leave types to the correct payroll codes, grouped by employment type.
  3. Each row has two code columns:
    • Payroll Code 1 — the primary payroll code for the pay rate or leave type.
    • Payroll Code 2 — an optional secondary payroll code for providers that use a two-part code.
  4. Click Save to store your mappings.

Payroll Code 2 Rules

  • Payroll Code 1 is required when Payroll Code 2 is filled. You cannot set a secondary code without a primary code.
  • Consistent Code 2 across shared Code 1 — within the same employee type (or leave list), all rows sharing the same Payroll Code 1 must use the same Payroll Code 2 value (or all leave it blank). A conflict warning appears if they differ.
  • If you clear Payroll Code 1, the entire mapping is removed — both codes are deleted.

Step 3: Map Job Items

  1. Go to Job Item Mapping.
  2. Select the job layer you want to map.
  3. Map each job item using:
    • Payroll Code 1 — the primary payroll code for the job.
    • Payroll Code 2 — an optional secondary payroll code.
  4. Click Save.

The same Payroll Code 2 rules apply here: Payroll Code 1 is required when Payroll Code 2 is filled, and clearing Code 1 removes the mapping.

Note: Saving submits mappings across all job layers, not just the one currently displayed. If another layer has a validation error, the Save button is disabled and a tooltip names the layer that needs fixing.


Step 4: Configure the Export Format

  1. Go to Configure Format.
  2. Edit the report name by clicking the Edit icon next to the title.
  3. Set up Data Grouping to control how rows are grouped in the output.
  4. Configure Field Mapping to define header rows, data rows, footer rows, and group label rows.
  5. Use Add Header, Add Footer, or Add Group Label to add custom rows.
  6. Set the Output File Name to customise the downloaded file name.
  7. Choose the Output Format for your report file and configure options like excluding leave, public holidays, or employees with blank payroll codes.
  8. Click Save to finalise.

Payroll Code Columns

When adding fields to your data rows, the payroll code columns are:

  • Payroll Code 1 — the primary mapped payroll code (previously called "Pay Code").
  • Payroll Code 2 — the secondary mapped payroll code, if one was set during pay code mapping.
  • [Job Layer] - Payroll Code 1 — the primary payroll code for a job item in the selected job layer.
  • [Job Layer] - Payroll Code 2 — the secondary payroll code for a job item in the selected job layer.

Custom Code 2 Field

If your company has Custom Code 2 enabled, you can add a Custom Code 2 column to your report data rows. This field pulls the Custom Code 2 value from each employee's profile.

  • To add it, click Add in your data row configuration and select Custom Code 2 from the field list.
  • Each row displays the employee's Custom Code 2 value as set on their profile.
  • This field only appears in the available fields list when Custom Code 2 is enabled for your company.

Base Rate Field

You can add a Base Rate column to show the effective hourly rate for each payroll line in your report.

  • To add it, click Add in your data row configuration and select Base Rate from the field list.
  • Unlike the existing Employee Base Hourly Rate (which shows the static rate from the employee's profile), Base Rate calculates the rate based on the payroll line type:
    • Standard hours - the employee's base hourly pay rate.
    • Overtime and rate penalties - the base rate multiplied by the rate multiplier.
    • Currency penalties - the base hourly pay rate as-is.
    • Allowances - the award rule rate for the allowance.
    • Unpaid breaks - displays as 0.
  • This field is available when your Data Grouping is set to Employee & Pay Code, Employee & Date & Pay Code, or Timesheet Lines.

Leave Date Columns

You can add Leave From Date and Leave To Date columns to show the date range of each leave period in your report. These fields are available when your Data Grouping is set to Employee & Pay Code.

  • To add them, click Add in your data row configuration and select Leave From Date or Leave To Date from the field list.
  • When either column is included, Timecloud automatically groups consecutive leave days into a single row:
    • Leave From Date shows the first day of the leave block.
    • Leave To Date shows the last day of the leave block.
  • If there is a gap in calendar days (e.g. a weekend or a non-leave day in between), the leave is split into separate rows, each with its own from/to dates.
  • For a single day of leave, both columns show the same date.
  • Non-leave pay codes display blank values in these columns.
  • When leave and worked hours share the same pay code, they appear on separate rows so that the leave dates only apply to the leave entry.

Formula Columns

Formula columns let you create calculated fields by combining other numeric columns, fixed numbers, and arithmetic operators.

Adding a Formula Column

  1. Click Add in your data row configuration.
  2. Select Formula from the field list.
  3. The Formula dialog opens where you build your calculation:
    • Column name - enter a label for the column header.
    • Column - pick an existing numeric column to reference in the formula, then click Add.
    • Number - type a constant number and click Add.
    • Operators - click +, -, *, or / between values.
  4. Click Save when the formula is complete.

How Formulas Work

  • A formula alternates between values (columns or numbers) and operators: value, operator, value, operator, value.
  • Multiplication (*) and division (/) are applied before addition (+) and subtraction (-), following standard maths order.
  • A formula must contain at least 3 items and at most 9 items (e.g., Column A + Column B is 3 items).
  • Only numeric columns can be referenced: Quantity (numeric format), Pay Code (numeric format), Count of Days, Base Rate, Employee Base Hourly Rate, Award Rule Rate Multiplier, Fixed Value (when set to a number), and other formula columns.
  • Formula columns can reference each other, but circular references are not allowed.
  • If any value in the formula is missing or a division by zero occurs, the cell is left blank in the export.

Editing a Formula Column

  • Click the settings icon on an existing formula column to reopen the formula builder and adjust the calculation or column name.

Removing a Formula Column

  • If another formula references a column you remove, the column is hidden from the visible report but kept internally so the referencing formula still works.
  • Hidden operand columns do not appear in the exported file.

Per-Employee Subtotals

Group label rows can display subtotals for each employee in your report.

  • Click Add Group Label to add a group label row.
  • Click a cell in the group label row that aligns with a numeric data column.
  • Select Total from the field type options.
  • The cell will show the sum of that column's values for each employee.

Group label rows appear after each employee's data rows in the exported report, giving you a per-employee subtotal line.

  • You can also select Fixed Value to enter static text, or Count of Days to show how many days that employee worked.
  • To clear a group label cell and pick a different type, click the delete icon on the cell.

Include Unpaid Break

When your Data Grouping is set to Timesheet Lines, an additional toggle appears in the output options:

  • Include Unpaid Break — toggle this on to export unpaid break periods as separate rows in the report.
  • Unpaid breaks appear for visibility only — they do not count toward worked hours or mapped pay codes.
  • This is useful when your payroll team needs to see a complete breakdown of how time was spent throughout each shift, including unpaid rest periods.

Merge Job-Triggered Unit Allowances

When your Data Grouping is set to Timesheet Lines, another toggle appears in the output options:

  • Merge Job-Triggered Unit Allowances — toggle this on to combine allowance rows that were split by an auto-break back into a single export row.
  • When auto-break management splits a clock-in into multiple segments, job-triggered unit allowances are recorded against each segment. With this toggle enabled, those fragments are merged into one row and their quantities are summed.
  • Start and end times are left blank on the merged row because the break gap means there is no single continuous time range.
  • This is useful when your payroll provider expects one allowance entry per original clock-in rather than separate entries for each break segment.

Attendance Approval Status Field

You can add an Attendance Approval Status column to your report to see the approval state of each entry at a glance. This field is available when your Data Grouping is set to Timesheet Lines or Employee & Date & Pay Code.

Each row will display one of:

  • Approved — the attendance for that day (or time entry) has been signed off by a manager.
  • Awaiting Approval — the attendance has not yet been signed off.

To add this field, click Add in your data row configuration and select Attendance Approval Status from the field list.

Formatting Time Fields

When you add a Start Time or End Time field to your data rows, you can choose how times are displayed in the exported report.

  • Click the settings icon next to the Start Time or End Time column.
  • In the Format Field dialog, select your preferred format:
    • Timecode (HH:MM) — displays times in hours and minutes (e.g., 08:00, 17:00). This is the default.
    • Minutes — displays times as total minutes past midnight (e.g., 480 for 08:00, 1020 for 17:00).
  • Click Save to apply.

The preview row updates immediately so you can verify the format before saving your report configuration.

Formatting Quantity Fields

When you add a Quantity field, a similar settings icon lets you choose between Timecode (HH:MM) and Numeric formats.

Output Format Options

The following file formats are available when choosing the output format for your report:

  • CSV — comma-separated values, compatible with most payroll systems and spreadsheet applications.
  • XLSX — Microsoft Excel spreadsheet format for direct viewing and editing.
  • Tab Separated (.txt) — tab-delimited text file with a .txt extension.
  • Tab Separated (.tsv) — tab-delimited text file with a .tsv extension.
  • Intuit Interchange Format (.iif) — for QuickBooks Desktop imports.
  • Comma Separated (.inp) — comma-separated format with a .inp file extension, used by payroll providers that require this specific file type.

Step 5: Download the Report

  1. Go to Download in the report builder side menu.
  2. Select the Pay Period:
    • Choose a Start Date.
    • Select the period type: Weekly, Fortnightly, Monthly, or Four Weekly.
    • Set a multiplier if you want to cover multiple periods at once.
  3. Choose the Approval Status to include (e.g., Approved, Pending).
  4. Filter and select Employees by award, department, contract type, or role. Use the checkbox column to include or exclude individuals.
    • Nested departments — selecting a parent department automatically includes all employees in its sub-departments, so you don't need to select each sub-department individually.
  5. Click Download to generate and save the report file.

Download Confirmation Email

Once your report is generated, Timecloud sends you an email with a download link. This email also includes a summary of the filters you applied, so you can easily confirm what data is in the report:

  • Date Range — the pay period covered
  • Approval Status — which attendance statuses were included (e.g., Approved, Awaiting Approval)
  • Awards — if you filtered by specific awards
  • Departments — if you filtered by department (includes sub-departments)
  • Contract Types — if you filtered by contract type
  • Roles — if you filtered by role

The download link expires after 24 hours. If the link has expired, simply generate the report again from the Download page.


Good to Know

  • Payroll Code 2 is optional — you only need to fill it in if your payroll provider requires a two-part code. Leave it blank for providers that use a single code.
  • Custom Code 2 requires company setup — the Custom Code 2 field only appears in the report builder when the feature is enabled for your company. Make sure each employee's Custom Code 2 is filled in on their profile before including it in a report.
  • Base Rate varies by line type — the Base Rate field shows the calculated rate for each payroll line, not just the employee's profile rate. Overtime lines show the base rate times the multiplier, allowances show the award rule rate, and unpaid breaks show 0.
  • Leave date columns split on gaps — when Leave From Date or Leave To Date is included, consecutive leave days on the same pay code are merged into one row. A break in calendar days (including weekends) starts a new row with its own date range. If neither leave date column is added, leave rows are grouped the same way as any other pay code.
  • Formula columns evaluate in order — if one formula references another, the referenced formula is calculated first. Circular references (Formula A references Formula B which references Formula A) are blocked at save time.
  • Formulas use standard maths precedence — multiplication and division are applied before addition and subtraction. For example, A + B * C calculates B * C first, then adds A.
  • Removing a referenced column hides it — if you remove a data column that a formula depends on, the column stays in the report configuration (hidden) so the formula keeps working. Hidden columns are not included in the exported file.
  • Group label totals sum per employee — a Total cell in a group label row adds up the values in that column for each employee, giving you a subtotal line in the export.
  • Department filter is hierarchical — when you filter by a parent department, Timecloud automatically includes employees assigned to any of its sub-departments. No need to tick each one manually.
  • Unpaid break rows are export-only — enabling Include Unpaid Break adds informational rows to your report but does not affect pay calculations or hour totals.
  • Merged allowance rows leave times blank — when Merge Job-Triggered Unit Allowances is enabled, the combined row has no start or end time because the original clock-in was split by a break. The quantity is the sum of all fragments.
  • Attendance Approval Status reflects real-time state — the status shown in the exported report matches the current approval state at the time of download. If a timesheet is approved after you generate the report, you'll need to download again to see the updated status.
  • INP format for specialised payroll providers — choose Comma Separated (.inp) when your payroll provider requires .inp files. The content is comma-separated, similar to CSV, but uses the .inp file extension.