Part-Time Finance Controller for US SaaS Company (5-10 hrs/week, long-term)

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

TYPE OF WORK

Part Time

SALARY

$8-$12 / hr

HOURS PER WEEK

10

DATE UPDATED

Aug 13, 2026

JOB OVERVIEW

We're MarginWiz, a fast-growing US software company serving food and beverage brands. We're looking for a controller-level finance professional to own our books, compliance, and financial reporting, and to help us stay investor-ready as we raise venture capital.

This is NOT a bookkeeping role. We need someone who can close the books AND tell us what the numbers mean. You'll report directly to the founders, flag problems before we ask, and own outcomes.

What you'll own:

Full-cycle accounting in QuickBooks Online: reconciliations, month-end close, clean books
Invoicing, AR follow-up, and escalating overdue accounts
New vendor setup, W-9 collection, 1099 tracking
Payroll tax compliance: keeping federal and state filings and payments current
Tax prep support for our US CPA
Weekly cash snapshot and a monthly founder report: actuals vs. budget, risks, AR aging, cash position
Investor-grade financial reporting: helping us build and maintain a due diligence-ready financial package (clean historicals, revenue schedules, cap table support docs, data room organization) for VC fundraising

You're a fit if you have:

CPA or equivalent (strongly preferred)
5+ years accounting experience, at least 2 with US clients
Deep QuickBooks Online experience
US payroll tax and 1099 compliance experience
Experience preparing financials for audits, fundraising, or due diligence is a big plus
Strong written English. You'll write directly to our clients and vendors
A proactive mindset. If cash gets tight in 6 weeks, we hear it from you first

Details:

5 to 10 hours/week. Hours flex with the accounting calendar; close and reporting weeks run heavier
Flexible schedule with some overlap to US Pacific mornings
$8 to $12/hour depending on experience
Long-term role with room to grow as we scale and raise capital

To apply: Start your application with the word BALANCE. Then briefly tell us about a time you caught a financial problem before your client or boss did, and what you did about it.

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0008
Controller Execution Time ( Jobseekers / Job )  0.0687
Total Execution Time  0.0701
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,487,768 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Part-Time-Finance-Controller-for-US-SaaS-Company-5-10-hrsweek-long-term-1708697
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0533 seconds)  (Hide)
0.0041   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0010   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1708697
 LIMIT 1 
0.0019   SELECT *
FROM `employers`
WHERE `employer_id` = 913850
 LIMIT 1 
0.0060   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1708697
AND `misc`.`idIS NULL 
0.0034   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-08-24',ej.date_added) duration_daysDATEDIFF('2026-08-24',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-24',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1708697' 
0.0008   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1708697 
0.0236   UPDATE employer_jobs SET hit_counts '***Aug-13-2026=308***Aug-14-2026=226***Aug-15-2026=47***Aug-16-2026=30***Aug-17-2026=50***Aug-18-2026=58***Aug-19-2026=20***Aug-20-2026=9***Aug-21-2026=14***Aug-22-2026=7***Aug-24-2026=1' WHERE job_id'1708697'  
0.0041   UPDATE employer_jobs SET monthly_hits '***Aug-2026=769' WHERE job_id'1708697'  
0.0042   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1708697' AND status LIKE 'sent%' ORDER BY id DESC  
0.0007   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1708697 
0.0019   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '913850'
AND `date_added` >= '2022-06-08' 
0.0006   select from teasers 
0.0010   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)