Overview
To sync recurring donation payments to Salesforce, Goodworld creates one opportunity for the full pledge and then syncs each payment as a Payment record linked to that opportunity. Five settings must be configured consistently for this to work: the campaign's recurring duration, the Payment record mapping, the Transaction Salesforce ID mapping, the Do Not Automatically Create Payment flag, and the Payment auto-sync toggle.
When everything is set up, the flow looks like this:
A donor starts a recurring donation on a campaign with a defined number of months.
Goodworld creates a single transaction for the full pledge amount and syncs it to Salesforce as one opportunity.
Each time a recurring payment is processed, Goodworld creates a Payment record in Salesforce and links it to that opportunity.
Salesforce does not create any payments of its own, so the integration is the single source of payment records.
Before you begin
Make sure you have the following in place:
An active Salesforce integration connected to your Goodworld account.
Admin access in Goodworld to edit campaign settings, Field Mapping, and Auto-Sync Settings.
The Payment object available in your Salesforce org (for example, through the Nonprofit Success Pack), with a lookup field that connects each Payment to an Opportunity.
Configure payment sync
Complete all five steps below. If any one is missing, payments may not sync or may not link to the right opportunity.
Step 1: Set the campaign to a defined recurring duration
In the campaign settings, set recurring donations to process for a defined number of months. Twelve months is the most common choice.
With a defined duration, Goodworld creates a single transaction for the full pledge amount (for example, $25 per month for 12 months = $300). That transaction syncs to Salesforce as one opportunity for the whole amount, which the individual payments will later attach to.
Step 2: Map the Payment record to a Salesforce object
In Field Mapping, map the Goodworld Payment record to a Salesforce object. In most orgs this is the Salesforce Payment object.
Step 3: Map Transaction Salesforce ID to the Opportunity lookup
In the Payment field mapping, map Transaction Salesforce ID to the Salesforce field that connects a payment to its opportunity. For the Payment object, this field is Opportunity.
This is how each Payment record attaches to the opportunity that was synced for its recurring transaction or pledge. Without it, payments will sync as standalone records with no parent opportunity.
Step 4: Turn off Salesforce automatic payment creation
In the Transaction to Opportunity field mapping, map the literal value TRUE to the Salesforce field Do Not Automatically Create Payment.
This stops Salesforce from generating its own payment schedule when the opportunity is created. All Payment records will then come from the Goodworld integration, which prevents duplicate or mismatched payments.
Step 5: Enable auto-sync for new payments
Under Auto-Sync Settings, turn on the On create toggle for Payment.
With this enabled, the first payment syncs right after its opportunity is created, and each later recurring payment syncs automatically as it is processed.
Setup checklist
Setting | Where | Value |
Recurring duration | Campaign settings | Defined number of months (usually 12) |
Payment record mapping | Field Mapping | Salesforce Payment object |
Transaction Salesforce ID | Field Mapping, Payment | Opportunity |
Do Not Automatically Create Payment | Field Mapping, Transaction to Opportunity | TRUE |
Payment On create | Auto-Sync Settings | Enabled |
Billing Frequency (if mapped) | Field Mapping | Added with the Picklist Fields option |

