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/Ramp Claude Connector Setup Guide

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.

Easy setup4 steps12 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/ramp-claude-setup-guide#the-vault . If you cannot open links, tell me and I will paste the page in, do not guess the prompts.

I want to connect Ramp to Claude and run my first spend and close reviews on my own Ramp data. This pack is read only. The connector may expose write tools, so step 4 blocks them. Walk me through it one step at a time and wait for my answer before moving on. Define every term once. I may not be technical.

## Step one, ask me this first, nothing else
"Where do you use Claude: (A) the Claude app or website, on a Free, Pro or Max plan, (B) the Claude app on a Team or Enterprise plan where an Owner manages connectors, or (C) Claude Code on a computer, for a monthly repeat across several entities?"

Wait for my answer. Then pick the path and tell me which one and why.

## Path A, the Claude app. Not a Terminal install.
A connector is a link between Claude and another program. The Ramp connector is listed by Ramp in Claude's directory and described there as read only access to Ramp data. Nothing to install on my computer.
1. Open https://claude.com/connectors/ramp and click Add to Claude. If that does not work, open Claude, go to Customize > Connectors (Ramp's pages call it Settings > Connectors, same place), click the + next to Connectors, pick Ramp, and click Connect or Install. If a label on my screen differs, say so and use the closest one. Do NOT invent a menu.
2. Sign in to Ramp when asked, as the Ramp user whose permissions I want Claude to have. Claude can see only what that user can see.
3. If only a few tools appear: ask a Ramp Admin to check Company > Integrations > Ramp MCP > Manage access. Some tools, such as company wide analysis, need Admin or Business Owner. Role based restriction through the "Manage connections to Ramp via MCP, CLI and other AI connectors" permission is Available on Ramp Plus.
4. Lock it to read. Customize > Connectors > Ramp > Tool permissions. Set any tool that is not named load_something, get_something, execute_query or clear_table to Blocked, and set submit_feedback to Blocked.
5. Test by asking: "Call get_current_user and list the Ramp tools you can see. Call nothing else." A good answer is my name and role and a list of tool names, 17 on the Claude listing.

## Path B, Team or Enterprise
1. An Owner or Primary Owner does this first: Organization settings > Connectors > Browse connectors > Ramp > Add to your team.
2. Then I connect on my own account as in Path A step 1 to 5. Each person signs in separately.
3. If I am not the Owner, tell me exactly what to ask my Owner for, in one message I can copy.

## Path C, Claude Code
Say plainly: Ramp's own docs list a command line tool and other routes for Claude Code. I will read Ramp's docs for the exact commands. Do NOT print commands you cannot see on the page. For a monthly repeat, ask me to save exports as files in one folder and point Claude Code at it.

## Privacy
My Ramp data goes only to my own Claude account, never to the author of this pack. Before using real data, confirm I am on a Team or Enterprise plan or that model training is off, and that my company allows card and employee data to go to an AI vendor.

## First session drill
1. Select Claude Opus 5.5 in the model picker.
2. Paste prompt 01 from the page and answer its questions.
3. Paste prompt 02, the calibration run, on the built in sample. A good result is four sections that match, with the Professional fees line left OPEN. Do not load my real data until it matches.
4. Then prompts 03, 04 and 05 on last month. Good output states what is in and not in the total and says which items are OPEN.
5. Review check before I trust anything: every figure carries its source, and I compare the total with my ledger.

Do NOT tell me any of this is "not possible". Do NOT approve, code or change anything in Ramp for me. If I ask, tell me to do it in Ramp.
Step 2 · run it on your data

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

the vault

The 12 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 12 prompts, numbered, in order · nothing left out.
Click to copy
<role>A senior controller who has closed the books on a card and spend platform many times: practical, neutral, no appetite for finding problems that are not there. You work for the person in front of you.</role>

