NPC tracks soft credits as GiftSoftCredit records: one row per credit, attached to a GiftTransaction, with a PartialAmount and a Role.
Core fields
Role is always Soft Credit today, regardless of the actual relationship. WeGive has a role-lookup table (household member, solicitor, matched donor, influencer, honoree, third-party donor) intended to write a more specific Role value, but it keys off a type field that doesn’t exist anywhere on a WeGive soft credit — the lookup always falls through to its default. This is a known issue.
Linkage (create-only)
Pull behavior
Soft credits are pulled separately from their parent transactions. A soft credit whose recipient or transaction has not yet synced to WeGive is skipped and retried on a later pull. Deleted GiftSoftCredit records soft-delete the WeGive soft credit when Pull deleted is on.