learn-ai-finance-with-phoebe / Builder session 7 of 10
Learn AI + Finance with Phoebe · Builder track · Session 7 of 10

Documents & data: interrogate a 10-K with grounded, cited answers

The single most common finance-AI wish: "let me just ask my 10-K, my contract, my policy stack a question." Retrieval-Augmented Generation makes that safe - the model answers from YOUR document and cites the passage, instead of guessing from memory. Tonight you upload a real filing and pull trustworthy, checkable answers out of it.

🟠 Builder track Practitioners: analysts · controllership Enterprise chat with file upload 45 min
0-3 · Welcome 3-21 · RAG, finance uses, limits 21-42 · Build-along: query & extract 42-45 · Q&A
Part 0

Ask your documents, not the model's memory

By now you have grounded answers by pasting numbers into the prompt. That works for a small P&L - it falls apart when the source is a 200-page 10-K, a 40-page credit agreement, or a folder of policies. This session is the grown-up version of grounding: upload the whole document, let the tool find the relevant passages, and get an answer that quotes and cites the source. It is the same rail-one, rail-two discipline you already know, scaled to real filings.

Live - presented in session Self-study - read after class ★ Try it now prompt Official sources covered
★ What you walk out with today The ability to interrogate a 10-K, an annual report, or a contract and get grounded, cited answers you can verify against the source; a repeatable habit of checking every citation before you trust it; and a field-extraction pattern that turns a dense document into a clean, spot-checkable table of terms.
Part 1 · reuses learn-rag-with-phoebe framing

RAG in one picture 6 min live

Retrieval-Augmented Generation is a plain idea with a clumsy name. Instead of asking the model what it remembers, you first retrieve the passages of your own document that match the question, then ask the model to answer using only those passages - and to cite them. It solves the "know my 10-K" problem without the model guessing.

Your documents 10-K, contract, policy stack Chunk & embed split into passages, index for search Retrieve relevant find passages that match the question Grounded answer answer + a citation to the source page Your question drives the retrieval The model never sees the whole file - only the retrieved passages. That is what keeps it grounded.
🔍 Click to zoom - a RAG pipeline: documents to chunks to retrieved passages to a grounded, cited answer
LiveWhy retrieval beats "I read the whole thing"3 min▶

You could paste a whole filing into a long-context model and sometimes get away with it. RAG is better for finance because it changes what the model answers from, and it leaves a trail you can audit.

  • Grounded, not remembered. The answer is built from passages pulled out of your file, so it reflects that document - not a half-remembered version of a similar one from training.
  • Cited, so checkable. A good RAG tool tells you which section or page it used. That citation is the thing you verify - it turns "trust me" into "here, look".
  • It scales. One 10-K, a stack of contracts, or a whole policy library - retrieval finds the needle so you do not read the haystack. The mechanics are the same at any size.
The deep dive lives next door Chunking, embeddings, and retrieval quality are a whole craft. If you want the mechanics under the hood - how chunks are sized, what an embedding is, why retrieval sometimes misses - that is the learn-rag-with-phoebe course. Tonight you use RAG as a finance tool; that course is how it works.
Part 2 · enterprise doc-Q&A in the finance function

Finance uses 6 min live

Once you can ask a document a grounded question, a surprising slice of finance work turns into a query. The pattern is always the same: point the tool at the source, ask a precise question, and demand a citation. The variety is only in the document.

LiveWhere document Q&A earns its keep3 min▶
Is it a public 10-K filing? Is it a contract or covenant? yes no yes no Ask: cite the policy, quoted revenue recognition, etc. List covenants + thresholds each tied to its clause Pull vendor, PO, terms, total from the document Same move every time: point at the source, ask precisely, and demand a citation.
🔍 Click to zoom - same move on every document: source, precise question, citation
Use caseThe grounded question you ask
10-K / annual-report Q&A"What is the revenue recognition policy? Cite the section."
Contract & covenant extraction"List every financial covenant and its threshold, with the clause."
Policy-stack search"What is our approval limit for capital spend? Quote the policy."
Invoice / PO field extraction"Pull vendor, PO number, net terms, and total from this document."

