Controller (Remote | U.S.-Based CPA Firm | Long-Term Role)

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

TYPE OF WORK

Full Time

SALARY

1500 / month

HOURS PER WEEK

30

DATE UPDATED

Jan 2, 2026

JOB OVERVIEW

About the Role

We are a growing U.S.-based CPA firm seeking an experienced Controller to own the quality, accuracy, and delivery of client financials. This is a true Controller role, not a bookkeeping or task-based position.

You will be responsible for reviewing and approving all bookkeeper work, managing client accounting communications, and ensuring financials meet firm standards before being delivered to clients.

This role is designed around accountability and outcomes, not time tracking. We do not micromanage hours—we expect professionalism, ownership, and consistency.

Key Responsibilities
- Review and approve all bookkeeper work in QuickBooks Online
- Ensure monthly bookkeeping is complete, accurate, and compliant with firm standards
- Serve as the primary accounting point of contact for clients (non-CFO services)
- Review financial statements and approve them prior to client delivery
- Communicate directly with clients regarding accounting questions, adjustments, and explanations
- Receive client accounting requests, determine appropriate handling, and:
- Complete Controller-level tasks personally, or
- Assign work to bookkeepers and track completion
- Ensure all client requests are:
- Completed on time
- Completed correctly
- Communicated clearly to the client
- Train, correct, and guide bookkeepers within QBO as needed
- Escalate staffing concerns (promotion or termination) when appropriate

You will not be responsible for CFO reports, but your work will directly support CFO-level analysis.

Required Availability (Very Important)
Because our clients are U.S.-based, this role requires consistent availability for client meetings during U.S. Central Time (CST):
- Monday–Friday
- 8:00 AM – 12:00 PM CST
- Outside of meetings, review and follow-up work may be completed flexibly

This role requires 5 working days per week.

Compensation & Structure
- $1,500 USD per month
- Paid weekly
- Approximately 6 - 7 hours per day, 5 days per week
- No time tracking
- Performance and compensation review after 30 days

This is a monthly, outcome-based role, not hourly.

Benefits & Perks
- Philippine holidays off
- 5 paid days off per year (increases to 10 days after 1 year)
- Stable, long-term role with a growing firm
- Clear internal growth path (Senior Controller roles will be filled internally)
- Support from a dedicated Zoho One automation expert to streamline workflows
- Direct access to firm leadership and decision-making

Required Experience
- Strong Controller-level experience (review, approval, judgment)
- Hands-on experience in QuickBooks Online
- Ability to review, correct, and train bookkeepers in QBO
- Experience communicating directly with clients
- Strong understanding of month-end close and financial reporting
- High attention to detail and accountability

Important – Please Read Carefully
- This role is for individual professionals only
- Agencies, firms, and outsourced teams should not apply
- No subcontracting, delegation, or shared accounts
- This is not a side job or portfolio role
- You must be able to commit to one primary role
- Any indication of agency work or delegated labor will result in disqualification

Screening Process
Shortlisted candidates will complete:
- A short screening questionnaire
- A Controller-level technical assessment
- A discussion of their answers

These steps are required to ensure standards and long-term fit.

How to Apply
When applying, please answer the screening questions included in this posting.
Applications without completed responses will not be reviewed.

Who This Role Is For
? Controllers who value quality and ownership
? Professionals comfortable rejecting incorrect work
? Candidates seeking a long-term leadership role
? Individuals who prefer accountability over time tracking

Who This Role Is NOT For
? Agencies or teams
? Candidates holding multiple full-time roles
? Task-only bookkeepers
? Hour-focused applicants

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0011
Controller Execution Time ( Jobseekers / Job )  0.0157
Total Execution Time  0.0186
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,495,656 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Controller-Remote-US-Based-CPA-Firm-Long-Term-Role-1545003
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0073 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0003   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1545003
 LIMIT 1 
0.0003   SELECT *
FROM `employers`
WHERE `employer_id` = 879780
 LIMIT 1 
0.0008   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1545003
AND `misc`.`idIS NULL 
0.0004   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-04-21',ej.date_added) duration_daysDATEDIFF('2026-04-21',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-21',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1545003' 
0.0002   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1545003 
0.0017   UPDATE employer_jobs SET hit_counts '***Jan-02-2026=44***Jan-03-2026=125***Jan-04-2026=36***Jan-05-2026=25***Jan-06-2026=11***Jan-07-2026=16***Jan-08-2026=9***Jan-09-2026=7***Jan-10-2026=1***Jan-11-2026=3***Jan-12-2026=4***Jan-13-2026=1***Jan-14-2026=2***Jan-15-2026=1***Jan-16-2026=2***Jan-17-2026=3***Jan-18-2026=2***Jan-19-2026=1***Jan-20-2026=4***Jan-21-2026=1***Jan-22-2026=2***Jan-24-2026=1***Jan-26-2026=4***Jan-27-2026=3***Jan-29-2026=5***Jan-30-2026=2***Feb-02-2026=1***Feb-06-2026=1***Feb-08-2026=1***Feb-09-2026=3***Feb-10-2026=1***Feb-12-2026=1***Feb-14-2026=2***Feb-15-2026=1***Feb-19-2026=1***Feb-20-2026=1***Feb-22-2026=1***Feb-25-2026=3***Feb-26-2026=2***Feb-27-2026=1***Mar-01-2026=1***Mar-02-2026=1***Mar-03-2026=1***Mar-04-2026=1***Mar-08-2026=1***Mar-10-2026=1***Mar-11-2026=1***Mar-12-2026=1***Mar-13-2026=2***Mar-17-2026=1***Mar-20-2026=1***Mar-23-2026=1***Mar-30-2026=3***Apr-21-2026=2' WHERE job_id'1545003'  
0.0007   UPDATE employer_jobs SET monthly_hits '***Jan-2026=315***Feb-2026=20***Mar-2026=16***Apr-2026=2' WHERE job_id'1545003'  
0.0008   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1545003' 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` = 1545003 
0.0009   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '879780'
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)