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
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.

