HR & AP/AR Administrator

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

TYPE OF WORK

Full Time

SALARY

?42,500 - ?51,900 per month

HOURS PER WEEK

35

DATE UPDATED

Jul 20, 2026

JOB OVERVIEW

About the role
Schematic Works is a B2B professional lighting equipment repair and service company based in Brooklyn, NY. We're looking for a sharp, reliable Virtual Assistant to own the administrative and AP/AR backbone of the business. This is a hands-on role split roughly 50/50 between HR administration and accounts payable/receivable. You'll report directly to the owner and collaborate closely with internal stakeholders, including our payroll and bookkeeping team. You'll be on the phone regularly with vendors and clients, so polished spoken English and a professional phone presence are non-negotiable.
What you'll do
HR and operations administration (about half your time):

Build and maintain onboarding processes for new tea ---------- mbers
Create and update the employee handbook, policies, and internal documentation
Support the structure and growth of our teams as we scale (this is an onboarding and documentation role, not a recruiting one)
Track timesheets, PTO, and holiday schedules, and work with our payroll team to review and approve them
Keep internal records organized, accurate, and up to date

Accounts payable and receivable (the other half):

Own day-to-day AP/AR
Process invoices and payments
Track receivables, follow up on outstanding balances, and flag issues early
Coordinate with our bookkeeper to keep records current and reconciled

What we're looking for

Strong, advanced English, both written and spoken
Comfortable and confident on the phone with vendors and clients, and on the occasional Zoom call
HR administration experience: onboarding, handbook and policy documentation, timesheets, PTO, holidays
Solid AP/AR experience
Detail-oriented, organized, and able to work independently
Discreet and trustworthy with sensitive information
Proficient with Slack, Google Workspace, Excel, and Google Sheets, and able to pick up our proprietary internal app quickly

Logistics

Full-time, fully remote
Compensation: $8 to $12 per hour, based on experience, paid via Wise
Our team works 10am to 5pm EST. Preferred daily overlap is 11am to 4pm EST, open to discussion for the right candidate.

Hiring process
Zoom interview followed by a training period. We're looking to bring someone on within the next two weeks.
To apply
Please submit:

Your resume
A short sample email (as your English and clarity test): write a professional follow-up email to a client regarding an overdue invoice, requesting payment.

Applications without both items will not be considered.

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0009
Controller Execution Time ( Jobseekers / Job )  0.0142
Total Execution Time  0.0157
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,501,000 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/HR-APAR-Administrator-1692996
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0084 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0009   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1692996
 LIMIT 1 
0.0008   SELECT *
FROM `employers`
WHERE `employer_id` = 869998
 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` = 1692996
AND `misc`.`idIS NULL 
0.0004   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-08-12',ej.date_added) duration_daysDATEDIFF('2026-08-12',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-12',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1692996' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1692996 
0.0007   UPDATE employer_jobs SET hit_counts '***Jul-20-2026=506***Jul-21-2026=420***Jul-22-2026=136***Jul-23-2026=45***Jul-24-2026=29***Jul-25-2026=12***Jul-26-2026=6***Jul-27-2026=22***Jul-28-2026=16***Jul-29-2026=27***Jul-30-2026=17***Jul-31-2026=14***Aug-01-2026=8***Aug-02-2026=12***Aug-03-2026=11***Aug-04-2026=13***Aug-05-2026=21***Aug-06-2026=9***Aug-07-2026=7***Aug-08-2026=3***Aug-12-2026=1' WHERE job_id'1692996'  
0.0006   UPDATE employer_jobs SET monthly_hits '***Jul-2026=1250***Aug-2026=85' WHERE job_id'1692996'  
0.0009   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1692996' 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` = 1692996 
0.0014   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '869998'
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)