Notice the tools you would reach for: an enterprise chat with file upload, a "Projects" workspace where you load reference documents once and ask across them, or a vendor's document-Q&A feature built into a contract or filings tool. All the same idea underneath.

Citations are the whole point - so require them Always add: "Answer only from the document I gave you. Quote the exact passage and its section or page. If the answer is not in the document, say 'not in the document' - do not use outside knowledge." That one instruction converts a plausible summary into a checkable, sourced answer.
Self-studyConsumer vs enterprise, for documents2 min read▶

Rail one does not relax just because you are uploading a file instead of pasting text - it gets sharper. A document upload is often more sensitive than a pasted line.

  • Public filings (a company's own 10-K, a published annual report) are fine anywhere - they are already public.
  • Your contracts, unpublished policies, and internal financials go only into an enterprise or local tool that does not train on your data. A signed credit agreement is confidential; treat it that way.
  • Client documents may carry PII and contractual confidentiality on top. Enterprise or local only, and check you are even allowed to process them this way.
Part 3 · the failure modes you must know

The limits 5 min live

RAG is a huge upgrade over ungrounded chat, but it is not magic and it is not proof. It can retrieve the wrong passage, or miss the right one entirely, and it reads tables and figures badly. The document is the source of truth - the model's summary is a helpful draft you must check against it.

LiveThree ways RAG quietly misleads you3 min▶
  • Retrieval can miss. If the relevant passage was not retrieved, the model answers from what it did get - which can be incomplete or the wrong section. A confident answer does not prove the right passage was found.
  • Tables and figures parse poorly. A number sitting in a multi-column table, a footnote, or an image can be misread or dropped. Financial data lives in exactly these structures, so treat any figure from a table as unverified until you look.
  • The citation is the check, so use it. Always open the cited passage and confirm it actually says what the answer claims. A citation that does not support the claim is the single most common RAG failure - and the easiest to catch.
Real world

The covenant that was almost misread. An analyst asked a doc-Q&A tool for a leverage covenant threshold. The tool returned a clean "4.0x" with a citation - but the cited clause was the definition of leverage, and the actual threshold, in a table two pages later, was 3.5x stepping down to 3.0x. The number looked authoritative. Opening the citation caught it in seconds. The document was the source of truth; the summary was not.

✗ Trusted one citation Tool returned '4.0x' with a citation Cited clause was just the definition Looked authoritative, was wrong ✓ Opened the cited passage Found the real table two pages later Threshold: 3.5x stepping to 3.0x Caught in seconds by checking The document was the source of truth; the summary was not.
🔍 Click to zoom - the document is the source of truth, not the summary
Demo 1 of 2

Interrogate a public 10-K - and check every citation ★ 13 min · everyone builds

Upload a real, public filing and ask it three targeted questions. The skill you practise is not asking - it is checking: for each answer, you open the cited passage and confirm it says what the model claims.

Grab a public 10-K or annual report - a company you follow, downloaded from its investor-relations site or the SEC. It is public, so any enterprise chat with file upload is fine (rail one).

Upload it and set the ground rule up front: answer only from this document, quote the passage, cite the section or page, and say "not in the document" if it is not there.

Ask three targeted questions: (1) the revenue recognition policy, (2) the largest risk factor management flags, (3) the segment or geographic revenue breakdown.

Now the real work: for each answer, open the cited section in the filing and read it. Does the passage actually support the claim? Note any answer where the citation is vague or does not match.

Stress the segment question - it usually lives in a table. See whether the numbers it pulled tie exactly to the table in the document. This is where RAG is weakest, and where your check matters most.

★ The grounded document-Q&A promptI have uploaded a public 10-K. Answer ONLY from this document. For each question: give a short answer, then quote the exact passage you used and cite its section heading or page. If the answer is not in the document, say "not in the document" - do not use outside knowledge. 1. What is the company's revenue recognition policy? 2. What does management describe as the single largest risk factor? 3. What is the revenue breakdown by segment or geography? For the segment numbers, tell me which table you read them from so I can check them against the source.
Why the check is the lesson Anyone can upload a file and ask a question. The finance professional's edge is the verification step: open the citation, tie the table, catch the miss. The tool retrieves; you decide whether to trust it. That is rail two, applied to documents.
Demo 2 of 2

Extract a clean table of fields from a document ★ 8 min · build your own

The other half of document work is extraction: turning prose into a structured list you can act on. Same grounding discipline, different output - and the same duty to spot-check.

Pick a document with structured terms - a public contract template, a published bond prospectus, or a synthetic agreement you write yourself. Keep it safe for the tool tier you are using.

Ask for a clean, structured extraction of specific fields - not a summary. Name the exact fields you want so the output is consistent and comparable.

Require a citation per field, so each extracted value points back to the clause it came from. A field with no citation is a field you have not verified.

Spot-check accuracy: pick three fields at random, open the cited clauses, and confirm the value is exact. Dates, amounts, and thresholds are where extraction slips most.

★ The field-extraction promptI have uploaded a contract. Extract the following fields into a clean list. For each field: give the value, then cite the exact clause or section it came from. If a field is not present, write "not in the document". Fields: parties, effective date, term / expiry, total contract value, payment terms, any financial covenants and their thresholds, termination-for-convenience notice period, governing law. Do not infer or estimate - pull only what the document states.
Real world

From a folder of PDFs to a covenant tracker. A controllership team had 30 loan agreements and no single view of the covenants. A doc-Q&A extraction like this built a first-draft tracker in an afternoon - thresholds, test dates, definitions, each with a clause citation. The draft was 80% right; the team's spot-checks fixed the rest and, crucially, knew where to look because every field carried its source. The AI did the reading; the humans owned the tracker.

Homework

Try it yourself - this week ◐ 30-45 min total

Source material

Official sources covered

This session teaches document Q&A as a finance tool, reusing the retrieval framing from the sibling course and enterprise doc-Q&A documentation. The under-the-hood mechanics stay with the dedicated RAG course - said honestly. This session covers:

◐learn-rag-with-phoebe - retrieval framingPart 1 · RAG concept reused; chunking/embeddings depth stays in that course
✓Enterprise document-Q&A documentation (file upload / Projects)Parts 1-2 · grounded, cited answers over uploaded documents
✓Finance document use-cases (10-K, contracts, policies, invoices)Part 2 · where doc-Q&A earns its keep in the finance function
✓RAG failure modes + verification disciplinePart 3 · retrieval misses, table parsing, citation checking
Check yourself

Three questions before you go 🎯 ◐ 90 seconds

1 · In one line, what does RAG actually do?

Retrieval-Augmented Generation retrieves matching passages from your own document first, then grounds the answer in them - no memorising, no fine-tuning required.

2 · Why do citations matter so much in a finance document-Q&A workflow?

A citation is the check. It lets you open the exact passage and confirm the answer is supported - turning a plausible summary into a sourced, checkable one.

3 · The tool returns a clean segment-revenue figure with a citation. What should you do before using it?

Tables and figures are where RAG is weakest. A citation is not proof - open the source table and tie the number yourself before it goes anywhere.

Builder session 7 cheat sheet · pin this

RAG in one lineretrieve the relevant passages from YOUR document, then answer grounded in them - and cite the source.
The problem it solves"know my 10-K / contract / policy" without the model guessing from memory. Scales past what you can paste.
Finance uses10-K / annual-report Q&A, contract + covenant extraction, policy-stack search, invoice/PO field extraction.
The one instruction"answer only from the document, quote + cite the passage, say 'not in the document' otherwise."
The limitsretrieval can miss, tables/figures parse poorly, and the answer is not proof - the document is.
Always verifyopen every citation and confirm it supports the claim; tie any table number to the source table.
Rail one still holdspublic filings anywhere; your contracts, internal financials, client docs → enterprise or local only.
Next sessionb8 - risk, fraud & credit: explainable anomaly triage, reason codes, and the human gate on every decision.