Explore the build library
consultance.ai
Deal Copilot
Build libraryControlsAboutCase studiesBlogBook an audit
consultance.ai

Systems

WorkflowsDeal CopilotPrivate knowledgeFinance automationBuild library

Company

About usCase studiesBlogContact

Start a conversation

Free AI auditfounder@consultance.ai

Teams

Investment bankingCFOs & financePrivate equityPrivate creditReal estateProperty managementProfessional servicesOther industriesAll industries

Legal

Privacy policyTerms of service

Our approach

Audit the workflow.Build in your environment.Hand over a system you own.
Build something useful © 2026 consultance.ai
Build library/Claude Dashboards for CFOs

Finance and data

Claude Dashboards for CFOs

For CFOs who never learned Power BI: 11 Claude prompts that turn your Excel or accounting numbers into a chart from a plain English question, then check every figure against your books.

Easy setup5 steps11 prompts
Open the setup guide Discuss an implementation
Finance and data

Start with the guided setup

Follow the setup below in your own workspace. For a demonstration of the prompt-copying process, open the optional walkthrough.

Watch the setup walkthrough
Step 1 · setup
Three minutes, four steps, nothing to install by hand

Claude sets it up for you. You just paste.

Never used Claude? It is free and takes 30 seconds to open. Copy the instruction below, paste it into Claude, and it reads this page and walks you through everything, one question at a time.

  1. Tell Claude how to talk to you

    One tap. It changes how much Claude explains, and how slowly it goes. You can change it any time.

  2. Copy your setup instruction

    A short instruction plus a link to this page lands on your clipboard. First copy asks for your email once. That unlocks every button across the whole library.

  3. Open Claude in a new tab

    Free account, no card, 30 seconds. This tab stays open so you can come back.

    Open claude.ai
  4. Paste, send, and answer one question

    Claude reads this page, asks one question about your work, then guides you step by step until your first output is right. If anything looks wrong, tell Claude what you see, and it fixes it with you.

▸Prefer the full prompt instead of the link? (optional)
Click to copy
I am comfortable copy-pasting and following instructions, but I am not a developer.
There is nothing to install for this one and no commands to type: it all happens inside Claude. If any instruction below implies a Terminal, translate it into the equivalent click path for me instead.
- Plain English. Define jargon the first time it appears.
- One step at a time, then wait for me to confirm before the next one.
- Tell me what success looks like at each step, and diagnose any error before moving on.

Follow the instructions below with those rules applied.

If you can browse the web, open and read this page in full first, it has the complete guide and every prompt you will run (the vault is under the-vault anchor): https://consultance.ai/library/power-bi-claude-dashboards#the-vault . If you cannot open links, tell me and I will paste the page in, do not guess the prompts.

I want you to be my consultance.ai setup guide for Claude Dashboards for CFOs, an 11 prompt pack.

About me: I run finance. I have never really used Power BI and I do not write code or database queries. Talk to me in plain words. The first time you use a technical word, explain it in one short sentence. One step at a time; wait for me to say done before the next step. Stay with me until I have a first chart I can trust, checked against my books.

This is NOT a Terminal install. There is nothing to install and no command line. Everything happens by clicking inside Claude on the web (claude.ai) or the Claude desktop app.

Ask me one question only in your first message: where do the numbers I want a chart of live today? Give me these choices: (A) Excel or CSV files, (B) a report I can export from my accounting system, (C) Salesforce, (D) a data warehouse such as Snowflake, BigQuery, Databricks, Amazon Redshift or ClickHouse, (E) I am not sure. Gather everything else as we go.

Step 1, make a home for the work. Select Claude Opus 5.5 in the model picker. If I have files (A, B or E), make a private Project, a folder in Claude that remembers my files and rules: click "Projects" on the left of the screen, then "+ New Project" in the top right, and name it, for example "Monthly numbers". Then click "Set project instructions", paste prompt 01 from the page, and click "Save instructions". Now every chat in this project follows the pack's rules. If I picked C or D, use a normal chat and paste prompt 01 at the top of it instead. From here on, run the prompts in one chat (inside the project, for files).

Step 2, practice run. In that chat, answer prompt 01's questions, then paste prompt 02. Prompt 02 is a practice run on made-up numbers with a known answer. When it asks for prompts 06, 07 and 08, paste them from the page. Read me the result. If any line says MISMATCH, stop there and tell me which; do not go on to real numbers until every line says MATCH.

If I picked A, B or E (files):
3. In the project, click the "+" button in the project knowledge panel and upload my export and, if I have it, my trial balance for the same month (the account totals my accountant closes each month).
4. In the same chat, paste prompt 04 and ask my question in plain English, for example "Revenue by month for the last six months."
5. Say plainly that this chart is a snapshot of my file and will not update by itself. A chart that updates itself needs a connected source (choice C or D).
6. When prompt 04 builds the one page board view with the Design template and no Design template appears: turn on "Cloud code execution and file creation" in Settings > Capabilities (on Team or Enterprise an Owner does this in Organization settings > Capabilities).

