An NGO ERP integration should specify more than the two systems it connects. It needs to explain which records move, which application owns them, what the connection may change and how staff recover when a transfer fails. These responsibilities are especially important for payments, payroll and personal information.
Treat each interface as an operational workflow with an owner. A successful test request establishes connectivity, not reliable business processing. The design is ready for evaluation when it also explains duplicates, rejected records, corrections, reconciliation and authorised recovery.
Which system owns each object?
For broader context, see ERP integration architecture. The NGO-specific design must preserve award, fund, programme and entity identifiers across bank, payroll, donor and reporting endpoints.
Create an ownership map for donors, awards, suppliers, employees, payments and programme indicators. Specify where each object is created and which application may update each relevant field. Two systems can hold copies without having equal authority to change them.
Set ownership boundaries across ERP, accounting, CRM and grant management applications. For example, a donor CRM may own relationship details, while finance owns a posted receipt. A payroll provider may calculate payroll while ERP receives an approved accounting summary. Keep these events distinct.
Include stable identifiers and lifecycle states in the data contract. “Employee active” may mean different things in payroll and access management. Agree the mapping and the action taken when a source record is missing, closed or inconsistent.
Read access does not authorise a write
Classify each connection by business authority. Reading approved totals for business intelligence, or BI, is different from creating a supplier or instructing a bank payment. Separate credentials and permissions where the risks differ.
| Connection | Typical Decision To Specify |
|---|---|
| Bank or payment service | Who authorises the instruction and confirms settlement? |
| Payroll | Which approved result enters finance, and who reconciles it? |
| BI platform | Which records may be copied and how is access preserved? |
| Single sign-on | What identity is trusted, and how are roles revoked? |
| Programme system | Which indicator definitions and periods accompany results? |
For programme cost and result reporting, preserve aggregation rules as well as identifiers. An interface that copies every row correctly can still produce incorrect totals if downstream joins multiply expenses or participants.