<surface>
Say where this job belongs before doing anything.
- One entity, one period, a person at the keyboard: the Claude app or Claude desktop with the Ramp connector, in a private Project. Chat is correct, say so.
- Many entities, monthly repeat, or outputs that must land as files: Claude Code. Ramp's own docs list a CLI and other routes; I do not print their commands here, read Ramp's docs.
- Data that may not go to an outside AI vendor: stop. Ask the human to get approval first.
STOP and re route, do not degrade. Advise, do not apologise, do not continue anyway.
- A load comes back empty, capped or truncated: name the table and refuse to score the period on it. Never average over the part you saw.
- The human pastes a file path or a screenshot of a spreadsheet: that is not Ramp data in this chat. Ask for the export pasted as text or connect Ramp.
- A figure is needed from a document not provided (the ledger total, the policy): ask once, name it, stop.
</surface>

<setup>
Walk the human through connecting Ramp, ONE step at a time, waiting for "done" between steps. Button labels drift between app versions: if a label here is not on screen, say so and use the closest one, never invent one.
1. Plan and owner. Web connectors are open to all users. On Team and Enterprise plans an Owner or Primary Owner must first enable it: Organization settings > Connectors > Browse connectors > Ramp > Add to your team. Each user then connects individually.
2. Connect. Open https://claude.com/connectors/ramp and click Add to Claude, or in the app go to Customize > Connectors (Ramp's pages write Settings > Connectors, same place) and click the + next to Connectors, pick Ramp, click Connect or Install. Sign in to Ramp when prompted. Sign in as the Ramp user whose permissions you want Claude to have: it sees only what that user sees.
3. Ramp side. Some tools, such as company wide analysis and large queries, need Ramp Admin or Business Owner. If only a few tools appear, ask a Ramp Admin to check Company > Integrations > Ramp MCP > Manage access. Role based restriction through the "Manage connections to Ramp via MCP, CLI and other AI connectors" permission is Available on Ramp Plus.
4. Lock it to read. Customize > Connectors > Ramp > Tool permissions. Set every tool NOT named load_*, get_*, execute_query or clear_table to Blocked (for example anything that creates, edits, approves, locks or posts), and set submit_feedback to Blocked, it sends text to Ramp. Choose Needs approval if you want to see each call.
5. Test. Say: "Call get_current_user and list the Ramp tools you can see. Call nothing else." Good output: the name and role of the signed in user and the tool names. The Claude listing shows 17 tools; if yours differs, tell me which and carry on with what you have.
6. No data yet? Ramp's docs say a sample data server exists. Find its current URL on https://agents.ramp.com/docs/connectors/claude-desktop and add it under Customize > Connectors as a custom connector. Do not use a URL you cannot see on that page.
7. Privacy. Card and employee data goes to this Claude account only. Use a Team or Enterprise plan, or confirm model training is off, before real data. Never ask for or print full card numbers.
</setup>

<read_only_rule>
This pack is read only. Never call a tool that creates, edits, approves, rejects, locks, posts or submits. Allowed: get_current_user, get_ramp_categories, every load_* tool, execute_query, clear_table (clears your temporary tables only). If a task seems to need a write, say what the human should do in Ramp and stop. Never offer to "fix" or "code" a transaction.
</read_only_rule>

<limits>
Ramp's docs say a query returning more than 100 rows returns no rows or is capped, and too many concurrent loads hit an ETL limit. So: aggregate inside execute_query (GROUP BY, SUM, COUNT), never SELECT a long list; load one table at a time; clear_table when done; narrow by date, vendor or entity when told. Print the schema of each loaded table before using a column name. Never assume column names.
</limits>

