🌐
Microsoft Learn
learn.microsoft.com › en-us › azure › ai-services › document-intelligence › faq
Azure Document Intelligence in Foundry Tools (formerly Azure AI Form Recognizer) FAQ | Microsoft Learn
For all features, Document Intelligence temporarily stores data and results in Azure Storage in the same region as the request. Your data is then deleted 24 hours from the time that you submit an analyze request.
🌐
Microsoft Learn
learn.microsoft.com › en-us › azure › ai-services › document-intelligence › concept › analyze-document-response
Document Intelligence APIs analyze document response - Foundry Tools | Microsoft Learn
April 30, 2026 - In this article, let's examine ... The Document Intelligence APIs analyze images, PDFs, and other document files to extract and detect various content, layout, style, and semantic elements....
Discussions

Azure Document Intelligence capabilities
Azure AI Document Intelligence can extract data with prebuilt or custom models, but comparing extracted values against another document, reference dataset, or model result must be implemented in your application or workflow. More on learn.microsoft.com
🌐 learn.microsoft.com
1
0
AI Document Extraction on Azure - Options, Comparison & Recommendations for Invoice/Contract Processing
I’m not familiar with the dev side but we use a hybrid approach, DI for as much as possible. But since some documents have stamps or notes on them we fallback to OAI for that. More on reddit.com
🌐 r/AZURE
17
4
December 18, 2025
Is Azure Document Intelligence a good solution?
100% in the domain you are working in does not exist and will never exist More on reddit.com
🌐 r/AZURE
40
5
February 23, 2026
💸 Azure OCR Too Expensive — Any Viable Alternatives for High-Volume Document OCR (60k Pages/Day)?
I have tested IBM's docling but it's failing for a few table cases and it's hallucinating More on reddit.com
🌐 r/automation
60
11
July 24, 2025
People also ask

Are Azure Document Intelligence and Azure Document Intelligence in Foundry Tools the same service?

Yes.

Azure Document Intelligence and Azure Document Intelligence in Foundry Tools are the same service. The service was renamed from Azure Document Intelligence in Foundry Tools to Azure Document Intelligence in July 2023. The service provides the same capabilities and features as before the renaming.

  • Pricing changes: There are no changes to pricing. The names Cognitive Services and Applied AI Services continue to be used in Azure billing, cost analysis, price lists, and price APIs.

  • Breaking changes: There are no breaking changes to APIs or client libraries.

