Account object person contact fields such as PersonEmail cannot be modified by users even though the fields are on Page Layouts, are not marked Read-only on the layouts, and Account records are being shared correctly.
Standard Account object person contact fields are managed separately from and are not visible on Profile or Permission Set based Field Level Security (FLS).
- Navigate to: Setup --> App setup --> Customize --> Accounts --> Fields.
- On the top of the page, the 3rd sentence from the top reads: For reference, contact fields that are available for person accounts are included on this page and indicated by the person account icon. Click here to manage contact fields.
- Click the here link.
- Find the field in question
- Click on the field (not on Edit next to the field).
- Click the Set field level security button.
- Choose which profile should have Visibility and Edit access.