Virtual Assistant – Construction Bookkeeping & Project Management Support

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

TYPE OF WORK

Part Time

WAGE / SALARY

$400-$600 per month

HOURS PER WEEK

20

DATE UPDATED

Jun 7, 2026

JOB OVERVIEW

About the Role:
Uplevel Construction is a growing general contracting and custom remodeling company based in the Atlanta, Georgia area. We are looking for a highly organized, versatile Virtual Assistant with construction industry experience to help manage our back-office operations. This is a part-time remote position with real growth potential as the company scales.
Responsibilities:

QuickBooks Online bookkeeping — data entry, bank reconciliation, categorization, monthly close
Client invoicing and follow-up on outstanding payments
Job costing — tracking costs per project, organizing expenses by job
Job-by-job financial analysis and reporting — tracking actual vs. estimated costs, identifying variances, and summarizing project profitability
JobTread or Buildertrend project management support — updating job records, milestones, and financial data
Proposal and document organization
Vendor and subcontractor management support — tracking certificates, documents, and payments
General back-office organization and administrative support

Email
follow-ups and correspondence as needed

Requirements:

Experience in construction bookkeeping or construction project management — this is a must
Proficient in QuickBooks Online
Experience with JobTread or Buildertrend strongly preferred
Strong English communication skills — written and spoken
Reliable internet connection and ability to work independently
Available for minimum 2 hours of daily overlap with US Eastern Time

Details:

Part-time, approximately 20 hours per week
Independent contractor position
Communication via WhatsApp or Slack
Async work is fine for non-urgent tasks, but daily overlap is expected

To Apply:
Please include a summary of your construction bookkeeping experience, any JobTread or Buildertrend experience, and your English proficiency level. Applicants without construction experience will not be considered.

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0008
Controller Execution Time ( Jobseekers / Job )  0.0552
Total Execution Time  0.0567
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,496,472 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Virtual-Assistant-Construction-Bookkeeping-Project-Management-Support-1663418
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0492 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0004   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1663418
 LIMIT 1 
0.0003   SELECT *
FROM `employers`
WHERE `employer_id` = 942514
 LIMIT 1 
0.0439   SELECT COUNT(DISTINCT t.id) as cnt
FROM 
`t_thread` `t`
INNER JOIN `t_message` `mON `t`.`id` = `m`.`thread_id`
INNER JOIN `t_message_employer` `eON `m`.`id` = `e`.`message_id`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1663418
AND `misc`.`idIS NULL 
0.0005   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-06-22',ej.date_added) duration_daysDATEDIFF('2026-06-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-06-22',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1663418' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1663418 
0.0007   UPDATE employer_jobs SET hit_counts '***Jun-07-2026=750***Jun-08-2026=421***Jun-09-2026=114***Jun-10-2026=97***Jun-11-2026=42***Jun-12-2026=24***Jun-13-2026=18***Jun-14-2026=26***Jun-15-2026=37***Jun-16-2026=35***Jun-17-2026=16***Jun-18-2026=10***Jun-19-2026=15***Jun-20-2026=15***Jun-21-2026=1***Jun-22-2026=1' WHERE job_id'1663418'  
0.0005   UPDATE employer_jobs SET monthly_hits '***Jun-2026=1621' WHERE job_id'1663418'  
0.0009   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1663418' 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` = 1663418 
0.0005   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '942514'
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)