Senior US Tax Preparer / Delivery Associate (Drake, CPA preferred) for US/Canadian CPA Firm | $2,200-$3,000/mo + 13th Month | Full Time, Long-Term

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

TYPE OF WORK

Full Time

SALARY

$2,200-$3,000/month USD (DOE)

HOURS PER WEEK

40

DATE UPDATED

Sep 5, 2026

JOB OVERVIEW

We're a fast-growing cross-border CPA firm (US + Canadian clients) hiring the person who does the client work day to day, so the founder, a dual-licensed US/Canadian CPA, can step back to reviewing it. Not a data-entry seat and not a pure admin seat. You take each client file from the first document to the filed return, and you handle the client conversation along the way.

Why this posting is worth your attention:

1. Top-of-market pay, stated up front: $2,200-$3,000 USD per month depending on experience, plus 13th month, a health (HMO) allowance after your first 3 months, and paid leave. Twice monthly via Wise, always on time. Raises are written into the plan at 6 and 12 months. We're paying for the best preparer on this board, not an average one, and the number reflects that.

2. The system is already built. Runbooks, checklists, and AI-prepared drafts and workpapers exist for almost everything, and you get full access to the same AI tools the founder uses. Your job is to work inside that system at high volume and high accuracy: check that what came out matches the client's facts, finish it, and move it. You're not being hired to design the process. You're being hired to run files through it, well, every day.

3. You're the first hire on delivery, and the firm is growing fast. Do this seat well and the people hired after you will learn it from you. We'd rather promote from inside than hire over you.

WHAT YOU'LL OWN
- Each client file end to end: organize the source documents, build or check the workpapers, prepare or finish the return in Drake, get it review-ready, get it filed
- The client thread in TaxDome: document requests, follow-ups, questions, status updates, in plain, clear English
- Reviewing what the system produces before it reaches the founder: returns, workpapers, notice responses, client messages. You know what a wrong number looks like and you catch it
- Filing mechanics: e-file packages, acceptances and rejections, mail and fax logistics, IRS and CRA notices
- Keeping every file's status current so the founder can see at a glance what's waiting on whom
- Keeping the checklists honest: when a checklist and a real file disagree, you flag it instead of working around it

YOU'RE A FIT IF YOU HAVE
- 3+ full seasons preparing US individual returns inside a tax or accounting firm (4 or more is better), hundreds of returns a season, and you've used Drake Tax (other software is fine if you learn fast, but Drake puts you at the top of the list)
- CPA (Philippines) or IRS Enrolled Agent strongly preferred. Not required if your US tax volume is real, but all things equal the credential wins
- Excellent written English; you'll write to clients every day, and the founder should not need to edit it
- You follow a checklist exactly, and you notice when the checklist and the file don't agree
- Output: you finish files. You don't polish one forever while five others wait
- Careful, verify-don't-assume working style; you'd rather ask one real question than guess, and you ask it early
- Genuine curiosity about AI tools; you'll use them all day
- Nice to have: QBO or Xero bookkeeping, any Canadian tax exposure, TaxDome or a similar practice-management tool

SCHEDULE: US Eastern business hours (roughly 9am to 5pm ET). This seat is who clients and the founder reach during the day, so it runs on the US clock. Night shift by Philippine time, and the pay reflects it.

ONE EMPLOYER: This is a full-time job with us, not a client engagement. We're not looking for a freelancer who runs several clients at once. A small side job in your off-hours is fine if you tell us about it; a second full-time client is not.

HOW TO APPLY (read carefully; applications that skip a step aren't reviewed):
1. Put "CLOUD + your full name" in the first line of your application.
2. Attach your resume, and make sure your OnlineJobs profile shows your IQ and English test results (take them if you haven't; they matter for this seat).
3. Answer in writing: (a) returns you've prepared per season and the software used, (b) the messiest client file you took from start to finish and how you kept it moving, (c) a time you caught an error in a return before it was filed, and how, (d) your current work commitments, if any, and confirmation you're available for this seat full time, (e) your expected monthly salary, (f) your internet speed (screenshot).
4. Record a 3-minute Loom: who you are, a return you prepared that had a problem in it, how you found the problem, and what you did about it.

Shortlisted candidates get a paid test task ($40 for ~3 hours), then a video interview with the founder.

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0009
Controller Execution Time ( Jobseekers / Job )  0.0126
Total Execution Time  0.0140
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,503,144 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Senior-US-Tax-Preparer-Delivery-Associate-Drake-CPA-preferred-for-USCanadian-CPA-Firm-2200-3000mo-13th-Month-Full-Time-Long-Term-1724335
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0067 seconds)  (Hide)
0.0005   SELECT *
                                
FROM exrates
                                WHERE rate_name 
= 'USD-PHP' 
0.0003   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1724335
 LIMIT 1 
0.0003   SELECT *
FROM `employers`
WHERE `employer_id` = 972306
 LIMIT 1 
0.0008   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `misc` ON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1724335
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-09-26',ej.date_added) duration_days, DATEDIFF('2026-09-26',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-09-26',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != 1 AND ej.deleted = 0 AND job_id = '1724335' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1724335 
0.0009   UPDATE employer_jobs SET hit_counts = '***Sep-05-2026=766***Sep-06-2026=79***Sep-07-2026=52***Sep-08-2026=34***Sep-09-2026=24***Sep-10-2026=25***Sep-11-2026=12***Sep-12-2026=11***Sep-13-2026=10***Sep-14-2026=7***Sep-15-2026=15***Sep-16-2026=9***Sep-17-2026=13***Sep-18-2026=8***Sep-19-2026=5***Sep-20-2026=11***Sep-21-2026=3***Sep-22-2026=6***Sep-23-2026=2***Sep-24-2026=5***Sep-25-2026=32***Sep-26-2026=15' WHERE job_id= '1724335'  
0.0007   UPDATE employer_jobs SET monthly_hits = '***Sep-2026=1143' WHERE job_id= '1724335'  
0.0008   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id = '' AND job_id = '1724335' 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` = 1724335 
0.0008   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '972306'
AND `date_added` >= '2022-06-08' 
0.0004   select * from teasers 
0.0002   SELECT * FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)