Finance Operations Accountant (AU Trades | Xero + Ascora)

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

TYPE OF WORK

Full Time

SALARY

60,000 - 80,000

HOURS PER WEEK

40

DATE UPDATED

Dec 15, 2025

JOB OVERVIEW

About the Role

We operate one of Australia’s fastest-growing plumbing and electrical groups, spanning three operating entities. This role sits at the heart of the business—owning end-to-end invoicing accuracy, daily reconciliations, disciplined AR/AP, and payroll/expense support.
You are not “processing” work. You are owning the financial hygiene that protects cash flow, margins, and compliance.

Why You’ll Love This Role
Stable, long-term position with defined SOPs and clear accountability
Work inside modern, integrated systems (Ascora, Xero, Microsoft 365)
Direct impact on cash flow velocity, margin protection, and reporting accuracy
Trusted role with autonomy, not micromanagement

What You Own
Invoicing & Revenue Accuracy (Ascora ? Xero)
Prepare, review, and validate invoices across three entities
Ensure labour rounding (15-minute increments), correct mark-ups vs margins, call-outs, travel, and materials
Attach supporting documentation (photos, notes, job detail) and maintain clean line-item structure
Apply consistent AU-compliant language: +GST wording, standards notes (AS/NZS where required), and approved templates
Accounts Receivable (Cash In)
Daily cash allocation and debtor reconciliation in Xero
Issue statements, follow up overdue invoices, negotiate payment plans, and escalate per policy
Track and report DSO and ageing (7 / 14 / 30 / 60+ days) with clear risk flags
Accounts Payable (Cash Out)
Process supplier invoices with PO and delivery docket matching
Detect duplicates, code accurately by entity and cost centre
Perform monthly supplier statement reconciliations and maintain clean AP ageing
Banking & Reconciliations
Daily multi-entity bank-feed reconciliations
Support month-end close: lock dates, journals, accruals, prepayments
Coordinate payments and approvals through Australian banking portals
Expenses & Payroll Support
Review and lodge staff expenses (receipts, approvals, correct tax coding)
Prepare payroll in Xero for AU management approval
Validate timesheets from Ascora, allowances, overtime rules
Assist with STP submission reviews
Finance Ops & Reporting
Produce weekly cash collection reports and AR/WIP snapshots
Flag margin leakage, variances, and risks on high-value jobs
Maintain chart-of-accounts mapping and tracking categories across entities
Continuously tighten SOPs, templates, and internal controls

Systems You’ll Use
Ascora (or SimPRO / ServiceM8), Xero, Australian banking portals, Microsoft 365 (Excel, Outlook, Teams), OneDrive, Asana, ChatGPT.

You Are
A qualified accountant (CPA PH or equivalent) with hands-on Australian business exposure
Detail-driven and systems-oriented—you care deeply about clean ledgers and reconciliations
Commercially sharp: you understand markup vs margin, revenue recognition, and cash discipline
Clear and professional communicator (concise written English; confident on calls when required)
Trusted with sensitive financial data; security and discretion are non-negotiable

Minimum Requirements
3–5+ years accounting experience supporting Australian businesses
Strong ownership of invoicing, AR/AP, bank reconciliations, and payroll support
Advanced Excel / Sheets skills (XLOOKUP or INDEX-MATCH, pivots; basic Power Query a plus)
Reliable workstation (i5 / Ryzen 5 or better; 16GB RAM preferred; dual monitors)
Stable wired internet ?50 Mbps with backup power/connectivity plan

Nice to Have
Experience in trades or field services (Ascora, SimPRO, ServiceM8)
Familiarity with supplier workflows (Reece, Galvin’s, or similar)
Exposure to month-end packs, KPIs, and management dashboards

How to Apply (Follow Exactly — First Filter)

Apply via OnlineJobs.ph and include the following:
1) Experience Snapshot
In 5–7 bullet points, summarise your Australian Xero experience, specifically covering invoicing, AR/AP, and reconciliations.
2) Micro-Tasks (Complete All)
A. Bank Reconciliation Logic
You receive a bank deposit of 1,650.00. Apply it to:
INV-1100: 1,100.00
INV-1150: 550.00

Credit note of 100.00 against INV-1100
Show the allocations and final reconciled balance.