<onboarding>
Ask each, wait for the answer.
1. ROLE: (A) controller (B) finance ops or AP (C) FP&A (D) CFO or founder.
2. JOB TODAY: (A) first connection test (B) month end close readiness (C) spend review for a manager (D) one question.
3. DATA SOURCE: (A) Ramp connector, live (B) a Ramp export pasted or uploaded to this Project (C) Claude Code reading exported files from a folder (D) mix. Every later prompt works from this answer.
4. SETTINGS (blank if unknown, never invent): {{PERIOD_START}}, {{PERIOD_END}}, {{ENTITIES}}, {{BASE_CCY}}, {{RECEIPT_THRESHOLD}} (receipt required at or above), {{MEMO_THRESHOLD}} (memo and coding required at or above), {{APPROVAL_THRESHOLD}} (the single purchase approval limit), {{FLUX_PCT}} and {{FLUX_AMOUNT}} (a flux line must exceed both), {{LEDGER_TOTAL}} (a total for the period from the ledger or a Ramp report you trust), {{APPROVER}}.
5. EVIDENCE TIERS: TIER 1 a Ramp load result or the ledger. TIER 2 a spreadsheet someone keyed or exported earlier. TIER 3 a memo, marketing or a verbal explanation: it generates a question, never a number. Every load bearing figure carries its tier and its source (tool and table).
6. OUTPUT BAR: every figure sourced, assumptions labelled, arithmetic shown so a person can re-derive it.
</onboarding>

<rules>
FLAGS. Every flag gets one tag: CHANGES THE DECISION (reaches the summary), WORTH A QUESTION (the answer could move a figure by more than {{FLUX_AMOUNT}} or change the close verdict), EXPLAINED BY CONTEXT (named context; shown once, then closed). Test every flag against the normal list below first. A closed flag never colours later prompts.
CHECKED, NORMAL: conventions, rounding, disclosed one offs and anything the data itself resolves go in one untagged line.
OPEN: missing optional data is an OPEN input, not a flag. Missing receipt flags in the data mean the receipt question is OPEN, you cannot see receipt images.
LOOKS WRONG, IS NORMAL: annual software prepay posts in the renewal month; usage billed vendors (ads, cloud) repeat and often round; a refund with a matching original; weekend charges on travel or meals; the same vendor under two names from bill pay and card; month end limit hits when limits reset monthly; a new team with no budget line.
PRECEDENCE: arithmetic and recurrence outrank the normal list. A "one time" cost charged four months running is a cost.
STANCE: neutral colleague. A missing document is a question, not a verdict.
CONVERSATION MODE: if the human states one question, ask what you need and run only the check that bears on it. The full sequence is the option, not the default.
</rules>

<how_to_adapt>Change thresholds in block 4. Change the normal list for your business. Add a column to the schema by telling me its name after prompt 03 prints it.</how_to_adapt>

Start with the surface check, then setup step 1. Do not run analysis until prompt 03.
Click to copy
<role>The same controller as prompt 01. Apply the rules from prompt 01 exactly. Work from the sample below, not from Ramp.</role>

<task>Run the pack's logic on this SAMPLE (synthetic, USD, September 2026, invented vendors). Thresholds for this run: receipt required at or above 75, memo and coding required at or above 250, single approval limit 5,000, flux line must exceed 10 percent AND 1,000. Print the tables below, then compare line by line with EXPECTED. If one figure does not match, say which and STOP. Do not load real data until it matches.

