Quantity Surveyor (Remote) – Buildxact Job Management + Takeoffs + Back Costing (Modular Homes)

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

TYPE OF WORK

Gig

SALARY

9/hr

HOURS PER WEEK

15

DATE UPDATED

Jan 29, 2026

JOB OVERVIEW

Job Overview

Baird Built (New Zealand) builds high-end modular homes. We’re hiring a remote Quantity Surveyor to complete accurate quantity takeoffs for pricing, then help set up and manage the job data in Buildxact (purchase orders, quantities, cost tracking, etc.) once we win projects. You’ll also support back-costing using Buildxact data so we can keep improving our estimating accuracy.

Buildxact experience is essential because it’s central to how we run jobs and track costs.

Key Responsibilities

Complete detailed quantity takeoffs / BOQs from plans and specs (Excel/Sheets or Buildxact QS tools — your choice)

Structure quantities in a way that matches our quoting and purchasing workflow

When we win a job:

Input/import quantities and budgets into Buildxact

Assist with job setup and keeping data clean and consistent

Support purchase order workflows (POs), cost codes/categories, and supplier allocations (as per our SOPs)

Back-costing / post-job analysis

Pull cost and quantity data from Buildxact (POs, invoices/costs, variations, etc.)

Compare estimated vs actual quantities/costs

Provide improvement notes so our future allowances/templates get tighter

Maintain clear assumptions, notes, and version control for each takeoff

Required (Must Have)

Proven QS / estimating experience (residential construction preferred)

Buildxact experience (required) — you can confidently:

enter/import quantities and job budgets

work with job cost data (POs, supplier costs, categories/codes)

extract information for back-costing and reporting

Strong Excel/Google Sheets skills

High attention to detail + self-checking process

Clear written communication in English

Nice to Have

Modular/prefab estimating experience

NZ/AU construction knowledge (materials/terminology)

Smartsheet experience (scheduling support)

Hours & Pay

Remote, flexible hours

Start part-time (approx 5–15 hrs/week) and scale up with workload

Please include your hourly rate (and/or per-project rate)

Trial / Test Task

Shortlisted applicants will complete a paid test:

a small takeoff/BOQ, and

a simple Buildxact data-entry + back-costing extraction task (we’ll provide a dummy dataset/SOP)

To Apply (Must Include)

Short intro + QS experience

Buildxact experience (how long + what you use it for: POs, job setup, budgets, reporting/back-costing, etc.)

1–2 examples of BOQ/takeoff work (screenshots OK; remove client details)

Rate + availability + timezone

Any Smartsheet experience (if applicable)

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0011
Controller Execution Time ( Jobseekers / Job )  0.0140
Total Execution Time  0.0160
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,504,880 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Quantity-Surveyor-Remote-Buildxact-Job-Management-Takeoffs-Back-Costing-Modular-Homes-1566552
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0072 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0003   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1566552
 LIMIT 1 
0.0003   SELECT *
FROM `employers`
WHERE `employer_id` = 811496
 LIMIT 1 
0.0009   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1566552
AND `misc`.`idIS NULL 
0.0004   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-04-21',ej.date_added) duration_daysDATEDIFF('2026-04-21',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-04-21',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1566552' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1566552 
0.0018   UPDATE employer_jobs SET hit_counts '***Jan-29-2026=207***Jan-30-2026=55***Jan-31-2026=21***Feb-01-2026=20***Feb-02-2026=29***Feb-03-2026=22***Feb-04-2026=12***Feb-05-2026=23***Feb-06-2026=12***Feb-07-2026=8***Feb-08-2026=13***Feb-09-2026=9***Feb-10-2026=15***Feb-11-2026=8***Feb-12-2026=12***Feb-13-2026=14***Feb-14-2026=1***Feb-15-2026=5***Feb-16-2026=19***Feb-17-2026=5***Feb-18-2026=8***Feb-19-2026=4***Feb-20-2026=3***Feb-21-2026=11***Feb-22-2026=4***Feb-23-2026=6***Feb-24-2026=8***Feb-25-2026=9***Feb-26-2026=10***Feb-27-2026=6***Feb-28-2026=2***Mar-01-2026=5***Mar-02-2026=15***Mar-03-2026=5***Mar-04-2026=7***Mar-05-2026=4***Mar-06-2026=5***Mar-07-2026=4***Mar-08-2026=6***Mar-09-2026=12***Mar-10-2026=5***Mar-11-2026=11***Mar-12-2026=5***Mar-13-2026=4***Mar-15-2026=3***Mar-16-2026=4***Mar-17-2026=8***Mar-18-2026=8***Mar-19-2026=9***Mar-20-2026=2***Mar-21-2026=1***Mar-22-2026=4***Mar-23-2026=10***Mar-24-2026=10***Mar-25-2026=7***Mar-26-2026=8***Mar-27-2026=7***Mar-28-2026=2***Mar-29-2026=3***Mar-30-2026=3***Mar-31-2026=2***Apr-02-2026=3***Apr-03-2026=4***Apr-04-2026=3***Apr-05-2026=5***Apr-06-2026=6***Apr-07-2026=8***Apr-08-2026=2***Apr-09-2026=4***Apr-10-2026=9***Apr-11-2026=5***Apr-12-2026=3***Apr-13-2026=4***Apr-14-2026=3***Apr-15-2026=5***Apr-16-2026=6***Apr-17-2026=2***Apr-18-2026=6***Apr-21-2026=1' WHERE job_id'1566552'  
0.0007   UPDATE employer_jobs SET monthly_hits '***Jan-2026=283***Feb-2026=298***Mar-2026=179***Apr-2026=79' WHERE job_id'1566552'  
0.0009   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1566552' 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` = 1566552 
0.0003   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '811496'
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)