Bookkeeper Part-Time – 15–20 Hours/Week)

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

TYPE OF WORK

Part Time

SALARY

$7.00 per hour

HOURS PER WEEK

15

DATE UPDATED

Mar 3, 2026

JOB OVERVIEW

About Us
We are a fast-growing U.S.-based group of companies headquartered in Ohio, including:
• A multi-location residential & commercial cleaning company
• A separate janitorial services franchise company
• A real estate brokerage
• Property holding and management entities
We are looking for a detail-oriented, proactive, analytical Bookkeeper who wants long-term stability and growth with our organization.

What You’ll Be Responsible For:

Core Bookkeeping
• Daily transaction categorization in QuickBooks Online
• Bank & credit card reconciliations
• Stripe & merchant account reconciliation
• Payroll journal entries
• Accounts Payable & Accounts Receivable tracking
• Vendor management (W-9 collection, 1099 tracking)

Financial Reporting
• Monthly P&L by Class (multiple locations & divisions)
• Balance Sheet reconciliation
• Cash flow reporting
• Budget vs. actual reporting
• Labor % tracking by location
• KPI dashboards (revenue per tech, margin by office, etc.)

Multi-Entity Structure
• Maintain books for multiple related entities
• Intercompany transactions
• Clean chart of accounts structure
• Assist CPA during tax prep

Process & Automation
• Improve workflows inside QBO
• Help integrate systems
• Create SOPs for bookkeeping & purchasing processes
• Identify inefficiencies and recommend improvements

? Requirements
• 3+ years experience in bookkeeping
• Advanced experience in QuickBooks Online
• Experience with multi-entity bookkeeping (preferred)
• Strong understanding of:
• Accrual vs Cash accounting
• Job costing
• Payroll entries
• Financial reporting
• High attention to detail
• Strong English communication skills
• Must be organized, proactive, and analytical
• Stable internet connection
• Available during U.S. EST working hours overlap

Required Skills
• 3+ years bookkeeping experience
• Advanced QuickBooks Online
• Strong proficiency in Google Sheets (this is required)
• Must understand formulas
• Must be able to build clean reporting templates
• Must be comfortable working with structured financial data
• Understanding of:
• Accrual vs Cash accounting
• Job costing
• Payroll entries
• Strong attention to detail
• Organized and proactive
• Reliable internet connection
• Availability with U.S. EST overlap

Preferred Experience
• Service-based business bookkeeping
• Cleaning company bookkeeping
• Multi-entity structures
• Stripe reconciliation
• Real estate bookkeeping
• KPI dashboard creation

To Apply

Please include:
1. Your expected hourly rate
2. Your availability (hours + EST overlap)
3. A short Loom video (2–3 minutes) explaining:
• Your QuickBooks experience
• Your Google Sheets experience
• The most complex reconciliation you’ve handled

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0007
Controller Execution Time ( Jobseekers / Job )  0.0098
Total Execution Time  0.0111
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,503,008 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Bookkeeper-Part-Time-1520-HoursWeek-1592490
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0049 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0003   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1592490
 LIMIT 1 
0.0003   SELECT *
FROM `employers`
WHERE `employer_id` = 817073
 LIMIT 1 
0.0004   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1592490
AND `misc`.`idIS NULL 
0.0004   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-04-17',ej.date_added) duration_daysDATEDIFF('2026-04-17',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-17',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1592490' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1592490 
0.0008   UPDATE employer_jobs SET hit_counts '***Mar-03-2026=480***Mar-04-2026=614***Mar-05-2026=168***Mar-06-2026=120***Mar-07-2026=48***Mar-08-2026=69***Mar-09-2026=44***Mar-10-2026=56***Mar-11-2026=50***Mar-12-2026=66***Mar-13-2026=28***Mar-14-2026=23***Mar-15-2026=20***Mar-16-2026=39***Mar-17-2026=29***Mar-18-2026=28***Mar-19-2026=33***Mar-20-2026=33***Mar-21-2026=25***Mar-22-2026=18***Mar-23-2026=27***Mar-24-2026=34***Mar-25-2026=27***Mar-26-2026=22***Mar-27-2026=29***Mar-28-2026=16***Mar-29-2026=21***Mar-30-2026=19***Mar-31-2026=20***Apr-01-2026=26***Apr-02-2026=22***Apr-03-2026=43***Apr-04-2026=12***Apr-05-2026=15***Apr-06-2026=25***Apr-07-2026=16***Apr-08-2026=5***Apr-09-2026=30***Apr-10-2026=13***Apr-11-2026=13***Apr-17-2026=2' WHERE job_id'1592490'  
0.0006   UPDATE employer_jobs SET monthly_hits '***Mar-2026=2206***Apr-2026=222' WHERE job_id'1592490'  
0.0003   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1592490' AND status LIKE 'sent%' ORDER BY id DESC  
0.0002   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1592490 
0.0004   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '817073'
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)