Financial Controller

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

TYPE OF WORK

Full Time

SALARY

3,000-3,500 USD/month

HOURS PER WEEK

40

DATE UPDATED

Sep 1, 2026

JOB OVERVIEW

Financial Controller (Remote, Philippines) | US Interior Design Firm
Full-time (40 hrs/week) · Independent contractor · US$3,166/month, paid semi-monthly in USD
We are bringing our accounting fully in-house by the end of 2026, and we are hiring the Controller who will own that build. This is not a maintain-the-books role. You will inherit a ledger that needs real remediation, an outsourced accounting firm to replace, and a mandate to build the accounting function from the ground up, reporting directly to the executive leading the transition.

About the Role
Twelve months from now, you will have rebuilt trust in our numbers and made the outsourced firm unnecessary. Accounting runs in-house on QuickBooks Online under controls you designed, the month-end close is yours and it is reliable, leadership works from a reporting package you produce, and the historical cleanup of unreconciled receivables, deposit balances, and revenue recognition is behind us. You will have hired or contracted the transaction-processing support you need and you will manage it.
What You'll Own
• The general ledger in QuickBooks Online and the full month-end close.
• Remediation of historical data: AR and customer-deposit reconciliation, payment matching against bank records, and revenue recognition cleanup.
• The plan and execution for transitioning bookkeeping and accounting from our outsourced firm to your in-house function by end of year.
• The monthly reporting package: P&L and balance sheet on both accrual and cash basis with a reconciling bridge, AR aging, 13-week cash forecast, and margin by revenue line.
• The structure of the accounting department: you recommend build vs. contract for transaction legwork, then manage whichever path we choose.
• Controls and process: documented procedures, work done in our systems only, no third-party-held credentials.
What We're Looking For
Required:
• CPA (Philippine CPA welcome) with 7+ years of progressive accounting experience, including controller or accounting-manager scope.
• Deep, hands-on QuickBooks Online experience.
• US GAAP knowledge and prior work for US companies; fluent in both accrual and cash-basis reporting.
• A messy-ledger cleanup you personally led (unreconciled AR, unmatched payments, or revenue recognition fixes) that you can walk us through in detail.
• Excellent written English and at least 4 hours of daily overlap with US business hours (Mountain/Eastern time).
Preferred:
• Project-based accounting: customer deposits, procurement markups, FF&E/inventory, WIP (interior design, construction, or architecture industries).
• Experience taking accounting in-house from an outsourced provider.
• Exposure to US multi-state sales/use tax.
• Experience hiring and managing accounting staff or subcontracted bookkeepers.
Compensation & Terms
• full-time, engaged as an independent contractor.
• Paid semi-monthly in USD via international transfer.
• Long-term role with a direct reporting line to the Chief Administrative Officer.
• Fully remote; you provide a reliable home-office setup and stable internet.
How to Apply
Send your resume with the subject line "CONTROLLER - [Your Name]" and include a short paragraph (5–8 sentences) describing a ledger remediation you personally led: what was broken, what you did, and the measurable outcome. Applications without this paragraph will not be reviewed.

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0011
Controller Execution Time ( Jobseekers / Job )  0.0127
Total Execution Time  0.0146
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,502,264 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Financial-Controller-1721006
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0058 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
= 'USD-PHP' 
0.0004   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1721006
 LIMIT 1 
0.0003   SELECT *
FROM `employers`
WHERE `employer_id` = 896006
 LIMIT 1 
0.0009   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `misc` ON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1721006
AND `misc`.`id` IS NULL 
0.0004   SELECT e.business_name, e.logo, e.website, e.rebill_date, e.date_added member_date, hits, DATEDIFF('2026-10-06',ej.date_added) duration_days, DATEDIFF('2026-10-06',e.rebill_date) duration_rebill, ej.*, e.deactivate FROM employers e, employer_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-10-06',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != 1 AND ej.deleted = 0 AND job_id = '1721006' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1721006 
0.0007   UPDATE employer_jobs SET hit_counts = '***Sep-01-2026=464***Sep-02-2026=91***Sep-03-2026=40***Sep-04-2026=18***Sep-05-2026=16***Sep-06-2026=22***Sep-07-2026=24***Sep-08-2026=24***Sep-09-2026=13***Sep-10-2026=14***Sep-11-2026=10***Sep-12-2026=1***Sep-13-2026=4***Sep-14-2026=14***Sep-15-2026=7***Sep-16-2026=9***Sep-17-2026=9***Sep-18-2026=9***Sep-19-2026=9***Sep-20-2026=7***Sep-21-2026=2***Sep-22-2026=11***Sep-23-2026=8***Sep-24-2026=11***Sep-25-2026=5***Sep-26-2026=3***Sep-27-2026=2***Sep-28-2026=5***Sep-29-2026=10***Sep-30-2026=4***Oct-01-2026=2***Oct-02-2026=2***Oct-03-2026=3***Oct-05-2026=1***Oct-06-2026=3' WHERE job_id= '1721006'  
0.0007   UPDATE employer_jobs SET monthly_hits = '***Sep-2026=866***Oct-2026=11' WHERE job_id= '1721006'  
0.0007   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id = '' AND job_id = '1721006' AND status LIKE 'sent%' ORDER BY id DESC  
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1721006 
0.0003   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '896006'
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)