Bookkeeper / FP&A - Inventory Specialist

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

TYPE OF WORK

Part Time

SALARY

$750/month

HOURS PER WEEK

20

DATE UPDATED

Oct 2, 2026

JOB OVERVIEW

About onewith

onewith is a fast-growing, founder-led DTC swimwear brand, and we invented swim that fits like no-show underwear. We're building a small, high-accountability team where A-players own outcomes, not hours. If you look for problems before you're asked, take pride in getting details exactly right, and want to grow with a brand rather than fill time, you'll fit here.

The role

We're hiring a Bookkeeper / FP&A Analyst to keep our financials clean and to be the person who spots money problems before anyone else does. We want someone prescriptive and always-on, who tells us "if you don't reorder this SKU this week, you'll lose about $40K in sales" before we ask. You're paid for the headspace of always being on top of the numbers, so we're looking for someone who treats this as a seat to own and grow into.

This is a part-time, remote role to start, with US-hours overlap for reporting and real room to grow as the brand scales.

-- What you'll own --

Bookkeeping and clean monthly financials in Finaloop, accurate, reconciled and on time
Inventory and cash-flow monitoring and forecasting, tracking stock and reorder timing against sell-through and flagging risks early with a clear recommendation and the dollar impact
A weekly numbers pack with the few metrics that matter, teed up for the founder's review along with your read on what's moving and why
Variance flags on anything unusual in the P&L before it becomes a problem

You're a fit if you

Have 5+ years in bookkeeping or FP&A for US e-commerce or DTC businesses (apparel preferred) and know US accounting conventions
Are numbers-confident and explain your work in plain English, because clarity beats jargon and you only hand over output you can defend
Chase the number without waiting to be asked
Are strong in Excel or Sheets and comfortable across Shopify, a 3PL portal and a finance tool (Finaloop preferred)
Use AI well, and you can explain every number in your own words, since anything you can't defend in plain English is an instant no for us

-- How to apply --

Send a short intro (video or Loom preferred), your relevant experience, and one example of a problem you solved that your boss or teammates couldn't. Include a short Loom walking through one financial insight in plain, jargon-free language, plus a Loom of a test project.

Every candidate completes a written assessment and a live interview. We're hiring the best person for the role, with no shortcuts and no preferential treatment.

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0007
Controller Execution Time ( Jobseekers / Job )  0.0315
Total Execution Time  0.0328
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,498,016 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Bookkeeper-FPA-Inventory-Specialist-1742738
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0127 seconds)  (Hide)
0.0004   SELECT *
                                
FROM exrates
                                WHERE rate_name 
= 'USD-PHP' 
0.0004   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1742738
 LIMIT 1 
0.0003   SELECT *
FROM `employers`
WHERE `employer_id` = 1005798
 LIMIT 1 
0.0067   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `misc` ON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1742738
AND `misc`.`id` IS NULL 
0.0006   SELECT e.business_name, e.logo, e.website, e.rebill_date, e.date_added member_date, hits, DATEDIFF('2026-10-04',ej.date_added) duration_days, DATEDIFF('2026-10-04',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-04',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != 1 AND ej.deleted = 0 AND job_id = '1742738' 
0.0004   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1742738 
0.0016   UPDATE employer_jobs SET hit_counts = '***Oct-02-2026=1098***Oct-03-2026=496***Oct-04-2026=1' WHERE job_id= '1742738'  
0.0007   UPDATE employer_jobs SET monthly_hits = '***Oct-2026=1594' WHERE job_id= '1742738'  
0.0003   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id = '' AND job_id = '1742738' 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` = 1742738 
0.0004   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '1005798'
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)