FULL-CYCLE ACCOUNTANT — ONE COMPANY (FULL-TIME & LONG-TERM)

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

TYPE OF WORK

Full Time

SALARY

$1000 - $2000 depending on experience

HOURS PER WEEK

TBD

DATE UPDATED

Jul 23, 2026

JOB OVERVIEW

FULL-CYCLE ACCOUNTANT — ONE COMPANY (FULL-TIME & LONG-TERM)

This is the entire set of books for one company, owned by one person. Not one slice of a process. Not one client out of six. The whole book, and you are the only one on it.

Most accounting jobs hand you a piece of someone else's work and someone else's judgment. This one hands you the whole thing.

This is a full-time role for someone who wants ONE company to commit to, not another client on a roster. If you are looking to add to a roster, this is not the role. If you want one secure, long-term seat where you become the person the numbers run through, keep reading.

ABOUT US

We are a Canadian company that supplies and builds out retail stores across Canada and the United States. We have grown quickly, and the books have grown with us. We are hiring one reliable, detail-oriented accountant to own the day-to-day finances for the long term.

HOW WE WORK

Two things matter here more than they did anywhere you have worked before.

First — we would rather you ask than guess. If something is unclear, you stop and you ask. Nobody here has ever been in trouble for asking a question and nobody ever will be. What does cause problems is a number that was assumed instead of verified.

Second — accuracy over speed. We do not need the fastest close. We need one that is right, that ties out, and that still holds up when a customer disputes it six months later.

If you are the kind of accountant who checks their own work before anyone asks for it, this seat was built for you. If you prefer to move fast and sort out the details later, it is not.

WHAT YOU WILL OWN

You own AP and AR end to end. Nobody checks your work line by line, because you are the person who checks it.

• Own roughly 3,000 bank and credit card transactions a year, in CAD and USD
• Match incoming customer payments to the correct invoices in QuickBooks Online
• Create bills for supplier invoices and match outgoing payments to the correct bills
• Enter and code supplier bills, with proper supporting documentation
• Record customer deposits and progress payments against the correct project
• Maintain accounts receivable and accounts payable, including balances, due dates, and aging
• Track net-terms accounts, including invoice dates, shipment dates, and due dates
• Follow up on invoices approaching or past due
• Prepare supplier bills for payment approval
• Handle multi-currency correctly (CAD and USD)
• Reconcile payments against bank and payment records
• Track AP, AR, and account payment applications in Google Sheets
• Handle daily email with customers on invoices and payment collection


The work is detailed and a lot of it is transactional. We will not pretend otherwise. What makes it different is that it is yours — you are not one of forty people each doing one step. You are the person whose number is the number.

WHO WE ARE LOOKING FOR

• A degree in accounting (BS Accountancy or equivalent). We want a real accounting foundation, not only short-course bookkeeping training
• 5 or more years of real full-cycle bookkeeping and accounting experience
• Strong, hands-on QuickBooks Online experience, or strong experience in a comparable system such as Xero or ERPs and the ability to pick up QuickBooks quickly if no prior experience is present
• Comfortable with multi-currency (CAD/USD, or any two currencies)
• Solid experience with accounts payable, accounts receivable, and reconciliations
• A stable work history. Someone who stays in roles long-term, not someone who changes jobs or clients constantly
• Excellent written and spoken English. You will be emailing our customers directly
• Most of all — reliable, careful, and trustworthy with sensitive financial work

WHAT YOU GET

• A raise every year you stay in this role. Your rate is reviewed at 12 months and it goes up. You will never have to leave to get paid more for the same work
• Generous increases when the role grows. As you take on more responsibility and bring more value to the company, the pay moves with it. We would far rather pay you more than replace you
• Real room to grow. This role expands over time into cash flow work, reporting, and our move onto a full ERP system. The person in this seat grows with the finance function rather than out of it
• Full-time and permanent. We are hiring one person for years, not for a project
• Schedule: at least half your day overlaps Eastern Time, roughly 8 AM to 1 PM ET. The rest of your hours are flexible
• Paid twice a month, tracked with time-tracking software

HOW TO APPLY

To apply, please fill out our short application form. ----------

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.0206
Total Execution Time  0.0219
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,513,224 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/FULL-CYCLE-ACCOUNTANT-ONE-COMPANY-FULL-TIME-LONG-TERM-1694745
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0152 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0003   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1694745
 LIMIT 1 
0.0012   SELECT *
FROM `employers`
WHERE `employer_id` = 696826
 LIMIT 1 
0.0017   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1694745
AND `misc`.`idIS NULL 
0.0005   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-08-11',ej.date_added) duration_daysDATEDIFF('2026-08-11',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-11',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1694745' 
0.0009   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1694745 
0.0018   UPDATE employer_jobs SET hit_counts '***Jul-23-2026=683***Jul-24-2026=124***Jul-25-2026=56***Jul-26-2026=43***Jul-27-2026=66***Jul-28-2026=24***Jul-29-2026=24***Jul-30-2026=11***Jul-31-2026=9***Aug-01-2026=6***Aug-02-2026=5***Aug-03-2026=10***Aug-04-2026=12***Aug-05-2026=10***Aug-06-2026=6***Aug-07-2026=5***Aug-08-2026=1***Aug-11-2026=1' WHERE job_id'1694745'  
0.0006   UPDATE employer_jobs SET monthly_hits '***Jul-2026=1040***Aug-2026=56' WHERE job_id'1694745'  
0.0011   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1694745' 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` = 1694745 
0.0059   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '696826'
AND `date_added` >= '2022-06-08' 
0.0003   select from teasers 
0.0003   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)