Inventory & Demand Planning Systems Specialist - Peak Chocolate

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

TYPE OF WORK

Gig

WAGE / SALARY

TBA

HOURS PER WEEK

20

DATE UPDATED

Jun 16, 2026

JOB OVERVIEW

We are Peak Chocolate, an Australian eCommerce brand selling across Amazon Australia, Shopify, and Instagram. We're looking for a skilled Inventory & Demand Planning Systems Specialist to build a demand planning and stock tracking system from scratch — a short project of 2 to 4 weeks that we can run ourselves after handover.

ABOUT THE PROJECT:
We currently manage 30–100 SKUs across our sales channels (Amazon AU via 3PL, Shopify via 3PL, and Instagram). Our biggest pain points are stockouts and over-ordering. We need a clean, functional system — primarily Google Sheets-based — that gives us full visibility and control.

WHAT YOU'LL BUILD:
- A Google Sheets inventory tracker covering all SKUs across Amazon AU, Shopify, and Instagram
- Demand forecasting logic based on sales velocity and lead times
- Reorder triggers and low-stock alerts (automated where possible)
- A simple dashboard our team can use to manage stock levels day-to-day
- Clear documentation so our internal team can manage the system after handover

REQUIRED QUALIFICATIONS:
- Proven experience in demand planning or inventory management for an eCommerce or FMCG brand
- Strong Google Sheets skills — formulas, automation, and reorder triggers
- Experience managing multiple SKUs across retail and online channels
- Understanding of lead times, 3PL operations, and co-manufacturer workflows
- Must have BUILT a system from scratch — not just maintained someone else's

PREFERRED:
- Experience with Amazon Seller Central and/or Shopify
- Familiarity with food/FMCG products

TO APPLY:
Please include a sample dashboard, screenshot, or link to a system you have previously built. Applications without proof of work will not be considered.

Answer these screening questions in your application:
1. Have you built an inventory or demand planning system from scratch before? Describe it briefly.
2. What Google Sheets formulas or automations have you used for reorder triggers?
3. How would you approach building a stock tracking system for a brand selling across 3 channels with a 3PL?

Project duration: 2–4 weeks
Hours: Approx. 3-4 hours/day

SKILL REQUIREMENT
VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0008
Controller Execution Time ( Jobseekers / Job )  0.0325
Total Execution Time  0.0342
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,495,928 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Inventory-Demand-Planning-Systems-Specialist-Peak-Chocolate-1669502
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0265 seconds)  (Hide)
0.0004   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0003   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1669502
 LIMIT 1 
0.0003   SELECT *
FROM `employers`
WHERE `employer_id` = 831891
 LIMIT 1 
0.0200   SELECT COUNT(DISTINCT t.id) as cnt
FROM 
`t_thread` `t`
INNER JOIN `t_message` `mON `t`.`id` = `m`.`thread_id`
INNER JOIN `t_message_employer` `eON `m`.`id` = `e`.`message_id`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1669502
AND `misc`.`idIS NULL 
0.0004   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-06-21',ej.date_added) duration_daysDATEDIFF('2026-06-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-06-21',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1669502' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1669502 
0.0007   UPDATE employer_jobs SET hit_counts '***Jun-16-2026=710***Jun-17-2026=50***Jun-18-2026=43***Jun-19-2026=24***Jun-20-2026=17***Jun-21-2026=1' WHERE job_id'1669502'  
0.0005   UPDATE employer_jobs SET monthly_hits '***Jun-2026=844' WHERE job_id'1669502'  
0.0013   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1669502' 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` = 1669502 
0.0012   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '831891'
AND `date_added` >= '2022-06-08' 
0.0003   select from teasers 
0.0004   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)