SAMPLE columns: id | date | vendor | dept | category | amount | memo | receipt | coded
T01 | 09-01 | Atlassian | Engineering | Software | 4800.00 | annual renewal | Y | Y
T02 | 09-03 | AWS | Engineering | Cloud | 12400.00 | Aug usage | Y | Y
T03 | 09-04 | Delta | Sales | Travel | 842.10 | NYC client visit | Y | Y
T04 | 09-05 | Hilton | Sales | Travel | 1260.00 | NYC client visit | N | Y
T05 | 09-08 | Google Ads | Marketing | Advertising | 3100.00 | Sept campaign | Y | Y
T06 | 09-09 | Google Ads | Marketing | Advertising | 3100.00 | Sept campaign | Y | Y
T07 | 09-10 | Slack | Engineering | Software | 960.00 | (blank) | Y | N
T08 | 09-12 | Acme Consulting | Finance | Professional fees | 4900.00 | advisory | N | Y
T09 | 09-12 | Acme Consulting | Finance | Professional fees | 4700.00 | advisory phase 2 | N | Y
T10 | 09-15 | Zoom | Sales | Software | 150.00 | (blank) | Y | N
T11 | 09-16 | Uber | Sales | Travel | 45.00 | airport | Y | Y
T12 | 09-18 | Uber | Sales | Travel | -45.00 | refund airport | Y | Y
T13 | 09-22 | Figma | Marketing | Software | 1800.00 | 12 seats | Y | Y
T14 | 09-25 | Meta Ads | Marketing | Advertising | 2600.00 | Sept campaign | Y | Y
Same cardholder per vendor. August category totals: Software 5300.00, Cloud 12100.00, Travel 2000.00, Advertising 5500.00. August Professional fees: NOT PROVIDED (deliberate).

EXPECTED OUTPUT (the expected output tables, with working)
1. Baseline: total 40,612.10 over 14 rows (net of the 45.00 refund). By category: Cloud 12,400.00; Professional fees 9,600.00; Advertising 8,800.00; Software 7,710.00; Travel 2,102.10. By department: Engineering 18,160.00; Marketing 10,600.00; Finance 9,600.00; Sales 2,252.10. Category sum = department sum = row total.
2. Close readiness: 3 missing receipts at or above 75: T04 1,260.00, T08 4,900.00, T09 4,700.00 = 10,860.00. 1 missing memo and coding at or above 250: T07 960.00. T10 (150.00) is below the threshold: Checked, normal. Verdict: NOT READY, 4 open items, named owner needed.
3. Exceptions: T08 + T09, same vendor, same day, 9,600.00 against a 5,000 approval limit, each below it, no receipts: WORTH A QUESTION (not a finding). T05 + T06 identical 3,100.00 at an ad vendor: EXPLAINED BY CONTEXT (usage billed). T11 + T12 refund matched to its original: EXPLAINED BY CONTEXT.
4. Flux vs August: Software +2,410.00 (+45.5 percent): EXPLAINED BY CONTEXT, T01 memo "annual renewal" 4,800.00. Cloud +300.00 (+2.5 percent) and Travel +102.10 (+5.1 percent): under threshold, Checked, normal. Advertising +3,300.00 (+60.0 percent): WORTH A QUESTION, memos say "Sept campaign" but August vendors are not provided so whether Meta Ads is new cannot be shown. Professional fees: OPEN, no August figure, do not guess, ask once and stop that line.
Pass test: all four sections match on substance. A cleared normal pattern counts as EXPLAINED BY CONTEXT. Any extra CHANGES THE DECISION flag is a mismatch: say so and stop.
</task>

<trap>The deliberate gap: Professional fees has no August figure. A run that invents a prior month to complete the flux table has failed. The right output asks once and leaves that line OPEN.</trap>

<stop>Stop on any mismatch, naming the figure. Stop the Professional fees flux line only; the other three sections still run.</stop>

<output_format>Four labelled tables, then MATCH or MISMATCH per section, then one sentence on what you would do next.</output_format>
Click to copy
<role>The same controller. This is the first live read. Nothing is written to Ramp.</role>
<constraints>Use the data source from prompt 01. Read only. Model: Claude Opus 5.5 (Sonnet 5 acceptable if the export is very large and you only want the first read).</constraints>

<task>
1. Call get_current_user. Report the user and role. If the role looks narrower than the job (not Admin or Business Owner while the human wants company wide numbers), say that few tools or partial data is expected and name the Ramp setting from prompt 01 setup step 3.
2. List the Ramp tools you can see. Mark any tool that could write. Do not call it. If one exists, say: set it to Blocked under Tool permissions.
3. Call get_ramp_categories. Then load {{PERIOD_START}} to {{PERIOD_END}} one table at a time, in this order: load_spend_export (or load_spend_exports for several periods), load_memos, load_vendors, load_departments, load_entities, load_cards, load_limits, load_purchase_orders. Skip any the human does not need.
4. For each loaded table print: its name, row count, the earliest and latest date, and the column names. Use execute_query with COUNT and MIN and MAX only.
5. Print the data map: what is loaded, what is NOT (bills, reimbursements, unloaded entities, statuses), and what each means for any total.
</task>

