Virtual Bookkeeper / REI Hub Assistant (Real Estate Portfolio)

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

TYPE OF WORK

Part Time

SALARY

$5-$10 per hour

HOURS PER WEEK

2

DATE UPDATED

Jun 30, 2026

JOB OVERVIEW

Virtual Bookkeeper / REI Hub Assistant (Rental Real Estate Portfolio)

Position: Part-Time Virtual Bookkeeper / REI Hub Assistant

Location: Remote

Hours: Approximately 5–10 hours per month initially (expected to grow as the portfolio expands)

Pay: $5–10/hour based on experience

About Us

We own and manage a growing residential rental portfolio in the Pittsburgh, Pennsylvania area. We currently own 16 rental units with a goal of expanding to 30+ units over the next several years.

Our properties are professionally managed through AppFolio, and we are transitioning our accounting from QuickBooks Desktop to REI Hub. We are looking for a detail-oriented virtual bookkeeper to become a long-ter ---------- mber of our team.

Accuracy is more important to us than speed. We prefer careful manual bookkeeping, complete reconciliations, and organized financial records over heavy automation.

Responsibilities
Initial Project (First 30–60 Days)
Assist with migrating our rental accounting from QuickBooks Desktop to REI Hub.
Set up all rental properties in REI Hub.
Create and organize the chart of accounts.
Enter beginning balances.
Verify loan balances and mortgage information.
Reconcile beginning balances against QuickBooks Desktop.
Help establish a standardized bookkeeping workflow.
Ongoing Monthly Responsibilities
Download monthly owner statements from AppFolio.
Manually enter and categorize all income and expenses in REI Hub.
Assign every transaction to the correct rental property.
Reconcile all bank accounts and credit card accounts.
Reconcile AppFolio owner statements.
Track mortgage payments, escrow activity, and loan balances.
Upload and organize receipts, invoices, and supporting documentation.
Identify uncategorized, duplicate, or unusual transactions.
Maintain accurate books for all rental properties.
Prepare monthly financial reports including:
Portfolio Profit & Loss
Property-by-Property Profit & Loss
Balance Sheet
Cash Flow Summary
Prepare organized year-end reports for our CPA.
Recommend bookkeeping process improvements when appropriate.
Required Skills
3+ years of bookkeeping experience.
Strong understanding of accounting fundamentals.
Excellent bank and credit card reconciliation skills.
Exceptional attention to detail.
Strong written English.
Comfortable working independently.
Experience using Excel and Google Sheets.
Willingness to learn REI Hub (or previous REI Hub experience).
Highly Preferred
Rental property bookkeeping experience.
Experience with REI Hub.
Experience with AppFolio, Buildium, Rent Manager, or similar property management software.
Experience tracking mortgages, escrow, security deposits, and rental property expenses.
Experience working with real estate investors.
Ability to develop efficient bookkeeping procedures and documentation.
Initial Test Project

Qualified applicants will complete a paid bookkeeping test.

You will be provided with:

Bank statements
Credit card statements
AppFolio owner statements

Your task will be to:

Enter transactions into REI Hub (or demonstrate your bookkeeping process if you have not yet used REI Hub)
Categorize expenses correctly
Reconcile accounts
Identify any discrepancies or unusual transactions
Produce a sample monthly Profit & Loss report
How to Apply

Please answer ALL of the following:

How many years of bookkeeping experience do you have?
Have you worked with rental property investors?
Have you used REI Hub? If not, how quickly can you learn new accounting software?
Have you worked with AppFolio, Buildium, Rent Manager, or similar property management software?
Describe your monthly bookkeeping process from start to finish.
What bookkeeping tasks do you personally complete?
What is your hourly rate?
Describe a bookkeeping mistake you discovered and how you corrected it.
What accounting software have you used regularly?
Please provide an example of a bookkeeping or financial report you have prepared (if available).
IMPORTANT

To confirm that you have read this entire posting, begin your application with the phrase:

"Pittsburgh Rentals"

Applications that do not begin with this phrase will not be considered.

SKILL REQUIREMENT
VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0010
Controller Execution Time ( Jobseekers / Job )  0.0208
Total Execution Time  0.0235
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,503,368 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/virtual-bookkeeper-quickbooks-assistant-real-estate-portfolio-1664741
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 15 (0.0117 seconds)  (Hide)
0.0005   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0011   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1664741
 LIMIT 1 
0.0006   SELECT *
FROM `employers`
WHERE `employer_id` = 943124
 LIMIT 1 
0.0013   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1664741
AND `misc`.`idIS NULL 
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` = 1664741
AND `misc`.`idIS NULL 
0.0006   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-09-05',ej.date_added) duration_daysDATEDIFF('2026-09-05',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-09-05',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1664741' 
0.0010   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1664741 
0.0010   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1664741
AND `misc`.`idIS NULL 
0.0009   UPDATE employer_jobs SET hit_counts '***Jun-09-2026=1524***Jun-10-2026=407***Jun-11-2026=120***Jun-12-2026=87***Jun-13-2026=59***Jun-14-2026=40***Jun-15-2026=46***Jun-16-2026=38***Jun-17-2026=37***Jun-18-2026=35***Jun-19-2026=23***Jun-20-2026=19***Jun-21-2026=17***Jun-22-2026=41***Jun-23-2026=27***Jun-24-2026=22***Jun-25-2026=41***Jun-26-2026=20***Jun-27-2026=15***Jun-28-2026=9***Jun-29-2026=36***Jun-30-2026=1028***Jul-01-2026=17***Jul-02-2026=12***Jul-03-2026=5***Jul-04-2026=3***Jul-05-2026=5***Jul-06-2026=6***Jul-07-2026=5***Jul-08-2026=11***Jul-10-2026=2***Jul-12-2026=4***Jul-13-2026=1***Jul-14-2026=1***Jul-15-2026=5***Jul-16-2026=2***Jul-17-2026=2***Jul-19-2026=2***Jul-21-2026=5***Jul-23-2026=3***Jul-24-2026=2***Jul-25-2026=10***Jul-27-2026=3***Jul-28-2026=3***Jul-29-2026=2***Jul-30-2026=2***Jul-31-2026=5***Aug-01-2026=4***Aug-05-2026=5***Aug-07-2026=2***Aug-09-2026=1***Aug-12-2026=2***Aug-13-2026=2***Aug-14-2026=2***Aug-15-2026=1***Aug-16-2026=1***Aug-20-2026=1***Aug-21-2026=1***Aug-22-2026=2***Aug-25-2026=2***Aug-26-2026=1***Sep-05-2026=1' WHERE job_id'1664741'  
0.0010   UPDATE employer_jobs SET monthly_hits '***Jun-2026=3689***Jul-2026=118***Aug-2026=27***Sep-2026=1' WHERE job_id'1664741'  
0.0009   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1664741' AND status LIKE 'sent%' ORDER BY id DESC  
0.0005   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1664741 
0.0007   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '943124'
AND `date_added` >= '2022-06-08' 
0.0004   select from teasers 
0.0003   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)