AI REPORT READING
PILOT · NOT OPEN YETYour 12d report, read line by line and checked against itself.
12d .rpt and .fld, Trimble JobXML, and PDF, CSV or text reports: read, checked against themselves, and held for your registered surveyor.Upload a 12d .rpt or .fld file, a Trimble JobXML, or a PDF, CSV or text report. Fixed parsers read the 12d and JobXML files without AI. The AI only copies the other reports into the checking format. Then the file is checked against itself and against the same advisory checks as the rest of SurveyMarkup, and every result waits for your registered surveyor.
Not open yet. Pilot firms run it on a real report with me first.
Advisory software: it flags items for your registered surveyor to review. It doesn't sign off survey work.
Four steps, and the last one is yours.
- 01
Read
Fixed parsers read 12d .rpt, 12d .fld and Trimble JobXML. For a PDF, CSV or text report, the AI copies the text into the checking format and nothing else.
- 02
Reconcile
The file is checked against itself: traverse legs against the printed perimeter, declared record counts, and the coordinate system, datum, zone and units. Where the AI read a file, the fixed parser's values win.
- 03
Check
The advisory checks run, coordinate system first: prism constant, heights, backsight orientation, MGA zone, scale factor and more. A misclosure is checked only when the file prints one.
- 04
Hold for your surveyor
Every run is saved for review and labelled with who read it: the fixed parser or the AI. Nothing is confirmed until your registered surveyor confirms it.
AI REPORT READING · SCOPE, STATED PLAINLY
What it does today, and what it doesn't yet.
Does today
- Yes: Reads 12d .rpt, 12d .fld and Trimble JobXML with fixed parsers, no AI
- Yes: Copies PDF (with a text layer), CSV and text reports into the checking format with AI
- Yes: Checks the file against itself before any advisory check runs
- Yes: Runs the advisory checks and holds every run for review
- Yes: Labels every result with who read it, parser or AI, and as advisory, for your registered surveyor
Not yet
- Not yet: Open to every firm (pilot firms first)
- Not yet: As-built reports
- Not yet: Level runs (only a printed loop misclose is checked)
- Not yet: Scanned PDFs (no text recognition)
- Not yet: Tested on real client reports (pilot firms help close this)
CONTROLADJUST 0.2 · PILOT FIRMS WANTED IN SOUTH‑EAST QUEENSLANDCONTROLADJUST 0.2 · PILOT FIRMS WANTED IN SOUTH‑EAST QUEENSLAND
Adjust your control network for A$495. Once.
Merge Trimble JobXML and 12d .fld files from Trimble Access, test the network, and write adjusted coordinates into a copy of your control CSV. No dealer quote. No subscription.ControlAdjust merges Trimble JobXML and 12d .fld files exported from Trimble Access into one network, runs the chi-square global test and Baarda w-tests, and writes adjusted coordinates into a copy of your own control CSV. No dealer quote. No yearly subscription.
- PRICE
- A$495 once
- PCS
- 2 per user
- OFFLINE
- Up to 44 days
- GST
- Not charged
Not on sale yet. Sales open after the pilot round; pilot firms run it on a real job with me first.
Tested on local-grid jobs. MGA2020 jobs are supported but not yet checked on a real export; pilot firms help close this.
Advisory software: it flags items for your registered surveyor to review. It doesn't sign off survey work.
Control network adjustment
ControlAdjust 0.2.0 · SYN-2 example
ERROR FACTOR
1.04
expected 0.83–1.17 at 95 %
Global test: within bounds- OBSERVATIONS
- 84
- UNKNOWNS
- 21
- FREEDOM
- 63
- MAX |w|
- 3.07
- OVER 3.29
- 0
- ITERATIONS
- 2
W-TESTS · LARGEST FIRST · 5 OF 843 OF 84
| Setup → target | Type | w | Critical | Finding |
|---|---|---|---|---|
| PM1 07:04 → B104 | Zenith | +3.07 | 3.29 | OK |
| PM1 10:29 → B105 | Slope dist | −2.12 | 3.29 | OK |
| PM1 10:29·2 → B105 | Direction | −1.90 | 3.29 | OK |
| PM1 10:29 → B103 | Zenith | +1.83 | 3.29 | OK |
| SYN TA 4000 → B105 | Zenith | +1.81 | 3.29 | OK |
ERROR FACTOR BY TYPE
- Directions · 32
- 0.980
- Zenith angles · 26
- 1.179
- Slope distances · 25
- 0.930
Network adjustment
SYN-2 example
ERROR FACTOR
1.04
expected 0.83–1.17 at 95 %
MAX |w|
3.07
| Obs | w | Finding |
|---|---|---|
| PM1 07:04 → B104 | +3.07 | OK |
| PM1 10:29 → B105 | −2.12 | OK |
| PM1 10:29·2 → B105 | −1.90 | OK |
| PM1 10:29 → B103 | +1.83 | OK |
| SYN TA 4000 → B105 | +1.81 | OK |
critical 3.29 · largest 5 of 84 w-tests
- Reads
- Trimble JobXML · 12d .fld · your control CSV
- Tests
- Chi-square global test · Baarda w-test at 3.29 by default
- Reports
- PU and RU (ICSM SP1 formulas)
- Writes
- Adjusted coordinates to a copy of your CSV
Three steps from field files to adjusted control.
- 01
Merge field files
Load Trimble JobXML and 12d .fld together. Your control CSV comes in as fixed control.
- 02
Adjust and test
Least squares, then the chi-square global test and a Baarda w-test on each observation the rest of the network checks.
- 03
Write back to a copy
Adjusted coordinates go into a copy of your control CSV. The original is untouched.
02 WHAT YOUR SENIOR SURVEYOR READS
The tests your senior surveyor already knows, laid out to read.
- Global test (chi-square)
- Whether the network as a whole fits the precision you set.
- w-tests, ranked by size · critical 3.29
- Each observation gets a w-test, except ones you switch off and ones nothing else checks (the report lists those as unchecked). Anything outside 3.29, the default limit you can change, is flagged for review.
- PU and RU · ICSM SP1 formulas
- Positional uncertainty for each station and relative uncertainty between station pairs. With control held fixed, PU describes the points relative to that control.
ERROR FACTOR BY OBSERVATION TYPE · SYN-2
| Type | Count | Σ vPv | Redundancy | Error factor |
|---|---|---|---|---|
| Directions | 32 | 0.980 | ||
| Zenith angles | 26 | 1.179 | ||
| Slope distances | 25 | 0.930 | ||
| Horizontal distances | 1 | 0.815 | 0.84 | 0.983 |
Local test: 2 of 84 normalised residuals above 1.96. Face distances: none flagged (22 pairs).
03 WHERE IT FITS
Already have least squares in TBC, 12d or LISCAD?
Then you may not need this, and that's fine. ControlAdjust is for firms that want a standalone adjustment at one published price. If your current package already does what your team needs, keep using it.
Not sure it fits? Ask me- Licence
- A$495 once per user, 2 PCs, no dealer seat or quote
- Inputs
- Trimble JobXML and 12d .fld files from Trimble Access in the same network
- Output
- Adjusted coordinates in a copy of your own control CSV
Trimble, Trimble Access, JobXML, TBC, 12d, 12d Model, LISCAD, STAR*NET, Windows and SmartScreen are trademarks of their respective owners, named only to identify file formats and other software. SurveyMarkup and ControlAdjust are not affiliated with or endorsed by any of them, or by ICSM.
04 SCOPE, STATED PLAINLY
What it does today, and what it doesn't yet.
Does today
- Yes: Least-squares adjustment of total-station control: directions, zenith angles and distances
- Yes: Merges Trimble JobXML and 12d .fld files exported from Trimble Access
- Yes: Chi-square global test and Baarda w-test (3.29 by default)
- Yes: PU and RU computed with the ICSM SP1 formulas
- Yes: Adjusted coordinates written to a copy of your control CSV
Not yet
- Not yet: GNSS vectors
- Not yet: Level runs
- Not yet: MGA2020 path tested on a real client export (pilot firms help close this)
- Not yet: Automatic AUSGeoid2020 separation outside South-East Queensland (elsewhere you enter it yourself)
05 START FREE
Catch the bad setup before the crew leaves site.
Field-to-Office QA reads a Trimble JobXML and lays out every setup, residual and check against limits you set. It's free and needs no account.
- Trimble JobXML 6.27 and 6.34
- Setups, residuals, checks and point rows against your own limits
- Print, JSON or CSV report
- Runs in your browser: nothing uploaded, no account
Field review · sample job
JobXML 6.34 · 25,374 bytes
- OK113
- WARN5
- FAIL1
- REF51
- CHECK39
Calculators the field and office reach for
BROWSER-LOCAL · NO ACCOUNT
- T01Set-out sheetBearings, distances and backsight angles, ready to print for the crew.
- T03COGOBearings, distances and joins between points.
- T11Traverse miscloseLinear misclose, relative precision and a Bowditch comparison.
- T12Level loopLoop misclose against your allowable.
- T15Coordinate converterGDA2020 geographic to MGA grid and back.
- T16Grid-to-groundScale factors between grid and ground distances.
06 PRICING
One price, on the page.
PAID · WINDOWS
ControlAdjust
A$495once per user · 2 PCs · works offline between check-ins
Pilot firms wanted. I'm taking up to 5 firms in South-East Queensland. Run ControlAdjust on one of your own control jobs with me, and tell me what's missing. Pilot firms get a free ControlAdjust licence for 3 months: no card, no automatic charge and no obligation to buy. Apply as a pilot firm
Full pricing and licence terms07 WHO'S BEHIND IT
Built by Tim Albash, engineering surveyor, Brisbane.

