Bookkeeper and Finance Admin (Xero, Australian law firm)

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

TYPE OF WORK

Part Time

SALARY

$150 per calendar month

HOURS PER WEEK

5

DATE UPDATED

Oct 12, 2026

JOB OVERVIEW

We are a small law practice in Sydney, Australia looking for a careful, detail-focused bookkeeper to join us part-time on an ongoing basis.

This role suits someone who enjoys getting messy records into clean order and then keeping them that way.

The work has two phases.
- First, a historical clean-up: reviewing card and bank transactions in Xero going back to July 2023, identifying miscoded or unreconciled entries, fixing what can be fixed, and preparing a clear exceptions list for our external accountants.
- Second, ongoing weekly bookkeeping preparation so that the owner can complete reconciliation in one short session each week.

Hours: 1 hour per day, Monday to Friday, ongoing, with at least part of each daily hour overlapping Sydney business hours (Sydney afternoon is Manila morning). Hours may increase for the right person.

Ongoing duties include:
1. preparing weekly reconciliation of business credit cards (American Express and Westpac Mastercard) and the business bank account in Xero,
2. matching receipts in Hubdoc and a dedicated email,
3. logging expenses in spreadsheets where a receipt is missing,
4. allocating each transaction to the correct entity and category (some cards carry both business and personal spend, so judgement and documented rules matter),
5. monitoring subscriptions and recurring payments and flagging changes, duplicates or anything unidentified,
6. preparing a monthly expense summary for review,
7. maintaining payment plans and renewal dates, and
8. writing and updating Standard Operating Procedures (SOPs) for every recurring task.

You will NOT handle the law firm trust account, and you will not have authority to make payments. Your job is to prepare, check and flag. The owner approves and reconciles.

What we need from you:
1. at least 2 years of hands-on Xero experience (Australian clients strongly preferred),
2. working knowledge of Australian GST and BAS,
3. confident with Excel or Google Sheets,
4. experience with Hubdoc or a similar receipt tool, and MS365 Outlook,
5. above all accuracy.

We value someone who checks a figure against the source document before relying on it, and who says "I am not sure" rather than guessing. Clear written English is essential, as most communication is written.

Reliable internet and a private workspace are required, as you will see confidential financial information.
How to apply: start your application with the words "Finance Friday" so we know you read this to the end.

Then answer these three questions briefly.
1. Which versions of Xero have you used, for how many years, and for Australian or other clients?
2. A credit card statement shows one lump-sum payment that cleared several months of charges. How would you handle that when reconciling?
3. Describe a time you found an error in someone else's books. How did you find it and what did you do?
Applications without the opening words or the answers will not be considered. Shortlisted applicants will complete a short paid test task.

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0008
Controller Execution Time ( Jobseekers / Job )  0.0121
Total Execution Time  0.0135
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,501,000 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Bookkeeper-and-Finance-Admin-Xero-Australian-law-firm-1747862
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0066 seconds)  (Hide)
0.0004   SELECT *
                                
FROM exrates
                                WHERE rate_name 
= 'USD-PHP' 
0.0008   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1747862
 LIMIT 1 
0.0003   SELECT *
FROM `employers`
WHERE `employer_id` = 1008615
 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` = 1747862
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-24',ej.date_added) duration_days, DATEDIFF('2026-10-24',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-24',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != 1 AND ej.deleted = 0 AND job_id = '1747862' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1747862 
0.0007   UPDATE employer_jobs SET hit_counts = '***Oct-12-2026=1496***Oct-13-2026=230***Oct-14-2026=103***Oct-15-2026=96***Oct-16-2026=74***Oct-17-2026=37***Oct-18-2026=1***Oct-19-2026=3***Oct-24-2026=1' WHERE job_id= '1747862'  
0.0009   UPDATE employer_jobs SET monthly_hits = '***Oct-2026=2041' WHERE job_id= '1747862'  
0.0009   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id = '' AND job_id = '1747862' 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` = 1747862 
0.0003   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '1008615'
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)