Experienced book keeper and payroll (XERO)

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

TYPE OF WORK

Part Time

SALARY

5

HOURS PER WEEK

20

DATE UPDATED

Jul 14, 2026

JOB OVERVIEW

Bookkeeper (Xero) – Project-Based Small Business

Job Description

We’re a small business with a high volume of project-based work, and we’re looking for an experienced Xero Bookkeeper to help keep our books accurate and provide clear insights into project profitability.

This is an ongoing, part-time role for someone who is detail-oriented, reliable, and comfortable working with project costs inside Xero.

Key Responsibilities

- Maintain accurate bookkeeping records in Xero

- Reconcile bank and credit card accounts regularly

- Categorize income and expenses correctly

- Accurately enter and track project-related costs

- Ensure expenses are allocated to the correct projects

- Prepare monthly financial reports (P&L, Balance Sheet)

- Generate project profitability reports and flag discrepancies

- Communicate clearly if anything looks off or needs clarification


Requirements

- Proven bookkeeping experience using Xero

- Strong understanding of project-based accounting

- Experience tracking and allocating project costs

- High attention to detail and accuracy

- Reliable, organized, and responsive

- Comfortable working with small businesses


Nice to Have

- Experience with service-based or project-based businesses

- Experience setting up or optimizing Xero tracking categories/projects

- Ability to explain financial reports in simple terms


Project Details

Type: Ongoing / Part-time

Estimated workload: 15-20 hours per week (flexible)

Start: ASAP



To Apply, Please Include:

Your experience with Xero

Your experience with project costing or project-based businesses

An example of how you’ve handled project profitability reporting

Your weekly availability

We’re looking for a long-term partner who can help keep our books clean and give us confidence in our project-level financials.

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.0926
Total Execution Time  0.0939
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,486,136 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Experienced-book-keeper-and-payroll-XERO-1688788
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0870 seconds)  (Hide)
0.0004   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0003   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1688788
 LIMIT 1 
0.0008   SELECT *
FROM `employers`
WHERE `employer_id` = 915306
 LIMIT 1 
0.0171   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1688788
AND `misc`.`idIS NULL 
0.0009   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-08-07',ej.date_added) duration_daysDATEDIFF('2026-08-07',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-08-07',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1688788' 
0.0147   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1688788 
0.0008   UPDATE employer_jobs SET hit_counts '***Jul-14-2026=1318***Jul-15-2026=282***Jul-16-2026=167***Jul-17-2026=86***Jul-18-2026=49***Jul-19-2026=56***Jul-20-2026=148***Jul-21-2026=43***Jul-22-2026=37***Jul-23-2026=40***Jul-24-2026=38***Jul-25-2026=31***Jul-26-2026=17***Jul-27-2026=33***Jul-28-2026=35***Jul-29-2026=22***Jul-30-2026=33***Jul-31-2026=24***Aug-01-2026=18***Aug-02-2026=46***Aug-03-2026=28***Aug-04-2026=16***Aug-07-2026=1' WHERE job_id'1688788'  
0.0007   UPDATE employer_jobs SET monthly_hits '***Jul-2026=2457***Aug-2026=109' WHERE job_id'1688788'  
0.0207   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1688788' AND status LIKE 'sent%' ORDER BY id DESC  
0.0004   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1688788 
0.0297   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '915306'
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)