CharityStack
Menu
← Blog

Map fundraising records before CRM fields

Plan nonprofit CRM field mapping with a record contract, stable IDs, clear ownership, and lifecycle tests before automatic sync.

C

CharityStack

·5 min read

Editorial card about mapping fundraising records over an Aurelia painting of pink and white flowers against a turquoise sky.

A useful nonprofit CRM field mapping starts with records, not columns. Before you enable an automatic sync, write down the source record, destination record, write direction, stable identifier, and failure owner for each part of the donation path. Then test what happens when a gift is created, updated, refunded, or rejected.

That record contract is the difference between moving data and preserving its meaning.

Begin with the records the integration must preserve

List the fundraising records that staff need after checkout. A typical path may include a person or organization, a gift, a campaign or designation, and a recurring plan. Your systems may name those records differently, and some may not support all of them.

Do not start by matching every field with a similar label. First pair each source record with the destination record that should represent the same thing.

Fundraise Up's current integration overview describes a mapping through four parts: the source object and property, followed by the destination object and property. Donorbox's Salesforce guide shows why the object choice matters. Its integration handles campaigns, accounts, contacts, and opportunities separately, and creates an opportunity only after the related campaign, account, and contact are created or identified.

A field called “name” could describe a campaign, a donor, an organization, or an attendee. Matching the labels without matching the records can put a correct value in the wrong place.

For every record pair, capture five decisions:

  1. Source record: where the fact originates.
  2. Destination record: where staff expect to use it.
  3. Write direction: which system may create or change it.
  4. Stable identifier: how the same record is recognized on the next sync.
  5. Exception owner: who reviews a record that cannot be matched or written.

Keep this contract short. If a mapped value does not affect a receipt, reconciliation, follow-up, segmentation rule, or staff decision, it can wait.

Give changing facts one write direction

The difficult mappings are facts that can change in either system: contact details, communication choices, campaign names, designations, gift status, and recurring-plan status.

Choose one source for each material fact. The other system may display a copy, but it should not silently become a competing editor. If both systems can write the same field, define the conflict rule before the first sync. “Most recent value wins” can erase a deliberate correction when timestamps reflect sync timing instead of staff intent.

Current vendor behavior is specific to each connector. Fundraise Up's Salesforce settings map supporter details, donation amounts, campaigns, and recurring plans to different Salesforce records. The same guide documents conditional mapping rules and a set of donation states that includes pending, retrying, refunded, failed, and disputed payments. Those examples are useful questions for your own connector; they are not a universal Salesforce design.

Custom data needs the same record discipline. Fundraise Up's current Nonprofit Cloud guide maps donation data to several destination records, including person accounts, gift transactions, campaigns, designations, and recurring commitments. Ask what a value describes before choosing its destination field.

Separate matching rules from field mappings

A field map says where a value goes. A matching rule decides whether the destination record already exists. Review those as two different controls.

For contacts, document which combination of values proposes a match and what happens when the result is ambiguous. Do not assume an email address always represents one person or that a shared postal address means one household. For gifts and recurring plans, prefer a stable source identifier carried into the destination. Fundraise Up's Salesforce setup, for example, exposes Fundraise Up gift and recurring identifiers on the destination records.

The pass condition is not “the first donation appeared.” It is “the same source record is recognized when the integration sees it again.” If your connector does not expose a durable identifier or its matching behavior, treat that as an unresolved design decision.

Test four events before automatic sync

Use a sandbox or the vendor's approved test path when one is available. Keep automatic sync off until you can inspect these four events end to end:

  1. Create: a new test gift creates or links the expected contact, gift, campaign, and recurring records.
  2. Update: a permitted source change updates only the intended destination field and leaves unrelated staff edits intact.
  3. Refund or status change: the gift's destination amount and status follow the connector's documented rule without creating a second gift.
  4. Exception: an invalid value, missing permission, or ambiguous match becomes visible to the named owner instead of disappearing.

Record the source ID, destination ID, starting values, resulting values, and sync evidence for each test. Remove or clearly label test records when the test is complete.

This is where a lean team should be willing to stop. Current nonprofit discussions describe integrations that did not align with both systems and recurring manual work reshaping and validating donation data from many sources. That is qualitative evidence of a real operating problem, not a failure-rate estimate. If the connector cannot pass the four events predictably, use a controlled donation import workflow while the mapping is repaired.

Make the integration earn its switch

Turn on automatic sync only when the record contract names every material owner, the four-event proof passes, and staff can find the exception queue. Save the tested configuration date and assign a review whenever either system changes its objects, fields, permissions, or status rules.

Keep a usable fundraising data export even after the integration works. An integration moves records between systems; an export proves your team can still inspect and reconnect them outside the connector.

Keep fundraising records connected

Explore CharityStack for connected forms, payments, contacts, subscriptions, receipts, and payouts.

Start Fundraising Free →