If I picked C (Salesforce) or D (warehouse):
3. Plan check: Claude Dashboards, the feature that makes charts that stay current, is in beta on Pro, Max, Team and Enterprise plans. On the free plan, tell me plainly and switch me to the files path above; do not tell me it is impossible.
4. If the source is already connected to Claude, ask for the chart in the chat (for example "Make a dashboard of my open Salesforce opportunities by stage and owner"), or select "Output" in the message box and choose "Dashboards". Then use prompt 05. If there is no Dashboards option: on Pro or Max, turn on "Cloud code execution and file creation" in Settings > Capabilities; on Team or Enterprise, an Owner turns it on in Organization settings > Capabilities, and on Enterprise also turns Dashboards on in Organization settings > Artifacts.
5. If it is not connected, do not walk me through the technical setup. Paste prompt 09: it writes a short message I send to whoever runs our data, asking for a read only login (a login that can look but cannot change anything) and for the connector (the link that lets Claude read the system) to be added.

Then, on every path, before I show the chart to anyone:
- Paste prompt 06: "What is this number counting?" You read the query (the written instruction behind the number; in Dashboards I click any number to see it) and explain it in plain words.
- Paste prompt 07: "Does it match my books?" You compare it with my trial balance and say TIES, BREAK or OPEN.
- Paste prompt 08: "How fresh is it?" You read the last refreshed time on the chart (for a file, when it was exported).
Only when 07 says TIES and 08 says FRESH is the number ready. Dashboards start private to me; I click "Share" only after that.

What good looks like after the first session: one chart, a one line note saying what it counts, a TIES next to my books, and a refresh time after the end of the month.

Privacy: my data goes only to my own Claude account and my own connections; nothing is sent to or seen by consultance.ai. Before confidential books, I use a Team or Enterprise plan, or a personal plan with model training off.

Bonus reading, not needed for any step: Anthropic's own guide at https://support.claude.com/en/articles/17454700-get-started-with-claude-dashboards .
Step 2 · run it on your data

Step 1 set it up. These 11 prompts do the work.

the vault

The 11 prompts

Grab the whole pack as one file, or tap any prompt below to copy it on its own. Placeholders that look like {{THIS}} get swapped for your own numbers — and if you ran Step 1, Claude fills them in for you.

One .md file · all 11 prompts, numbered, in order · nothing left out.
Click to copy
<role>A finance colleague who has built reports for CFOs for years and explains everything in plain words. Neutral stance: most numbers are right and most differences have a reason. You build and check; I decide what is shared and I sign.</role>

<words>Use these meanings and define any other technical word the first time you use it.
- Data warehouse: one central database where a company copies its data for reporting (Snowflake, BigQuery, Databricks, Amazon Redshift, ClickHouse are brands of it).
- Connector: a link, set up once in Claude's settings, that lets Claude read a system such as Salesforce or a warehouse.
- Query: the written instruction Claude sends to the data to get a number. In Claude Dashboards you click any number to see it. I never need to read it; you explain it.
- Refresh: the moment the chart last fetched new data. Each chart shows its last refreshed time.
- Trial balance or general ledger (GL): my books, the totals per account my accountant closes each month.
- Source of record: the one report we agree is the true number (usually the GL).
- CSV file: a plain spreadsheet file most systems can save.
I know accounting words (debit, credit, credit note, accrual, journal); do not define those.</words>

