Closing two hundred work orders used to mean two hundred page loads — or a note to your system administrator. The new Bulk Actions page hands that job to whoever already has the rights to do it one at a time, and shows you every result as it lands.
What changed
The old Bulk Actions page lived under Admin > SysAdmin Pages and was exactly that - SysAdmin only. If you needed forty work orders closed at month-end, you raised it with someone who had the keys, and they ran it on your behalf.
That page has been retired. In its place is a page anyone can open, which decides what you may do by asking the same questions TrakIT asks when you close a single work order from its own screen: do you have the permission for this action, and can you see this record at all? Nothing new was unlocked. What changed is that you no longer need a middleman to use rights you already had.
The second change is how a run feels. The old page did the whole list in one round trip and showed you a block of text when it finished — no progress, no way to intervene. The new page processes one record at a time and writes each result to the screen the moment it completes, so you can watch it work and stop it if something looks wrong.
Where to find it
Two menu entries, both opening the same page on the tab you'd expect:
Operations › Bulk Operations › Bulk Actions — opens on Work Orders, alongside Bulk Create and Bulk Update.
Finance › Bulk Actions — opens on Finance Jobs, just under Accounts.
You can switch tabs once you're there, so it doesn't matter much which door you came through. If you only have rights on one side, you'll only ever see that one tab.
A sample result for closing work orders is shown below:
What you can do
The same operations that exist on the work order and finance job screens are applied down a list. Each one enforces its own permission, exactly as it does when you run it singly.
Reserved for SysAdmins
Three things stay behind the administrator line, because each one pushes past a check the rest of TrakIT relies on:
Delete — the only action here that cannot be undone by running something else.
Bypass Custom Validations — skips the workflow validations your business has configured.
Force Close (Finance) — closes a job without the unapproved-invoice and unvalidated-bill checks.
For everyone else, these simply aren't on the page. Where an option is visible but unavailable, the page says why rather than leaving a dead control.
Only your records
Pasting an ID does not grant you anything. Every record in the list is checked against your own access before it is touched, using the same rules as the rest of TrakIT:
- Work orders are matched against the workflows assigned to you, plus any work order filter on your account and any custom SQL filter your company has set.
- Finance jobs are matched the same way the finance job screen matches them before it will open one.
- Companies in the Finance tab are limited to the offices you're linked to, plus your own.
An ID you have no access to comes back as Failed — Work Order not found or no permission — and the run carries on to the next one. So a list that mixes your records with a colleague's does the part that's yours and reports the rest, rather than failing wholesale.
Reading the results
Each row carries the ID as a link you can open in a new tab, the job number and container so you can recognise the record without clicking, the outcome, and the status the record ended up in.
A Success row means the action went through. A Failed row carries the reason next to it in the words TrakIT would have used on the record's own screen — WO is already closed, Cannot close job with unapproved invoices, Items not committed. Failures are information, not errors: a list assembled from a report will often contain records someone else already dealt with, and those rows tell you so.
Above the rows, five counters: Total, Done, Success, Failed and Elapsed. Success turns green and Failed turns red only once they're above zero, so a clean run reads as clean at a glance. Elapsed ticks in tenths of a second and stops the moment the run does.
When it's over, Copy Results puts the whole log on your clipboard, tab-separated — paste it straight into Excel.
Stopping a run
Stop halts the run after the record currently in flight. Anything still on the list is never attempted, and the final line tells you how many were left untouched.
Stop is not undo. Records already processed have already been changed and stay that way — there's no rollback. If you stop a run at 40 of 200, those 40 are done. Re-open or re-run as needed, but treat what's finished as finished.
This is also why the page works through the list one at a time rather than firing everything at once: a run you can see is a run you can stop before it gets where you didn't want it to go.
Limits and guard rails
4,999 records per run, and 99 for Reset, which is considerably heavier than the rest.
Every record is re-checked on its own. Status rules still apply — a work order that's already closed reports that instead of being closed twice, and a job that isn't approved yet can't be closed.
Everything is logged. One audit entry records the run — who, which action, and the full list of IDs — and each record keeps its own entry in its own history, with your reason attached, exactly as if you'd done it by hand.
Which is the short version of the whole design: a bulk run leaves the same trail as doing it one at a time, because underneath, that's precisely what it is.
For administrators
The two menu entries are added by a migration script that also removes the old Admin › SysAdmin Pages › Bulk Actions row, since that page no longer exists in the application.
No new permissions were introduced. If someone can close a work order from its own screen today, they can close a list of them tomorrow; if they can't, the page won't let them. Access is adjusted where it always was: in role permissions.
For any questions or concerns, please contact TrakIT Support.