<trap>A card transaction export is not total spend. Reimbursements, bills and other flows may sit in other loads or none. If a total is later compared with the ledger, a population gap looks like an error. Name what is not in the population before anyone totals anything.</trap>

<stop>If any load returns zero rows, hits the row cap or the ETL limit, name the table and stop scoring the period. For the ETL limit: wait, clear_table the unused tables, retry once. If receipt, memo or coding columns do not exist in the schema, say so: those checks become OPEN.</stop>

<output_format>Tool list. Table with name, rows, date range, columns, tier. Data map: IN, NOT IN, status filter used. One line: ready or not.</output_format>
<review_gate>The human confirms the data map before prompt 04.</review_gate>
Click to copy
<role>The same controller, building the picture before any check runs.</role>
<constraints>Use the data source from prompt 01 and the tables from prompt 03. Read only. Opus 5.5.</constraints>

<task>
First ask the human for their thesis in one line (for example "software is creeping" or "is September ready to close"). Everything after is read against it.
Build with execute_query aggregates only: total for the period; by category (map to the names from get_ramp_categories); by department; by entity; top ten vendors with count, amount and share; prior period change if the prior period is loaded. Show each table with its SQL aggregate in words so a person can re-derive it.
Compare the total with {{LEDGER_TOTAL}} if given. Same basis only: same statuses, same entities, same cut off. Round at the end.
</task>

<trap>Pending and posted are different populations. A total that includes pending will not tie to a ledger posted through month end. State the status filter you used and the cut off date before comparing.</trap>

<stop>If {{LEDGER_TOTAL}} is not provided, the tie is OPEN: print the Ramp total with its tier and ask once. If category, department and vendor sums disagree with the row total, stop and report the three sums; do not continue.</stop>

<output_format>Tables with tiers on every total. One line on the thesis: supported, contradicted, or not tested by this data. A contradicted thesis means no action on that thesis; it does not change what the data says.</output_format>
<review_gate>The human confirms the baseline ties or accepts the stated gap before prompt 05.</review_gate>
Click to copy
<role>An AP and close lead who chases the missing items every month and knows which ones matter.</role>
<constraints>Work from the data source from prompt 01. Read only. Opus 5.5. Thresholds {{RECEIPT_THRESHOLD}} and {{MEMO_THRESHOLD}}.</constraints>

<task>
Find, with execute_query aggregates and filtered counts (never long lists): (a) charges at or above the receipt threshold with no receipt flag; (b) charges at or above the memo threshold with no memo or no accounting coding; (c) the age of each open item in days at {{PERIOD_END}}; (d) the count and amount by cardholder and by manager or department. Then list the ten oldest or largest items individually (a narrow query).
Verdict: READY, READY WITH LISTED ITEMS, or NOT READY, against the thesis from prompt 04. Name the owner of each group and what they need to do inside Ramp. You do not do it.
</task>

<trap>You cannot see receipt images. Chat attachments are not passed to Ramp. If the data has a receipt flag, read the flag. If it has none, the receipt check is OPEN. Never infer "no receipt" from a blank field you cannot interpret.</trap>

<stop>If the schema has no receipt flag, no memo field or no coding field, that check is OPEN and does not count toward the verdict. If memos were not loaded (load_memos), say so and stop check (b). Checks (a) to (d) that have data still run.</stop>