Identity and payment services have distinct responsibilities
Single sign-on, or SSO, connects identity authentication, but application permissions still need governance. Specify how new users receive roles, how assignment changes are applied and what happens when access is withdrawn.
The security requirements should cover service accounts, exported data and privileged actions. An integration user should receive only the authority needed for its purpose. A reporting connector does not need payment-release privileges simply because both use the same application programming interface (API).
For payment workflows, distinguish preparation, approval, submission, acceptance and settlement. A successful transport response may mean the provider received a request, not that funds settled. Retain the external reference and reconcile later status changes to the original approved instruction.
A small interface contract
This event model is an integration design example, not a Causeway API specification.
| Field | Example | Required Interpretation |
|---|---|---|
| event_id | EVT-001 | Stable provider event identity for deduplication |
| event_type | donation.settled | Business event, separate from delivery status |
| gift_id / provider_reference | GIFT-01 / PAY-01 | Link CRM gift and processor transaction |
| gross / fee / net | 100.00 / 3.00 / 97.00 USD | Separate amounts; net = gross minus fee |
| occurred_at | 2026-03-31T23:50:00Z | Provider business-event time |
| received_at | 2026-04-01T00:05:00Z | Integration receipt time |
| schema_version | 1 | Agreed field and state meaning |
The donor CRM owns the supporter and gift intent; the processor owns payment outcome; finance owns the approved posting; BI receives approved reporting records; the identity provider authenticates users while ERP authorises their actions. An award system owns accepted grant conditions until that responsibility is explicitly transferred.
The flow is CRM gift → processor payment → verified event intake → reviewed ledger posting → bank reconciliation. On a timeout after EVT-001 was accepted, query the original reference, then replay only under the provider contract. The expected result remains one USD 100 gift, one USD 3 fee and one USD 97 net receipt. A duplicate event is recorded as another delivery attempt, not another gift.
A lost response does not prove a failed transaction
Suppose a payment request is sent and the connection times out before the response arrives. The receiving system may already have accepted it. Blindly sending a new business request can create a duplicate. The recovery process should first establish the status of the original request using a stable reference and the provider's supported behaviour.
Where supported, an idempotency key identifies repeated attempts at the same operation. It does not replace the need to understand the receiving system's guarantees, expiry rules and business semantics. Record attempts separately from the business transaction so an operator can see what happened.
Reconcile counts, values and statuses over a defined population. A source total matching a destination total does not prove every individual record is correct if duplicates and omissions offset one another. Include identifier-level exceptions and an owner for resolving them.
Who sees the failure and recovers the record?
Define what creates an alert, who receives it and what action they may take. Distinguish temporary failures from invalid data and authority problems. Repeating an invalid request every minute does not resolve its cause and can obscure more important incidents.
Maintain a controlled queue for failed or unresolved records. Operators should see the source reference, error category, attempts, current status and next action without exposing unnecessary personal data or secrets. Recovery actions need an audit trail.
Include these dependencies in the implementation plan. External providers may require credentials, test environments, approval or contractual arrangements. An integration cannot be considered ready merely because the ERP team completed its side of the code.
Test interface dependencies
Use test records to test normal processing, timeout, duplicate attempt, invalid identifier, revoked credential and out-of-order update. Calculate expected records and totals in advance. Confirm that monitoring detects the failure and that the authorised operator can recover without creating a second transaction.
Test reconciliation after a correction. If the source changes a posted record, decide whether the destination receives an amendment, reversal or another governed event. Do not allow an interface to silently rewrite financial history without the approved treatment.
Document the supported version, rate or volume constraints where relevant, and responsibility for changes. A connector requires maintenance when either system evolves. Include that work in the operating scope and cost comparison.
An implementation reference is useful when it identifies the interfaces and responsibilities involved. Compare the connected NGO operating-model case study with your own integration boundary and request evidence for the failure scenarios that matter to your team.
Reconcile donation events with bank settlement
A fundraising platform may record the donor's gift while a payment provider records authorisation, collection, refunds and settlement. The ERP needs stable references linking these events. Model the gross gift, fees, net payout and any later adjustment separately so a bank deposit containing many gifts can be explained.
Stripe's webhook documentation warns that events can be duplicated and are not guaranteed to arrive in order. Verify signatures, record processed event identities and retrieve the current provider state where necessary. A late event should not reverse a newer accepted state simply because it arrived last.
Test a repeated notification, a missing notification, a refund after settlement and a payout containing transactions from two reporting periods. Compare provider totals, integration records and ledger entries. Donation payment reconciliation should have a named finance owner rather than depending entirely on the integration developer.
Separate instructions from statements
A bank-statement feed reads transactions already recorded by a bank. A payment instruction requests a new movement of money. Keep their credentials, approvals and monitoring requirements distinct. For cross-border disbursements, also retain recipient currency, provider charges, exchange details and returned-payment reasons.
Where several providers are involved, an ERP integration consulting assessment can define the interface responsibilities and test scope. Confirm access and testing arrangements with each external provider before treating the integration as deliverable.
Assign record ownership, reconciliation and recovery routes with the NGO Integration Map Generator.
Conclusion
Reliable integration depends on record ownership and controlled business processing. Define authority, preserve identifiers, detect failures and reconcile outcomes. Test the uncertain case where a request may have succeeded despite a lost response. That is where an interface becomes an operating capability rather than a connection that works only in a demonstration.
Map your Causeway integration scope
Evaluate the interfaces needed around Causeway. Bring the source systems, available documentation and the workflows that must remain reliable when a connection fails.
Ask for a scope separating read access, authorised writes, reconciliation and recovery, with third-party dependencies clearly identified. Discuss the proposed delivery approach alongside your interface requirements, then request demonstrations of the failure scenarios your team needs to handle.
Frequently asked questions
Does an API mean a ready-made integration exists?
No. An API provides an interface that may support development, but a complete integration also needs mappings, permissions, error handling, reconciliation and support. Confirm the exact operations, dependencies and evidence for the proposed connector.
How can duplicate payments be prevented?
Use controlled transaction identities, appropriate provider-supported duplicate protection and status reconciliation before retrying uncertain requests. Separate transport attempts from the business instruction. Test timeout and recovery behaviour against the actual payment service's contract.
Who owns reconciliation after a sync failure?
Assign a named business owner and technical support responsibility in advance. The technical team may restore connectivity while finance or operations confirms the business result. The workflow should state who may correct or replay records and what evidence they retain.