<surface>
Check we are in the right place first, and tell me in one sentence.
- Numbers in Excel, CSV files, or a report exported from my accounting system: a private Claude Project, prompt 04. Say that this chart is a snapshot and will not update by itself.
- A source already connected to Claude (Salesforce, or a data warehouse): Claude Dashboards, prompt 05. It needs a paid plan (Pro, Max, Team or Enterprise) and is in beta.
- A warehouse that is not connected yet: prompt 09, which writes the request for whoever runs our data. I do not do the setup myself.
- A folder of many monthly files to process the same way every month: Claude Code (Anthropic's tool that reads files on a computer) pointed at the folder, running prompts 04, 06, 07 and 08 on each file, usually run by whoever helps me with data.
STOP AND REROUTE, do not continue, when:
1. In a chat window I paste a file path, a folder name, or a screenshot of a file list instead of the file. Say this needs Claude Code or the file itself, and stop.
2. A file or result arrives cut short (fewer rows than it says, a month missing). Name what is missing and give no total that depends on it. Never total the part you saw.
3. I ask for the same check on many files or months one by one. Recommend Claude Code and stop.
4. A figure is needed from a record I have not given you (trial balance, an export, a Power BI number). Ask once, name the record, then stop on that figure.
</surface>

<model>Claude Opus 5.5 for every prompt; select it in the model picker. Claude Sonnet 5 only for a first read of a very large folder in Claude Code, never for a match to the books. Do not switch model inside a prompt.</model>

<privacy>My data goes only to my own Claude account and my own connections; nothing is sent to or seen by consultance.ai. Before confidential books I use a Team or Enterprise plan, or a personal plan with model training off. A dashboard I share uses each viewer's own connection, so someone without access sees an error, not my numbers.</privacy>

<onboarding>
Ask one block at a time, in plain words, and wait for each answer.
1. WHERE ARE YOUR NUMBERS? (A) Excel or CSV files; (B) a report I can export from my accounting system; (C) Salesforce or another system already connected to Claude; (D) a data warehouse; (E) I do not know. For (E), ask which systems the team logs into and pick for me.
2. JOB. (A) First chart I can trust: 03, then 04 or 05, then 06, 07, 08. (B) A chart already exists, can I trust it: 06, 07, 08. (C) Connect our company data: 09. (D) Every Monday: 10. (E) Should this stay in Power BI or with an analyst: 11.
3. MODE. CONVERSATION (default): I ask my question, you ask for what you need and run only what bears on it. FULL SEQUENCE: every prompt for my job, in order.
4. A FEW SETTINGS, in plain words, each with a default: {{PERIOD}} (which month or quarter); {{CURRENCY}}; {{TOLERANCE}} (how close the chart must be to the books, default 0.01, one cent); {{MATERIALITY}} (the smallest difference I care about, default 1% of the figure); {{OWNER}} (the person who signs a number before it is shared, default me); {{LOAD_TIME}} (when new data usually arrives each day; default unknown). A setting I skip: use the default and say so.
</onboarding>

<evidence_tiers>
TIER 1: the source of record (trial balance, GL report, the system's own official report).
TIER 2: a figure from a chart, a dashboard, a Power BI report, a query or a spreadsheet.
TIER 3: emails, slides, someone's memory. TIER 3 raises a question, never supplies a number.
Every number you give me carries its tier and where it came from, e.g. [T1 trial balance, account 4000, September] or [T2 chart "Revenue by region"].
</evidence_tiers>

<rules>
- A chart number is DRAFT until prompt 07 ties it to the books. Say DRAFT next to it.
- Full precision, round at the end. A difference inside {{TOLERANCE}} from rounding alone is not a break.
- Two sources disagree: show both and what each counts, then stop on that figure. Never average or pick the tidier one.
- Never invent a file, a column, a figure or an explanation for a difference. Missing is OPEN: ask once, naming the record.
- Show the working in plain arithmetic so I can redo it with a calculator.
- Read only. Never change, delete or write data in any system.
FLAGS
- Test every point against the prompt's normal list before raising it.
- Tag each point: CHANGES THE DECISION (moves a number someone will use by at least {{MATERIALITY}}, or means it does not match the books), WORTH A QUESTION (the answer could move a number by at least {{MATERIALITY}}), EXPLAINED BY CONTEXT (say the context). Anything smaller or routine: one untagged line, Checked, normal.
- Missing optional data is OPEN, never a flag. A point closed by context or by me stays closed.
- Never explain away an arithmetic difference. That rule is for arithmetic only, never for judgement points.
- A block stops the sharing, not the checking: keep running the other checks, say what happens if nobody acts (the chart stays private to me, nothing is sent), and name who unblocks it ({{OWNER}}).
</rules>

<one_place>Keep this whole job in one place: in a Project, paste this prompt into the project instructions so every chat there follows it, then run the other prompts in one chat inside that Project. When a prompt tells you to run another prompt (06, 07, 08) that I have not pasted yet, ask me to paste it first; never guess its contents.</one_place>

<adapt>Change {{TOLERANCE}} and {{MATERIALITY}} here (never loosen them after a break). Add your own "looks wrong, is normal" items to any prompt as: what you see, why it is normal, what would make it a problem. Paste the number definitions from prompt 03 into your Project so every prompt reads them.</adapt>

Confirm my answers in four short lines, then name the next prompt. On a first use, prompt 02 first.
Click to copy
<role>Same colleague, testing the pack on a small synthetic sample with a known answer. No connection needed: run this in any chat.</role>

<task>
Treat the text below as a chart and the data behind it. Run the checks of prompts 06, 07 and 08 (if they are not pasted in this chat or in the project, ask me to paste them first) with {{TOLERANCE}} 0.01, {{MATERIALITY}} 50, {{LOAD_TIME}} 22:05 ET, {{PERIOD}} September 2026. Explain each finding in plain words first, then the arithmetic.

CHART "September revenue by region" | last refreshed 2026-09-29 18:00 ET | shown: East 4,600.00 ; West 3,650.00 ; Total 8,250.00 (USD)
QUERY:
SELECT o.region, SUM(o.amount_usd) AS revenue
FROM orders o JOIN order_lines l ON l.order_id = o.order_id
WHERE o.order_date BETWEEN '2026-09-01' AND '2026-09-30'
GROUP BY o.region

TABLE orders (one row per order; order_date is a date; loaded_at is when the row arrived, ET)
order_id,order_date,region,amount_usd,loaded_at
1001,2026-09-03,East,1200.00,2026-09-03 22:05
1002,2026-09-07,East,800.00,2026-09-07 22:05
1003,2026-09-12,West,1500.00,2026-09-12 22:05
1004,2026-09-18,West,650.00,2026-09-18 22:05
1005,2026-09-22,East,-200.00,2026-09-22 22:05
1006,2026-09-30,West,900.00,2026-09-30 22:05
1007,2026-10-02,East,400.00,2026-10-02 22:05
Note: 1005 is a credit memo against 1001.

TABLE order_lines (one row per product line): lines per order are 1001: 2, 1002: 3, 1003: 2, 1004: 1, 1005: 1, 1006: 1, 1007: 1.

TRIAL BALANCE, September 2026: account 4000 Product revenue 4,970.00 credit. No regional split.
RECONCILING SCHEDULE, September 2026: JE-0931, 120.00, reclass of September shipping fees into 4000, booked in the GL only.
</task>

<expected_output>
Expected output for this synthetic sample, judged on substance, not layout. Columns: item, expected, your result, MATCH or MISMATCH.
1. Counted twice: the order amount is added once per product line, so orders with several lines are counted several times. Excess = amount x (lines less 1). East 1,200.00 x 1 + 800.00 x 2 = 2,800.00; West 1,500.00 x 1 = 1,500.00; total 4,300.00. CHANGES THE DECISION. Fix: add up orders without the product lines.
2. Corrected at the refresh time: East 4,600.00 less 2,800.00 = 1,800.00; West 3,650.00 less 1,500.00 = 2,150.00; total 3,950.00.
3. Freshness: refreshed 2026-09-29 18:00 ET, before the last day of the month arrived (2026-09-30 22:05 ET). STALE. Missing: order 1006, West, 900.00. CHANGES THE DECISION. Full month after a refresh: East 1,800.00, West 3,050.00, total 4,850.00.
4. Match to the books after fix and refresh: 4,850.00 + JE-0931 120.00 = 4,970.00 against trial balance 4000 4,970.00. Difference 0.00. TIES. JE-0931 EXPLAINED BY CONTEXT (documented journal).
5. Match as shown, prompt 07 arithmetic: 8,250.00 + JE-0931 120.00 less 4,970.00 = 3,400.00, BREAK. Explained: 4,300.00 counted twice less 900.00 missing = 3,400.00, nothing left over. Verdict: DO NOT SHARE as shown.
6. By region: OPEN. The trial balance has no regional split; ask once for the revenue by region report. Not a flag, and the total check still ran.
7. Checked, normal (no tag): 1005 negative (credit memo with its original order); 1007 left out as October; a date range written with BETWEEN on a date column includes 30 September.
</expected_output>

<review_gate>Print MATCH or MISMATCH per line. If a figure differs, the regional check was flagged instead of marked OPEN, or a normal item was tagged, name the line and STOP: do not use real numbers until it matches. If all match, say the pack is calibrated in one plain sentence and recommend prompt 03.</review_gate>
Click to copy
<role>Same colleague, agreeing in plain words what each number means before anything is built.</role>

<task>
Work from the data source chosen in prompt 01.
1. Ask me for the five numbers I most often wait for (the ones I ask someone to "pull"). For each, write a one-line definition card in plain words: what is counted; one row means what (one invoice, one order, one customer); which date decides the month (order date, invoice date, or the date the books record it); which day boundary and timezone; what is left out (refunds, credit notes, internal or test customers, tax, shipping); currency; the source of record we will check it against; {{OWNER}}; how close it must be ({{TOLERANCE}}).
2. Say which file, report or connected system will answer each card, or OPEN.
3. Warn me about any card where the data uses a different date than my books (sales by order date against the books by invoice or recognition date). That number will differ from the books every month unless we explain the timing. Say so now.
</task>

<normal>
- Pipeline in Salesforce and revenue in the books are different numbers. Normal: different definitions.
- Sales by order date differ from the books. Normal timing; a problem only if the card claims they should match without explanation.
- A number with no account in the books (sign-ups, headcount): its source of record is the system's own report. Normal if named.
</normal>

<trap>"Revenue" asked in plain English gets built on whatever looks like revenue, usually order amounts by order date. It looks right and never matches the books. Agree the date and the source of record first.</trap>

<stop>If I cannot name a source of record for a number, mark its card DRAFT; a chart for it may be built only with DRAFT on it. Other cards continue.</stop>

<output_format>One table, one row per number, the columns in step 1 plus "Answered by" and "Should match the books each month: yes, needs a timing note, or no record". Then OPEN items, each naming the record that closes it.</output_format>

<review_gate>{{OWNER}} approves each card before a chart is built on it.</review_gate>
Click to copy
<role>Same colleague, building my first chart from a file I already have.</role>

<task>
Work from the data source chosen in prompt 01. Say first, in one sentence: this chart is a snapshot of the file and will not update by itself.
In a private Claude Project (click "Projects" on the left, then "+ New Project"), with a handful of files:
1. I upload, with the "+" button in the project knowledge panel, the export (an Excel or CSV report from my accounting system, CRM or spreadsheet) and, if I have it, the trial balance for the same period. Read each file and tell me in plain words: how many rows, which period, which currency, when it was exported, and what one row means.
2. Look for total or subtotal rows inside the data, duplicate rows, blank or "unknown" categories, and rows outside {{PERIOD}}. Say what you will leave out and why.
3. Answer my question as a chart, with a one line caption: what is counted, the period, the file and its export time, and DRAFT.
4. Run prompts 06, 07 and 08 on it, using the export time as the refresh time. If they are not pasted in this chat or in the project, ask me to paste them first.
5. Only after it matches the books: build a one page board view with the Design template, every figure labelled with period, source and export time. If no Design template appears, turn on "Cloud code execution and file creation" in Settings > Capabilities (on Team or Enterprise an Owner does this in Organization settings > Capabilities).
</task>

<normal>
- An export ends with a grand total row. Normal; leave it out and say so. A problem if that total does not equal the sum of the rows.
- Negative rows for refunds or credit notes. Normal when they match an original sale.
- A smaller month in a seasonal business. Normal; a problem if lower than any prior year with no reason.
- The same customer invoiced again on a recurring plan, with the next invoice dated in the next period. Normal; it is outside the period. A problem only if two invoices for the same customer, amount and service fall inside the same period.
</normal>

<trap>An export with a grand total row at the bottom doubles every figure when the column is added up, and the chart still looks plausible. Check for total rows before adding anything.</trap>

<stop>If the file has no stated period or export date, give no figure as final and build no board view; ask once for the export date. If the trial balance is missing, the chart stays DRAFT and prompt 07 is OPEN.</stop>

<output_format>The file check table (file, rows, period, currency, export time, one row means), what was left out, the chart with its caption, then the 06, 07 and 08 results, then the board view only if it matched.</output_format>

<review_gate>{{OWNER}} approves the match to the books before the board view leaves the Project.</review_gate>
Click to copy
<role>Same colleague, building a chart that stays current from a source already connected to Claude.</role>

<task>
Work from the data source chosen in prompt 01. Claude Dashboards is in beta on paid plans (Pro, Max, Team, Enterprise).
1. Turn one approved card from prompt 03 into a plain question that names the system, the period, what one row means and which date decides the month. Examples: "Make a dashboard of my open Salesforce opportunities by stage and owner." "From the invoices table, compare this month's revenue with last month by region, using invoice date."
2. Build it: ask for it in the chat, or select "Output" in the message box and choose "Dashboards", or open the "Artifacts" tab and select a Dashboards template. If there is no Dashboards option: on Pro or Max turn on "Cloud code execution and file creation" in Settings > Capabilities; on Team or Enterprise an Owner turns it on in Organization settings > Capabilities, and on Enterprise also turns Dashboards on in Organization settings > Artifacts.
3. Under each chart, write a caption in plain words: what is counted, period, which date, DRAFT.
4. Run prompts 06, 07 and 08 on every chart before anyone else sees it. The dashboard starts private to me; do not click "Share" yet.
</task>

<normal>
- The first version groups or charts it differently than I pictured. Normal; ask for the change in the chat, for example "change this to a weekly view".
- Pipeline values in Salesforce do not match revenue in the books. Normal: an open opportunity is not revenue. Do not tie pipeline to the GL.
- Today's figure is low early in the day. Normal before new data arrives; prompt 08 decides.
</normal>

<trap>A vague question ("a revenue chart") lets Claude choose which table and which date to use, and you cannot see that choice until you ask what the number counts. Name the system and the date in the question.</trap>

<stop>If the card is not approved, or the system named on it is not connected to Claude, build nothing and tell me which; offer prompt 04 with an export, or prompt 09 to get it connected.</stop>

<output_format>The question as asked; the dashboard; per chart: caption, system and table used, date used, DRAFT label.</output_format>

<review_gate>Nothing is shared until prompts 06, 07 and 08 pass for every chart on it.</review_gate>
Click to copy
<role>Same colleague. You read the query behind each number so I do not have to, and answer in plain words.</role>

<task>
Work from the data source chosen in prompt 01. For each chart, open the query behind the number (in Claude Dashboards, click the number) or, for a file, look at how you added it up. Answer these seven questions in plain words, one line each, then show the arithmetic for any problem:
1. What does one row mean in each table used? Is any amount added up more than once because a table with several rows per item was joined in (an order counted once per product line)? If yes, compute the excess as amount x (rows per item less 1) for each affected item.
2. Is anything joined on a value that is not unique (a customer name, an email)?
3. Which date decides the period, and does the filter keep the whole last day? A filter that ends at "2026-09-30" on a date-and-time column stops at midnight and loses the last day.
4. Which timezone closes the day, and are sales near midnight on the last day in the right month?
5. What is left out: cancelled, test, internal, deleted rows? Are customers counted once (distinct) or once per order? Do blank categories disappear from the total?
6. Are different currencies added together without converting?
7. Does this match the definition card from prompt 03?
Then rewrite the query (or the calculation) to fix each CHANGES THE DECISION item, recompute the figure, and say in one sentence what changed.
</task>

<normal>
- Negative rows from credit notes or refunds against an original sale. A problem if there is no original or they exceed it.
- Rows dated after the period are left out. Normal.
- A date filter written with BETWEEN on a column that holds dates only. Normal; a problem on a date-and-time column.
- Blank categories shown as "unknown". Normal if shown; a problem if they vanish from the total.
- A second table used only to filter (keep orders that have lines), not to add up. Normal.
</normal>

<trap>A total that looks like revenue can hide a double count: adding an order amount after joining it to its product lines counts each multi-line order several times, and the chart still looks normal. Ask what one row means in every table before trusting any figure.</trap>

<stop>If the query cannot be shown, or it uses a table whose rows you cannot describe, mark that chart UNTRUSTED and give no corrected figure for it. Other charts continue.</stop>

<output_format>Per chart: the seven answers in plain words; a table of problems (question number, what is wrong, amount with working, tag); the corrected figure at full precision. End with a one line answer for me: "This number counts ... and can / cannot be trusted yet because ..."</output_format>

<review_gate>{{OWNER}} approves each corrected figure before prompt 07 checks it against the books.</review_gate>
Click to copy
<role>Same colleague, doing the controller's check. This prompt is a gate.</role>

<task>
Work from the data source chosen in prompt 01, with the corrected figures from prompt 06.
For each chart number whose card names a source of record:
1. Get the source of record figure on the same basis: same {{PERIOD}}, same company, same {{CURRENCY}}, same date rule. Name the record (trial balance account, GL report). Ask once if I have not given it.
2. List explained differences only from a document I provide (a journal entry, an accrual schedule), each with its reference and amount.
3. Arithmetic: chart number + explained differences less source of record = difference. Full precision, round at the end.
4. Verdict per number: TIES (difference inside {{TOLERANCE}}), BREAK (outside it), OPEN (record missing).
5. On a BREAK, explain the difference with the items found in prompts 06 and 08, with amounts. Anything left over is an unexplained break.
</task>

<normal>
- The chart sits below the books by a documented journal (a reclass, an accrual, fees booked only in the books). EXPLAINED BY CONTEXT with the journal number. A problem with no document.
- A difference inside {{TOLERANCE}} at full precision. Rounding.
- A number with no account in the books (pipeline, sign-ups) is checked against its system's own report instead. Normal if the card says so.
- A split (by region, by product) the books do not carry is OPEN against the detailed report, while the total still ties.
- The trial balance I gave you is an extract with only some accounts, so its debits and credits do not balance. Normal; tie to the account the card names (default: the revenue account shown). A problem only if the card names an account the extract does not show.
</normal>

<trap>A difference that happens to equal a plausible accrual gets "explained" by an accrual nobody showed you. A difference without a document is not explained; it is part of the break.</trap>

<stop>BREAK or OPEN on a number: that number is not shared and stays DRAFT. Keep checking the rest. If nobody acts, the chart stays private to me. {{OWNER}} unblocks it with the missing record or a corrected figure.</stop>

<output_format>Table: number, period, chart figure [T2], books figure [T1 record], explained differences with references, difference with working, tolerance, verdict, tag. Then one line: SHARE, SHARE WITH OPEN ITEMS NAMED, or DO NOT SHARE, and why in plain words.</output_format>

<review_gate>{{OWNER}} signs the table. Only TIES numbers lose the DRAFT label.</review_gate>
Click to copy
<role>Same colleague, checking that the data is as fresh as my question needs.</role>

<task>
Work from the data source chosen in prompt 01.
For each chart, read its last refreshed time (for a file, the export time). Compare it with (a) the end of {{PERIOD}}, (b) {{LOAD_TIME}}, when the last day's data usually arrives, and (c) when I will use the number.
Verdict: FRESH (refreshed after the data covering the period end arrived), STALE (refreshed before), OPEN ({{LOAD_TIME}} unknown).
On STALE: name the days or rows the chart cannot contain, with their amount if visible, and the corrected figure after a refresh.
For a period still running, label the figure PERIOD TO DATE with the cut-off time.
For a file, the export time is the refresh time and {{LOAD_TIME}} does not apply: FRESH if it was exported after the period ended and covers the whole period, STALE if exported before the period ended.
</task>

<normal>
- A chart refreshed this morning for a question about last week. FRESH.
- The latest day looks thin before {{LOAD_TIME}}. Normal; label it, do not compare it to full days.
- Charts on one dashboard show different refresh times. Normal; check each.
</normal>

<trap>A month-end number read on the morning of the last day looks complete and is a partial month. The chart's last refreshed time, not today's date, decides what it contains.</trap>

<stop>STALE on a number used for the close, the board or a decision: block that number until a refresh after {{LOAD_TIME}}. {{LOAD_TIME}} unknown: ask once who knows it, then label every figure CUT-OFF UNKNOWN.</stop>

<output_format>Table: chart, last refreshed, period end, data arrives, verdict, what is missing with amount, corrected figure. Then one plain sentence per chart: "Safe to use for ..." or "Not yet, because ...".</output_format>

<review_gate>{{OWNER}} confirms the refresh before the number goes into the match to the books or a meeting.</review_gate>
Click to copy
<role>Same colleague, writing what I send to the person who runs our data (IT, a data engineer, an outside firm). I do not do the technical setup.</role>

<task>
Work from the data source chosen in prompt 01, with the cards from prompt 03.
1. List, in plain words, which numbers I want and which system or warehouse holds them (Snowflake, BigQuery, Databricks, Amazon Redshift, ClickHouse, Salesforce or other).
2. Write a short message from me to that person asking for:
   a. A read only login for Claude: it can look at the reporting tables these numbers need and nothing else; it cannot change, delete or create data; no admin rights.
   b. The connector added in Claude. Personal plan: Customize > Connectors, click the "+" button next to Connectors, pick the connector, click "Connect" or "Install", sign in with the read only login. Team or Enterprise: an Owner goes to Organization settings > Connectors, clicks "Browse connectors", selects it and clicks "Add to your team"; then I connect my own account.
   c. On Team or Enterprise, the Owner sets the connector's Tool permissions (Customize > Connectors, select the connector): read tools Always allow, write or delete tools Blocked, so it applies to everyone. Read tools must not be Needs approval: tools that need approval for each action are not available to dashboards. On a personal plan, the read only login is the protection.
   d. If Dashboards is not visible: on Team or Enterprise an Owner turns on "Cloud code execution and file creation" in Organization settings > Capabilities, and on Enterprise also turns Dashboards on in Organization settings > Artifacts.
   e. Which tables to use for each number, and the time new data arrives each day ({{LOAD_TIME}}).
3. Give me the three questions to ask before I connect: is this login read only, which tables can it see, and who else will open my dashboards (each viewer uses their own access).
</task>

<normal>
- The connector offers a tool that can run any query. Normal; the read only login decides what it can actually do. A problem if the login can write.
- The warehouse is a day behind the accounting system. Normal; record the delay as {{LOAD_TIME}}.
</normal>

<trap>Connecting with someone's all-access login works first time and is the wrong answer: a shared dashboard uses each viewer's own access, so colleagues see different numbers or an error. Ask for a read only login made for this.</trap>

<stop>If the only login on offer can change or administer the data, do not connect; the message asks for a read only login first.</stop>

<output_format>The list of numbers and systems; the message, ready to send, under 200 words; the three questions.</output_format>

<review_gate>I send the message myself. Nothing is connected until the data person confirms the login is read only.</review_gate>
Click to copy
<role>Same colleague, running my Monday questions on charts that already passed 06, 07 and 08.</role>

<task>
Work from the data source chosen in prompt 01.
1. I list this week's questions. Sort each: answered by an approved card, needs a new card (prompt 03), or a deeper piece of work for an analyst (prompt 11).
2. For approved cards: refresh, run prompt 08, then answer in one sentence with the number, its period, its refresh time and whether it matched the books at the last prompt 07 check.
3. Re-run prompt 07 for any number whose month has closed since it was last checked.
4. List what moved by more than {{MATERIALITY}} since last week, with the reason if the data shows it, or OPEN.
</task>

<normal>
- A week-on-week swing in a small segment. Normal below {{MATERIALITY}}; one untagged line.
- A question that needs a forecast or a model. Normal; it goes to an analyst.
</normal>

<trap>A chart that matched the books last month is trusted this week without checking its refresh, and Monday's number is Sunday's partial data. Run prompt 08 every time.</trap>

<stop>A question with no approved card gets no number this week, only a draft card.</stop>

<output_format>Table: question, card, number, period, refreshed, matched books, one sentence answer. Then moves over {{MATERIALITY}}. Then new cards needed.</output_format>

<review_gate>{{OWNER}} reads the table before any answer is sent.</review_gate>
Click to copy
<role>Same colleague, helping me decide which reports belong in Claude and which stay with Power BI or an analyst.</role>

<task>
Work from the data source chosen in prompt 01.
For each report or question I list, check six needs:
1. Each reader must see only their own rows from one shared report (for example each regional manager sees only their region). In Power BI this is row-level security.
2. Other reports are built on it as the company's official version.
3. It is emailed on a schedule to people who never log in.
4. It is a formatted statutory, regulatory or customer-facing report.
5. Readers outside the company, or without access to the data. A Claude dashboard uses each viewer's own access; someone without it sees an error.
6. It needs a forecast, a model or a long chain of calculations.
Any of these: keep it in Power BI or with an analyst. None, and it matched the books in prompt 07: it can be answered in Claude.
If I give you the figure a Power BI report shows today for the same question, compare it with the Claude figure and explain any difference: refresh time, which date, filters, or rows that reader is not allowed to see.
</task>

<normal>
- Most quick questions need none of the six. Normal; those are the ones to ask Claude.
- A Power BI figure lower than Claude's by exactly the rows that reader cannot see. EXPLAINED BY CONTEXT once the amount is shown.
</normal>

<trap>"Power BI and Claude disagree, so Claude is wrong" is the reflex. Both are TIER 2 until one is checked against the books; the Power BI figure can be stale or filtered for that reader.</trap>

<stop>If you cannot tell whether need 1 applies, keep the report in Power BI until whoever runs it confirms. Never infer a Power BI report's filters from its title.</stop>

<output_format>Table: report, needs that apply, decision (CLAUDE, POWER BI OR ANALYST, BOTH), reason in plain words, who confirms.</output_format>

<review_gate>{{OWNER}} and whoever runs the report sign the list. Nothing in Power BI is switched off on the strength of this prompt alone.</review_gate>

From a working build to an operating system.

For CFOs who never learned Power BI: 11 Claude prompts that turn your Excel or accounting numbers into a chart from a plain English question, then check every figure against your books.

Path A · free

Run the build independently

The setup rail and every prompt above are free and stay free. The cost is your time, and the risk of wiring it wrong on live data.

Back to the prompts
Path B · done with you

Connect it to your operation

We would set it up with you: the read only connection to your warehouse or Salesforce, the definitions for the numbers you ask about most, and a monthly check that each chart still matches your books.

Book a build call
data safety

Before you use live numbers

  • • Run last quarter's numbers first. Live data is not a test bed.
  • • Nothing here uploads to us. It runs in your own Claude account, on your own machine.
  • • A named human reviews and signs every output before it reaches a board, lender, or client.
  • • Mask account numbers and names to the minimum the task needs.
the fine print

Straight answers on ownership

Your data goes only to your own Claude account and your own connections; consultance.ai never sees it. Use a Team or Enterprise plan, or turn model training off, before confidential books. A shared Claude dashboard uses each viewer's own connection. Claude Dashboards is a beta governed by Anthropic's terms; respect your data provider's terms and your data handling policy.

Bring this workflow into your operation.

Book a build callBack to the library

Want this wired into your stack instead of running it yourself? That is our AI deal desk and finance automation service.

Newsletter

New builds, as they ship

One short note when a new build ships: what it does, who it is for, and how to run it in your own Claude.

Free. One email a week at most. Unsubscribe in one click.

More like this

Related builds

All builds
Finance and data
Finance and data

Ramp Claude Connector Setup Guide

For controllers and finance ops teams on Ramp: Claude setup steps plus 12 read only prompts for spend baseline, close readiness, accruals and flux. Replaces the manual Ramp export to Excel.

Setup guide
Finance and data
Finance and data

Claude and NetSuite Setup Guide

For controllers, CFOs and FP&A leads on NetSuite: the setup steps for Oracle's Claude connector plus 12 read only prompts for close, receivables, payables and cash.

Setup guide
Finance and data
Finance and data

QuickBooks and Claude Setup Guide

For owners, controllers and fractional CFOs on QuickBooks Online: connect Intuit's QuickBooks connector to Claude, then run 11 prompts for cash, receivables, month end, billing drafts and a tie out.

Setup guide
Get the free kitBook a call

Share with your workflow owner.

Bring the relevant team into the conversation with the build and setup guide.

Forward by email
in one line

What is Claude Dashboards for CFOs?

Claude Dashboards for CFOs is a finance and data build in the consultance.ai AI Build Library. For CFOs who never learned Power BI: 11 Claude prompts that turn your Excel or accounting numbers into a chart from a plain English question, then check every figure against your books. It fits CFOs and finance leads at $5M to $500M companies who never learned Power BI, or never got past opening it, and wait on someone else for a chart. Setup difficulty is Easy, with 5 plain-English steps.

What does Claude Dashboards for CFOs do?

For CFOs who never learned Power BI: 11 Claude prompts that turn your Excel or accounting numbers into a chart from a plain English question, then check every figure against your books.

Who is Claude Dashboards for CFOs for?

It fits CFOs and finance leads at $5M to $500M companies who never learned Power BI, or never got past opening it, and wait on someone else for a chart.

How hard is Claude Dashboards for CFOs to set up?

Easy to set up — one guided setup instruction covering 5 plain-English steps, plus 11 ready-to-run prompts on the resource page.

How would consultance.ai build this out?

We would set it up with you: the read only connection to your warehouse or Salesforce, the definitions for the numbers you ask about most, and a monthly check that each chart still matches your books.

What are the licensing terms?

Your data goes only to your own Claude account and your own connections; consultance.ai never sees it. Use a Team or Enterprise plan, or turn model training off, before confidential books. A shared Claude dashboard uses each viewer's own connection. Claude Dashboards is a beta governed by Anthropic's terms; respect your data provider's terms and your data handling policy.

Connect this build to your workflow.

Discuss how Claude Dashboards for CFOs fits your systems, controls, and team. We define the integration, review process, and deployment requirements with you.

This build comes from our AI consulting and AI implementation practice — see the full AI in finance guide and how we work with CFO teams.

Book an audit