When to Use This
You may need this if you're seeing errors like:
No such column 'npsp__Batch_Number__c' on sobject of type npe01__OppPayment__c
or other INVALID_FIELD
errors in your Salesforce integration logs. These typically indicate that the System Administrator profile does not have read or edit access to a required field.
How to Check Field Permissions via SOQL
-
In Salesforce, go to Developer Console.
-
Open the Query Editor tab.
-
Paste and run this query to see all field access for the System Administrator profile:
SELECT SObjectType, Field, PermissionsRead, PermissionsEdit
FROM FieldPermissions
WHERE Parent.Profile.Name = 'System Administrator' -
To find all fields the System Administrator profile cannot edit, use:
SELECT SObjectType, Field
FROM FieldPermissions
WHERE Parent.Profile.Name = 'System Administrator'
AND PermissionsEdit = false -
To find all fields it cannot read, use:
SELECT SObjectType, Field
FROM FieldPermissions
WHERE Parent.Profile.Name = 'System Administrator'
AND PermissionsRead = false
How to Update Field-Level Security
SOQL queries are read-only. To change field-level access, follow these steps:
-
Go to Setup > Object Manager.
-
Select the object that contains the field (e.g.,
Opportunity
,npe01__OppPayment__c
). -
Click Fields & Relationships.
-
Select the field in question.
-
Click Set Field-Level Security.
-
Ensure that System Administrator (and any other relevant profiles) has the necessary visibility or edit access.
Best Practices
-
Even the System Administrator profile may not have access to custom or managed package fields by default.
-
If you plan to use a field in a WeGive mapping or sync process, ensure it is visible and editable for the integration user.
-
Consider auditing field-level security for all critical objects in advance to avoid integration issues later on.