Finance Analyst

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

TYPE OF WORK

Part Time

SALARY

$8-10 per hour USD

HOURS PER WEEK

10

DATE UPDATED

Sep 2, 2026

JOB OVERVIEW

About us

We are a growing managed IT services provider based in the US, operating in Oregon and Idaho, with a recent acquisition and an active acquisition pipeline. We run a modern, automation forward finance stack and we use AI tools heavily. You will work directly with the CEO inside an AI assisted workflow.

The role

You will own the day to day financial analysis, cleanup, and reporting that keeps our financial picture accurate and current. You will not work alone. Our AI tools do much of the heavy model building. Your job is to drive them, check the output, and make sure the numbers are right.

What you will do

Maintain our cash flow planning system (Google Sheets connected to QuickBooks Online and ---------- through ---------- )
Keep QuickBooks Online and ---------- clean and reconciled across two entities
Produce accounts payable aging by vendor and aging bucket, flagging disputed versus confirmed balances
Build and maintain a consolidated schedule of company obligations, including amounts, frequencies, and dates
Maintain a calendar of scheduled outbound payments so we know our cash position each morning
Build and refresh financial models, projections, and scenario analyses
Prepare financial packages for lenders, insurers, and partners: projections, summaries, and supporting schedules
Track key metrics weekly, including recurring revenue, margin, and cash position
Clean up the chart of accounts and vendor records so reporting stays consistent
Use AI tools, including Claude, to build and stress test models, then verify the results

Scope of the role

This is an analysis and reporting role. It includes no contact with our vendors, customers, or lenders, and no authority to approve, schedule, or release payments.

What you need

Solid QuickBooks Online experience
You have personally built a 13 week cash flow model, not just a monthly budget
Strong Excel and Google Sheets skills, including linked schedules and financial modeling
FP&A fundamentals: projections, budgets, variance analysis, and cash flow
Sound accounting knowledge and familiarity with US accounting basics
Accuracy and care. This work goes to outside parties, so errors are costly
Clear written and spoken English
At least 3 hours of daily overlap with US Pacific business hours
Comfort with AI tools and a willingness to learn our AI driven workflow. This matters. We want someone curious about using AI to work faster, not resistant to it

Nice to have

Experience with IT services, MSP, or other recurring revenue businesses
Multi entity reporting experience
---------- experience
---------- or other automation experience

Hours and terms

10 to 20 hours per week to start, reviewed as the role develops
Expect the first 60 days to run at the higher end while we work through cleanup
Remote, independent contractor, reporting directly to the CEO
Compensation is competitive and based on experience
Long term role for the right person

How to apply

We read every application. To show us you read this one, send your email to ---------- and include all four:

Start your email with the word LEDGER
Describe the last cash flow model or financial dashboard you built, and what tool you used
Tell us the largest number of vendor accounts you have reconciled in a single month
Tell us about a time you used an AI tool to do finance or analysis work faster

Applications missing any of these four will not be reviewed.

Shortlisted candidates will complete a short paid test task before we hire.

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0011
Controller Execution Time ( Jobseekers / Job )  0.0147
Total Execution Time  0.0184
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,519,200 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Finance-Analyst-1691341
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0075 seconds)  (Hide)
0.0004   SELECT *
                                
FROM exrates
                                WHERE rate_name 
= 'USD-PHP' 
0.0004   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1691341
 LIMIT 1 
0.0008   SELECT *
FROM `employers`
WHERE `employer_id` = 331385
 LIMIT 1 
0.0011   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `misc` ON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1691341
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-10-06',ej.date_added) duration_days, DATEDIFF('2026-10-06',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-10-06',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != 1 AND ej.deleted = 0 AND job_id = '1691341' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1691341 
0.0009   UPDATE employer_jobs SET hit_counts = '***Jul-17-2026=242***Jul-18-2026=249***Jul-19-2026=159***Jul-20-2026=143***Jul-21-2026=61***Jul-22-2026=22***Jul-23-2026=17***Jul-24-2026=9***Jul-25-2026=15***Jul-26-2026=13***Jul-27-2026=19***Jul-28-2026=25***Jul-29-2026=11***Jul-30-2026=13***Jul-31-2026=10***Aug-01-2026=5***Aug-02-2026=5***Aug-03-2026=18***Aug-04-2026=13***Aug-05-2026=12***Aug-06-2026=13***Aug-07-2026=4***Aug-08-2026=2***Aug-09-2026=2***Aug-10-2026=5***Aug-11-2026=6***Aug-12-2026=4***Aug-13-2026=7***Aug-14-2026=2***Aug-15-2026=4***Aug-16-2026=4***Aug-17-2026=10***Aug-18-2026=9***Aug-19-2026=3***Aug-20-2026=7***Aug-21-2026=6***Aug-22-2026=5***Aug-23-2026=2***Aug-24-2026=10***Aug-25-2026=8***Aug-26-2026=5***Aug-27-2026=4***Aug-28-2026=4***Aug-29-2026=8***Aug-30-2026=3***Aug-31-2026=11***Sep-01-2026=7***Sep-02-2026=1237***Sep-03-2026=227***Sep-04-2026=44***Sep-05-2026=31***Sep-06-2026=29***Sep-07-2026=30***Sep-08-2026=41***Sep-09-2026=23***Sep-10-2026=13***Sep-11-2026=14***Sep-12-2026=11***Sep-13-2026=6***Sep-14-2026=11***Sep-15-2026=11***Sep-16-2026=18***Sep-17-2026=13***Sep-18-2026=5***Sep-19-2026=12***Sep-20-2026=7***Sep-21-2026=17***Sep-22-2026=12***Sep-23-2026=13***Sep-24-2026=14***Sep-25-2026=14***Sep-26-2026=1***Sep-27-2026=8***Sep-28-2026=6***Sep-29-2026=4***Sep-30-2026=13***Oct-01-2026=6***Oct-02-2026=3***Oct-06-2026=1' WHERE job_id= '1691341'  
0.0009   UPDATE employer_jobs SET monthly_hits = '***Jul-2026=1008***Aug-2026=201***Sep-2026=1889***Oct-2026=10' WHERE job_id= '1691341'  
0.0010   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id = '' AND job_id = '1691341' 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` = 1691341 
0.0005   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '331385'
AND `date_added` >= '2022-06-08' 
0.0003   select * from teasers 
0.0002   SELECT * FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)