Connectors

/

DonorPerfect

/

Record missing DonorPerfect gifts from Intacct
Write
Cross-Connector

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.

Try PopdockAI free
Get a live demo
Record missing DonorPerfect gifts from Intacct
Find donations in Sage Intacct from September that never made it into DonorPerfect.
12 receipt lines on contribution accounts in September have no matching DonorPerfect gift. - Proposed donor: 8 lines, for example 250 from Sam Patel on 2026-09-12 - Several candidates: 2 lines need you to pick the donor - No donor found: 2 lines, listed for you to add first - Matched: 140 lines, including batch deposits Which of the 8 proposed gifts should I record?
DonorPerfect
Sample figures. Your results come from your own account.
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

On this page

The problem

The problem

The prompt

Who it's for

How it works

Tools used

Connector

DonorPerfect

DonorPerfect
Run it on your own DonorPerfect data.

Connect DonorPerfect, pick your AI tool and paste the prompt.

Try PopdockAI free

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.

Prompt
**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.

Your AI tool

02

Match

It reads receipts on contribution accounts and matches them to DonorPerfect gifts.

donorperfect-get-code
sage-intacct-get-account
sage-intacct-get-other-receipt
sage-intacct-get-other-receipt-line
donorperfect-get-gift

03

Confirm

For each unmatched line it proposes a donor, and you choose which to record.

donorperfect-get-donor

04

Record

It checks again for an existing gift, then saves each confirmed one.

Your AI tool

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.

get-data

donorperfect-get-code

Returns the configuration code values behind DonorPerfect's drop-down fields, such as campaign, solicitation, gift type and GL codes. Use it to validate a code before writing a gift, pledge or donor record.
get-data

sage-intacct-get-account

Returns accounts from Sage Intacct. One row per general ledger account.
get-data

sage-intacct-get-other-receipt

Returns other receipts from Sage Intacct. The record-number links to the Get other receipt lines tool.
get-data

sage-intacct-get-other-receipt-line

Returns other receipt lines from Sage Intacct. Filter by receipt record number (the record-number from Get other receipts) to get one receipt's lines.
get-data

donorperfect-get-gift

Returns gift and pledge transactions from DonorPerfect, with amount, date, campaign, solicitation and GL codes, and the donor each one belongs to. Filter by donor, by date range or by campaign to build giving history and campaign totals.
get-data

donorperfect-get-donor

Returns donor records from DonorPerfect: names, salutations, contact details, donor type and status, and the codes used to segment them. The starting point for almost any DonorPerfect question.
run-action

donorperfect-save-gift

Records a gift against a donor in DonorPerfect, or updates an existing gift when a gift id is supplied. Takes the amount, date, campaign, solicitation and GL codes.
Read only.Nothing in DonorPerfect Changes

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.

How Popdock AI secures your data

The outcome

Every donor credited and thanked

Try PopdockAI free
Get a live demo

Related use cases

More ways to put this data to work

All Ramp use cases

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.

Try PopdockAI Free
See Documentation