DonorPerfect Refunds
How a refund in BetterUnite is mirrored into DonorPerfect as a gift adjustment.
How a refund in BetterUnite is mirrored into DonorPerfect, and what the resulting records look like on the constituent.
Why a refund is not one record
DonorPerfect has no "refund this gift" call. Their model for changing a gift's value is an adjustment chain: the original gift stays exactly as it was, and two more records are written alongside it that together say what it became.
When you refund a transaction in BetterUnite and the original gift was synced, the next sync writes that chain for you. Nothing needs to be done by hand.
What appears on the constituent
- The original gift keeps its amount unchanged and is marked as an adjusted gift, so the history of what was actually received stays intact.
- The adjustment carries the refunded amount as a negative figure and is linked to the original. This is the record that shows the money going back.
- The resulting gift carries what the donor kept and is linked to the original. This is the record your reports count.
A full refund produces a resulting gift of zero, which DonorPerfect records as a canceled gift. A partial refund produces a resulting gift at the remaining amount, and the original and adjustment explain the difference.
Do not delete any of the three records. They only make sense as a set. Deleting the adjustment leaves a gift whose value nothing explains; deleting the resulting gift leaves the original counted at full value.
Turning it on
There is no separate switch. Refunds are mirrored whenever Send donations as gifts is on, because a refund is an adjustment to a gift the integration itself sent.
In a scheduled run, refunds are processed after donations, so a transaction refunded on the same day it was taken still gets its gift written first and adjusted second.
What gets mirrored
- Only refunds against transactions that were synced to DonorPerfect. A refund of a transaction that never went over has nothing to adjust.
- Refunds from the last 90 days. Refunds are rare, and the window keeps a run from re-checking years of history every night.
- At most 100 refunds in one run.
A refund older than the window, or one that failed repeatedly, is best handled in DonorPerfect by hand.
If a refund fails partway
The three records are written one at a time and DonorPerfect has no way to undo any of them, so the order is chosen to make a partial failure as harmless as possible: the resulting gift is written first and the original is marked as adjusted last.
If a run is interrupted, the worst case is an untidy chain rather than a misleading total. Re-running the sync completes it. If the same refund keeps failing, the reason is recorded against the transaction in BetterUnite.
Refunding in DonorPerfect instead
The sync only reads refunds from BetterUnite. A refund you enter in DonorPerfect by hand stays there and is not reflected back into BetterUnite, and it does not stop BetterUnite mirroring a later BetterUnite refund of the same gift. Refund in one place, and let it flow.