Payroll Officer + Bookkeeper

Please login or register as jobseeker to apply for this job.

TYPE OF WORK

Part Time

SALARY

15

HOURS PER WEEK

10

DATE UPDATED

Sep 17, 2026

JOB OVERVIEW

BOOKKEEPER & PAYROLL OFFICER

We’re looking for a highly organised, switched-on Bookkeeper & Payroll Officer to take ownership of the financial admin side of our growing business.

This is a hands-on role for someone who genuinely loves numbers, systems, accuracy and keeping everything clean and up to date.

You’ll be responsible for making sure our Xero is completely reconciled, our payroll is processed correctly every fortnight, our receipts and records are properly documented, and our financial projections accurately reflect what is happening inside the business.

THE ROLE

You’ll be responsible for:

XERO & BOOKKEEPING
→ Managing all day-to-day transactions in Xero
→ Reconciling Xero every fortnight
→ Ensuring every transaction is correctly categorised
→ Attaching receipts and supporting documentation to every relevant transaction
→ Identifying and resolving discrepancies
→ Keeping accounts clean, accurate and up to date
→ Following up on anything that is missing or unclear
→ Maintaining strong financial record keeping and organisation

PAYROLL
→ Processing payroll every fortnight
→ Ensuring payroll is accurate and completed on time
→ Managing employee records and payroll-related administration
→ Ensuring superannuation and other payroll obligations are correctly handled
→ Keeping payroll records organised and up to date

BAS & COMPLIANCE
→ Preparing BAS on the required schedule
→ Working with our accountant/tax professional where required
→ Ensuring Xero is properly reconciled and ready for BAS lodgement
→ Keeping all relevant financial records organised and accurate

FINANCIAL PROJECTIONS

This is an important part of the role.

We maintain a financial projection spreadsheet that tracks our current and expected revenue based on active clients.

You’ll be responsible for keeping this updated so we always have a clear picture of our projected revenue.

For example:

A client signs → add them to the projection.

A client cancels → remove them and update the projection.

A client changes their package or payment amount → update the projection.

A new client starts → add them to the projection.

We want to be able to look at the spreadsheet at any point and clearly understand:

→ Current recurring revenue
→ Expected future revenue
→ Upcoming changes to revenue
→ Client cancellations
→ New clients
→ Revenue gaps
→ What our projected monthly revenue looks like moving forward

This needs to be maintained accurately and consistently, not updated once every few months.

WHO WE’RE LOOKING FOR

You’ll be a great fit if you:

→ Have strong experience with Xero
→ Have experience processing Australian payroll
→ Understand BAS and GST requirements
→ Are extremely organised and detail-oriented
→ Naturally notice discrepancies and missing information
→ Are comfortable working independently
→ Take ownership rather than waiting to be told what to do
→ Are reliable with deadlines
→ Have excellent attention to detail
→ Are confident working with spreadsheets and financial projections
→ Can communicate clearly when something needs clarification
→ Actually enjoy keeping financial systems clean and organised

EXPERIENCE WITH

Xero is essential.

Experience with Australian payroll, superannuation, BAS and GST is essential.

Experience working with service-based businesses, agencies or businesses with recurring clients would be highly regarded.

THE WORKING RHYTHM

This role will have a consistent fortnightly rhythm.

Every two weeks, you’ll be responsible for ensuring Xero is fully reconciled and up to date, receipts are attached, payroll is processed, and our financial projection spreadsheet reflects the current state of the business.

We want someone who can become the person we trust to know exactly what is happening financially behind the scenes.

This is not a role where things should sit untouched until month-end.

We want the books clean. The numbers current. The payroll done. The projections accurate.

If something is missing, we want you to notice it.

If something doesn’t reconcile, we want you to investigate it.

If a client cancels, we want the projection updated.

If there is something we need to know, we want you to tell us.

TO APPLY

Please send through:

1. A short introduction about yourself and your experience
2. Your experience with Xero
3. Your experience processing Australian payroll
4. Your experience with BAS/GST
5. The types of businesses you have previously worked with
6. Your availability
7. Your hourly rate or proposed monthly/fortnightly fee
8. Your preferred working arrangement

Please also tell us what you believe the most important thing is when keeping the books of a growing business accurate and up to date.

We’re looking for someone who wants to take ownership of this role and become a trusted part of the business long-term.

SKILL REQUIREMENT
VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0019
Controller Execution Time ( Jobseekers / Job )  0.0247
Total Execution Time  0.0272
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,506,368 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Payroll-Officer-Bookkeeper-1731613
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0161 seconds)  (Hide)
0.0004   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0005   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1731613
 LIMIT 1 
0.0010   SELECT *
FROM `employers`
WHERE `employer_id` = 963717
 LIMIT 1 
0.0011   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1731613
AND `misc`.`idIS NULL 
0.0005   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-09-21',ej.date_added) duration_daysDATEDIFF('2026-09-21',e.rebill_date) duration_rebillej.*, e.deactivate FROM employers eemployer_jobs ej WHERE e.employer_id ej.employer_id AND
                                   ((
e.user_level >= '500' AND ej.date_added <= e.rebill_date)
                                   OR 
e.employer_id '' OR (ej.date_approved <> '2000-01-01' and DATEDIFF('2026-09-21',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1731613' 
0.0009   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1731613 
0.0023   UPDATE employer_jobs SET hit_counts '***Sep-16-2026=5***Sep-17-2026=1500***Sep-18-2026=357***Sep-19-2026=151***Sep-21-2026=1' WHERE job_id'1731613'  
0.0008   UPDATE employer_jobs SET monthly_hits '***Sep-2026=2014' WHERE job_id'1731613'  
0.0009   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1731613' AND status LIKE 'sent%' ORDER BY id DESC  
0.0005   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1731613 
0.0014   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '963717'
AND `date_added` >= '2022-06-08' 
0.0003   select from teasers 
0.0055   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)