Virtual Assistant — Operations & Admin (Contracting Business)

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

TYPE OF WORK

Any

SALARY

5

HOURS PER WEEK

40

DATE UPDATED

Jul 4, 2026

JOB OVERVIEW

We are an established electrical contracting business in Canada looking for a reliable, full-time virtual assistant to handle our day-to-day operations and admin remotely. This is a long-term role following clear, established processes — we want someone dependable who executes tasks accurately and consistently, exactly as instructed.
IMPORTANT — Schedule: This is a graveyard shift. Our hours are 7:00 AM–3:00 PM Pacific Time (Canada), which is approximately 10:00 PM–6:00 AM Manila time, Monday to Friday. You must be able to work and stay reachable during these hours. Please only apply if you can genuinely commit to this schedule long-term.
What you'll do:

Create and manage a numbered work order for every job in our in-house job-management app (full training provided)
Schedule and dispatch our field technicians and maintain the calendar
Draft invoices for approval, track them until paid, and follow up on overdue accounts
Enter technicians' hours and materials into the system
Make sure every job has photos and updates attached, and follow up with the crew when they don't
Send a short end-of-day summary of what you completed
General admin: email, calendar, filing, and bookkeeping assistance

Who we're looking for:

Reliable and accountable — you do what you say, on time, every day
Follows instructions and processes precisely, accurately, and consistently
Rock-solid internet with a backup connection (e.g. mobile/pocket WiFi). Downtime means missed work, so this is essential
Available and reachable throughout the full shift, without exception
Strong written and spoken English
Organized, detail-oriented, and comfortable with numbers and invoicing

Nice to have:

Experience with job-management or scheduling software
Bookkeeping experience
Prior experience supporting a trades, construction, or home-services business

Non-negotiables — please be honest with yourself before applying:

You must be reachable during the full shift (10:00 PM–6:00 AM Manila time)
You must have reliable internet plus a backup connection
You'll submit a short daily work log

How to apply:
Reply with a brief intro about yourself and your relevant experience, and include:

A short video introduction (1–2 minutes) so we can hear your spoken English
Your experience with invoicing and admin work
Confirmation that you can work the graveyard shift long-term
Your internet setup, including your backup connection

To show us you read this carefully, start your message with the word "SPARK." Applications without it will not be reviewed.

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0007
Controller Execution Time ( Jobseekers / Job )  0.0142
Total Execution Time  0.0154
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,501,568 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Virtual-Assistant-Operations-Admin-Contracting-Business-1682372
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0090 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0003   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1682372
 LIMIT 1 
0.0008   SELECT *
FROM `employers`
WHERE `employer_id` = 820835
 LIMIT 1 
0.0013   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1682372
AND `misc`.`idIS NULL 
0.0004   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 '1682372' 
0.0007   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1682372 
0.0014   UPDATE employer_jobs SET hit_counts '***Jul-04-2026=1510***Jul-05-2026=687***Jul-06-2026=333***Jul-07-2026=164***Jul-08-2026=168***Jul-09-2026=53***Jul-10-2026=48***Jul-11-2026=49***Jul-12-2026=26***Jul-13-2026=42***Jul-14-2026=55***Jul-15-2026=32***Jul-16-2026=28***Jul-17-2026=16***Jul-18-2026=14***Jul-19-2026=10***Jul-20-2026=20***Jul-21-2026=18***Jul-22-2026=21***Jul-23-2026=20***Jul-24-2026=11***Jul-25-2026=3***Jul-26-2026=10***Jul-27-2026=9***Jul-28-2026=15***Jul-29-2026=14***Jul-30-2026=16***Jul-31-2026=19***Aug-01-2026=16***Aug-02-2026=9***Aug-03-2026=20***Aug-04-2026=9***Aug-05-2026=8***Aug-06-2026=9***Aug-07-2026=6***Aug-08-2026=8***Aug-09-2026=1' WHERE job_id'1682372'  
0.0006   UPDATE employer_jobs SET monthly_hits '***Jul-2026=3410***Aug-2026=86' WHERE job_id'1682372'  
0.0011   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1682372' 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` = 1682372 
0.0012   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '820835'
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)