/
/
Turn DonorPerfect gifts into a review-ready Business Central journal
For nonprofit accountants who want gift revenue in a Business Central journal without retyping or duplicates, by asking their AI assistant.
On this page
Connector
Connect DonorPerfect, pick your AI tool and paste the prompt.
The problem
Retyped gift journals bring duplicates and blocked accounts
Getting gifts into Business Central usually means retyping them as journal lines, checking each GL code is valid and hoping none were entered last week. A duplicate or a line against a blocked account means rework.
Without PopdockAI
- Export cash gifts from DonorPerfect
- Retype them as journal lines
- Check each GL code against the chart
- Find duplicates after posting
With PopdockAI
- Cash gifts are read, pledges and soft credits left out
- Each gift is checked for an existing entry by reference
- Each GL code is checked for a usable posting account
- Lines are created after you confirm, never posted
The prompt
Use this prompt
Copy it into any AI tool connected to PopdockAI. Swap the values in braces for your own.
**Objective:** Create one Business Central general journal line for each DonorPerfect cash gift dated `{from-date}` to `{to-date}` that is not already in Business Central, balanced against account `{balancing-account-number}`. Lines are staged in a journal for an accountant to review and post; this prompt never posts them.
**Step 1: Read the gifts in DonorPerfect**
Call `donorperfect-get-gift` with `gift-date.from` = `{from-date}` and `gift-date.to` = `{to-date}`. Raise `max-records` until the result stops growing. Keep record type G (gifts, including pledge payments) only. Drop pledge headers (P) and soft credits (S), and list any gift with a blank `gl-code` as "cannot stage: no GL code".
**Step 2: Check each gift is not already in Business Central**
Each gift is identified in Business Central by the document number DP-<gift-id>. For each gift:
* call `business-central-get-general-journal-line` with `document-number` = DP-<gift-id>, and
* call `business-central-get-general-ledger-entry` with `document-number` = DP-<gift-id>.
If either returns a row, the gift is already staged or posted. Mark it "skipped: already in Business Central" and do not create a line for it.
**Step 3: Check each GL code is a usable account**
For each distinct `gl-code` left, call `business-central-get-account` with `account-number` = that code. If the account is missing, blocked, not of type Posting, or has `direct-posting` false, mark its gifts "cannot stage: account <code> not usable" and leave them out.
**Step 4: Confirm with the user**
Show the plan before writing anything: the number of gifts to stage, their total, a summary by GL code, and every skipped or unstageable gift with its reason.
If `{journal-id}` is given, the lines go into that journal. If it is blank, propose creating a new journal with `business-central-create-journal` using code DP followed by `{to-date}` as YYMMDD, `display-name` "DonorPerfect gifts `{from-date}` to `{to-date}`", `template-display-name` GENERAL unless the user names another template, and `balancing-account-number` = `{balancing-account-number}`.
Ask the user to confirm. Do not continue without an explicit yes.
**Step 5: Create the lines**
If a new journal was agreed, call `business-central-create-journal` once and take `id` from the result as the journal id.
Then for each gift in the plan, call `business-central-create-journal-line` with:
* `journal-id` = the journal id
* `posting-date` = the gift's `gift-date`
* `document-number` = DP-<gift-id>
* `external-document-number` = the gift's `reference` when it has one
* `account-type` = G/L Account, `account-number` = the gift's `gl-code`
* `amount` = the gift's `amount` as a negative number (a credit to revenue)
* `balance-account-type` = G/L Account, or Bank Account if the user says `{balancing-account-number}` is a bank account; `balancing-account-number` = `{balancing-account-number}`
* `description` = "DonorPerfect gift <gift-id> donor <donor-id>", cut to 100 characters
Create lines one at a time. If a call fails, record the error against that gift and carry on with the next one.
**Step 6: Report**
A table of every gift: `gift-id`, `gift-date`, `donor-id`, `gl-code`, amount, outcome (staged with the new line `id`, skipped, cannot stage, or failed with the error). Then the journal id, the number of lines staged and their total. Remind the user that the journal still has to be reviewed and posted in Business Central.
**Rules & Guidelines:**
* `donorperfect-get-gift` is on the donorperfect server. `business-central-get-general-journal-line`, `business-central-get-general-ledger-entry`, `business-central-get-account`, `business-central-create-journal` and `business-central-create-journal-line` are on the business-central server.
* The only tools that may write are `business-central-create-journal` (at most once) and `business-central-create-journal-line`, and only after the user confirms in Step 4.
* Never change DonorPerfect. Do not call `donorperfect-save-gift` or any other donorperfect save or set tool.
* Do not call `business-central-update-journal-line`. A wrong line is fixed by the accountant in Business Central, not by this prompt.
**Validation:**
* If `{from-date}`, `{to-date}` or `{balancing-account-number}` is missing, ask for it.
* Call `business-central-get-account` on `{balancing-account-number}` before Step 4. If no account comes back, ask whether it is a bank account and check with `business-central-get-bank-account` using `bank-account-number`. If neither matches, stop.
* If more than 200 gifts qualify, stage the first 200 by `gift-date`, report the rest as "not staged: run again", and say so in the report.Who it's for
One answer, three teams that use it
Nonprofit accountants
Skip retyping gifts
Gifts become journal lines with codes and duplicates already checked.
Create Business Central journal lines from this month's DonorPerfect gifts, balancing to 1100.
Controllers
Review before anything posts
The journal is never posted, so you stay in control.
Put DonorPerfect gifts from October 1 to 15 into a Business Central journal for my review.
Gift processors
See why gifts were skipped
Every skipped gift comes with its reason.
Which of last week's DonorPerfect gifts cannot go into a Business Central journal, and why?
How it works
What PopdockAI does when you ask
You give a date range and a balancing account and your AI assistant plans the journal lines. Lines are created only after you confirm, and the journal is left unposted for review.
01
Ask
You give a date range and a balancing account.
02
Check
It reads cash gifts and checks each for an existing entry and a usable GL account.
03
Confirm
You review the plan with every skipped gift and its reason.
04
Create
It creates the journal lines, leaving the journal unposted.
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-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
A review-ready journal with no duplicates
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)