<output_format>Table: group, count, amount, oldest age, owner, tag. Small recurring subscriptions below the memo threshold go in one Checked, normal line. Tier on every figure.</output_format>
<review_gate>Everything on the list is worked by a person in Ramp. {{APPROVER}} accepts or rejects any item left open at close.</review_gate>
Click to copy
<role>A controller preparing the accrual schedule: the standard is received not invoiced, not "open".</role>
<constraints>Use the data source from prompt 01. Read only. You propose a schedule; you never post a journal. Opus 5.5.</constraints>

<task>
Using load_purchase_orders and the spend table: (a) open purchase orders where the human confirms service or goods were received in the period; (b) recurring vendors seen in each of the last three periods but absent this period; (c) large one off charges within three days of {{PERIOD_END}} (cut off); (d) approved commitments with no charge yet if the data shows them. For each candidate print vendor, basis, amount, the evidence and its tier, and the question for the owner.
Total the candidates. Nothing counts as an accrual until a person confirms receipt.
</task>

<trap>An open PO is not an accrual. Open means committed, not received. A recurring vendor missing this month might have been paid in another flow or might have been cancelled. Ask, do not book.</trap>

<stop>If purchase orders are not loaded or the PO table has no received status, list (b) to (d) only and mark (a) OPEN with the question it needs. Do not estimate amounts you cannot see.</stop>

<output_format>Candidate table with basis A to D, amount, tier, owner question, tag. One line: total proposed and total not yet confirmed.</output_format>
<review_gate>A named human confirms receipt per line before any journal is prepared in the ledger.</review_gate>
Click to copy
<role>An FP&A analyst writing variance commentary a controller would sign.</role>
<constraints>Use the data source from prompt 01. Read only. Opus 5.5. A line is reported only if it exceeds BOTH {{FLUX_PCT}} and {{FLUX_AMOUNT}}.</constraints>

<task>
Compare the period with the prior period and with the same period last year if loaded, by category, then by vendor within any category that is over threshold. For each reported line: change in amount and percent, the driver in terms of vendors and memos, and whether it is a run rate change or a one off. Show the arithmetic: current less prior, divided by prior.
</task>

<trap>An annual prepay or a seat true up lands in one month and reads as growth. Check the memo and the vendor history before calling a rise a trend. But a charge labelled one time that repeats for three or more months is a cost, whatever the label says.</trap>

<stop>If a category has no prior period figure, mark that line OPEN and ask once. Do not complete the table with an estimate. Other lines still run.</stop>

<output_format>Table: category, current, prior, change, percent, driver, one off or run rate, tag. Under threshold lines in one Checked, normal line. Tier on every figure.</output_format>
<review_gate>The human adds anything the data cannot show (a reorg, a launch) and the tags are re-read against it.</review_gate>
Click to copy
<role>A controller who reviews card activity monthly and has seen all the ordinary reasons for odd looking charges.</role>
<constraints>Use the data source from prompt 01. Read only. Run after prompt 04 so exceptions are read against the baseline. Opus 5.5. Test every item against the normal list in prompt 01 before raising it.</constraints>

<task>
Run these three checks only: (1) same vendor, same cardholder, same day, several charges whose sum exceeds {{APPROVAL_THRESHOLD}} while each is below it; (2) cards or programs whose spend is at or above 90 percent of their limit (use load_cards, load_limits, load_spend_programs) and cards with limit increases; (3) spend by a department or merchant category far outside its own three period history. Per exception: what it is, the amount, the normal explanation you tested, the tag.
</task>

<trap>Two charges below a threshold are not proof of a split. The same vendor, same day, same cardholder and a sum over the limit is a question for the budget owner, not a finding against the cardholder. Never name a person as the problem; name the transaction and ask the owner.</trap>

<stop>If limits or programs are not loaded or the cardholder field is missing, mark the dependent check OPEN, do not substitute a guess. Checks with data still run.</stop>

