Xero Bookkeeper (Catch-Up & Monthly Clients – Client-Facing Role)

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

TYPE OF WORK

Full Time

SALARY

$8 per hour

HOURS PER WEEK

40

DATE UPDATED

Apr 1, 2026

JOB OVERVIEW

Description

We are a fast-growing Canadian accounting firm looking for an experienced bookkeeper with strong Xero experience to support both catch-up and ongoing monthly bookkeeping clients.

This role involves working on multiple client files, including catch-up and cleanup work, as well as ongoing monthly bookkeeping. You will also interact with clients directly, including occasional video calls, so strong communication and professionalism are required.

We are looking for someone who can work independently, stay organized across multiple clients, and contribute to a growing team.

Responsibilities
Catch-up and cleanup bookkeeping (clients 1–3+ years behind)
Monthly bookkeeping for ongoing clients
Bank and credit card reconciliations
Accurate transaction categorization
Identifying missing, unclear, or unusual transactions
Preparing books for tax filing
Communicating with clients via email and occasional video calls
Providing clear updates on file progress
Flagging issues or questions proactively

Requirements (IMPORTANT – Please Read Carefully)
Strong hands-on experience with Xero (required)
Experience with QuickBooks Online (QBO) (required)
Proven experience with catch-up / cleanup bookkeeping
Experience managing multiple clients at once
Comfortable speaking with clients on video calls
Strong English communication (written and spoken)
Reliable internet connection and professional video setup
Ability to work independently and problem-solve
Attention to detail and accuracy is critical

Compensation
Starting at $8 USD per hour
Performance-based increases available based on quality, speed, and reliability

Opportunity for long-term growth within the firm

To Apply

Please answer the following:

How many years of experience do you have with Xero?
Describe your experience with catch-up bookkeeping (how many years behind were the clients?)
Are you comfortable speaking with clients on video calls?
What do you do when you don’t understand a transaction?
Have you worked with both Xero and QBO? Please explain your experience with each.

???? Please include the word “XERO2026” in your application so we know you read this.

Shortlisted candidates will be given a short practical test.

Growth Opportunity

This is a long-term role in a fast-growing firm with the opportunity to:
Take on more responsibility
Grow into a senior or lead bookkeeping role

SKILL REQUIREMENT
VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0013
Controller Execution Time ( Jobseekers / Job )  0.0201
Total Execution Time  0.0221
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,505,224 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Xero-Bookkeeper-Catch-Up-Monthly-Clients-Client-Facing-Role-1614946
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0133 seconds)  (Hide)
0.0004   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0003   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1614946
 LIMIT 1 
0.0004   SELECT *
FROM `employers`
WHERE `employer_id` = 547995
 LIMIT 1 
0.0023   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1614946
AND `misc`.`idIS NULL 
0.0005   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-04-18',ej.date_added) duration_daysDATEDIFF('2026-04-18',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-04-18',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1614946' 
0.0008   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1614946 
0.0011   UPDATE employer_jobs SET hit_counts '***Apr-01-2026=500***Apr-02-2026=171***Apr-03-2026=118***Apr-04-2026=46***Apr-05-2026=55***Apr-06-2026=90***Apr-07-2026=49***Apr-08-2026=36***Apr-09-2026=37***Apr-10-2026=29***Apr-11-2026=19***Apr-18-2026=1' WHERE job_id'1614946'  
0.0014   UPDATE employer_jobs SET monthly_hits '***Apr-2026=1151' WHERE job_id'1614946'  
0.0013   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1614946' AND status LIKE 'sent%' ORDER BY id DESC  
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1614946 
0.0038   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '547995'
AND `date_added` >= '2022-06-08' 
0.0003   select from teasers 
0.0003   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)