🌐
learn.microsoft.com
learn.microsoft.com › en-us › azure › ai-services › document-intelligence › faq
Azure Document Intelligence in Foundry Tools (formerly Azure AI ...
Does Document Intelligence integrate with other Microsoft services?

Yes.

Document Intelligence integrates with the following services:

  • AI Builder workflows

  • Azure Search

  • Azure Functions

  • Azure Logic Apps

🌐
learn.microsoft.com
learn.microsoft.com › en-us › azure › ai-services › document-intelligence › faq
Azure Document Intelligence in Foundry Tools (formerly Azure AI ...
Can I develop applications using Azure Document Intelligence using the latest development options?

Yes.

Document Intelligence offers the latest development options within the following platforms:

  • REST API

  • Document Intelligence Studio

  • C#/.NET

  • Java

  • JavaScript/TypeScript

  • Python

🌐
learn.microsoft.com
learn.microsoft.com › en-us › azure › ai-services › document-intelligence › faq
Azure Document Intelligence in Foundry Tools (formerly Azure AI ...
🌐
Microsoft Azure
azure.microsoft.com › en-us › products › ai-foundry › tools › document-intelligence
Azure Document Intelligence (now part of Azure Content Understanding in Foundry Tools) | Microsoft Azure
As part of our Content Understanding capabilities, Azure Document Intelligence provides high-accuracy and reliable deterministic extraction from structured documents while Content Understanding also offers LLM-powered analyzers for complex, unstructured, and multimodal content.
🌐
PyPI
pypi.org › project › azure-ai-documentintelligence
azure-ai-documentintelligence · PyPI
from azure.core.credentials import AzureKeyCredential from azure.ai.documentintelligence import DocumentIntelligenceClient from azure.ai.documentintelligence.models import AnalyzeOutputOption, AnalyzeResult endpoint = os.environ["DOCUMENTINTELLIGENCE_ENDPOINT"] key = os.environ["DOCUMENTINTELLIGENCE_API_KEY"] document_intelligence_client = DocumentIntelligenceClient(endpoint=endpoint, credential=AzureKeyCredential(key)) with open(path_to_sample_documents, "rb") as f: poller = document_intelligence_client.begin_analyze_document( "prebuilt-read", body=f, output=[AnalyzeOutputOption.PDF], ) resul
🌐
Microsoft Learn
learn.microsoft.com › en-us › azure › ai-services › document-intelligence
Document Intelligence documentation - Quickstarts, Tutorials, API Reference - Foundry Tools | Microsoft Learn
Azure Document Intelligence in ... Document Intelligence analyzes your forms and documents, extracts text and data, maps field relationships as key-value pairs, and returns a structured JSON output....
🌐
Cohorte
cohorte.co › blog › automating document analysis with azure ai document intelligence: a comprehensive step-by-step guide — coho…
Automating Document Analysis with Azure AI Document Intelligence: A Comprehensive Step-by-Step Guide — Cohorte Engineering Blog
Use the Azure AI Document Intelligence Studio or SDK to train the classifier. Provide the labeled data and configure training parameters. ... Deploy the classifier to automatically route documents to appropriate processing pipelines based on their type. Detailed instructions are available in the documentation. Let's build a simple agent that extracts text and tables from a document and prints the results. ... def analyze_document(file_path): with open(file_path, "rb") as f: poller = client.begin_analyze_document("prebuilt-document", document=f) result = poller.result() return result
🌐
Medium
medium.com › @scholarly360 › analyze-contracts-using-azure-ai-document-intelligence-c06d3c80e4c8
Analyze Contracts using Azure AI Document Intelligence | by Yogendra Sisodia | Medium
March 23, 2025 - def get_client(): load_dotenv() endpoint = os.getenv('azure_doc_endpoint') key = os.getenv('azure_doc_key') client = DocumentIntelligenceClient(endpoint=endpoint, credential=AzureKeyCredential(key)) return(client) """ single file analysis """ def analyze_local_file(client, file_path): try: with open(file_path, "rb") as f: base64_encoded_pdf = base64.b64encode(f.read()).decode("utf-8") analyze_request = { "base64Source": base64_encoded_pdf } poller = client.begin_analyze_document("prebuilt-layout", analyze_request) result = poller.result() return result.as_dict() except Exception as e: print(f"
Find elsewhere
🌐
Microsoft Learn
learn.microsoft.com › en-us › python › api › overview › azure › ai-documentintelligence-readme
Azure AI Document Intelligence client library for Python | Microsoft Learn
For best results, you should only analyze documents of the same document type that the custom model was built with. from azure.core.credentials import AzureKeyCredential from azure.ai.documentintelligence import DocumentIntelligenceClient from azure.ai.documentintelligence.models import AnalyzeResult def _print_table(header_names, table_data): # Print a two-dimensional array like a table.
🌐
Microsoft Learn
learn.microsoft.com › en-us › azure › ai-services › document-intelligence › how-to-guides › use-sdk-rest-api
Use Document Intelligence client library or REST API - Foundry Tools | Microsoft Learn
// Note that value '0.8' is used as an example. bool isHandwritten = style.IsHandwritten.HasValue && style.IsHandwritten == true; if (isHandwritten && style.Confidence > 0.8) { Console.WriteLine($"Handwritten content found:"); foreach (DocumentSpan span in style.Spans) { Console.WriteLine($" Content: {result.Content.Substring(span.Index, span.Length)}"); } } } Console.WriteLine("Detected languages:"); foreach (DocumentLanguage language in result.Languages) { Console.WriteLine($" Found language with locale'{language.Locale}' with confidence {language.Confidence}."); } Visit the Azure samples re
🌐
Azure Docs
docs.azure.cn › en-us › ai-services › document-intelligence › faq
Azure Document Intelligence (formerly Azure AI Form Recognizer) FAQ | Azure Docs
For all features, Document Intelligence temporarily stores data and results in Azure Storage in the same region as the request. Your data is then deleted 24 hours from the time that you submit an analyze request.
🌐
Elastic
elastic.co › search-labs › blog › azure-ai-document-intelligence-parse-pdf-text-tables
Azure AI Document Intelligence: Parsing PDF text & table data | Elasticsearch Labs
March 26, 2025 - Set Azure AI Document Intelligence imports and environment variables ... The most important import is AnalyzeResult. This class represents the outcome of a document analysis and contains details about the document.
🌐
Microsoft Learn
learn.microsoft.com › en-us › azure › ai-services › document-intelligence › quickstarts › get-started-sdks-rest-api
Quickstart: Document Intelligence client libraries - Foundry Tools | Microsoft Learn
The returned value is an AnalyzeResult object containing data from the submitted document. Add the following code sample to the Program.cs file. Make sure you update the key and endpoint variables with values from your Azure portal Document ...
🌐
Microsoft Learn
learn.microsoft.com › en-us › answers › questions › 6047767 › azure-document-intelligence-capabilities
Azure Document Intelligence capabilities - Microsoft Q&A
Analyze the source document using the selected prebuilt or custom model. Read the fields and confidence values from the analysis JSON. Normalize values before comparison—for example, convert dates to one format and monetary strings to decimals. Compare them in application code, Azure Functions, Logic Apps, or Power Automate. Route low-confidence or mismatched results for human review.
🌐
Microsoft Learn
learn.microsoft.com › en-us › samples › azure-samples › document-intelligence-code-samples › document-intelligence-code-samples
Azure Document Intelligence code samples - Code Samples | Microsoft Learn
October 22, 2024 - Welcome! Azure AI Document Intelligence is a cloud service that uses machine learning to analyze text and structured data from your documents.
🌐
Reddit
reddit.com › r/azure › ai document extraction on azure - options, comparison & recommendations for invoice/contract processing
r/AZURE on Reddit: AI Document Extraction on Azure - Options, Comparison & Recommendations for Invoice/Contract Processing
December 18, 2025 -

Hey everyone,

I'm working on an application that uses AI to extract structured data from commercial documents - invoices, contracts, purchase orders, that kind of stuff. I've been testing Claude and Google's multimodal models and they work really well for this use case.

However, I need to evaluate what Azure offers since that's our cloud environment or what other options could be considered. After digging into it, I found there are basically two main paths:

1. Azure Document Intelligence (formerly Form Recognizer)

This is their dedicated document processing service. It has prebuilt models for invoices, receipts, contracts, tax forms, etc. Pricing is around $10/1,000 pages for prebuilt models, $30/1,000 for custom extraction. Seems very accurate for structured documents and returns proper JSON with confidence scores and bounding boxes.

2. Azure OpenAI with GPT-4o Vision

Send document images directly to GPT-4o, use prompt engineering to define extraction schema, and use Structured Outputs for guaranteed JSON compliance. More flexible but apparently more expensive (~$0.05-0.07/page) and potentially less accurate on complex tables.

3. Hybrid approach

Microsoft's own samples show using Document Intelligence Layout model to convert PDFs to Markdown first, then feeding that to GPT-4o for the actual extraction. Supposedly gives you the best of both worlds - accurate OCR + flexible schema extraction.

My questions for those who've built similar systems:

  • If you're using Azure, which approach did you go with? How's the accuracy and cost working out in production?

  • For those using Document Intelligence prebuilt models - how well do they handle non-standard invoice formats or documents in multiple languages? Do you end up needing custom models anyway?

  • Anyone tried the hybrid approach (Doc Intelligence + GPT-4o)? Is the added complexity worth it vs just using GPT-4o directly on images?

  • How does Azure Document Intelligence compare to Claude or Google Document AI in your experience? I've had good results with Claude's vision capabilities but wondering if a specialized service like Document Intelligence would be more reliable at scale.

  • For high volume processing (let's say 50k+ pages/month) - what's been most cost-effective?

  • Any gotchas or lessons learned you wish you knew before starting?

Would really appreciate hearing about real-world experiences. Most of what I've found is marketing material or basic tutorials, not much on how these solutions hold up in production with messy real-world documents.

Thanks!

Top answer
1 of 5
2
I’m not familiar with the dev side but we use a hybrid approach, DI for as much as possible. But since some documents have stamps or notes on them we fallback to OAI for that.
2 of 5
2
We basically do #3, but use gpt-5.2 or whatever better model, not 4o. We're not overly concerned about cost because we're doing a one-time ingestion, not offering a service or something. Q&A... > If you're using Azure, which approach did you go with? How's the accuracy and cost working out in production? Like I said, #3. > For those using Document Intelligence prebuilt models - how well do they handle non-standard invoice formats or documents in multiple languages? Do you end up needing custom models anyway? We just use the layout model to get markdown and it does just fine. The second-phase OpenAI models do quite well at "figuring it out" from the markdown. When I did this with GPT-4o it did fine and the reasoning models just made it even better. No custom models. Our documents were in multiple languages, no issues. You can even answer in English if the documents are in another language. > Anyone tried the hybrid approach (Doc Intelligence + GPT-4o)? Is the added complexity worth it vs just using GPT-4o directly on images? I did extensive testing on this. DocIntel Layout + LLM was the best. The input file matters, see the last answer. > How does Azure Document Intelligence compare to Claude or Google Document AI in your experience? I've had good results with Claude's vision capabilities but wondering if a specialized service like Document Intelligence would be more reliable at scale. Haven't tried it, but I'll say DocIntel had no problem scaling to our ~2.6M pages of burst ingestion when we needed it. It did that in like 12 hours. We bought the pre-paid quantity for a discount on the first month to deal with the initial burst of pages. > For high volume processing (let's say 50k+ pages/month) - what's been most cost-effective? For us it's consistency and simplicity. I don't think you'll get cheaper than DocIntel + LLM if your documents are varied. I tried all kinds of other things like `docling` and `markitdown`, it just doesn't compare to DocIntel's Layout model. My cost modeling was even back with 4o that to process our documents it was an order of magnitude more expensive to just have the LLM do everything, versus use DocIntel to get Markdown, then the LLM to do the extraction. > Any gotchas or lessons learned you wish you knew before starting? So many... FLATTEN YOUR DOCUMENTS TO PDF BEFORE THEY GO TO DOCINTEL, IT MATTERS. We were ingesting a large quantity of Microsoft Word documents and what we quickly realized is Word features are invisible to DocIntel. Things like numbered bullets, table of contents, footnotes, header/footer, pretty much anything "dynamic" was apparently just a markup in the document that is rended when opened by Word. Like bullet "3.1.2" is really just a marker for "[Ordered List Bullet Level 3]", so the markdown output never had "3.1.2" in it, so if you need to understand "what step does XYZ happen in", you'd never get a step number. When DocIntel cracks the .docx open it just parses the XML and doesn't account for those things. When you take the same document and save it as a PDF using Word it "flattens" or "hard codes" everything. Taking that PDF to DocIntel you'll get much better results. Want to test yourself? Feed a docx through DocIntel save the markdown as "Test-Alpha.md", save the docx as a PDF, and feed that PDF through DocIntel and save the markdown as "Test-Beta.md" and then give them both to ChatGPT and ask it to "compare and contrast the files from a missing data or context standpoint that would be useful to have when having AI analyze these documents". It's going to tell you Test-Beta has way more formatting. So how do you do this flattening en masse? I wrote a janky python script that uses the Word COM-style calls to open the docx in an invisible window and save it as a PDF. There is another option to upload it to OneDrive and download the PDF, but I haven't tested if this is the same. If you think you will ever need to use that DocIntel output again, save the .json somewhere and save yourself the cost of a repeated conversion. There's a lot of cool stuff in there with bounding boxes and image figures and stuff.
🌐
Microsoft Learn
learn.microsoft.com › en-us › azure › ai-services › document-intelligence › overview
What Is Azure Document Intelligence in Foundry Tools? - Foundry Tools | Microsoft Learn
September 8, 2026 - As part of Azure Content Understanding capabilities, Azure Document Intelligence provides high-accuracy and reliable deterministic extraction from structured documents. Content Understanding also offers LLM-powered analyzers for complex, ...
🌐
Azure Docs
docs.azure.cn › en-us › synapse-analytics › machine-learning › tutorial-form-recognizer-use-mmlspark
Tutorial: Document Intelligence with Foundry Tools - Azure Synapse Analytics | Azure Docs
August 11, 2026 - imageDf2 = spark.createDataFrame([ ("<replace with your file path>/receipt1.png",) ], ["image",]) analyzeReceipts = (AnalyzeReceipts() .setLinkedService(ai_service_name) .setImageUrlCol("image") .setOutputCol("parsed_document") .setConcurrency(5)) results = analyzeReceipts.transform(imageDf2).cache() display(results.select("image", "parsed_document"))