Training.gov.au (TGA) Unit Sync
training.gov.au (TGA) Unit Sync
🔒 Pro feature — requires the Pro plugin.
Typing unit codes, titles and AQF levels into a spreadsheet by hand is slow, and typos are easy to make. TGA Unit Sync looks the details up on training.gov.au, Australia’s national register of VET qualifications and units, and saves them straight into your unit library. You can sync one unit at a time, or bring in every unit of a qualification or training package in one go.
This feature is for RTO administrators and compliance managers. It adds to the CSV import and the manual Add Unit form rather than replacing them (see Unit of Competency Matrix), and you can use all three methods together.
Requirements and where to find it
You need all three of these:
- Dantian Attestation Core Pro active, with a valid licence.
- Settings → General → Industry set to RTO — Registered Training Organisation (Australia).
- A user with the manage-units permission (administrators by default).
Then go to Attestation Core → Units of Competency. The Sync unit from training.gov.au panel sits above the units list. When you add or edit a unit, a note at the top of the form links back to this lookup.
When it’s locked: without Pro, or with Pro on a non-RTO industry, the panel doesn’t appear. If the Pro licence is inactive, the panel is hidden, and any lookup that’s submitted fails with “A valid Pro licence is required for TGA sync.” Units already in your library aren’t affected.
Configuration
There are no settings and no API key. training.gov.au’s public data needs no account. The feature works as soon as the requirements above are met.
A few advanced values can be set in wp-config.php by whoever manages your hosting. You normally won’t need them.
| Constant | What it does | Default |
|---|---|---|
ATTESTATION_CORE_PRO_TGA_TIMEOUT |
Seconds to wait for each training.gov.au request (minimum 5). | 30 |
ATTESTATION_CORE_PRO_TGA_SSLVERIFY |
Set to false only on a local test site with certificate problems. |
true |
ATTESTATION_CORE_PRO_TGA_PACKAGE_MAX_UNITS |
Upper limit on units brought in by one qualification import. | 250 |
Syncing a single unit
- In the panel, type a unit code such as
HLTAID011in the first box. Codes are 3 to 30 characters: letters, digits, dot, hyphen or underscore. They’re converted to upper case. - Click Lookup & sync.
- A message confirms the result, for example “Unit HLTAID011 created from training.gov.au.” or “…updated from training.gov.au.”
Importing a whole qualification or training package
- In the second box, type a qualification code (such as
HLT52215) or a training package code (such asHLT). - Click Import qualification/package units.
- When it finishes, you’ll see “Qualification/package CODE sync complete. Created: N, updated: N, skipped: N.”
A large qualification can take a while, because each unit is looked up in turn. Keep the page open until the message appears.
What’s fetched and saved
For each unit, the plugin saves:
- Unit code and the current official title
- Training package code. If training.gov.au doesn’t supply one, it’s worked out from the unit code.
- AQF level. For a qualification import with no unit-level value, it’s taken from the qualification code, for example 5 for HLT52215.
- Unit type (Core or Elective), where training.gov.au provides it
- Cluster: the training package title (for package imports), otherwise the training package code
When you import a qualification, the plugin also creates or updates that qualification on your Qualifications screen, with its code, title and AQF level, and marks it active. Every imported unit is linked to the qualification as core or elective, so the qualification shows up in the units list’s Qualifications on Scope column and in the matrix’s qualification filter.
How existing units are treated
- New units are created Active. Existing units keep their current Active or Inactive status.
- An existing unit’s title, package, AQF level and type are overwritten with the training.gov.au values. Your values are kept only where training.gov.au returns a blank.
- The cluster is overwritten with the package title or package code. If you use your own cluster names, check them after a sync, or put them back with Set cluster on selected on the units list.
- A unit returned without a title is skipped and counted in skipped.
When it runs
Sync happens only when you click a button. There’s no scheduled background sync, and nothing changes in your library by itself. If a training package is updated on training.gov.au, run the lookup again to pick up the new titles. After every sync that creates or updates units, the Competency Matrix cache is cleared so the matrix shows the change straight away.
Outbound data disclosure
TGA sync is the only part of the RTO module that contacts an outside service, and only when you click a sync button.
- Where requests go:
https://training.gov.au. That covers the public training API under/api/, and the public Training Details web page for a code, which is used only as a fallback (see below). - What’s sent: the unit, qualification or package code you typed, in the web address. Like any WordPress outgoing request, it also carries your site’s standard WordPress identification (WordPress version and site address).
- What’s not sent: no trainer names, emails, evidence, documents or other personal or compliance data.
- What comes back: public unit and qualification details, saved in your own database.
If the training API returns no units for a package code, the plugin reads the public training.gov.au details page for that code instead and looks up each unit it finds. This fallback is on by default.
Pro adds a paragraph about training.gov.au to the suggested text for your privacy policy (Settings → Privacy in WordPress). See also Privacy, security and data.
Permissions
Only users with the manage-units permission can see the panel or run a sync. Coordinators and trainers can’t. Synced units then behave like any other unit in the library.
Errors and troubleshooting
| Message | What it means and what to do |
|---|---|
| Enter a valid unit code (e.g. HLTAID011). | The code has spaces or punctuation, or is outside 3–30 characters. Remove them and try again. |
| No unit details found for CODE on training.gov.au. | The code doesn’t exist, has been superseded, or isn’t published yet. Check the current code on training.gov.au, or add the unit manually. |
| No units were found for qualification/package CODE. | Check the code. A unit code typed into the package box won’t return a list. |
| training.gov.au returned HTTP nnn. (or a similar “…lookup returned HTTP” message) | training.gov.au refused or failed the request. Try again later. |
| training.gov.au … request timed out… | The service was slow, or your server couldn’t connect. Each request is tried twice. Ask your host to raise ATTESTATION_CORE_PRO_TGA_TIMEOUT, or to check that outgoing HTTPS connections are allowed. |
| HTML scraping found no unit codes for package CODE… | The API returned nothing and the fallback page didn’t list units either. The training.gov.au page layout may have changed. Use CSV import for this package. |
| A valid Pro licence is required for TGA sync. | Reactivate your licence under the Licence tab in Settings. |
Worked example
Coastal Care College is adding HLT54121 Diploma of Nursing to its scope.
- The compliance manager opens Units of Competency, types
HLT54121in the second box and clicks Import qualification/package units. - The message reports “Created: 25, updated: 2, skipped: 0”. The two existing units were first aid units already in the library.
- On Qualifications, HLT54121 now appears with 27 units.
- She checks the cluster column, then assigns the new units to the nursing trainers on each trainer’s Units tab. On the Matrix she filters by the new qualification to see coverage.