Bookkeeper | Xero + Stripe for an Australian Agency | Ongoing, On-Call

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

TYPE OF WORK

Part Time

SALARY

Depends on experience

HOURS PER WEEK

3

DATE UPDATED

Sep 10, 2026

JOB OVERVIEW

committed. is a small Australian creative agency producing paid social ad creative. We don't need a full-time finance person. We need someone who keeps Xero clean enough to trust, and who we can message when a question comes up.

The work:

- Keep Xero reconciled and tidy so the numbers are current when we need them.
- Untangle Stripe. Payouts land as combined lump sums with no invoice detail, and splitting those back out correctly is the fiddly part of this role.
- Be reachable. When a job comes in we'll ask things like "what did we actually make on the last one like this?" or "how much can we spend on editors for this and still make sense?" You give us a straight answer from the numbers.
- Once a month, a short summary we read in two minutes.

BAS and GST lodgement stay with our accountant. You will not be doing tax.

You need to have worked with Xero and with Australian businesses before. Roughly 50-150 transactions a month. Paid weekly via Wise, rate reviewed after three months.

To apply, open your reply with the word LEDGER. Then answer these:

1. Which Australian businesses have you kept the books for, and what industry?
2. A Stripe payout lands as one lump sum with no invoice breakdown. How do you reconcile that in Xero?
3. A client asks "what did we make on that job?" and the books aren't set up to answer it. What do you do?
4. How would you work out what a business can afford to spend on contractors for a job and still hit its margin?
5. For ~100 transactions a month plus occasional questions like the above - how many hours a week do you need?

Shortlisted applicants get a paid test task on a real month of our data.

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.0202
Total Execution Time  0.0233
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,487,024 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Bookkeeper-Xero-Stripe-for-an-Australian-Agency-Ongoing-On-Call-1727375
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0115 seconds)  (Hide)
0.0004   SELECT *
                                
FROM exrates
                                WHERE rate_name 
= 'USD-PHP' 
0.0008   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1727375
 LIMIT 1 
0.0005   SELECT *
FROM `employers`
WHERE `employer_id` = 909591
 LIMIT 1 
0.0018   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `misc` ON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1727375
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 = '1727375' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1727375 
0.0012   UPDATE employer_jobs SET hit_counts = '***Sep-10-2026=1205***Sep-11-2026=229***Sep-12-2026=81***Sep-13-2026=61***Sep-14-2026=89***Sep-15-2026=56***Sep-16-2026=58***Sep-17-2026=41***Sep-18-2026=26***Sep-19-2026=24***Sep-20-2026=35***Sep-21-2026=34***Sep-22-2026=24***Sep-23-2026=21***Sep-24-2026=34***Sep-25-2026=24***Sep-26-2026=20***Sep-27-2026=8***Sep-28-2026=18***Sep-29-2026=20***Sep-30-2026=16***Oct-01-2026=17***Oct-02-2026=13***Oct-03-2026=13***Oct-04-2026=5***Oct-05-2026=17***Oct-06-2026=10***Oct-07-2026=14***Oct-08-2026=17***Oct-09-2026=13***Oct-10-2026=2***Oct-15-2026=1***Oct-16-2026=1' WHERE job_id= '1727375'  
0.0007   UPDATE employer_jobs SET monthly_hits = '***Sep-2026=2124***Oct-2026=123' WHERE job_id= '1727375'  
0.0008   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id = '' AND job_id = '1727375' AND status LIKE 'sent%' ORDER BY id DESC  
0.0013   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1727375 
0.0024   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '909591'
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)