SEC Form 10-Q is a quarterly financial report submitted by US public companies to the Securities and Exchange Commission. In this article I use LLMs to examine a 10-Q report.
Background
SEC Form 10-Q (quarterly) and Form 10-K (annual) are financial reports filed with the US Securities and Exchange Commission by all US public companies and are publicly available from www.sec.gov or a companies own website.
Filings are made in XBRL, eXtensible Business Reporting Language, an XML based standard for digital business reporting, which is designed to be machine readable.
Alternative formats such as PDF, HTML or Inline XBRL (combines human readable with machine-readable within a single document), may also be available.
In today’s article I will explore using LLMs to process and query a 10-Q report.
Let’s Start
The www.sec.gov homepage provides a convenient Search box.

I can simply enter a Ticker.
Entering “WFC” the ticker for Wells Fargo, shows the drop down below.

And selecting the first entry for Wells Fargo & Company, which has a CIK (Central Index Key, a unique identifier) of 0000072971, shows:

And under Selected Filings, I can expand 10-K and 10-Q and then select a filing, which I did for the April 29, 2025 10-Q, (Quarterly report for quarter ending March 31, 2025,) to get the filing detail below.

As we can see there are multiple files that make up the XBRL report and these are commonly downloaded in a zip.
The last file in the list, “Extracted XBRL Instance Document“, looks a promising single file to download.
Gemini
Let’s try this file with Google Gemini.

The good news is that without any context from me, just the prompt “what is the attached file“, Gemini worked out that it is the 10-Q for Wells Fargo & Company for the period ending March 31, 2025.
The bad news is the warning that the File exceeded Gemini’s context window, which I know is the largest of the LLMs I use at 1 million tokens. The downloaded file size was 11 Mb.
So this means not all information in the 10-Q file, will have been processed.
Still, lets see if we can query for information.

Bad news, Gemini is not able to parse and interpret the XBRL document and suggests using an XBRL Viewer or specific parser.
Now I can simply go back to the SEC filing page and click on Interactive Data, which will use SEC’s viewer on the iXBRL file and then search for “capital ratios”, as shown below.

Showing both Standardized and Advanced Approach Capital Ratios for March 31, 2025 and Dec 31, 2024 for both Wells Fargo & Company & Wells Fargo Bank N.A.
CET1 for Wells Fargo & Company is 11.09% under Standardized and 12.75% under Advanced, while these ratios are higher for Wells Fargo Bank N.A and all are well above the required minimums.
(Note the red bars above and below the numbers signify that clicking on these opens a pop-window showing details of the Attributes, Labels, References and Calculations used from the information included in the iXBRL document).
So how to proceed with Gemini?
I could try the “Complete submission text file” but downloading this I see that it is 43 Mb in size; too large for the context window.
Lets try the PDF document for this 10-Q report available from Wells Fargo’s website.

This worked and the full results in a Google Doc are here and a snippet of the table from the document is shown below.

Gemini successfully extracted all the regulatory capital information correctly and presented it in a well structured table.
However, while I know that Gemini does a pretty good job with extracting data from tables in PDF documents, this process is not 100% safe and I would not want to rely on it for daily use.
Claude
Next let’s try Claude.
Unfortunately XML or XBRL files cannot be loaded into Claude Desktop, so that is a dead-end and I see no point in trying the PDF source, given the smaller context window of Claude as compared to Gemini.
ChatGPT
So let’s try ChatGPT, with the same Extracted XML file we used with Gemini.

Nice, looks good and no warnings so far on file size.
And the last part of the response offers to extract and tabulate specific sections. Nice, so ChatGPT claims to be able to extract information from XBRL files.
Let’s see if it can do this for Regulatory Capital.

Hmm, this table is pretty useless, just 4 numbers (from the first part of the table 22.1 in the report.
Let’s try again.
Could you improve by using all the information from table 22.1 and the formatting information in the file to label as Standarised or Advanced Approach and the period as well as the reporting entity Wells Fargo & Company or Wells Fargo Bank NA
Which returned:

A bit better, in that I can scroll the table and see 20 rows.
But it is still far from complete data, as stops at the Risk Weighted Assets Row and the format is terrible.
Lets give it one more try.
This is missing many rows such as those under regulatory capital ratios and required minimum capital ratios and the format is terrible, I need columns for each period and Wells Fargo entity and rows for the metrics
Unfortunately that just made things worse.
So let’s revert to what we did with Gemini, and upload the PDF.

So looks good and I answered Yes to creating a tabular presentation.

Not the best information, but the capital ratio information is there.
However many numbers in this table are not correct!
Reinforcing my point that we cannot rely on accurate parsing of data tables from PDFs.
I will stop here.
Thoughts
Hmm, not a lot of progress today.
However, all is not lost.
We have learn’t what not to do.
And there are other approaches e.g. XBRL-JSON format.
Which I will try in a future blog.
In Summary
- XBRL-formatted 10-Q reports are difficult for LLMs to process, due to their specific format and size.
- PDF versions offer a fallback, but extracting accurate data from tables remains unreliable and error-prone.
- Gemini performed the best, not with the XBRL format but with PDF, while ChatGPT gave bad results with both formats and Claude was a non-starter.


Leave a Reply