Senior Bookkeeper — Full-Cycle AP & Month-End Close (Remote)

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

TYPE OF WORK

Full Time

SALARY

N/A

HOURS PER WEEK

40

DATE UPDATED

Jul 28, 2026

JOB OVERVIEW

We're hiring top bookkeeping talent — and we need you to start right away.

Are you someone who genuinely loves working with clients, keeping things organized, and making people feel like their business is in great hands? Do you also happen to be a really strong bookkeeper who can own a month-end close start to finish? This might be the role for you.

We're a growing virtual bookkeeping firm looking for a skilled Bookkeeper to join our remote team. This isn't your typical heads-down role — our clients hear from us, trust us, and rely on us to keep their financials accurate and their questions answered. You'll be the person they count on.

What You'll Be Doing
Managing day-to-day bookkeeping for a portfolio of clients in QuickBooks Online — data entry, reconciliations, and financial reporting
Owning full-cycle accounts payable, including monthly vendor reconciliations
Independently working a month-end close from start to finish
Keeping clean books — including correctly handling undeposited funds and other common trouble spots
Being a go-to point of contact for your clients: answering questions, explaining financials in plain language, and proactively flagging anything they should know
Troubleshooting issues independently and researching solutions before escalating — you figure things out
Collaborating with a supportive remote team that takes its work seriously

What We're Looking For (Non-Negotiables)
Prior experience working on Canadian or US companies — this is required, no exceptions
Strong QuickBooks Online experience managing multiple clients
Full-cycle AP experience, including monthly vendor reconciliation
A solid understanding of undeposited funds and how to manage them correctly
Ability to independently run a month-end close without hand-holding
Strong communicator — clear, professional written and spoken English; you follow through and make clients feel taken care of
High attention to detail and a genuine commitment to accuracy
Self-starter energy: you manage your own time and prioritize based on deadlines

Bonus Points
Experience using Double (please note in your application if you have it)
Experience with Canadian or US sales tax and/or payroll

About the Role
100% remote, full-time (40 hours/week)
Ready to start immediately
Start time: 9:00 AM Pacific Time — please note this before applying
Compensation based on experience

About Us
We're a virtual bookkeeping firm that prides itself on doing great work and treating clients like people, not ticket numbers. Our team is skilled, collaborative, and growing — and we want people who want to grow with us.

To Apply
A Loom video is required — applications without one will not be considered. In a short Loom (2–3 minutes), introduce yourself, tell us why this role appeals to you, and walk us through your bookkeeping experience.

Please also answer the following:

Do you have experience doing the books for Canadian or US companies? (Yes / No — required)
How many years have you managed multiple clients simultaneously in QuickBooks Online?
Are you comfortable independently running a full month-end close? (Yes / No)
Do you have full-cycle AP experience, including monthly vendor reconciliation? (Describe what this means to you)
Do you have experience with Double? (Yes / No)
Do you have experience with Canadian or US sales tax filing? (Yes / No)
Do you have experience with Canadian or US payroll? (Yes / No)
Are you comfortable researching and troubleshooting issues independently? (Yes / No)
Are you available to start right away, full-time? (Yes / No)

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0007
Controller Execution Time ( Jobseekers / Job )  0.0469
Total Execution Time  0.0482
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,520,440 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Senior-Bookkeeper-Full-Cycle-AP-Month-End-Close-Remote-1679295
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0405 seconds)  (Hide)
0.0004   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0004   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1679295
 LIMIT 1 
0.0018   SELECT *
FROM `employers`
WHERE `employer_id` = 428079
 LIMIT 1 
0.0039   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1679295
AND `misc`.`idIS NULL 
0.0004   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-08-12',ej.date_added) duration_daysDATEDIFF('2026-08-12',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-12',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1679295' 
0.0007   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1679295 
0.0009   UPDATE employer_jobs SET hit_counts '***Jun-30-2026=621***Jul-01-2026=122***Jul-02-2026=55***Jul-03-2026=29***Jul-04-2026=15***Jul-05-2026=16***Jul-06-2026=23***Jul-07-2026=18***Jul-08-2026=7***Jul-09-2026=15***Jul-10-2026=3***Jul-11-2026=8***Jul-12-2026=2***Jul-13-2026=9***Jul-14-2026=11***Jul-15-2026=6***Jul-16-2026=6***Jul-17-2026=5***Jul-18-2026=3***Jul-19-2026=1***Jul-20-2026=9***Jul-21-2026=5***Jul-22-2026=4***Jul-23-2026=25***Jul-24-2026=17***Jul-25-2026=8***Jul-26-2026=14***Jul-27-2026=20***Jul-28-2026=423***Jul-29-2026=334***Jul-30-2026=117***Jul-31-2026=68***Aug-01-2026=43***Aug-02-2026=34***Aug-03-2026=46***Aug-04-2026=35***Aug-05-2026=35***Aug-06-2026=24***Aug-07-2026=30***Aug-08-2026=32***Aug-12-2026=2' WHERE job_id'1679295'  
0.0005   UPDATE employer_jobs SET monthly_hits '***Jun-2026=621***Jul-2026=1397***Aug-2026=281' WHERE job_id'1679295'  
0.0008   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1679295' 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` = 1679295 
0.0297   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '428079'
AND `date_added` >= '2022-06-08' 
0.0004   select from teasers 
0.0004   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)