Bookkeeper for Canadian E-Commerce Brand

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

TYPE OF WORK

Part Time

SALARY

$5-$10/hour

HOURS PER WEEK

TBD

DATE UPDATED

Apr 17, 2026

JOB OVERVIEW

ABOUT US
We're a Canadian DTC tea brand and sell through our Shopify store. We ship to the US and Canada from warehouses in both countries.

We're a startup and currently mid-six figures in annual revenue and growing. We transact in both USD and CAD, with most sales in USD.

We want to transition from an automated bookkeeping tool (Finaloop) to QuickBooks Online and looking for a detail-oriented bookkeeper to own our books going forward. We're looking for someone who wants to build a long-term relationship and grow with us - not a short-term gig.

THE SCOPE
Phase One: Catchup & Cleanup (First 1-2 Months)
You'll start by reconciling and cleaning up our books for the current year so far. This includes setting up a clean chart of accounts in QuickBooks Online, importing historical transactions, and getting everything reconciled and audit-ready.

Phase Two: Ongoing Monthly Management
Once the books are clean, this transitions into a long-term monthly role covering everything below.

RESPONSIBILITIES
Transaction Management
- Categorize and reconcile all bank and credit card transactions in QuickBooks Online
- Reconcile Shopify payouts against actual orders and refunds
- Reconcile multi-currency accounts (USD + CAD) - you must ensure the bank balance in QBO matches the statement exactly, including handling exchange rate differences
- Match and track Meta (Facebook/Instagram) ad spend invoices against bank withdrawals
- Process and track expenses - supplier invoices, 3PL fees, freight, customs charges, software subscriptions
- Ensure every transaction has proper supporting documentation

Canadian Tax Compliance
- Prepare and file quarterly GST/HST returns
- Match receipts and invoices to maximize input tax credits (ITCs)
- Track provincial sales tax obligations
- Track US sales tax exposure (we use Shopify's auto-tax, but you'll verify)

Monthly Reporting
- Prepare monthly Profit & Loss, Balance Sheet, and Cash Flow statements
- Flag anomalies, unusual charges, or budget variances
- Provide financial clarity to founders - not just numbers, but what they mean

Inventory & COGS
- Track landed costs (product cost + ocean freight + customs duties + warehousing)
- Maintain accurate COGS records aligned with inventory movements
- Reconcile inventory valuation quarterly

Expense Tracking
- Track recurring software costs
- Track supplier invoices, 3PL fees, freight, and customs charges
- Ensure all expenses are properly categorized and documented

Year-End
- Prepare working papers and schedules for our CPA/accountant
- Support annual corporate tax return preparation
- Prepare any required slips

REQUIRED TECH STACK (Do Not Apply Without This Experience)

- QuickBooks Online - Expert level. This is non-negotiable.
- Multi-Currency Banking - We operate in USD and CAD. You must have experience reconciling multi-currency accounts and handling exchange rates so the bank balance in QBO matches the statement to the penny.
- Shopify - Experience reconciling Shopify payouts to QBO.
- Google SheetS - Comfortable with ad-hoc reports and collaboration.

REQUIREMENTS
Must Have:
- 3+ years of bookkeeping experience using QuickBooks Online
- Experience with Canadian GST/HST filing and input tax credits
- Experience with e-commerce businesses (Shopify strongly preferred)
- Experience reconciling multi-currency accounts (USD + CAD)
- Strong attention to detail - we have zero tolerance for sloppy entries
- Fluent in English with strong written communication

Nice to Have:
- Experience with DTC or subscription-based businesses
- Experience with inventory accounting and landed cost tracking
- Previous experience transitioning a company from another system onto QuickBooks

HOURS & COMPENSATION
- Part-time to start - most likely 10-20 hours a month as we're still a small business, but expect it to grow as we scale
- Schedule: Flexible, but must have overlap with Pacific Time for communication
- Rate: $5–$10 USD/hour depending on experience
- Long-term: We want someone who grows with us. This is not a one-off project.

WHAT THIS ROLE IS
- A key financial support role for a growing e-commerce brand
- Someone who brings order, accuracy, and visibility to our finances

WHAT THIS ROLE IS NOT

- Not basic data entry
- Not a once-a-month check-in
- Not suitable for someone who needs constant direction

HOW TO APPLY
We ignore generic cover letters. To show us you've read this posting and have the attention to detail we need, please follow these steps:

**Step 1:** Start your message with the word TEA.

**Step 2:** In your message, answer the following questions:

**Question A:** We use multi-currency banking (USD and CAD). How do you handle the exchange rate difference in QBO when reconciling a multi-currency account to ensure the bank balance matches the statement?

**Question B:** We receive Shopify payouts approximately 3 times per week. Each payout bundles sales, refunds, fees, and adjustments. How would you reconcile these in QBO? Walk us through your approach.

**Question C:** What is your experience with Canadian GST/HST input tax credits? Give us a specific example of how you've maximized ITCs for a previous client.

**Step 3:** Include the following:
- A short intro about yourself and your bookkeeping experience
- Your experience with e-commerce / Shopify businesses specifically
- Your expected monthly rate in PHP
- Your available hours and timezone
- Your QuickBooks Online proficiency self-rating (1-10)

Applications that do not answer the screening questions will not be considered. We value accuracy, initiative, and clear communication.

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.0284
Total Execution Time  0.0313
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,513,984 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Bookkeeper-for-Canadian-E-Commerce-Brand-1625877
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0183 seconds)  (Hide)
0.0004   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0004   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1625877
 LIMIT 1 
0.0003   SELECT *
FROM `employers`
WHERE `employer_id` = 269676
 LIMIT 1 
0.0003   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1625877
AND `misc`.`idIS NULL 
0.0004   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-04-21',ej.date_added) duration_daysDATEDIFF('2026-04-21',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-04-21',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1625877' 
0.0004   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1625877 
0.0014   UPDATE employer_jobs SET hit_counts '***Apr-17-2026=1182***Apr-18-2026=221***Apr-21-2026=1' WHERE job_id'1625877'  
0.0006   UPDATE employer_jobs SET monthly_hits '***Apr-2026=1404' WHERE job_id'1625877'  
0.0004   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1625877' 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` = 1625877 
0.0111   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '269676'
AND `date_added` >= '2022-06-08' 
0.0004   select from teasers 
0.0018   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)