/
/
Credit donors for gifts that only reached Sage Intacct
For finance and gift processing teams who want donations received in Sage Intacct recorded in DonorPerfect, by asking their AI.
On this page
Connector
Connect DonorPerfect, pick your AI tool and paste the prompt.
The problem
Donations in the ledger that donors were never thanked for
Donations sometimes arrive straight into Sage Intacct as other receipts and are never entered in DonorPerfect, so donors go unthanked. Finding them means comparing receipts against gifts and working out who each payer is.
Without PopdockAI
- Pull receipts on contribution accounts
- Compare them with DonorPerfect gifts
- Work out who each payer is
- Leave donors unthanked
With PopdockAI
- Contribution accounts come from DonorPerfect's own mapping
- Receipt lines are matched to gifts, batch deposits included
- A donor is proposed for each unmatched line
- You choose rows, each is rechecked, then saved
The prompt
Use this prompt
Copy it into any AI tool connected to PopdockAI. Swap the values in braces for your own.
**Objective:** Find money received in Sage Intacct between {date-from} and {date-to} on contribution revenue accounts that has no matching gift in DonorPerfect, limited to GL code {gl-code} if one was given (otherwise every GL code), and record the ones the user confirms in DonorPerfect.
**Step 1: Work out which Intacct accounts are contribution revenue**
Call `donorperfect-get-code` with `field-name` GL_CODE and `inactive` false (and `code` {gl-code} if one was given). Each code's `account-number` is the Intacct account it posts to. Keep the codes whose account exists in `intacct-get-account`. This gives the accounts to search and the GL code to use for each. If no code has an account number, say the GL codes are not mapped to accounts and stop.
**Step 2: Read the Intacct receipts on those accounts**
Call `intacct-get-other-receipt` with `transaction-date.from` {date-from} and `transaction-date.to` {date-to}. For each receipt, call `intacct-get-other-receipt-line` with its `record-number` as `receipt-record-number`, and keep the lines whose `account-number` is one of the Step 1 accounts. Carry the receipt's `transaction-date`, `transaction-number` and `payer` onto each line.
**Step 3: Match them to DonorPerfect gifts**
Call `donorperfect-get-gift` for the same GL codes with `gift-date.from` 7 days before {date-from} and `gift-date.to` 7 days after {date-to}. A receipt line is matched when a gift on the mapped GL code has the same amount and a gift date within 7 days of the receipt date, one to one. A receipt line that equals the total of one day's gifts on that GL code is a batch deposit of those gifts, and is matched too.
**Step 4: Find the donor for each unmatched line**
Search DonorPerfect for the payer (the receipt's `payer`, or the line's `customer-name`): call `donorperfect-get-donor` with `last-name.contains` set to the most distinctive word of the name (DonorPerfect often files an organization's name in the last-name field), and compare each result's `first-name`, `last-name` and `organization-name` with the payer. Classify each line as: one clear donor, several candidates, or no donor found.
**Step 5: Report and confirm**
A table of the unmatched receipt lines: Intacct date, transaction number, payer, amount, account, GL code, and the proposed donor (id and name), the candidates, or "no donor found". Then list the lines matched only as batch deposits. Ask the user which rows to record, and which donor to use where there were several candidates. Record nothing until the user names the rows.
**Step 6: Record the confirmed gifts**
For each confirmed row, first call `donorperfect-get-gift` with that `donor-id`, the gift date and the amount; if a gift is already there, skip the row and say so. Otherwise call `donorperfect-save-gift` once with `donor-id`, `gift-date` (the Intacct transaction date), `amount`, `record-type` G, `gl-code` (the mapped code), `narrative` "Recorded from Intacct other receipt" followed by the transaction number, and `gift-id` left blank. Report the new `gift-id` for each row.
**Rules & Guidelines:**
* Tools whose names start with donorperfect- are on the donorperfect server; tools whose names start with intacct- are on the intacct server. If either set is missing from your tool list, stop and say which server is not connected.
* The only write tool this prompt may call is `donorperfect-save-gift`, on the donorperfect server, once per row the user confirmed.
* Never call `donorperfect-save-donor` to create a missing donor: list those rows for the user to add by hand.
* Never call any Intacct create or update tool, such as `intacct-create-journal-entry`.
* Leave `campaign`, `solicitation-code` and `gift-type` blank unless the user supplies them; each must be an existing DonorPerfect code.
* Pass dates to both servers as YYYY-MM-DD.
**Validation:**
* If Intacct has no receipts on the contribution accounts in the period, say so and stop.
* Payer names in Intacct rarely match DonorPerfect exactly (Inc., punctuation, a spouse's name): a donor match is a proposal for the user to confirm, never a certainty.
* If a save fails, report the error for that row and continue with the others.Who it's for
One answer, three teams that use it
Gift processors
Catch gifts that skipped DonorPerfect
Unmatched receipts come with a proposed donor for each.
Find Sage Intacct receipts from October that are not in DonorPerfect.
Nonprofit accountants
Keep both systems complete
Ledger receipts and gift records line up after each run.
Which receipts on GL 4010 in Intacct this quarter have no DonorPerfect gift?
Donor relations
Thank every donor
Gifts that only reached the ledger are credited so acknowledgements go out.
Record missing DonorPerfect gifts from Sage Intacct for August, after I pick the rows.
How it works
What PopdockAI does when you ask
You give a date range and your AI assistant finds Sage Intacct receipts missing from DonorPerfect. Only the rows you choose are recorded, and missing donors are never created.
01
Ask
You give a date range and optionally a GL code.
02
Match
It reads receipts on contribution accounts and matches them to DonorPerfect gifts.
03
Confirm
For each unmatched line it proposes a donor, and you choose which to record.
04
Record
It checks again for an existing gift, then saves each confirmed one.
What PopdockAI provides
The tools behind the answer
Ready made tools for DonorPerfect and one secure connection to your AI tool. No code, no exports.
donorperfect-get-code
sage-intacct-get-account
sage-intacct-get-other-receipt
sage-intacct-get-other-receipt-line
donorperfect-get-gift
donorperfect-get-donor
donorperfect-save-gift
This report is built from Get data tools only. PopdockAI applies the row, field and parameter rules your admin sets, and every query is written to the audit trail.
The outcome
Every donor credited and thanked
Related use cases
More ways to put this data to work
One prompt template with infinite possibilities.
Your AI assistant adapts its approach, tone, and capabilities to match each unique context while you maintain a single, manageable workflow.
Join forward-thinking companies that are transforming their operations with intelligent, secure AI automation.

.webp)
