Xero Bookkeeper – Multi-Entity Cleanup & Catch-Up (Full-Time ? Part-Time, Urgent Start)

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

TYPE OF WORK

Full Time

SALARY

$5/per hour

HOURS PER WEEK

40

DATE UPDATED

Jun 19, 2026

JOB OVERVIEW

I'm a US-based real estate and small business owner with multiple companies and properties, all using Xero. My books need a full cleanup and catch-up across 2023, 2024, and 2025, in preparation for tax filing with my CPA.

This is not simple data entry. I need someone detail-oriented who understands bookkeeping fundamentals — categorizing transactions correctly, reconciling bank feeds, and flagging anything that looks off rather than just guessing. You'll be working across 2-3 separate Xero organizations (a business entity and personal/property accounts), so accuracy and the ability to keep entities separate is critical.

What you'll be doing:


Reconciling bank and credit card transactions in Xero across multiple organizations
Categorizing historical transactions correctly (2023–2025) based on chart of accounts and guidance I'll provide
Cleaning up a large backlog of "Uncategorized Expenses"
Entering recurring income that hasn't been recorded (e.g., owner-financed note payments)
Matching invoices and bills to bank transactions
Flagging transactions you're unsure how to categorize rather than guessing
Preparing clean monthly reports once cleanup is complete
Eventually: setting up recurring monthly invoicing/billing workflows to owners (this becomes the ongoing part-time role)


What I need from you:


Solid experience with Xero (required — please don't apply if you've only used QuickBooks)
Experience with multi-entity or multi-property bookkeeping is a strong plus
Comfortable with bank reconciliation, AP/AR, and basic US accounting categorization
Detail-oriented and comfortable asking questions when something is unclear, rather than guessing and moving on
Able to work independently once given clear direction, but communicate proactively
Available for daily or near-daily check-ins during the cleanup phase
English fluency for clear written communication


Nice to have:


Experience working with US-based real estate, property management, or rental income (STR/owner-financed notes)
Experience preparing books for CPA tax handoff
Familiarity with Hubdoc, Dext, or similar receipt/invoice capture tools


To Apply, please include:


Your years of experience specifically with Xero
Whether you've worked with multiple entities/organizations for one client before
Your availability (full-time hours, time zone overlap with US Central Time preferred)
Your expected monthly rate for full-time work
A short note on how you'd approach a backlog of "uncategorized" transactions spanning 3 years


Please do not send generic copy-paste applications — I will prioritize candidates who clearly read this posting.

SKILL REQUIREMENT
VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0021
Controller Execution Time ( Jobseekers / Job )  0.0155
Total Execution Time  0.0195
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,491,856 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Xero-Bookkeeper-Multi-Entity-Cleanup-Catch-Up-Full-Time-Part-Time-Urgent-Start-1672366
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0078 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0003   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1672366
 LIMIT 1 
0.0003   SELECT *
FROM `employers`
WHERE `employer_id` = 946433
 LIMIT 1 
0.0009   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1672366
AND `misc`.`idIS NULL 
0.0005   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-08-14',ej.date_added) duration_daysDATEDIFF('2026-08-14',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-08-14',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1672366' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1672366 
0.0010   UPDATE employer_jobs SET hit_counts '***Jun-19-2026=640***Jun-20-2026=307***Jun-21-2026=123***Jun-22-2026=145***Jun-23-2026=72***Jun-24-2026=64***Jun-25-2026=47***Jun-26-2026=35***Jun-27-2026=17***Jun-28-2026=11***Jun-29-2026=34***Jun-30-2026=16***Jul-01-2026=24***Jul-02-2026=16***Jul-03-2026=8***Jul-04-2026=16***Jul-05-2026=10***Jul-06-2026=17***Jul-07-2026=13***Jul-08-2026=11***Jul-09-2026=13***Jul-10-2026=13***Jul-11-2026=8***Jul-12-2026=7***Jul-13-2026=11***Jul-14-2026=9***Jul-15-2026=13***Jul-16-2026=12***Jul-17-2026=7***Jul-18-2026=5***Jul-19-2026=7***Jul-20-2026=9***Jul-21-2026=5***Jul-22-2026=5***Jul-23-2026=11***Jul-24-2026=11***Jul-25-2026=13***Jul-26-2026=25***Jul-27-2026=21***Jul-28-2026=19***Jul-29-2026=17***Jul-30-2026=16***Jul-31-2026=21***Aug-01-2026=17***Aug-02-2026=18***Aug-03-2026=13***Aug-04-2026=15***Aug-05-2026=15***Aug-06-2026=16***Aug-07-2026=21***Aug-08-2026=27***Aug-14-2026=2' WHERE job_id'1672366'  
0.0006   UPDATE employer_jobs SET monthly_hits '***Jun-2026=1510***Jul-2026=393***Aug-2026=144' WHERE job_id'1672366'  
0.0012   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1672366' 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` = 1672366 
0.0016   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '946433'
AND `date_added` >= '2022-06-08' 
0.0003   select from teasers 
0.0002   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)