A firm spends a large share of its hours on three chores: entering source documents, reconciling payments, and chasing missing receipts before a close. This guide shows how to have an AI produce the first draft of these three tasks, then how to check its work before you validate anything.
Nothing that follows replaces your judgment. The AI prepares, you check, and you alone remain responsible for the return and its filing. Every example in this guide uses fictional documents. On the client side, our guide Can Claude replace your accountant? shows what a self-employed client can prepare alone before sending you their file.
Only move to real client data once your framework is approved: a business-tier subscription, data minimization, and suitable authorizations and processing terms (see the section on professional secrecy).
Three repeatable deliverables
By the end of this guide, you will have three repeatable deliverables:
- an itemized extraction of a supplier invoice, with a proposed expense account and a VAT check;
- a discrepancy report on a bank reconciliation, with duplicates and partial payments flagged;
- a batch of draft reminders for missing documents, ready to review before sending.
Prerequisites: an AI assistant and a spreadsheet to open the CSV files. The exercises in this guide use only fictional data, so any account will do for learning.
Before you handle real client data, plan for a business subscription (see the model section and the professional secrecy section) and the right to export from your accounting software. The three tasks need no technical skills, no installation and no connector. A CSV export or a copy and paste is enough.
Professional secrecy and client data come first
Professional secrecy governs everything you hand to an outside tool. In Belgium the ITAA, and in France the Ordre des experts-comptables, publish guidance on the use of AI. Check the version in force for your professional body before handling real data.
Three practical rules hold up in every case:
- Never use a free or consumer plan for client data. These plans may reuse what you enter to train the models. Business offerings (Team, Business or Enterprise depending on the vendor: ChatGPT, Claude, Google Workspace, Microsoft 365 Copilot, Mistral’s Le Chat) exclude that training by default. Confirm this setting in your account’s privacy settings, because a paid personal subscription does not necessarily come with the same guarantees as an enterprise offering.
- A payroll file often contains special-category data under Article 9 of the GDPR: sick leave and health data, union membership, health insurance data. An employee’s salary, address or account number are ordinary personal data, but as soon as a document touches on health or a union, the stricter Article 9 regime applies. Handle these documents with particular care, or not at all until your framework is approved.
- To learn and to test prompts, use fictional data, like the files in this guide. Replacing names with labels is pseudonymization, not anonymization: a pseudonym or an opt-out from training is not enough on its own to make a client file compliant. Using real data requires minimization, processing terms and authorizations suited to your profession.
On data residency, keep in mind that the public web interface of most assistants does not guarantee storage in Europe, and treat where data is stored and where it is processed as two separate questions. A strict localization requirement has to be checked product by product: the vendor’s nationality proves nothing, and where the data is processed depends on the plan, the region chosen, the data categories and the contract’s commitments.
Depending on the case, you might look at a cloud provider’s region options, such as Claude through AWS Bedrock, or the European residency offerings announced by Mistral, Google Workspace or Microsoft. Each promise must be confirmed in the contract and documentation of the plan concerned, not inferred from the country of origin. The model section points to the reference article for details.
Extracting the data from a supplier invoice (task 1)
Goal: turn an invoice into a proposed journal entry line, with an immediate VAT check. This is the lowest-risk task to start with, because you can do everything by copy and paste.
App: any chat assistant (ChatGPT, Claude, Gemini, Le Chat). For this exercise on fictional data, any account works, including a free one. The business subscription only matters for real client data, as explained in the professional secrecy section.
Input: the file supplier_invoices.txt, two fictional invoices, reproduced below. You can also paste the text of an invoice, or upload an image to an assistant that reads images.
View and copy the content of examples/supplier_invoices.txt (fictional data)
Synthetic example. No real data. Two fictional supplier invoices to enter.
--- Invoice 1 ---
Supplier: Papeterie Lemaire SRL
VAT number: BE 0123.456.789
Invoice no. 2026-0457
Date: September 3, 2026
A4 paper reams (10 boxes): 120.00 EUR excl. VAT
Ink cartridges (2): 80.00 EUR excl. VAT
Total excl. VAT: 200.00 EUR
VAT 21%: 42.00 EUR
Total incl. VAT: 242.00 EUR
Payment terms: bank transfer, 30 days
--- Invoice 2 ---
Supplier: Restaurant Le Bruegel
VAT number: BE 0987.654.321
Invoice no. 178/2026
Date: September 5, 2026
Business meal (3 guests): amount incl. VAT 78.50 EUR
VAT 12% included
Total incl. VAT: 78.50 EUR
Note: client meal, guest Mr. Dupont (Dupont SRL)
Steps:
- Open a new conversation in your assistant.
- Paste the prompt below.
- Then paste the text of the two invoices.
- Read the table it produces and run the checks described below.
Prompt to copy:
You are a bookkeeping data entry assistant for a firm in Belgium.
From the invoice text I paste next, produce a table
with one row per invoice and the columns: supplier, VAT number,
invoice number, date, net amount, VAT rate, VAT amount, gross total,
proposed expense account.
Rules:
- Copy only the amounts that appear in the text. Don't invent anything.
- Check that the net amount multiplied by the rate gives the VAT amount,
and that net plus VAT gives the gross total. Flag any discrepancy in a
"check" column.
- The expense account is a proposal, not a certainty. Add a
watch point if the deductibility of the VAT deserves a check.
- If an invoice gives only the gross total and the rate, calculate the net
= gross / (1 + rate) and the VAT = gross - net, then check consistency.
- If the rate or the total is itself missing or unreadable, write
"to be checked" instead of guessing.
Expected output, for the two fictional invoices:
| Supplier | Invoice no. | Date | Net | Rate | VAT | Gross | Proposed account | Check |
|---|---|---|---|---|---|---|---|---|
| Papeterie Lemaire SRL | 2026-0457 | September 3, 2026 | 200.00 | 21% | 42.00 | 242.00 | Office supplies | 200 x 21% = 42; 200 + 42 = 242, consistent |
| Restaurant Le Bruegel | 178/2026 | September 5, 2026 | 70.09 | 12% | 8.41 | 78.50 | Restaurant expenses | Restaurant VAT to check: generally not deductible in Belgium |
Human check: recalculate one line by hand. For invoice 2, VAT on restaurant expenses is generally not deductible in Belgium, whatever rate is shown. This is exactly the kind of call the AI does not make for you.
Common mistake and fix: on an invoice with VAT included, the assistant sometimes rounds the net amount (70.00 instead of 70.09) or forgets the deductibility note.
Do not count on a model billed as “stronger”. Recalculate the line yourself, or ask the assistant to use its calculation tool, then check the result. No model spares you this check. If an amount looks made up, ask again: “Quote the exact line of the text this amount comes from.”
Checking a bank reconciliation (task 2)
Goal: spot duplicates, partial payments and entries without an invoice, on a bank statement compared against open invoices. Here again, a simple CSV export is enough.
App: an assistant that can read attached files, or a copy and paste of the content of the two CSVs.
Inputs: open_invoices.csv (three open invoices) and bank_statement.csv (five bank lines), reproduced below. For this exercise, use these two fictional files. When you move to your real data, after the assessment described in the professional secrecy section, you will export the equivalent from your accounting software: most offer a CSV or Excel export of the general ledger and the statement; otherwise, copy the useful columns into a spreadsheet.
View and copy the content of examples/open_invoices.csv (fictional data)
invoice,client,amount_incl_vat,status
FACT-2026-118,Dupont SRL,1210.00,open
FACT-2026-120,Martin SA,1000.00,open
FACT-2026-121,Lambert SCRL,605.00,open
View and copy the content of examples/bank_statement.csv (fictional data)
date,description,amount
2026-09-02,Transfer Dupont SRL reference FACT-2026-118,1210.00
2026-09-03,Account maintenance fee,-12.50
2026-09-04,Transfer Martin SA deposit,500.00
2026-09-05,Transfer Dupont SRL reference FACT-2026-118,1210.00
2026-09-08,Transfer Lambert SCRL FACT-2026-121,605.00
Steps:
- Upload the two files to a conversation, or paste their content.
- Paste the prompt below.
- Read the discrepancy report, then check each flagged line against the CSV.
Prompt to copy:
You are comparing a bank statement with a list of open client invoices.
Both files are provided. Produce:
1. A matching table: for each open invoice, the bank line
that matches it, or "no payment found".
2. A list of discrepancies, each with its reason: possible duplicate,
partial payment with the balance due, or bank entry with no linked invoice.
3. A numerical check: total client credits on the statement, the total expected
if each invoice were paid exactly once, and an explanation of the
difference.
Rules:
- Use only the lines in the files.
- Go through every line of the statement one by one; don't skip any.
- Cite the invoice number and the date of every line you match.
- For the numerical check, add up the client credits (positive amounts)
explicitly, line by line, then give the total.
- The same invoice can receive several transfers: flag any extra transfer
as "possible duplicate, to be checked".
Expected output, on the fictional files:
- FACT-2026-118 (1,210.00) matched to the transfer of September 2. Cleared.
- FACT-2026-121 (605.00) matched to the transfer of September 8. Cleared.
- Discrepancy 1, possible duplicate: a second transfer of 1,210.00 on September 5 with the same reference FACT-2026-118. The invoice appears already paid on September 2. To be checked before any action.
- Discrepancy 2, partial payment: FACT-2026-120 (1,000.00) only receives a deposit of 500.00 on September 4. Balance due 500.00.
- Discrepancy 3, entry without an invoice: account maintenance fee of 12.50 on September 3, to be booked as a bank charge.
- Numerical check: total client credits 3,525.00; total expected if everything is paid once 2,815.00; difference of 710.00 explained by the 1,210.00 duplicate and the 500.00 shortfall on Martin SA.
Human check: open the CSV and confirm that the duplicate is real (same invoice, two transfers) before contacting the client. Recalculate the balance due on the partially paid invoice (1,000 minus 500 equals 500).
Common mistake and fix: the assistant adds up a long column wrong, or flags a line that does not exist. On real volumes, ask for the numerical reasoning, not just the conclusion, and always check the totals in the spreadsheet. For a large file, split it by period rather than handing it all over at once.
Preparing reminders for missing documents (task 3)
Goal: produce personalized draft reminders from the list of transactions without supporting documents, timed to the next deadline. This is the “client clarification” task that unblocks a close.
App: any chat assistant. On fictional data, any account works. The drafts stay with you; the tool sends nothing.
Inputs: missing_documents.csv (four entries, three of them without supporting documents) and client_context.txt (fictional client context), reproduced below.
View and copy the content of examples/missing_documents.csv (fictional data)
date,account,description,amount,supporting_document
2026-08-12,613000,SaaS software subscription,49.00,missing
2026-08-19,640000,Parking fees,15.00,missing
2026-08-22,611000,Office supplies purchase,242.00,present
2026-08-28,613000,Online advertising,120.00,missing
View and copy the content of examples/client_context.txt (fictional data)
Synthetic example. No real data.
Client: Boulangerie Petit SRL (fictional client)
Contact: Sophie (manager)
Usual tone: cordial and formal
VAT status: quarterly filer
Internal document collection date (set by the firm): October 10, 2026
Reminder: statutory filing of the Q3 VAT return via Intervat no later than October 25, 2026
History: punctual client, usually replies within a few days
Steps:
- Paste the content of the two files into the conversation.
- Paste the prompt below.
- Reread each draft, correct the facts, then send it yourself from your email.
Prompt to copy:
You are writing a reminder about missing documents for a client of an accounting
firm. I'm providing the list of entries and the client context.
Produce:
1. A reminder email in English, cordial and formal in tone, that lists
only the entries whose supporting document is "missing", with date
and amount, and restates the internal document collection date given
in the context (set ahead of the statutory filing of the return).
2. A short internal checklist for the staff member: what is still to be
obtained and the deadline for sending a second reminder.
Rules: don't invent any amount or document. Don't mention the
entries whose supporting document is already present. Don't send anything; produce
a draft.
Expected output: an email asking for the supporting documents for three expenses (49.00 on August 12, 15.00 on August 19, 120.00 on August 28), restating the internal document collection date of October 10, 2026 (ahead of the statutory VAT return filing due October 25, 2026), and leaving out the 242.00 supplies purchase that is already documented. Plus an internal checklist with the date of a follow-up reminder.
Human check: verify that the three amounts match the CSV and that no document already received is listed. Keep two dates apart: the internal document collection date, set by the firm (here October 10, 2026), and the statutory filing of the return, which comes after.
In Belgium, since the 2025 reform of the VAT chain, a quarterly filer files via Intervat no later than the 25th of the month after the quarter, and a monthly filer by the 20th of the following month (source: FPS Finance, “La nouvelle chaîne TVA”, in French). In France, the VAT calendar is different: check it on impots.gouv.fr.
Common mistake and fix: the draft promises too much, or cites an entry that is already documented. Keep the rule “list only the missing ones” in the prompt, and never let the tool send directly. Validation before sending is your safeguard, not an option.
Creating a reusable Project for the firm
Retyping the same instructions in every conversation wastes time. The main assistants offer a reusable space: Projects in ChatGPT and in Claude, Gems in Gemini. You upload reference documents and standing instructions there, and every new conversation starts with that context.
A useful Project for a firm contains, for example:
- your abridged chart of accounts and your description conventions;
- a memo of VAT rates and common non-deductibility cases;
- the tone of your client emails;
- the absolute rule: propose, never validate or send.
Standing instruction to paste into the Project:
You assist a Belgian accounting firm. You prepare drafts and
checks; you never validate an entry, a return or an email.
You use only the figures in the files provided and you
flag "to be checked" whenever a piece of data is missing or a deductibility is
uncertain. You answer in English, concisely, with tables
when useful.
Keep these reusable spaces on a business subscription as soon as client data is involved. A reusable space keeps your instructions and reference documents at hand, but it does not turn the assistant into an autonomous system, as the next section explains.
Choosing the model for the task
You do not need to know every model. Only one distinction matters day to day: a quick task versus a reasoning task. Version names change every few months, so find the fast version and the advanced version in your account rather than memorizing a number, and check the current name on the vendor’s official page.
- For sorting, a short extraction or a rewording, a fast, inexpensive model is enough. Each vendor (OpenAI, Anthropic, Google, Mistral) offers a low-cost “fast” version in its lineup.
- For analyzing a trial balance, checking discrepancies or writing a long summary memo, use the “advanced” version of the same lineup, with a larger context. As the reconciliation in task 2 shows, an assistant can skip a line or add up a long column wrong. No version, “advanced” or not, guarantees the arithmetic: safety comes from a deterministic check (recalculation, spreadsheet, calculation tool), not from the choice of model.
Do not mix up the building blocks. The model is the engine. The consumer app (ChatGPT, Claude, Gemini, Le Chat) is the interface. The subscription is the plan that gives access to the models and sets the usage limits.
The API is the access for developers. A connector links the assistant to a piece of software. An automation runner (Zapier, Make, n8n, or a scheduled task) triggers and runs without you.
If your firm lives in Excel and Outlook, Microsoft 365 Copilot works where you already are. If European data localization is your priority, look at the vendors’ European residency offerings, whose terms vary by plan and region, and have the place of processing and the categories covered confirmed by contract. Localization alone does not prove compliance.
Prices, usage limits and release dates change fast. For current prices and the detailed selection method, see the reference article on models and agents. Always check exact availability in your account, on the vendor’s official page.
Coordinator and sub-agents, what is real and what is not
You will read everywhere that a “multi-agent system” automates a firm. Here is the useful truth.
The coordinator plus sub-agents pattern mirrors how a firm is organized. A coordinator receives the request, breaks it up and hands each piece to a specialist: one extracts the data, another analyzes the flows, a third writes. The coordinator pulls it together, checks it, then submits the result to you for validation.
Watch out for the trap. Giving three “roles” in a single prompt does not create three agents. Copying an answer from one conversation to another is a manual delegation: you are the coordinator.
A consumer Project does not magically become an autonomous system. Real connected orchestration takes tools, authorized access and technical setup.
A manual exercise you can do today without installing anything. Take the tasks above in order, playing the coordinator yourself:
- Conversation 1, extraction: task 1 on the fictional invoices provided.
- Conversation 2, checking: task 2 on the fictional statement and open invoices.
- Conversation 3, drafting: task 3 on the fictional client context.
- You, the human coordinator: you connect the three, check, validate and send.
This exercise gives you the benefit of splitting the work without a connector or automatic sending. Every step stays in front of you.
What real orchestration changes. For the coordinator to read your open invoices and prepare the reminders without copy and paste, the assistant has to be connected to your software. There are two routes in 2026: an MCP connector when the vendor offers one (for example for some ERPs), or an automation runner that bridges the gap. For Odoo, see how to connect Claude to Odoo in read-only mode.
That requires access rights, permission settings and a human validation step before any outgoing action. It is a real setup project, scoped to the software you actually use.
Your checklist for the next session
- Sign up for a business subscription (training excluded by default) before touching client data.
- Redo the three tasks on this guide’s fictional files to get the hang of it, before any use on real data.
- Create a firm Project with the chart of accounts, the VAT rates and the standing instruction.
- Recalculate at least one line of every AI output by hand before validating.
- Never let the tool file a return or send an email without your review.
- Check the deadlines: in Belgium, Intervat filing by the 20th of the following month for a monthly filer and by the 25th for a quarterly filer; in France, refer to the impots.gouv.fr calendar.
Going further
For the overview and the choice of a first task by profession, read the pillar guide. To compare models and set up a more serious coordinator exercise, see the reference article. If your clients are mostly self-employed, the article for consultants and freelancers sheds light on their side of the relationship.
If you want to turn this trial into an installed workflow, with the connections and permissions decided with you, MACCUS sets up an assistant reachable on Telegram, by text, voice and documents, in French, English and Dutch, on your own Claude subscription.
Connections to accounting software, Drive or email are assessed case by case according to your access rights, and every outgoing action goes through the validation step you choose. This is not an all-in-Europe solution or a guarantee of compliance, and the assistant files no return on your behalf. Let’s talk about your specific case.