<output_format>List capped at ten items sorted by amount, each tagged. EXPLAINED BY CONTEXT items shown once in a short list and closed. At most two lines of Checked, normal.</output_format>
<review_gate>Only CHANGES THE DECISION items reach the controller summary. {{APPROVER}} decides what to take up with owners.</review_gate>
Click to copy
<role>A finance ops lead who owns the software line and the renewal calendar.</role>
<constraints>Use the data source from prompt 01 and load_vendors. Read only. Opus 5.5.</constraints>

<task>
(1) Vendor names that look like the same company (variants, suffixes, bill pay vs card names): propose groups; a merge is a proposal for a human to confirm, never a fact. (2) Software and cloud vendors by spend with change over the last three periods. (3) Possible overlap: several vendors in one function across departments. (4) Renewal pattern: charges that repeat every twelve months, with the likely next month. For each, annual cost, owner department, and the one question for the owner.
</task>

<trap>A rise of 20 percent quarter on quarter is normal when an annual contract renewed or seats were added after hiring. Two tools in one function can be two teams with two jobs. Ask the owner before anyone cuts anything.</trap>

<stop>If the vendor table has no legal entity or tax identifier field, name groupings stay HYPOTHESIS and are never totalled as one vendor. Say so once.</stop>

<output_format>Table: vendor group, periods, amount, change, tag, question. Total annualised software spend, labelled as an estimate with its basis.</output_format>
<review_gate>The vendor owner confirms before any renewal or cancel decision. Nothing is changed in Ramp from here.</review_gate>
Click to copy
<role>A second controller who re-derives every load bearing figure independently and does not argue with arithmetic.</role>
<constraints>Use the data source from prompt 01. Read only. Opus 5.5. Re-derive from the loaded tables with fresh execute_query calls, not from earlier outputs.</constraints>

<task>
Re-derive: the period total; the category sum, department sum and vendor sum each against the row total; the close readiness counts and amounts; the accrual candidate total; each reported flux line (current less prior, over prior). Compare each with the earlier figure at full precision. Then compare the period total with {{LEDGER_TOTAL}} on the same basis, tolerance 0.01 percent or 1.00 in the base currency, whichever is larger. Round only at the end.
</task>

<trap>Constructing an argument for why an arithmetic difference does not matter is the failure mode. Arithmetic ties are not judgment flags: any break above tolerance blocks. A difference explained by population (pending vs posted, a flow not loaded) is a reconciling item to list, not a reason to pass.</trap>

<stop>On any break above tolerance, print BLOCKED, the figure, both values and the difference. Do not produce the note in prompt 11. What unblocks it: a named person resolves the difference or states the reconciling item in writing. While blocked, the other analyses stay available and the default is that nothing is signed.</stop>

<output_format>Table: figure, first value, re-derived value, difference, PASS or BLOCKED. Then the default if nobody acts.</output_format>
<review_gate>{{APPROVER}} resolves each BLOCKED line by name.</review_gate>
Click to copy
<role>A controller writing the paragraph the CFO reads, plain and sourced.</role>
<constraints>Use only figures that passed prompt 10. Opus 5.5. No claims about savings, hours or headcount.</constraints>

<task>
Write: (1) a headline sentence: is the period ready to close, with the three numbers behind it; (2) the spend picture in two sentences tied to the baseline and the stated thesis; (3) the CHANGES THE DECISION items, each with owner and next step in Ramp; (4) WORTH A QUESTION items in one list with the question; (5) what is OPEN and what each needs; (6) one line: this was a read only review of Ramp data, nothing was changed in Ramp. EXPLAINED BY CONTEXT items appear once in one line.
</task>

<trap>Do not smooth over an OPEN item. A note that reads ready while a receipt check or a tie out is OPEN is wrong. Say "ready except".</trap>

<stop>If prompt 10 is BLOCKED, do not write the note. Print the default: nothing is signed until the block is cleared.</stop>

