Property Management Controller

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

TYPE OF WORK

Any

SALARY

Up to $17/hr US

HOURS PER WEEK

29

DATE UPDATED

Jun 8, 2026

JOB OVERVIEW

About Us
We are a growing property management company seeking a sharp, reliable Controller to own our financial operations. We use AppFolio for trust accounting and QuickBooks Online for corporate accounting. If you know property management finance and want a flexible, remote role where your work directly impacts a fast-moving business, we want to hear from you.

What You'll Own
Trust accounting in AppFolio — you know it, you own it
Corporate accounting in QuickBooks Online
Weekly and monthly financial reporting — generate, review, and present financials with meaningful insight
Daily, weekly, and monthly bank reconciliations
Tax preparation: 1099 filings, year end financials to go to tax accountant
NSF/ACH return bookkeeping
Invoice entry for non-maintenance items
Weekly vendor payments
Daily credit card reconciliations (QuickBooks handles the heavy lifting here — we just need oversight)
Responding to owner and vendor financial inquiries as needed

What You Must Have
Knowledge of accounting best practices in the property management space and ability to help us implement them
Hands-on proficiency with AppFolio (trust accounting) and QuickBooks Online (corporate accounting)
Ability to produce and interpret weekly and monthly financial statements
Experience with bank reconciliations and tax preparation including 1099s
Comfort working fully remote — you've done it, and it works for you

Nice to Have
Familiarity with the NARPM Chart of Accounts (for both trust and corporate) — or a genuine willingness to learn it

Compensation
Flexible engagement structure — we want this to work for both sides

How to Apply
Apply through ---------- , or send your resume and a brief note about your AppFolio and property management accounting experience to ---------- way, include the word Wolf in your message to me. Bonus points if you tell us how you approach month-end close.

We are an equal opportunity employer.

SKILL REQUIREMENT
VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0008
Controller Execution Time ( Jobseekers / Job )  0.0159
Total Execution Time  0.0173
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,486,640 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Property-Management-Controller-1664120
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0104 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0003   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1664120
 LIMIT 1 
0.0008   SELECT *
FROM `employers`
WHERE `employer_id` = 812306
 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` = 1664120
AND `misc`.`idIS NULL 
0.0005   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-07-10',ej.date_added) duration_daysDATEDIFF('2026-07-10',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-10',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1664120' 
0.0009   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1664120 
0.0009   UPDATE employer_jobs SET hit_counts '***Jun-08-2026=702***Jun-09-2026=175***Jun-10-2026=67***Jun-11-2026=34***Jun-12-2026=27***Jun-13-2026=9***Jun-14-2026=12***Jun-15-2026=11***Jun-16-2026=18***Jun-17-2026=10***Jun-18-2026=12***Jun-19-2026=6***Jun-20-2026=5***Jun-21-2026=4***Jun-22-2026=14***Jun-23-2026=13***Jun-24-2026=10***Jun-25-2026=7***Jun-26-2026=10***Jun-27-2026=5***Jun-28-2026=3***Jun-29-2026=5***Jun-30-2026=10***Jul-01-2026=5***Jul-02-2026=8***Jul-03-2026=4***Jul-04-2026=12***Jul-10-2026=1' WHERE job_id'1664120'  
0.0007   UPDATE employer_jobs SET monthly_hits '***Jun-2026=1169***Jul-2026=30' WHERE job_id'1664120'  
0.0019   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1664120' 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` = 1664120 
0.0020   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '812306'
AND `date_added` >= '2022-06-08' 
0.0004   select from teasers 
0.0002   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)