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

May 26, 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.0008
Controller Execution Time ( Jobseekers / Job )  0.0365
Total Execution Time  0.0379
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,513,880 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.0289 seconds)  (Hide)
0.0009   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0009   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1614946
 LIMIT 1 
0.0018   SELECT *
FROM `employers`
WHERE `employer_id` = 547995
 LIMIT 1 
0.0057   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.0010   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-07-16',ej.date_added) duration_daysDATEDIFF('2026-07-16',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-07-16',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1614946' 
0.0014   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1614946 
0.0015   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=21***Apr-12-2026=12***Apr-13-2026=31***Apr-14-2026=18***Apr-15-2026=14***Apr-16-2026=14***Apr-17-2026=15***Apr-18-2026=9***Apr-19-2026=9***Apr-20-2026=13***Apr-21-2026=8***Apr-22-2026=18***Apr-23-2026=20***Apr-24-2026=6***Apr-25-2026=4***Apr-26-2026=4***Apr-27-2026=12***Apr-28-2026=8***Apr-29-2026=4***Apr-30-2026=13***May-01-2026=7***May-02-2026=9***May-03-2026=4***May-04-2026=11***May-05-2026=6***May-06-2026=6***May-07-2026=9***May-08-2026=2***May-09-2026=2***May-10-2026=1***May-11-2026=18***May-12-2026=4***May-13-2026=6***May-14-2026=7***May-15-2026=4***May-16-2026=10***May-17-2026=2***May-18-2026=5***May-19-2026=6***May-20-2026=10***May-21-2026=7***May-22-2026=6***May-23-2026=5***May-24-2026=4***May-25-2026=6***May-26-2026=520***May-27-2026=61***May-28-2026=26***May-29-2026=32***May-30-2026=5***May-31-2026=11***Jun-01-2026=23***Jun-02-2026=17***Jun-03-2026=3***Jun-04-2026=4***Jun-05-2026=7***Jun-06-2026=4***Jun-07-2026=8***Jun-08-2026=9***Jun-09-2026=10***Jun-10-2026=11***Jun-11-2026=6***Jun-12-2026=4***Jun-13-2026=6***Jun-14-2026=9***Jun-15-2026=4***Jun-16-2026=6***Jun-17-2026=8***Jun-18-2026=5***Jun-19-2026=7***Jun-20-2026=3***Jun-21-2026=3***Jun-22-2026=7***Jun-23-2026=5***Jun-24-2026=2***Jun-25-2026=7***Jun-26-2026=3***Jun-27-2026=5***Jun-28-2026=2***Jun-29-2026=5***Jun-30-2026=13***Jul-01-2026=4***Jul-02-2026=4***Jul-04-2026=5***Jul-05-2026=4***Jul-06-2026=3***Jul-07-2026=3***Jul-08-2026=2***Jul-09-2026=2***Jul-10-2026=10***Jul-11-2026=2***Jul-16-2026=1' WHERE job_id'1614946'  
0.0011   UPDATE employer_jobs SET monthly_hits '***Apr-2026=1384***May-2026=811***Jun-2026=206***Jul-2026=40' WHERE job_id'1614946'  
0.0018   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1614946' AND status LIKE 'sent%' ORDER BY id DESC  
0.0008   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1614946 
0.0101   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '547995'
AND `date_added` >= '2022-06-08' 
0.0009   select from teasers 
0.0008   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)