Money and Budget Advanced 2 min read

Prompt for Account Reconciliation

Most reconciliation attempts fail because the model rounds to make totals match. This one forbids that, forces a match on a key plus amount, and flags duplicates as a separate step.

Works with: ChatGPTClaudeGeminiDeepSeek Updated: 25 October 2026
Prompt 1368 characters · 4 variables
I need to reconcile two lists. Your job is not to make the totals agree — it is to find each difference and trace its source.

LIST A (our records): [LIST_A]
LIST B (counterparty / bank): [LIST_B]
MATCHING KEY: [KEY]
TOLERANCE: [TOLERANCE]

STEP 1 — PRE-CHECK
- Row count for A, row count for B
- Total for A, total for B, difference
- Are there duplicates in the matching key (same invoice number twice)?

STEP 2 — MATCH
For each row in A, look for its counterpart in B. One of four outcomes:
- EXACT MATCH: same amount and same date
- AMOUNT DIFFERENCE: record exists, amount differs (state the gap)
- DATE DIFFERENCE: record exists, same amount, date differs (how many days)
- NO MATCH: no record on the other side at all

STEP 3 — DIFFERENCE TABLE
| Record | A amount | B amount | Difference | Type | Probable cause |

For probable cause use only this list, do not invent: FX rate, VAT rate, duplicate entry, period cut-off, refund or counting error, commission withheld.

STEP 4 — DUPLICATE CHECK
Separately list rows with the same amount, same date and similar description. These may be duplicate entries.

STEP 5 — CONCLUSION
- Match rate: rows matched / total
- Five items to correct, in order of materiality
- The adjustment amount needed to close the total

Rule: do not invent numbers. If a row is unreadable or missing, write "uncertain". Write in English.

Reconciliation is not making the totals agree. It is explaining every difference.

02 — Variables

Fill in the brackets

The highlighted fields are the places where your own details go. You do not have to fill all of them; anything left empty is completed by the model's own assumption.

[LIST_A]
[LIST_B]
[KEY]
[TOLERANCE]

03 — How to use

How to use it, step by step

  1. 01

    This is a reconciliation draft, not a bookkeeping record. Open each difference in your own accounting software and verify before posting — models shift rows.

  2. 02

    Feed the lists as CSV or a table, not a screenshot of a PDF. Preserved cell structure drops the error rate significantly.

  3. 03

    Choose the key carefully. Invoice number alone is not enough; number plus amount cuts collisions.

  4. 04

    Split any list over 50 rows. In long tables the model starts sliding rows; 40-50 is the safe ceiling.

04 — Variations

Same prompt, different result

One prompt does not solve every case. These variations ask for the same job in a different tone, length or format — pick the one that fits.

Bank reconciliation

Same prompt, but add a column for cleared/uncleared status and produce a reconciliation statement at the end: balance per bank, add deposits in transit, deduct outstanding cheques, equals balance per books.

Statement versus cash book.

Difference summary only

Run the analysis internally but output only: total difference, breakdown by cause category, the five largest items, and one line on whether the difference looks operational or a data error. No row-level table.

For a management report.

05 — Tips

Notes that take the result up a level

  • The most common cause of a difference is a duplicate entry — the same invoice posted twice. Run the duplicate check first, before anything else.
  • Rounding cent differences away is tempting but dangerous: a small gap can be the signature of a shifted row.
  • Recalculate the totals yourself in your own spreadsheet. If the totals agree but the detail does not, the detail is wrong.

06 — FAQ

Frequently asked about Money and Budget

Does this prompt create accounting entries?

No, it only reports differences. It does not and should not produce journal entries, which require authorisation and accountability. The output is a control list.

How many rows can I safely reconcile at once?

40-50 rows per run. Beyond that the model starts shifting rows and breaking date/amount pairing. Split longer lists by month or by client.

What if it finds no differences?

Verify the totals first; if they do not agree, the model has misread the data. Because the prompt instructs it to say "none found" rather than invent one, an empty result is meaningful — but still check totals by hand.

Next

You may also find these useful

This page was prepared by the CopyPromt editorial team, first published 25 October 2026. Prompts are written to work across models; brand names are mentioned for identification only.