Financial Controller (Australia - NetSuite)

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

TYPE OF WORK

Full Time

SALARY

90,000-100,000

HOURS PER WEEK

40

DATE UPDATED

Oct 7, 2026

JOB OVERVIEW

ROLE SUMMARY

Own the day-to-day finance function across the company and progressively take financial management responsibilities away from the CEO. The role will focus on financial control, budgeting, forecasting, cash flow, management reporting, job profitability, Australian compliance, team leadership, and finance systems transformation.

KEY RESPONSIBILITIES

- Own month-end close, reconciliations, journals, accruals, intercompany accounts, and financial statements.
- Build and manage the annual budget, P&L forecast, and cash-flow forecast.
- Produce regular CEO management reporting, including actual vs budget/forecast and financial performance analysis.
- Develop job/CT, customer, and service-level P&L and margin reporting.
- Ensure revenue and related supplier, logistics, recycling, labour, and other costs are captured in the correct jobs and accounting periods.
- Analyze margins, pricing, costs, working capital, and cash-flow drivers and provide recommendations to the CEO.
- Take ownership of weekly cash management, payment runs, and financial obligations.
- Oversee customer invoicing and reduce dependency on key individuals through documented and controlled processes.
- Oversee GST, BAS, IAS, PAYG, superannuation, payroll accounting, and other Australian compliance requirements.
- Coordinate with external accountants and progressively bring appropriate accounting work in-house.
- Lead and review the work of accounting teams.
- Strengthen accounting controls, processes, documentation, and the Finance Manual.
- Improve sales order, purchase order, billing, job-costing, WIP, and financial reporting workflows.
- Support the CEO with financial analysis and commercial decision-making, with progression toward a broader CFO-level role.

REQUIREMENTS

- CPA – required.
- NetSuite experience - required.
- Strong Australian accounting and tax knowledge.
- Strong month-end close and financial reporting experience.
- Budgeting, forecasting, and cash-flow management experience.
- Job costing, WIP, margin, and profitability analysis experience.
- Experience managing and reviewing accounting teams.
- Experience improving finance processes and internal controls.

Systems

- NetSuite – GL, AP, AR, journals, reconciliations, financial reporting, inventory/WIP, sales orders, purchase orders, and transaction workflows.
- Microsoft Excel – advanced financial modelling, budgeting, forecasting, cash flow, and analysis.
- ADP – payroll reporting and reconciliation.
- Microsoft 365 – reporting, documentation, and collaboration.
- ChatGPT / Claude – research, analysis, documentation, and workflow support.

Employment Setup & Benefits

- Independent Contractor (no payroll deductions)
- 100% reimbursed government contributions (SSS, PhilHealth, and Pag-IBIG) — you pay your contributions directly, and you will be reimbursed the full amount, so there is no deduction from your salary
- 13th-month pay
- HMO coverage
- Paid leaves and paid holidays
- Fully remote setup

SKILL REQUIREMENT
VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0011
Controller Execution Time ( Jobseekers / Job )  0.0158
Total Execution Time  0.0177
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,501,096 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Financial-Controller-Australia-NetSuite-1745214
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0086 seconds)  (Hide)
0.0013   SELECT *
                                
FROM exrates
                                WHERE rate_name 
= 'USD-PHP' 
0.0009   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1745214
 LIMIT 1 
0.0004   SELECT *
FROM `employers`
WHERE `employer_id` = 1007889
 LIMIT 1 
0.0008   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `misc` ON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1745214
AND `misc`.`id` IS NULL 
0.0005   SELECT e.business_name, e.logo, e.website, e.rebill_date, e.date_added member_date, hits, DATEDIFF('2026-10-16',ej.date_added) duration_days, DATEDIFF('2026-10-16',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-16',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != 1 AND ej.deleted = 0 AND job_id = '1745214' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1745214 
0.0007   UPDATE employer_jobs SET hit_counts = '***Oct-07-2026=568***Oct-08-2026=48***Oct-09-2026=21***Oct-10-2026=14***Oct-15-2026=1***Oct-16-2026=2' WHERE job_id= '1745214'  
0.0006   UPDATE employer_jobs SET monthly_hits = '***Oct-2026=653' WHERE job_id= '1745214'  
0.0007   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id = '' AND job_id = '1745214' 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` = 1745214 
0.0003   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '1007889'
AND `date_added` >= '2022-06-08' 
0.0003   select * from teasers 
0.0014   SELECT * FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)