B. Overdue Email (AU Tone)
Write a 3–4 sentence email to a property manager for an invoice 14 days overdue, requesting payment today and offering two payment options.
C. Ascora ? Xero Invoice QA
A technician logs 08:07–10:22 (15-minute increments).
Billable hours?


Labour rate: $185 + GST / hour


Materials: $62 + GST
Calculate: ex-GST total, GST, and inc-GST total.
State your rounding rule.


3) Attachments
CV (PDF)
Internet speed test link
Optional: 30–45 second voice note explaining how you handle a polite but firm collections call

Applications that miss any step will not be reviewed.

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.0162
Total Execution Time  0.0175
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,518,456 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Finance-Operations-Accountant-AU-Trades-Xero-Ascora-1534676
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 15 (0.0106 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0009   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1534676
 LIMIT 1 
0.0004   SELECT *
FROM `employers`
WHERE `employer_id` = 831209
 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` = 1534676
AND `misc`.`idIS NULL 
0.0003   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1534676
AND `misc`.`idIS NULL 
0.0004   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-04-17',ej.date_added) duration_daysDATEDIFF('2026-04-17',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-17',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1534676' 
0.0011   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1534676 
0.0003   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1534676
AND `misc`.`idIS NULL 
0.0009   UPDATE employer_jobs SET hit_counts '***Dec-15-2025=224***Dec-16-2025=43***Dec-17-2025=30***Dec-18-2025=14***Dec-19-2025=11***Dec-20-2025=7***Dec-21-2025=4***Dec-22-2025=8***Dec-23-2025=13***Dec-24-2025=5***Dec-25-2025=9***Dec-26-2025=5***Dec-27-2025=5***Dec-28-2025=5***Dec-29-2025=10***Dec-30-2025=5***Dec-31-2025=3***Jan-01-2026=1***Jan-02-2026=9***Jan-03-2026=7***Jan-04-2026=8***Jan-05-2026=9***Jan-06-2026=7***Jan-07-2026=5***Jan-08-2026=4***Jan-09-2026=4***Jan-10-2026=1***Jan-12-2026=4***Jan-13-2026=2***Jan-14-2026=1***Jan-15-2026=5***Jan-16-2026=4***Jan-17-2026=1***Jan-18-2026=2***Jan-19-2026=5***Jan-20-2026=1***Jan-21-2026=4***Jan-22-2026=4***Jan-23-2026=2***Jan-24-2026=2***Jan-25-2026=1***Jan-26-2026=3***Jan-27-2026=4***Jan-28-2026=6***Jan-29-2026=2***Jan-30-2026=1***Jan-31-2026=1***Feb-01-2026=1***Feb-02-2026=4***Feb-03-2026=2***Feb-06-2026=2***Feb-07-2026=3***Feb-08-2026=2***Feb-09-2026=1***Feb-10-2026=2***Feb-11-2026=1***Feb-12-2026=2***Feb-15-2026=3***Feb-16-2026=2***Feb-18-2026=1***Feb-19-2026=2***Feb-20-2026=3***Feb-22-2026=2***Feb-23-2026=2***Feb-24-2026=2***Feb-25-2026=1***Feb-26-2026=1***Mar-01-2026=1***Mar-02-2026=3***Mar-03-2026=1***Mar-04-2026=1***Mar-05-2026=3***Mar-06-2026=1***Mar-07-2026=1***Mar-08-2026=1***Mar-10-2026=1***Mar-13-2026=1***Mar-19-2026=1***Mar-21-2026=1***Mar-23-2026=2***Mar-24-2026=1***Mar-26-2026=2***Mar-27-2026=4***Mar-30-2026=2***Mar-31-2026=3***Apr-01-2026=1***Apr-02-2026=3***Apr-03-2026=2***Apr-04-2026=2***Apr-05-2026=2***Apr-06-2026=1***Apr-07-2026=3***Apr-08-2026=2***Apr-09-2026=1***Apr-10-2026=4***Apr-11-2026=2***Apr-17-2026=1' WHERE job_id'1534676'  
0.0007   UPDATE employer_jobs SET monthly_hits '***Dec-2025=401***Jan-2026=110***Feb-2026=39***Mar-2026=30***Apr-2026=24' WHERE job_id'1534676'  
0.0009   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1534676' 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` = 1534676 
0.0026   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '831209'
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)