Construction Accounting VA — Sage Intacct & Procore (Commercial GC)

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

TYPE OF WORK

Full Time

WAGE / SALARY

$7-$8

HOURS PER WEEK

40

DATE UPDATED

May 21, 2026

JOB OVERVIEW

About the Role
We're a U.S.-based commercial general contractor looking for a full-time Construction Accounting VA who can own our pay application billing cycle from end to end. You'll work directly inside Sage Intacct as our primary accounting/ERP system and coordinate with Procore through the Sage Intacct/Procore connector. This role is for someone who has already done construction accounting for a commercial GC — not a general bookkeeper looking to transition.

You'll partner closely with our project coordinator on compliance (lien waivers, insurance) and sub pay app review, but the accounting is yours to own.

Key Responsibilities:
- Manage the pay application billing cycle end to end — coordinating between owner/client, subcontractors, and vendors for timely and accurate billing
- Differentiate between subcontractor pay applications and vendor invoices — flagging discrepancies before processing
- Oversee Accounts Payable (AP) and Accounts Receivable (AR) — processing invoices, tracking receivables, and reconciling activity
- Perform credit card costing and expense allocation — coding charges to the correct project, cost code, and ledger account
- Maintain and review balance sheets — supporting month-end close and keeping financial records audit-ready
- Work within Sage Intacct as the primary accounting and ERP system — entering, tracking, and reconciling financial data across active projects
- Use Procore for construction management touchpoints — coordinating through the ERP connector integration between Sage Intacct and Procore
- Partner with the project coordinator on sub pay app review and compliance verification before payments are released
- Support general construction accounting functions as directed — adapting as the role's scope grows with the company

Requirements (Must-Haves):
- Prior accounting experience with a commercial general contractor (this is non-negotiable)
- Proficient in Sage Intacct as a primary accounting/ERP system
- Familiar with Procore and the Sage Intacct / Procore ERP integration
- Strong understanding of construction pay app billing cycles and AP/AR
- Able to provide 3–5 character references from similar past roles
- Excellent written and verbal English communication
- Reliable tech setup: PC, fast internet, and a backup plan for power outages

Nice to Have:
- Bluebeam experience — PDF markup, invoice review, construction document handling
- Hands-on experience with lien waiver collection and insurance compliance tracking for commercial subcontractors
- Experience with ERP connector / integration workflows between accounting and construction management platforms
- Prior month-end close, audit prep, or balance sheet ownership in a commercial construction setting

SKILL REQUIREMENT
VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0007
Controller Execution Time ( Jobseekers / Job )  0.0514
Total Execution Time  0.0528
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,511,952 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Construction-Accounting-VA-Sage-Intacct-Procore-Commercial-GC-1652238
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0444 seconds)  (Hide)
0.0004   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0004   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1652238
 LIMIT 1 
0.0004   SELECT *
FROM `employers`
WHERE `employer_id` = 874019
 LIMIT 1 
0.0347   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` = 1652238
AND `misc`.`idIS NULL 
0.0006   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-06-22',ej.date_added) duration_daysDATEDIFF('2026-06-22',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-22',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1652238' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1652238 
0.0018   UPDATE employer_jobs SET hit_counts '***May-21-2026=786***May-22-2026=145***May-23-2026=46***May-24-2026=35***May-25-2026=46***May-26-2026=44***May-27-2026=22***May-28-2026=23***May-29-2026=19***May-30-2026=11***May-31-2026=5***Jun-01-2026=15***Jun-02-2026=27***Jun-03-2026=15***Jun-04-2026=10***Jun-05-2026=11***Jun-06-2026=4***Jun-07-2026=9***Jun-08-2026=16***Jun-09-2026=12***Jun-10-2026=14***Jun-11-2026=12***Jun-12-2026=8***Jun-13-2026=9***Jun-14-2026=13***Jun-15-2026=9***Jun-16-2026=15***Jun-17-2026=11***Jun-18-2026=9***Jun-19-2026=8***Jun-20-2026=4***Jun-22-2026=1' WHERE job_id'1652238'  
0.0006   UPDATE employer_jobs SET monthly_hits '***May-2026=1181***Jun-2026=232' WHERE job_id'1652238'  
0.0013   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1652238' 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` = 1652238 
0.0029   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '874019'
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)