Full-Time QuickBooks Online Bookkeeper & Reporting Specialist (US Service Business – Long-Term)

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

TYPE OF WORK

Full Time

SALARY

1000-1200

HOURS PER WEEK

40

DATE UPDATED

Jul 18, 2026

JOB OVERVIEW

About Us
We’re a fast-growing junk removal & light demolition company in Tampa Bay, Florida. We run a tight ship and care a lot about our numbers. We use Jobber, QuickBooks Online, Google Sheets, and AI exports to track performance.

We’re now looking for a full-time Financial Operations & QBO Specialist to own bookkeeping prep, reconciliations, and reporting quality. You will work closely with the owner and our external bookkeeper.

This is not a basic VA role. This is for an experienced bookkeeper / accountant who has managed books for US service businesses before.

Role Overview
Compensation: Starting at $1,000/month USD full-time (40 hrs/week), with room to increase based on performance after 3 months.

You will be responsible for:

Keeping our financial data clean, accurate, and up to date in QuickBooks Online (working with our bookkeeper).
Reconciling Jobber ? QBO ? bank data and AI exports.
Preparing simple, reliable weekly and monthly reports so the owner can make decisions fast.
Helping with payroll prep and other finance-related admin tasks.
This is a full-time role (40 hours/week), long-term. We prefer candidates who want to grow with the company and take on more responsibility over time.

Important: You will prepare and reconcile all numbers, but the owner/bookkeeper will approve all payments, transfers, and final filings.

Responsibilities
Daily / Weekly

Review Jobber / AI exports (jobs, revenue, services) in Google Sheets and flag errors or missing data.
Reconcile job data to QBO where needed (categories, items, customers).
Maintain and update a simple Weekly Performance Sheet:
Jobs completed
Revenue by product line
COGS (from QBO)
Ad spend by channel (we provide the numbers)
Net after ads and basic margin checks
Flag anything that looks off (margin drops, weird spikes, negative items, etc.) and send a short summary.
Monthly

Ensure Jobber invoices / payments are correctly mapped to QBO products & income accounts for our bookkeeper.
Prepare the payroll summary (hours, OT, tips, commissions) in our template (weekly).
Help keep QBO reconciled and ready for financial review.
Provide a short bullet summary of what changed vs last month (good / bad / ugly).
Over time (for the right person), this role can expand into owning bookkeeping end-to-end with our oversight.

Requirements
3+ years bookkeeping experience for US-based businesses.
Strong QuickBooks Online skills (certification preferred).
Experience with at least one field-service or job management tool:
Jobber, Housecall Pro, ServiceTitan, or similar (Jobber is a big plus).
Comfortable reading, cleaning, and reconciling exports in Google Sheets.
Able to spot inconsistencies and explain them clearly in English.
Stable internet and ability to work a consistent schedule with at least 3–4 hours overlap with US Eastern time (Mon–Fri).
Detail-obsessed and comfortable saying “this doesn’t reconcile, here’s why.”
How to Apply (Simple First Step)

Email
/ message with subject line:
FINANCIAL OPS – [Your Name] – [Years with US clients]

Include:

Confirm you are available for 40 hours per week on a consistent schedule and state your expected monthly salary in USD.
Link to your OnlineJobs.ph profile.
Your CV / resume (PDF or link).
Short written answers (2–4 sentences each):
a) Describe your experience with QuickBooks Online and any certifications.
b) Have you worked with Jobber or similar tools? Explain.
c) In simple steps, explain how you would reconcile Jobber ? QBO ? bank for one month.
Shortlisted candidates will be invited to a second step (test task + short Loom video walking through a P&L and your QBO process).

We are looking for someone who wants a long-term home, will protect our numbers, and will help us make better decisions as we grow.

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0011
Controller Execution Time ( Jobseekers / Job )  0.0302
Total Execution Time  0.0321
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,518,048 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Full-Time-QuickBooks-Online-Bookkeeper-Reporting-Specialist-US-Service-Business-Long-Term-1691829
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0233 seconds)  (Hide)
0.0004   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0004   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1691829
 LIMIT 1 
0.0015   SELECT *
FROM `employers`
WHERE `employer_id` = 653581
 LIMIT 1 
0.0011   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1691829
AND `misc`.`idIS NULL 
0.0004   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-07-22',ej.date_added) duration_daysDATEDIFF('2026-07-22',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-22',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1691829' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1691829 
0.0010   UPDATE employer_jobs SET hit_counts '***Jul-18-2026=344***Jul-19-2026=56***Jul-22-2026=1' WHERE job_id'1691829'  
0.0006   UPDATE employer_jobs SET monthly_hits '***Jul-2026=401' WHERE job_id'1691829'  
0.0007   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1691829' 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` = 1691829 
0.0160   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '653581'
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)