Summary
It is sometimes noticed that certain custom fields do not appear in the customer portal when the ticket is viewed. Such fields are visible in the internal agent view, however they are missing from the customer's view on the portal.
Cause
This happens because these custom fields do not have a value filled in.
The intended behavior for fields in the customer portal is that they are not shown unless they have a value populated.
In the Agent view, custom fields are displayed even when they do not have a value, but that is the internal view visible to agents and so the behavior is different. Fields are displayed in the internal agent view as long as they have been added to the view screen.
If the custom field is present on the edit screen, the agent can also edit the field to add a value.
At the moment it is not possible to edit issues via the Customer portal. Only licensed users will be able to edit fields and it must be done via the internal agent or Issue View. So if a customer or agent does not enter any value in a custom field at the time of issue creation, the field would not be shown in the portal when viewing the ticket.
The field needs to have a value for it to be visible in the customer portal.
This is highlighted in the documentation here:
Related Feature Request suggesting the implementation of the ability to edit fields in the customer portal: