Xero CPA / Bookkeeper (Setup, Cleanup, Reconciliation)

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

TYPE OF WORK

Part Time

SALARY

$5-7/hour

HOURS PER WEEK

TBD

DATE UPDATED

Feb 16, 2026

JOB OVERVIEW

We are looking for an experienced CPA or Senior Bookkeeper to fully set up and optimize our Xero accounting system for a growing digital services and SaaS business. This role is focused on building a clean, reliable financial foundation and maintaining accurate books going forward.

You will be responsible for configuring Xero correctly from the start, cleaning historical data, and ensuring our accounts are categorized and reconciled properly.

Responsibilities
Xero Setup & Configuration
- Set up Xero chart of accounts tailored to a SaaS / services business
- Configure tax settings, currencies, and financial reports
- Connect bank accounts, credit cards, and payment processors
- Ensure proper user permissions and account structure
Data Cleanup & Migration
- Review existing transactions and historical data
- Clean up miscategorized or duplicate entries
- Import and organize past financial records if needed
- Standardize naming conventions and account usage
Categorization & Reconciliation
- Categorize transactions accurately and consistently
- Perform monthly bank and card reconciliations
- Identify and resolve discrepancies
- Ensure financial reports match actual balances
Ongoing Bookkeeping
- Maintain accurate books on a weekly or monthly basis
- Prepare Profit & Loss, Balance Sheet, and Cash Flow reports
- Support year-end and tax preparation
- Communicate clearly about any issues or missing information

Requirements
- Proven experience with Xero accounting software
- CPA license or strong bookkeeping background preferred
- Experience with SaaS, digital services, or online businesses
- Strong understanding of financial reporting and reconciliation
- High attention to detail and organization
- Ability to work independently and communicate clearly in English
- Experience connecting tools such as Wio, Mercury, Fanbasis, Whop, or similar is a plus

Nice to Have
- Experience with multi-currency accounts
- Familiarity with crypto or digital asset tracking
- Knowledge of US or Canadian accounting standards
- Experience cleaning messy or partially set up books

Engagement Details
- Part-time or project-based to start, with potential for ongoing monthly work
- Remote
- Flexible hours, results oriented

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0007
Controller Execution Time ( Jobseekers / Job )  0.0273
Total Execution Time  0.0286
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,497,712 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Xero-CPA-Bookkeeper-Setup-Cleanup-Reconciliation-1580329
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0217 seconds)  (Hide)
0.0004   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0003   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1580329
 LIMIT 1 
0.0008   SELECT *
FROM `employers`
WHERE `employer_id` = 902596
 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` = 1580329
AND `misc`.`idIS NULL 
0.0005   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-04-15',ej.date_added) duration_daysDATEDIFF('2026-04-15',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-15',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1580329' 
0.0008   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1580329 
0.0008   UPDATE employer_jobs SET hit_counts '***Feb-16-2026=544***Feb-17-2026=116***Feb-18-2026=51***Feb-19-2026=38***Feb-20-2026=23***Feb-21-2026=22***Feb-22-2026=5***Feb-23-2026=17***Feb-24-2026=24***Feb-25-2026=21***Feb-26-2026=13***Feb-27-2026=10***Feb-28-2026=11***Mar-01-2026=11***Mar-02-2026=16***Mar-03-2026=11***Mar-04-2026=15***Mar-05-2026=11***Mar-06-2026=12***Mar-07-2026=6***Mar-08-2026=6***Mar-09-2026=4***Mar-10-2026=12***Mar-11-2026=8***Mar-12-2026=11***Mar-13-2026=3***Mar-14-2026=6***Mar-15-2026=9***Mar-16-2026=8***Mar-17-2026=4***Mar-18-2026=8***Mar-19-2026=4***Mar-20-2026=6***Mar-21-2026=5***Mar-22-2026=3***Mar-23-2026=3***Mar-24-2026=3***Mar-25-2026=12***Mar-26-2026=6***Mar-27-2026=3***Mar-28-2026=6***Mar-29-2026=4***Mar-30-2026=1***Mar-31-2026=4***Apr-02-2026=2***Apr-03-2026=4***Apr-04-2026=2***Apr-05-2026=5***Apr-06-2026=14***Apr-07-2026=2***Apr-08-2026=6***Apr-09-2026=4***Apr-10-2026=3***Apr-11-2026=2***Apr-15-2026=1' WHERE job_id'1580329'  
0.0007   UPDATE employer_jobs SET monthly_hits '***Feb-2026=894***Mar-2026=221***Apr-2026=45' WHERE job_id'1580329'  
0.0021   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1580329' 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` = 1580329 
0.0136   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '902596'
AND `date_added` >= '2022-06-08' 
0.0004   select from teasers 
0.0002   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)