All work
Systems Integration

Donation Sync Engine

Keeps donor and donation data in perfect sync between Pushpay and SiteStacker, automatically.

PHPPushpay APISiteStacker APIOAuthLaravel ForgeMySQL
Visit live site
Donation Sync Engine, Systems Integration

Overview

A large non-profit's giving data lived in Pushpay while its CRM lived in SiteStacker, and keeping the two in agreement was a manual, error-prone chore. Sole IT built adventures.tools: an integration engine that imports, matches and syncs donors and donations both ways, with de-duplication so records stay clean.

The challenge

Donations recorded in the giving platform had to be reflected accurately in the CRM, and donor records constantly drifted out of sync. Manual reconciliation was slow, and duplicate or mismatched accounts corrupted reporting.

What I built

  • Built a PHP integration service (deployed on Laravel Forge) talking to both the Pushpay and SiteStacker APIs with OAuth token handling.
  • Created a CSV import and matching pipeline that reconciles donors and de-duplicates accounts.
  • Implemented two-way sync so donations and donor updates flow correctly between both systems.
  • Added a reports dashboard and a safe deploy pipeline with a secret-leak guard.

Key features

Two-way sync

Donors and donations stay consistent across Pushpay and SiteStacker.

De-duplication

Account matching keeps records clean and reporting trustworthy.

CSV import pipeline

Bulk donor data imported, validated and reconciled automatically.

Secure by design

OAuth token handling and a deploy pipeline with secret-leak protection.

The outcome

Accurate donor records with no manual reconciliation

Clean, de-duplicated data for trustworthy reporting

A reliable, auditable sync running in production at adventures.tools

Have a project like this?

Let's build something that works and earns. First reply within a day.