Purchasing Agent (NetSuite) - Own Every PO & Push Back on Vendors

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

TYPE OF WORK

Full Time

SALARY

$1,400-$2,000/month ($8-12/hour)

HOURS PER WEEK

40

DATE UPDATED

Oct 23, 2026

JOB OVERVIEW

We're a US flooring and tile distributor based in Dallas, TX. We need a purchasing agent who OWNS this job - not someone who just processes it.

READ THIS FIRST
This role is not for someone who waits for instructions. We want someone who:
- Questions a vendor price increase instead of accepting it
- Catches errors before they reach a PO, and asks when something doesn't add up
- Chases late shipments without being reminded
- Tells us about a problem early, along with a proposed fix
- Is comfortable telling a vendor no, and comfortable telling us when something's wrong

If you'd rather keep your head down and stay quiet, this isn't the job for you.

WHAT YOU'LL DO
- Own purchasing end to end in NetSuite: PO creation, tracking, receipt and data accuracy
- Negotiate. Treat every vendor price as negotiable and fight increases on timing, volume or substitutions
- Track lead times and escalate delays immediately
- Verify and upload vendor price lists, including bulk CSV uploads
- Manage customer orders that require procurement: send status updates and coordinate delivery with our warehouse and logistics teams
- Cover quoting and order intake when needed

REQUIREMENTS
- At least 3 years of purchasing or procurement experience in distribution or manufacturing
- Hands-on NetSuite experience (required): POs, vendor records, inventory and CSV imports
- Strong Excel skills
- Fluent, confident spoken and written English
- Must work US Central business hours (8am-5pm CT), Monday to Friday
- Import experience (tile, stone, LVT) is a plus

ENGAGEMENT
Full-time (40 hrs/week), long-term. Paid trial period first.

HOW TO APPLY
Start your application with the word "Vantage" and answer these:
1. A vendor emails a 6% price increase effective in two weeks. Write the actual reply you would send them.
2. Tell us about a time you pushed back on a vendor, a customer, or your boss. What happened?
3. You're entering a PO and the item cost doesn't match the last PO. What do you do?
4. Describe your NetSuite experience: which transactions did you create day to day, and have you done CSV imports?
5. Can you reliably work 8am-5pm US Central, Monday to Friday?

Applications that don't start with "Vantage" will be skipped, because following instructions is part of this job.

SKILL REQUIREMENT
VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0010
Controller Execution Time ( Jobseekers / Job )  0.0135
Total Execution Time  0.0150
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,498,840 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Purchasing-Agent-NetSuite-Own-Every-PO-Push-Back-on-Vendors-1754092
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0066 seconds)  (Hide)
0.0004   SELECT *
                                
FROM exrates
                                WHERE rate_name 
= 'USD-PHP' 
0.0004   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1754092
 LIMIT 1 
0.0007   SELECT *
FROM `employers`
WHERE `employer_id` = 1012218
 LIMIT 1 
0.0008   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `misc` ON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1754092
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-27',ej.date_added) duration_days, DATEDIFF('2026-10-27',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-27',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != 1 AND ej.deleted = 0 AND job_id = '1754092' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1754092 
0.0007   UPDATE employer_jobs SET hit_counts = '***Oct-21-2026=1***Oct-22-2026=6***Oct-23-2026=1068***Oct-24-2026=195***Oct-25-2026=9***Oct-26-2026=7***Oct-27-2026=1' WHERE job_id= '1754092'  
0.0005   UPDATE employer_jobs SET monthly_hits = '***Oct-2026=1287' WHERE job_id= '1754092'  
0.0007   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id = '' AND job_id = '1754092' AND status LIKE 'sent%' ORDER BY id DESC  
0.0004   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1754092 
0.0003   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '1012218'
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)