OData $metadata in Acumatica only exposes the data schema (field names, types, etc.) and does not include UI-level attributes like dropdown values.
The values you see in dropdowns (e.g., Status = N, H, P, etc.) are defined in the DAC using attributes such as PXStringList or PXIntList, which are part of the application layer and are not exposed through OData or standard REST endpoints.
Because of this, there isn’t a direct way to retrieve these values from $metadata. Common approaches are:
Maintain the mapping on the client side (e.g., TypeScript enums/unions), or
Expose the values via a custom endpoint or Generic Inquiry if you need them dynamically.
So, in short, this is a limitation of OData metadata in Acumatica rather than something missing in your implementation.
The values you showed:
N → Open
H → On Hold
P → Pending Approval
These are defined in DAC using:
[PXStringList(new[] { "N", "H", "P", ... },
new[] { "Open", "On Hold", "Pending Approval", ... })]
This exists only in server-side C# (DAC / attributes)
Not exposed in:
->OData metadata
->REST endpoint
Create a Generic Inquiry (Practical)
Create GI with:
Hardcoded values (or lookup table if exists)
Expose via OData
Then your TS generator can consume it