Every field, action, control, and named object introduced by this extension carries theDocumentation Index
Fetch the complete documentation index at: https://human-resource-docs.ha-consultancy.com/llms.txt
Use this file to discover all available pages before exploring further.
HAC suffix (short for Hamwi Computer Software).
Why
Microsoft requires AppSource extensions to use a unique object-name suffix on every custom element so two extensions installed in the same tenant cannot accidentally pick the same identifier.HAC is the publisher’s reserved suffix.
Where it applies
| Element | Example |
|---|---|
| Table | Employee Loan HAC |
| Field on a new table | Code HAC, Amount HAC, Employee HAC |
| Field added to a standard BC table via tableextension | Branch HAC on Employee, Shift HAC on Employee Templ. |
| Page | Employee Loan HAC |
| Codeunit | Install Codeunit HAC, HR Demo Data HAC |
| Enum | Announcement Severity HAC, Announc. Target Audience HAC |
| Permission set | Human Resource HAC |
| Control add-in | Roster Scheduler HAC |
| Web service service name | APIManageEmployee (the service name is exposed externally without the suffix to keep URLs readable; the underlying codeunit name carries it) |
Where it does not apply
- Standard BC field names that the extension uses without modifying (e.g.
Employee."No."). - Captions shown to end users — captions are localised display strings and do not need to be unique.
- File names in
BC-Human-Resource-AL/src/— these follow the BC tooling conventionTab70003132.EmployeeLoan.al. - React component names, ASP.NET class names — these live outside BC’s object namespace.
Adding new objects
When extending this codebase:- Pick the next available object ID in the right sub-range (see Object-ID allocation).
- Append
HACto the object name and to every field name. - Add the new object to
PermissionSet.HumanResourceHAC.al(and toextensionsPermissionSet.xmlfor AppSource). - If the new field is on a tableextension, use a field number in the publisher’s reserved range (e.g.
70003100upwards on the Employee table).
A linter / CI rule on the AL build will eventually surface objects missing the suffix; until then, code review is the safety net.

