Senior Accountant — Veritas Management Group

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

TYPE OF WORK

Full Time

SALARY

1200 a month

HOURS PER WEEK

-2

DATE UPDATED

Aug 20, 2026

JOB OVERVIEW

Senior Accountant — Veritas Management Group

Location: Remote, working US Central Time hours Schedule: Full-time, fixed hours (see below) Reports to: Guilherme Albergaria, CFO Compensation: Competitive, based on experience. Contractor or W-2 depending on location.

Who we are

Veritas Management Group is an outsourced finance department for owner-led companies in the $5M to $50M range, with a concentration in construction, manufacturing, healthcare and professional services. We are not a bookkeeping shop and we are not a one-person CFO practice. Clients get one team and one system: clean books, a monthly close that ties, cash and A/R discipline, and a CFO who can stand behind every number. We are small, we are growing, and the work is visible. What you produce goes in front of business owners and their banks.

The role

You own the monthly close and the reconciliation work for a portfolio of clients, end to end. That means bank and credit card reconciliations, payroll workpapers, A/R and A/P subledgers, fixed assets, accruals, intercompany, and the client financial package that comes out the other side. You work alongside our Controller and our Accounting lead, and you report directly to the CFO.

You will spend most of your time in QuickBooks Online, Excel and Google Sheets, with payroll platforms (iSolved, Gusto, ADP), and in our internal trackers. Construction clients mean WIP schedules and job costing; if you haven't done those, you'll learn them here.

What you'll do
Close the books monthly for assigned clients, on the calendar date we committed to the client, with every balance sheet account reconciled and supported.
Build and maintain reconciliation workpapers that someone else can pick up and follow without asking you a question.
Prepare payroll workpapers and tie payroll to the GL, including prepaid and accrued payroll and field-labor allocations.
Maintain A/R aging and collections trackers; flag DSO movement before it becomes a cash problem.
Prepare client financial packages (P&L, balance sheet, cash flow, KPI pages) for CFO review, tied to the penny.
Clean up and restate books when we onboard a client whose prior accounting doesn't hold up.
Document what you do. Our standard is that every recurring task has a written procedure.
How we work, and why it matters

We run on a few rules that are not negotiable, because the whole model depends on them:

Fixed hours. You work a set block of hours, Monday through Friday, in US Central Time, and you are reachable inside that block. We don't care where you are in the world. We care that when we say you're on, you're on. If you have another job, that's your business, but it can't overlap with this block.
Every status update ends with a RISK line. "RISK: none" or "RISK: the bank feed is three days behind and the close may slip." Every time.
Anything that changes a deliverable, a date, or the meaning of a number goes to the CFO the same day, in its own email. If you're not sure whether it qualifies, it qualifies.
Numbers tie or they don't go out. Close enough isn't a thing here.

If those rules sound like relief rather than pressure, you'll like it here.

What you bring
5+ years of full-cycle accounting, with at least 2 years owning a monthly close. Multi-client or outsourced accounting experience is a strong plus.
Deep QuickBooks Online skill. QBO ProAdvisor certification preferred.
Strong Excel: lookups, pivots, structured workpapers. You build models that someone else can audit.
Payroll accounting experience (iSolved, Gusto, ADP or similar).
Construction accounting, job costing, or WIP exposure is a plus, not a requirement.
CPA, CMA, ACCA or equivalent preferred; a degree in accounting required.
Written English that's clear and direct. Most of our communication with clients and with each other is in writing.
A track record of hitting dates. We will ask your references about this specifically.
What you get
Direct work with a CFO and a small senior team; no layers.
A portfolio of real operating businesses, not one company's back office.
Clear scope, clear standards, and a say in how the procedures get written.
Room to grow into a Controller seat as the firm scales.

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0008
Controller Execution Time ( Jobseekers / Job )  0.0142
Total Execution Time  0.0155
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,510,024 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Senior-Accountant-Veritas-Management-Group-1713717
  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.0004   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1713717
 LIMIT 1 
0.0004   SELECT *
FROM `employers`
WHERE `employer_id` = 834768
 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` = 1713717
AND `misc`.`idIS NULL 
0.0005   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-08-25',ej.date_added) duration_daysDATEDIFF('2026-08-25',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-25',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1713717' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1713717 
0.0009   UPDATE employer_jobs SET hit_counts '***Aug-20-2026=223***Aug-21-2026=122***Aug-22-2026=23***Aug-23-2026=2***Aug-25-2026=1' WHERE job_id'1713717'  
0.0006   UPDATE employer_jobs SET monthly_hits '***Aug-2026=371' WHERE job_id'1713717'  
0.0009   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1713717' 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` = 1713717 
0.0019   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '834768'
AND `date_added` >= '2022-06-08' 
0.0003   select from teasers 
0.0003   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)