I'm an engineering surveyor in Wynnum. I built ControlAdjust because I wanted a least-squares adjustment that takes Trimble and 12d files together, without a dealer quote. It has one published price, and I answer the support emails myself.
- Location
- Wynnum, Brisbane QLD
- ABN
- 50 427 523 590
- Replies
- Usually within one working day
Questions firms ask first
Once per PC, to activate. After that it checks the licence quietly, about once a day, when you open it while online. The check-in is free and sends no survey data. Offline, it keeps working for up to 44 days after its last check-in. A pilot licence is different: it's an activation file I issue for each PC, and it runs offline until it stops after 3 months.
A licence for one named person on up to 2 PCs, paid once. Move it to a new PC by freeing the old one under Your licences in your account (up to 3 times in any 30 days). Updates: 12 months included. After 12 months, newer versions need a renewal, which isn't offered yet. The versions you have keep working with no further payment.
GST not charged. SurveyMarkup is run by Tim Albash (ABN 50 427 523 590), who is not registered for GST.
ControlAdjust isn't code-signed yet, so Windows may warn you before it runs. The install section of the ControlAdjust page explains what to choose and gives the SHA-256 to check the file first.
Free tools: nowhere, your browser reads the file. ControlAdjust: your field files stay on your PC. Activation and check-ins send your licence key (which carries the name and email it was issued to), a salted one-way fingerprint of the PC (not the Windows machine ID itself) and the ControlAdjust version, plus the PC's Windows computer name each time a PC is activated. Never files, coordinates or results. As with any web request, the server sees the PC's IP address, and it is recorded when a PC is activated.
Full refund within 30 days, no reason needed, on top of your Australian Consumer Law rights. Before buying, try the free tools or apply as a pilot firm.
Run ControlAdjust on a real job with me first.
- PRICE
- A$495 once
- PCS
- 2 per user
- OFFLINE
- Up to 44 days
- GST
- Not charged
Sources
40,000 characters
Most file text AI report reading sends
AI report reading sends at most 40,000 characters of a file's text; longer text is cut off and the cut is reported with the run.
My server settings
Stated on: surveymarkup.com.au/privacy#ai3 per run
Most finding explanations per report-reading run
A report-reading run asks for an explanation of at most 3 findings.
My code
Stated on: surveymarkup.com.au/privacy#ai0.2.0 · 5 October 2026
ControlAdjust release on offer and its release date
ControlAdjust 0.2.0 was built on 5 October 2026, and it is the version I offer now; the changelog lists what changed in it.
My decision · 11 October 2026
Stated on: surveymarkup.com.au/tools/controladjust#changelogA$495 once per user
ControlAdjust price per user
I set the ControlAdjust price at A$495 per user, paid once, in Australian dollars with no GST charged.
My decision · 11 October 2026
Stated on: surveymarkup.com.au/pricing#licence1 person · 2 PCs
People and PCs per ControlAdjust licence
A licence is for one named person: I sell it per user and each account can hold one active licence. My licence server activates it on at most 2 PCs at a time.
My server settings
Stated on: surveymarkup.com.au/pricing#licence44 days (30 + 14 days' grace)
How long a bought licence keeps working offline
Each check-in keeps a PC's activation valid for 30 days, plus 14 days' grace, so a bought licence runs up to 44 days offline after its last check-in.
My server settings
Stated on: surveymarkup.com.au/pricing#licenceerror factor 1.04 · largest w 3.07
SYN-2 example run: global test, w-tests and statistics by observation type
These come from one ControlAdjust 0.2.0 run on default settings over the synthetic SYN-2 example (no client data), on 5 October 2026. The page redraws the run's report; setups are named by station and start time from the example's JobXML file. The report itself isn't published yet.
Sample run
Stated on: surveymarkup.com.au/tools/controladjust#adjustment3.29 by default
Default critical value of the Baarda w-test in ControlAdjust
ControlAdjust flags an observation whose |w| is above 3.29 unless you change the limit in Settings; 3.29 is Baarda's limit at 0.1 % significance, and the SYN-2 report lists it under the settings used.
My code
Stated on: surveymarkup.com.au/tools/controladjust#adjustment8 + 7 setups · 10 points
SYN-2 example run: input files, setups, shots and control points
The run report lists each field file with its format, version, setups and pointings, and the control file with its points; one control point is in the file but nothing observes it. It also states that a 12d field file is read on a local grid at scale factor 1.
Sample run
Stated on: surveymarkup.com.au/tools/controladjust#inputsJobXML 6.27 and 6.34
Trimble JobXML versions Field-to-Office QA reads
Field-to-Office QA reads Trimble JobXML 6.27 and 6.34 files and refuses other versions; a test opens a sample file of each version with the tool's own parser.
My code
Stated on: surveymarkup.com.au/tools/field-to-office-qaOK 113, WARN 5, FAIL 1, REF 51, CHECK 39
Field-to-Office QA review of its sample job
These are the counts Field-to-Office QA gives its built-in synthetic sample job with the worked-example limits; open the tool and choose Load synthetic sample to see the same review.
Sample run
Stated on: surveymarkup.com.au/#free (on this page)19 free tools
Number of free browser tools
I count the free tools from the same tool list that builds the tools page, so the number changes when I add or retire a tool.
My code
Stated on: surveymarkup.com.au/toolsA$0
Price of the free browser tools
The browser tools are free and need no account.
My decision · 10 October 2026
Stated on: surveymarkup.com.au/pricing#free-tools18 calculators
Number of browser calculators besides Field-to-Office QA
I count the calculators from the same tool list that builds the tools page, leaving out Field-to-Office QA, which is counted on its own.
My code
Stated on: surveymarkup.com.au/pricing#free-toolsup to 5 firms
Number of pilot firms
I'm taking up to 5 pilot firms, all in South-East Queensland.
My decision · 11 October 2026
Stated on: surveymarkup.com.au/pricing#pilot3 months
Length of a pilot licence
A pilot firm's free licence runs for 3 months, with no card, no automatic charge and no obligation to buy, then stops.
My decision · 10 October 2026
Stated on: surveymarkup.com.au/pricing#pilot50 427 523 590
Australian Business Number (ABN)
This is my ABN as a sole trader; ABN Lookup on the Australian Business Register shows it, with the SurveyMarkup business name registered against it.
Law or regulator · checked 19 October 2026
Source: abr.business.gov.au/ABN/View?abn=50427523590 (external site)one working day
How soon I aim to reply to a support email
I aim to reply to support emails within one working day: Monday to Friday, Brisbane time, excluding Queensland public holidays.
My decision · 11 October 2026
Stated on: surveymarkup.com.au/pricing#licenceone session
What I ask of a pilot firm
I ask each pilot firm for one session on one of its own control jobs, run on its own PC, and honest feedback; I state no session length until a real session has been timed.
My decision · 11 October 2026
Stated on: surveymarkup.com.au/pricing#pilotA$249 per licence
Pilot firms' price per licence if they buy soon after the pilot
Pilot firms that buy within 30 days after their pilot ends, or within 30 days of sales opening if that is later, pay A$249 per licence instead of A$495.
My decision · 11 October 2026
Stated on: surveymarkup.com.au/pricing#pilot14 days
Payment terms on my invoices
An invoice from me is due 14 days from its date, paid by bank transfer.
My decision · 11 October 2026
Stated on: surveymarkup.com.au/pricing#pilotabout once a day
How often ControlAdjust checks its licence while online
ControlAdjust 0.2.0 checks in when you open it while online and its last check-in is at least 20 hours old, which comes to about once a day.
My code
Stated on: surveymarkup.com.au/pricing#licence3 frees in any 30 days
How often a PC can be freed under Your licences
My licence server lets you free a PC yourself up to 3 times in any rolling 30 days; beyond that, email me.
My server settings
Stated on: surveymarkup.com.au/pricing#licence12 months
Updates included with a licence
A licence includes every version released in the 12 months after purchase; the licence server records that date as one year after the licence is issued.
My decision · 10 October 2026
Stated on: surveymarkup.com.au/pricing#licence30 days
Change-of-mind refund window
I give a full change-of-mind refund within 30 days of purchase, on top of your Australian Consumer Law rights; the refund policy has the details.
My decision · 10 October 2026
Stated on: surveymarkup.com.au/refunds