Virtual Retail Manager

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

TYPE OF WORK

Part Time

WAGE / SALARY

$1,000

HOURS PER WEEK

40

DATE UPDATED

May 29, 2026

JOB OVERVIEW

Virtual assistant job listing for retail store operations manager

JOB LISTING

Virtual assistant — retail store operations manager

Specialty retail shop · Dallas-Fort Worth, TX (remote) · Part-time to full-time

20–40 hrs/week
Remote — must overlap CST hours
Long-term / ongoing
Clover POS Inventory management Retail operations Reporting & reconciliation Vendor coordination

We own and operate a specialty retail shop in the DFW area and are building a remote-managed operations model. We need a reliable, detail-oriented VA to own the day-to-day operational backbone — primarily inventory management, POS upkeep, and daily reconciliation. This is a long-term role with room to grow.

RESPONSIBILITIES

Inventory & POS (Clover)

Enter and maintain all SKUs in Clover — product name, category, cost, retail price, barcode/UPC
Keep inventory counts current; reconcile stock levels against daily sales activity
Flag low-stock items and prepare reorder requests for owner review
Maintain a clean, organized product catalog with consistent naming conventions
Audit untagged or miscategorized transactions to ensure data integrity

Reporting & reconciliation

Pull and review daily sales reports; flag discrepancies before EOD
Prepare a brief weekly summary of sales trends, inventory movement, and any issues
Cross-reference vendor invoices against what's received and entered in Clover
Track shrinkage and surface patterns over time

Coordination

Communicate with in-store staff on receiving and stock discrepancies
Liaise with vendors as needed on orders, invoices, and delivery confirmations
Maintain organized records and SOPs for all recurring operational tasks

REQUIREMENTS

Prior experience in retail operations — inventory management, POS systems, and daily reconciliation
Hands-on Clover POS experience strongly preferred (SKU setup, inventory module, reporting)
Strong written English — you will communicate directly with the owner and vendors
Available for a daily async or live check-in during CST business hours
Highly organized, self-directed, and proactive about flagging issues without waiting to be asked
Comfortable working inside systems and SOPs that are still being refined

STRONG PLUS — NOT REQUIRED

Experience running paid social or Google ads for a retail brand (Meta, Instagram, Google)
Background in specialty retail — smoke, vape, beauty, supplement, or similar categories
Familiarity with basic graphic tools (Canva) for promotions or social content

If you have a marketing background on top of strong ops, tell us — there's a defined path to take on more in this area.

TO APPLY

Send a short intro (3–5 sentences), your specific retail ops experience, and one example of a recurring operational system or process you built or managed remotely. Applications without relevant retail or POS experience will not be reviewed.

Copy listing text

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0008
Controller Execution Time ( Jobseekers / Job )  0.0104
Total Execution Time  0.0117
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,510,704 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Virtual-Retail-Manager-1657528
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0054 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0003   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1657528
 LIMIT 1 
0.0003   SELECT *
FROM `employers`
WHERE `employer_id` = 866722
 LIMIT 1 
0.0011   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` = 1657528
AND `misc`.`idIS NULL 
0.0004   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-06-20',ej.date_added) duration_daysDATEDIFF('2026-06-20',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-20',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1657528' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1657528 
0.0010   UPDATE employer_jobs SET hit_counts '***May-29-2026=1956***May-30-2026=112***May-31-2026=60***Jun-01-2026=54***Jun-02-2026=23***Jun-03-2026=11***Jun-04-2026=9***Jun-05-2026=9***Jun-06-2026=8***Jun-07-2026=6***Jun-08-2026=2***Jun-09-2026=8***Jun-10-2026=3***Jun-11-2026=6***Jun-12-2026=4***Jun-13-2026=1***Jun-20-2026=2' WHERE job_id'1657528'  
0.0005   UPDATE employer_jobs SET monthly_hits '***May-2026=2126***Jun-2026=146' WHERE job_id'1657528'  
0.0003   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1657528' AND status LIKE 'sent%' ORDER BY id DESC  
0.0002   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1657528 
0.0003   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '866722'
AND `date_added` >= '2022-06-08' 
0.0002   select from teasers 
0.0002   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)