There are behind the scenes NPSP fields on the Contact, Account and Opportunity objects. This post describes the fields and how they are typically populated.
The system fields on the Contact and Account should contain values based on the NPSP Account model used by your organization. Those Account Models are One-to-One Individual, Bucket Individual and Household Account.
The proper field settings for the account model field combinations are shown below:
One-to-One Account model
npe01__SYSTEM_AccountType__c (text): "One-to-One Individual"
npe01__SYSTEMIsIndividual__c (checkbox): TRUE
npe01__One2OneContact__c (lookup): Contact record ID
Household Account model
_SYSTEM:IsIndividual: TRUE
_SYSTEM:AccountType: Household Account
RecordType/RecordType.Name: Household Account
Account Type/Type := a picklist that can be customized as an organization's chooses.
Settings for Organization
_SYSTEM:IsIndividual: FALSE
_SYSTEM:AccountType: <blank>
RecordType/RecordType.Name: Organization
Opportunity Fields
On an Opportunity record you will see two fields one called Contact Id For Role Synching and Primary Contact.
The Contact Id For Role is a legacy field and is no longer used by NPSP and is left blank when entering data via the front end. If you import information into this field it will create a Contact Role but in general should not be used. The proper field is the Primary Contact on the opportunity. When populated this updates the Primary Contact Role.