CPA and Quickbooks specialist

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

TYPE OF WORK

Part Time

SALARY

5-8/hours

HOURS PER WEEK

10

DATE UPDATED

Sep 26, 2026

JOB OVERVIEW

VIRTUAL ACCOUNTANT / QUICKBOOKS MANAGER

REMOTE | ~5-10 HOURS/WEEK)

Hours: ~5 hours/week (efficient, focused work)
Schedule: Flexible, but must respond within 1 business day
Tools: QuickBooks Online, QB Payroll, Google Workspace,

ABOUT THE ROLE

We are a small but well-run US healthcare and real estate business seeking a senior-level Virtual Accountant to keep QuickBooks clean, payroll accurate, and monthly financials clear.

This role averages ~5-10 hours per week and is ideal for someone who:

Works fast

Keeps immaculate books

Communicates clearly

Does not need hand-holding

If you need 20+ hours to manage QuickBooks for a clean business, this role is not for you.

CORE RESPONSIBILITIES

QuickBooks Oversight

Weekly transaction categorization

Monthly reconciliation of all bank & credit card accounts

Maintain clean chart of accounts

Ensure accuracy across all financial data

Monthly Financial Reporting (by the 10th)

Profit & Loss (monthly + YTD)

Balance Sheet

Cash overview

Short written summary:

What changed

Why it changed

Any red flags or issues to watch

Payroll

Run QuickBooks Payroll

Make weekly payroll adjustments as needed (hours, corrections)

Ensure payroll entries are accurate in QB

Communication

Respond to questions within 1 business day

Explain numbers clearly (plain English, not accounting jargon)

Proactively flag issues

REQUIRED EXPERIENCE

3+ years of hands-on QuickBooks Online management

Strong experience with:

Month-end close

Payroll processing

Reconciliations

Experience with US-based clients required

Excellent written English

Comfortable working independently with minimal oversight

IDEAL CANDIDATE PROFILE

You:

Are efficient and decisive

Take ownership of outcomes, not just tasks

Deliver clean books every month without reminders

See yourself as a financial partner, not a task-taker

You are not a fit if:

You are slow to respond

You miss deadlines

You rely on templates without understanding the numbers

You disappear when questions come up

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0007
Controller Execution Time ( Jobseekers / Job )  0.0144
Total Execution Time  0.0160
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,495,224 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/CPA-and-Quickbooks-specialist-1557649
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0087 seconds)  (Hide)
0.0004   SELECT *
                                
FROM exrates
                                WHERE rate_name 
= 'USD-PHP' 
0.0004   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1557649
 LIMIT 1 
0.0004   SELECT *
FROM `employers`
WHERE `employer_id` = 887541
 LIMIT 1 
0.0014   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `misc` ON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1557649
AND `misc`.`id` IS NULL 
0.0005   SELECT e.business_name, e.logo, e.website, e.rebill_date, e.date_added member_date, hits, DATEDIFF('2026-09-27',ej.date_added) duration_days, DATEDIFF('2026-09-27',e.rebill_date) duration_rebill, ej.*, e.deactivate FROM employers e, employer_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-27',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != 1 AND ej.deleted = 0 AND job_id = '1557649' 
0.0008   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1557649 
0.0008   UPDATE employer_jobs SET hit_counts = '***Jan-18-2026=20***Jan-19-2026=157***Jan-20-2026=37***Jan-21-2026=17***Jan-22-2026=9***Jan-23-2026=10***Jan-24-2026=7***Jan-25-2026=7***Jan-26-2026=3***Jan-27-2026=6***Jan-28-2026=5***Jan-29-2026=8***Jan-30-2026=3***Jan-31-2026=3***Feb-01-2026=1***Feb-02-2026=2***Feb-03-2026=3***Feb-04-2026=2***Feb-05-2026=3***Feb-06-2026=2***Feb-08-2026=1***Feb-09-2026=2***Feb-12-2026=1***Feb-13-2026=2***Feb-16-2026=8***Feb-17-2026=1***Feb-18-2026=2***Feb-21-2026=1***Feb-22-2026=1***Feb-24-2026=4***Feb-25-2026=1***Feb-26-2026=3***Feb-27-2026=3***Mar-01-2026=1***Mar-03-2026=1***Mar-04-2026=1***Mar-05-2026=3***Mar-07-2026=1***Mar-10-2026=1***Mar-13-2026=1***Mar-16-2026=3***Mar-17-2026=1***Mar-22-2026=1***Mar-23-2026=4***Mar-24-2026=1***Mar-31-2026=1***Apr-03-2026=1***Apr-05-2026=1***Apr-06-2026=2***Apr-10-2026=2***Apr-14-2026=1***Apr-20-2026=1***Apr-21-2026=2***Apr-22-2026=1***Apr-26-2026=1***Apr-27-2026=3***Apr-28-2026=2***May-01-2026=1***May-05-2026=3***May-08-2026=1***May-09-2026=1***May-13-2026=1***May-16-2026=2***May-20-2026=2***May-28-2026=2***Jun-09-2026=1***Jun-10-2026=1***Jun-14-2026=3***Jun-17-2026=5***Jun-23-2026=1***Jul-01-2026=1***Jul-02-2026=1***Jul-06-2026=3***Jul-10-2026=1***Jul-15-2026=1***Jul-18-2026=1***Jul-23-2026=1***Jul-25-2026=1***Jul-27-2026=1***Jul-29-2026=1***Jul-31-2026=1***Aug-01-2026=1***Aug-09-2026=1***Aug-14-2026=1***Aug-17-2026=1***Aug-18-2026=1***Aug-21-2026=1***Aug-22-2026=2***Aug-28-2026=1***Sep-01-2026=2***Sep-02-2026=1***Sep-04-2026=1***Sep-05-2026=1***Sep-06-2026=2***Sep-07-2026=3***Sep-08-2026=1***Sep-09-2026=2***Sep-10-2026=3***Sep-11-2026=1***Sep-12-2026=2***Sep-13-2026=2***Sep-14-2026=1***Sep-15-2026=1***Sep-16-2026=1***Sep-17-2026=1***Sep-18-2026=3***Sep-19-2026=2***Sep-20-2026=2***Sep-21-2026=1***Sep-22-2026=1***Sep-23-2026=1***Sep-24-2026=2***Sep-25-2026=2***Sep-26-2026=606***Sep-27-2026=2' WHERE job_id= '1557649'  
0.0007   UPDATE employer_jobs SET monthly_hits = '***Jan-2026=292***Feb-2026=43***Mar-2026=20***Apr-2026=17***May-2026=13***Jun-2026=11***Jul-2026=13***Aug-2026=9***Sep-2026=647' WHERE job_id= '1557649'  
0.0012   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id = '' AND job_id = '1557649' AND status LIKE 'sent%' ORDER BY id DESC  
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1557649 
0.0012   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '887541'
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)