Head of Supply Chain

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

TYPE OF WORK

Full Time

SALARY

Monthly - $475.00-$1,100.00

HOURS PER WEEK

8

DATE UPDATED

Jul 23, 2026

JOB OVERVIEW

Mission

Own Formulation Factory's physical product pipeline end to end — forecasting, purchasing, contract manufacturing, inbound logistics, 3PL and FBA inventory, and fulfillment across Amazon, Shopify, and TikTok Shop — so the right product, correctly labeled and compliant, is always in stock at the right node, at the right cost, without the CEO or Chief of Staff ever having to firefight a stockout, a scan failure, or a mislabeled lot.

Role Context

Formulation Factory sells science-backed supplements at eight figures a year, roughly 90% through Amazon and the balance through Shopify, with TikTok Shop scaling underneath. That mix means our supply chain is really three supply chains sharing one inventory pool: FBA inbound with all of Amazon's receiving constraints, a 3PL picking DTC and TikTok orders, and a warehouse in Chino, CA sitting in the middle. When any one of those nodes hiccups — a delayed PO from our contract manufacturer, a 3PL scan failure on TikTok orders, an FBA shipment stuck in receiving — revenue stops in a way a marketing miss never does.

We also operate in a regulated category. Labels change — ingredient nomenclature corrections, allergen declarations, Prop 65 warnings, claims cleanup — and every label change ripples through open POs, packaging inventory, and what's already sitting in FBA. Supply chain here isn't just freight and forecasting; it's making sure the physical product on the shelf matches what compliance and legal have signed off on, lot by lot.

Today this function is held together by a capable operator and a lot of founder and Chief of Staff attention. This role exists to take that entire surface area — demand planning, supplier management, purchasing, packaging, inbound freight, inventory allocation across channels, and fulfillment performance — and run it as a discipline: with a forecast we trust, reorder points that fire before we're in trouble, vendor scorecards, and a weekly inventory picture Kyle can read in ninety seconds.

You are hands-on. You can build the demand plan in a spreadsheet yourself, negotiate the MOQ with the co-packer yourself, and get on the phone with the 3PL yourself when orders aren't scanning. You treat a stockout on a hero SKU as a five-alarm event and a bloated slow-mover as quiet cash bleeding out of the business. You ship clean work fast and you don't need to be chased.

Ongoing KPIs

• In-stock rate on hero SKUs (FBA and 3PL), and weeks of cover by SKU and channel

• Forecast accuracy vs. actual sell-through

• Stockout events and days of lost availability

• PO cycle time and supplier on-time, in-full (OTIF) performance

• Inbound-to-available time at FBA and the 3PL

• Fulfillment error rate (mis-ships, scan failures, damaged units) across channels

• Inventory holding: aged and excess inventory as a share of total, and inventory tied up in superseded labels/packaging

• Landed cost per unit by SKU, tracked against baseline

Explicit Boundaries

You own the physical pipeline; you don't own everything the pipeline touches. Formulation decisions and manufacturer selection at the formula level sit with the CEO. Label content, claims, and compliance determinations are made by compliance and outside counsel — you execute the logistics of a label change, you don't d ---------- what the label says. Marketplace listing content, pricing, and advertising belong to the eCommerce and paid media functions. Finance and tax questions route through the CPA. When a supplier, 3PL, or packaging decision carries legal or contractual weight, it goes through the Chief of Staff before signature.

Decision Rights

Owns: Demand planning, purchasing and PO management, supplier and co-packer relationships at the operational level, packaging procurement, inbound freight, inventory allocation across FBA / 3PL / warehouse, fulfillment performance management, and supply-side launch readiness.

Reports to: Kyle Armour, CEO.

Collaborates with: Chief of Staff (compliance-driven label and packaging changes, vendor contracts), eCommerce/marketplace (channel demand signals, FBA constraints, listing-affecting stock decisions), CX (order issues and fulfillment escalations), and the contract manufacturing and 3PL partners day to day.

This Role Is Not

• A pure analyst seat — you build the models, but you also work the phones and fix the physical problem

• A warehouse manager role — you direct the network; you're not running a forklift schedule

• A procurement-only role — buying is one lever among forecasting, allocation, and fulfillment

• A compliance or regulatory role — you execute label-change logistics; you don't make the regulatory call

• A slow-moving corporate supply chain job — there is no layer of planners underneath you on day one

If you need a large team, a mature ERP, and a settled process to operate, this isn't your seat. If you want to take a fast-growing, founder-led supply chain and turn it into a machine you built, it is.

Ideal Candidate

• 5+ years in supply chain / operations for a DTC or omnichannel consumer brand, with real ownership of forecasting and purchasing — not just execution of someone else's plan

• Hands-on Amazon FBA experience: inbound shipment creation, receiving constraints, capacity limits, and inventory placement — this is the hard gate

• 3PL management experience — SLAs, billing audits, escalations, and integrations with Shopify and TikTok Shop

• Experience working with contract manufacturers / co-packers: MOQs, lead times, production scheduling, quality holds

• Supplements, food, or another regulated CPG category strongly preferred — you've lived through a label change with inventory in the field

• Strong spreadsheet-level modeling (forecasting, reorder points, landed cost); inventory software experience a plus, dependence on it a minus

• Comfortable negotiating — freight, MOQs, 3PL terms — and showing the savings afterward

• Clear, concise written communicator — your weekly report should answer questions before Kyle asks them

• Ownership mindset: exceptions get caught by your systems, not by the CEO noticing an out-of-stock badge on Amazon Bonus: You've taken a founder-run supply chain past the eight-figure mark, cut landed costs while raising in-stock rates, and have the before-and-after numbers — stockout days, weeks of cover, cost per unit — to prove it.

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0008
Controller Execution Time ( Jobseekers / Job )  0.0127
Total Execution Time  0.0141
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,531,336 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Head-of-Supply-Chain-1695343
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0071 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0004   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1695343
 LIMIT 1 
0.0004   SELECT *
FROM `employers`
WHERE `employer_id` = 632381
 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` = 1695343
AND `misc`.`idIS NULL 
0.0005   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-08-09',ej.date_added) duration_daysDATEDIFF('2026-08-09',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-09',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1695343' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1695343 
0.0018   UPDATE employer_jobs SET hit_counts '***Jul-23-2026=450***Jul-24-2026=118***Jul-25-2026=33***Jul-26-2026=44***Jul-27-2026=43***Jul-28-2026=28***Jul-29-2026=24***Jul-30-2026=12***Jul-31-2026=8***Aug-01-2026=8***Aug-02-2026=4***Aug-03-2026=6***Aug-04-2026=9***Aug-05-2026=6***Aug-06-2026=7***Aug-07-2026=5***Aug-09-2026=1' WHERE job_id'1695343'  
0.0006   UPDATE employer_jobs SET monthly_hits '***Jul-2026=760***Aug-2026=46' WHERE job_id'1695343'  
0.0008   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1695343' AND status LIKE 'sent%' ORDER BY id DESC  
0.0004   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1695343 
0.0005   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '632381'
AND `date_added` >= '2022-06-08' 
0.0004   select from teasers 
0.0003   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)