Sydney Trains · Auburn (ASY) Depot
Standalone build for Suburban Driver and Guard pay reconciliation — all classifications, WRTA=Yes.
Set date first
| Day | Day type | Job # | Rostered start | Actual start | Rostered finish | Actual finish | Rostered km | Actual km | 209km reached at | Relinq.? | Extra sick (hh:mm) |
|---|
Enter the fortnight start date and Roster Line Number above to see your running total — it updates live as you fill in the timesheet.
Gross earnings only, formatted like a Sydney Trains pay advice. Tax, deductions, and net pay aren't calculated — this stops at Total Gross, same as the actual payslip's earnings section.
| Date | Code | Description | Units | Rate | Amount |
|---|
Not an official Sydney Trains document. Pay calculations are a guide only. Entries save automatically to this browser's local storage.
© 2026 CAPTAIN-NAPOD. Shared for personal use by Sydney Trains train crew — not for redistribution or commercial use without permission.
Questions or feedback: captain-napod@napod.me
☕ Buy me a coffee, for all this effort!
Engineering log — how this calculator is maintained
| Date | Code | Description | Units | Rate | Amount |
|---|
| Day | Type | Job # | Rost. start | Act. start | Rost. finish | Act. finish | Rost. km | Act. km | 209km at | Rel. | Sick hrs |
|---|
| Date | Code | Description | Units | Rate | Amount |
|---|
A quick guide. Not an official Sydney Trains document — this is an independent tool built to double-check your pay.
This is the very first thing to do. Enter the Sunday your fortnight starts on. If you accidentally pick a different day, the app will automatically move it back to the correct Sunday for you.
Once these are filled in, the app can automatically pull in your rostered jobs for the fortnight.
Two buttons do most of the work for you:
For each day, you can set:
Medical or Training or even NAPOD, it doesn't matter — however, every field for that day needs to be filled in by hand, and Rostered km / Actual km are locked (un-editable).1830 becomes 18:30 automatically.Some shifts aren't on your normal roster line — a Standby or a Review Roads shift you picked up on the day. Type these in a special short format and the app will fill in the times for you automatically:
SBY + the 2-digit sign-on hour = a Standby shift. Example: SBY16 means Standby starting at 16:00.RR + the 2-digit sign-on hour = a Review Roads shift. Example: RR13 means Review Roads starting at 13:00.Both of these are always assumed to run for 8 hours. You'll still need to fill in your Actual Start and Actual Finish yourself, since those depend on what really happened that day.
EXD/DEX/SBD/SBG-style code or something you've typed yourself, like Medical or Training — the app knows everything needs filling in by hand.
If you go off sick partway through a rostered shift and don't work the remainder, tick the Relinq.? checkbox and set Actual Finish to the real time you went off duty — not your rostered finish time.
If sick leave was then later used to make up the rest of the rostered shift, enter that remaining time in Extra sick (hh:mm) — this field only unlocks once Relinq.? is ticked.
On mileage jobs that exceed 209 km (either naturally or otherwise amended) the 209km reached at field unlocks when you enter the Actual km as being over 209 km. Enter the time at which you passed 209 km. Whether you are paid OT from that moment depends on whether you hit 209 km within 8 hours of starting your shift.
When entering data, the pay total updates live as you go — no need to press a "calculate" button. Each day's pay breaks down into individual entitlements (Ordinary Hours, Overtime, Loadings, and so on) so you can see exactly where a figure comes from, not just a final number. Click on a day in the Fortnight Pay Summary section to try it out.
The Payslip Summary section lets you:
Save fortnight to file and Load fortnight from file (up near Fill/Match) save or restore your whole entered timesheet — all 14 days, plus Depot, Role, Classification, Line Number and Fortnight start — as a .csv file you keep yourself. Useful as a backup, or for carrying an in-progress fortnight over to another device or browser.
This is a different file to the CSV mentioned in section 8 above — that one is the calculated pay breakdown, for comparing against a real payslip. This one is your raw entered timesheet, for picking up where you left off. Loading a saved file replaces everything currently entered, and asks you to confirm first.
Everything you type is saved automatically in your own browser, on your own device. Nothing is uploaded anywhere or sent to a server. If you clear your browser data, or use a different device or browser, you'll need to re-enter your fortnight.
How this calculator is actually built and checked — what's confirmed against real payslips, and what's still an open question. Kept deliberately general: no names, dates, or figures that could be traced back to a specific person's payslip.
For a shift that crosses into a new calendar day (e.g. a Saturday night into Sunday morning), part of the pay depends on whether the shift's ROSTERED length or its ACTUAL length is used as the basis. We've confirmed this against several real payslips — but two real payslips, for a structurally identical shift shape, were paid using the opposite basis to each other. We don't know what determines which applies, and it's possible this reflects inconsistent processing rather than a documented rule.
Our general, confirmed rule is that a shift's rostered length is what counts for this same calculation, not how long it actually ran. But the same job, on two real payslips for the same person, showed this holding when the shift ran only slightly over its rostered time — and not holding (switching to the much longer actual length instead) when it ran a long way over. We don't yet have enough data to know where the line is, or if there's a clean one at all.
A particular allowance (paid when sign-off falls in a specific early-morning window) has appeared reliably on every real payslip we've checked it against, except one person's fortnight, where three qualifying shifts were all missing it. One of those three is now explained: this allowance turns out to only apply when sign-off falls on a weekday, and that particular shift's sign-off fell on a weekend — a restriction we'd missed. The other two both have weekday sign-offs and clearly should qualify under that same rule, yet the allowance is still absent from both, with no explanation found so far.
Confirmed the rate depends only on which calendar day the 8-hour mark (from sign-on) lands on — not which day sign-on itself falls on, which an earlier version of this calculator assumed.
Confirmed the split between the two calendar days uses whichever of rostered or actual start time matches whether the shift finished later than rostered or not — not always the same one.
Confirmed this is always determined by actual start time, not rostered start time — even when the two fall in different bands.
Confirmed a "round to the nearest hour" rule applies to both Guards and Drivers — an earlier version of this calculator assumed it only applied to Guards.
Confirmed the qualifying window starts strictly after 1:00am, not from exactly 1:00am.
Confirmed this allowance only applies when the sign-off falls on a weekday — a shift signing off on a Saturday or Sunday doesn't qualify, even if the time of day would otherwise be within the window. Checked against every real payslip data point available; all of them are consistent with this rule.
Confirmed this allowance is excluded specifically when the day involves a genuine credited-time adjustment (actual sign-on later than rostered, per a job amendment, but finishing earlier) — but not excluded on other kinds of time adjustments.
Confirmed that a later actual sign-on than rostered (per a job amendment) only gets credited back toward ordinary/overtime hours if the shift ALSO finished earlier than rostered. A later sign-on with an exact on-time finish gets no credit — there's nothing to credit back, since that time was never actually part of the working day.
Confirmed this pays for all remaining worked time through to the shift's natural end once the distance threshold is passed, not just up to the 8-hour mark.
Choose the first and last day of the leave block. Only days within this range are changed — everything outside it is left exactly as it is. Leave both at their defaults to mark the whole fortnight, same as before.