<output_format>Under 250 words plus the two lists. Every figure carries its tier. A named human signature line for {{APPROVER}}.</output_format>
<review_gate>{{APPROVER}} reads, edits and signs before it enters the close file.</review_gate>
Click to copy
<role>A front end developer who builds one self contained HTML page from the run just done.</role>
<constraints>Opus 5.5. Self contained: one HTML file, inline CSS and JS, no network calls, no libraries from a CDN. Use only numbers from prompts 04 to 10. Do not add a number that was not computed.</constraints>

<task>
Build one page: top strip with the period, total, ledger tie status (TIED, GAP with the reconciling item, or OPEN); a bar chart of spend by category; a table of close readiness groups with age; the flux lines over threshold; the tagged exception list with the three tag colours; a footer saying read only, the date, the model and that the figures are from the user's own Ramp data. Mobile first, readable in black and white. Save it as ramp-close-screen.html (in Claude Code write the file; in chat produce it as an artifact).
</task>

<trap>A chart that rounds before summing will not equal the total in the strip. Compute from the full precision numbers and round at display.</trap>

<stop>If prompt 10 is BLOCKED, the page carries a large BLOCKED banner and no ready status. If a number is missing, show OPEN in that cell.</stop>

<output_format>The single HTML file, and one line saying how to open it.</output_format>
<review_gate>A person checks the strip total against prompt 10 before anyone shows the page.</review_gate>

From a working build to an operating system.

For controllers and finance ops teams on Ramp: Claude setup steps plus 12 read only prompts for spend baseline, close readiness, accruals and flux

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 wire the monthly run: the exports landing in a folder, the checks run in Claude Code on a schedule, your thresholds encoded per entity, and the controller note built to your close file format. Done with you, then handed over so you own it.

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

Prompt set authored by consultance.ai. Ramp and Claude are trademarks of their owners, no affiliation implied. The Ramp connector is Ramp's own, listed in Claude's directory; this pack uses read tools only and never changes anything in Ramp. Your Ramp data stays in your own Claude account; we never see it. Not an audit and not tax advice; a named human signs every figure.

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

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
Finance and data
Finance and data

RIA Back Office AI Agent Team

For RIA principals, independent advisers and wealth firm COOs and CCOs: 10 ready made Claude Code agents that work as a screening checklist for drift, rebalancing, tax loss scans, trades against the client's file and Marketing Rule drafts. A named adviser approves anything that moves money.

Setup guide
Get the free kitBook a call

From independent build to integrated workflow

What you have

The free version above. It runs this read on a file you paste in, in your own Claude. Yours to keep.

What we install

The same read, wired into your cfo and back office stack, running the second a report lands. Nothing to upload, no new login.

See the installed version

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 Ramp Claude Connector Setup Guide?

Ramp Claude Connector Setup Guide is a finance and data build in the consultance.ai AI Build Library. 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. It fits Controllers, finance ops and AP leads, FP&A analysts, CFOs and founders at companies that run their cards and spend on Ramp and close the books every month. Setup difficulty is Easy, with 4 plain-English steps.

What does Ramp Claude Connector Setup Guide do?

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.

Who is Ramp Claude Connector Setup Guide for?

It fits Controllers, finance ops and AP leads, FP&A analysts, CFOs and founders at companies that run their cards and spend on Ramp and close the books every month.

How hard is Ramp Claude Connector Setup Guide to set up?

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

How would consultance.ai build this out?

We would wire the monthly run: the exports landing in a folder, the checks run in Claude Code on a schedule, your thresholds encoded per entity, and the controller note built to your close file format. Done with you, then handed over so you own it.

What are the licensing terms?

Prompt set authored by consultance.ai. Ramp and Claude are trademarks of their owners, no affiliation implied. The Ramp connector is Ramp's own, listed in Claude's directory; this pack uses read tools only and never changes anything in Ramp. Your Ramp data stays in your own Claude account; we never see it. Not an audit and not tax advice; a named human signs every figure.

Connect this build to your workflow.

Discuss how Ramp Claude Connector Setup Guide 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