Financial Advisor / FP&A Analyst – Construction Reports to: Chief Financial Officer (CFO)

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

TYPE OF WORK

Any

SALARY

10-14+

HOURS PER WEEK

20

DATE UPDATED

Aug 25, 2026

JOB OVERVIEW

Financial Advisor / FP&A Analyst – Construction
Reports to: Chief Financial Officer (CFO)

Location: (remote)

Employment type: Part-time, starting 20 hours/week, with room to increase

Pay: USD $10–$14 per hour, paid weekly

Required hours: Must work Pacific Time (PST/PDT) 10:00 AM – 3:00 PM

About the role
working closely with the CFO and the fiance team, to help advise
CPA-strong Financial Advisor / FP&A Analyst working directly with the CFO on forecasts, project economics, and management reporting for a construction / project-based business.
This is advisory and analysis work, not junior bookkeeping.
knowledge of Buildertrend software a plus

Schedule

Core window (required): 10:00 AM – 3:00 PM Pacific Time, Monday–Friday
(Philippines: typically 1:00 AM – 6:00 AM PHT,
Start: 20 hours per week inside / around that Pacific window
More hours possible by agreement
You must be live and reachable on Slack/email/calls during the 10 AM–3 PM PT block


Hours and pay

Start at 20 hours/week
Rate: USD $10–$14 per hour
Weekly pay for approved hours that week


What you will do

Build rolling forecasts, budgets, and scenario models
Track project P&L, job cost, WIP, progress billing, retentions, and margins
Prepare the monthly CFO pack: actual vs budget vs forecast, cash, backlog, risks
Advise on bids, change orders, claims, and project cash timing
Watch working capital: AR, retentions, AP, funding gaps
Explain variances with root causes
Support go/no-go on new work
Tighten reporting, close support, revenue recognition, and audit-ready files
Flag overruns, delayed billing, tax issues, and cash shortfalls early


Must have

CPA (Philippines or equivalent). Strong CPA background required—not CPA-eligible only
Degree in Accountancy, Finance, or related field
3+ years FP&A, controlling, project finance, or construction accounting after CPA
Construction / project experience: job costing, WIP, progress billing, variations
Advanced Excel; clean packs for a CFO
Excellent English on email and live calls
Able to work Pacific Time 10:00 AM – 3:00 PM
Authorized to work in the Philippines; reliable internet and professional remote setup

Nice to have

CMA or CFA in addition to CPA
ComputerEase, Sage, Acumatica, Procore, CMiC, Foundation, or similar
Power BI
Multi-entity, US GAAP, or infra/PPP exposure


How we measure you

Forecasts the CFO will use
Project margins visible in time to act
Monthly pack on a fixed calendar, plus a one-page CFO summary
Available and responsive in the PT core window
Fewer close surprises; clearer cash and WIP

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0008
Controller Execution Time ( Jobseekers / Job )  0.0153
Total Execution Time  0.0166
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,506,264 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Financial-Advisor-FPA-Analyst-Construction-Reports-to-Chief-Financial-Officer-CFO-1716746
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0098 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0004   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1716746
 LIMIT 1 
0.0010   SELECT *
FROM `employers`
WHERE `employer_id` = 708831
 LIMIT 1 
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` = 1716746
AND `misc`.`idIS NULL 
0.0005   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-09-04',ej.date_added) duration_daysDATEDIFF('2026-09-04',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-04',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1716746' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1716746 
0.0008   UPDATE employer_jobs SET hit_counts '***Aug-25-2026=200***Aug-26-2026=162***Aug-27-2026=69***Aug-28-2026=52***Aug-29-2026=24***Aug-30-2026=1***Aug-31-2026=2***Sep-04-2026=1' WHERE job_id'1716746'  
0.0011   UPDATE employer_jobs SET monthly_hits '***Aug-2026=510***Sep-2026=1' WHERE job_id'1716746'  
0.0009   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1716746' 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` = 1716746 
0.0026   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '708831'
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)