How to Download Azure Invoices (2026 Guide)
How to download Azure billing invoices the manual way, why it falls apart across Pay-As-You-Go, EA, and CSP accounts, and how to automate the archive.

Azure billing is a three-headed beast. If you are on Pay-As-You-Go with a credit card, your invoice sits under Cost Management + Billing in the Azure portal and shows up with a Microsoft Customer Agreement header. If you are on an Enterprise Agreement, your invoices arrive through a different portal entirely (ea.azure.com for legacy EAs, the Azure portal for newer MCA-E conversions) and only Enrollment Administrators can see them. If you are buying Azure through a Cloud Solution Provider, Microsoft does not invoice you at all. Your CSP partner does, often with their own billing system and their own PDF layout.
So "how do I download my Azure invoices" does not have one answer. It has three, and the path depends on how your organization bought Azure in the first place. A lot of finance teams discover this the hard way when a new controller asks for "all Microsoft invoices from last year" and nobody can agree on where they actually are.
This guide covers the manual path for the most common case (Pay-As-You-Go and Microsoft Customer Agreement), flags the Enterprise Agreement and CSP gotchas, and walks through how to get the whole lot into one searchable archive. We will be specific about which blade to click, which role you need, and what Azure quietly does not tell you in the portal.
The manual way: downloading invoices from the Azure portal
The portal path works, but only for some account types. Here is how it goes when it works.
Step 1: Open Cost Management + Billing
Log in to the Azure portal at portal.azure.com. In the top search bar, type "Cost Management + Billing" and open the result. This is the umbrella service for everything invoice-related. Do not use the Subscriptions blade, which is about resource usage and not about what Microsoft is charging you.
If you administer multiple billing accounts or billing profiles, the first thing you will see is a scope picker at the top. Pick the right billing account and billing profile before going further. The most common mistake here is looking at invoices for a sandbox subscription when your production billing lives under a different Enterprise agreement.
Step 2: Open the Invoices blade
In the left sidebar of Cost Management + Billing, scroll to the "Billing" section and click "Invoices." You should see a list of invoices sorted by billing period, with columns for invoice number, billing period, status (Paid, Due, Void), invoice date, due date, and amount in your billing currency.
If the list is empty but you know you have been billed, check three things: your role on the billing account (Billing Reader at minimum), the scope selector at the top, and the date filter (default is the last 12 months). An Enterprise Agreement account viewed from the Azure portal will usually show nothing here because EA invoices live in ea.azure.com.
Step 3: Download the PDF
Click any invoice row in the list. The invoice detail blade opens with a summary, line items by service category (Compute, Storage, Networking, etc.), and a "Download invoice" button at the top. Click it, and you get a PDF in your default downloads folder.
The PDF filename Microsoft uses is something like E1234567890.pdf where the leading letter depends on the billing account type (E for Enterprise, G for Pay-As-You-Go via MCA, T for trial, and others). No vendor name, no date, no amount. Rename it before filing, or you will end up with a pile of E...pdf files that mean nothing when sorted alphabetically.
There is also a "Download detailed CSV" option on the same blade. That gives you the line-item breakdown in spreadsheet form, not the invoice PDF. Useful for internal cost allocation but not a substitute for the invoice document itself. For tax, audit, and AP purposes, you want the PDF.
Step 4: Repeat for each invoice
There is no bulk download. If you need the last twelve months, you click through twelve times. If you need twenty-four months across two billing profiles, you click through forty-eight times. The portal remembers your scope selection but resets the filter every time you navigate away, so expect to reset the date filter on each return visit.
Step 5: File and rename
Azure PDFs have no useful metadata in the filename. Rename to a convention that matches your other vendors: 2026-04_azure_{billing-profile}_{amount}.pdf is a common pattern. Drop into your invoice archive, ideally bucketed by year/month and by subscription or billing profile if you run several. Teams that run multiple Azure tenants for different legal entities will want the tenant name in the filename too, otherwise the archive gets confusing fast.
If you have multiple billing profiles under one billing account (common for companies with separate cost centers for engineering and marketing, for example), invoices are issued per billing profile, not per billing account. You will see one invoice per profile per month. Do not assume a single monthly invoice covers everything. Check your billing profile list in Cost Management and confirm which profiles actually generate invoices.
Why manual breaks at scale
Azure volume sneaks up on you. A single production workload, even a small one, generates a single monthly invoice. So for a long time, "download the Azure invoice" is a one-minute task that nobody thinks about.
Then you add a staging subscription. Then a separate dev-test subscription with its own billing profile. Then you acquire another company and inherit their Azure tenant. Then engineering sets up a personal account for the team's experiments. Suddenly you have eight active Azure billing profiles across three billing accounts, and one person is clicking "Download invoice" in eight different scopes every month.
The real costs show up in three ways.
First, invoice status changes mid-cycle. Azure invoices go from "Due" to "Paid" when Microsoft settles the charge, which can be a few days after the invoice date. If you download an invoice on the first of the month before Microsoft has run the settlement, the PDF says Due; if you redownload a week later, it says Paid. Finance teams that file the early PDF end up with "Due" invoices in their archive that are actually paid. Reconciliation later needs the Paid version, which means re-downloading. This is a quiet source of extra work that the portal does not warn you about.
Second, role sprawl. To see Azure invoices, you need Billing Reader or higher at the billing scope, not the subscription scope. New hires on the finance team often have Owner on subscriptions (which gives them cost data) but no role on the billing account (which gives them invoices). A lot of companies discover this when they hand over month-end close to a new controller who cannot see any invoices and nobody remembers who administers the billing account. This is a policy problem, not a tool problem, but it compounds the manual workload because someone with elevated permissions ends up doing the downloads.
Third, reserved instances and Azure Marketplace. If you buy Reserved Instances or consume services from the Azure Marketplace (third-party SaaS billed through your Azure subscription), those charges appear on separate invoices with separate payment terms. A marketplace publisher's charge might be invoiced by Microsoft on behalf of the publisher, with its own invoice number and its own PDF. If you are only downloading the "Microsoft Azure" invoice and not scrolling for marketplace line items, you are missing part of the bill. The finance team will catch this during an audit if you are lucky, during a vendor statement reconciliation if you are not.
Somewhere between three and five billing profiles, the monthly Azure download task stops being trivial and starts consuming a morning of real work. If you are a growing company expanding into Azure workloads, plan for this before the volume catches up with you.
Manual vs automated
Manual
- Click through each billing profile in the Azure portal every month
- Re-download when status changes from Due to Paid
- Lose track of Marketplace and Reserved Instance invoices
- Rename E1234567890.pdf files to something humans can read
- Chase Billing Reader roles across billing accounts
- Zero visibility when invoices are routed to the wrong email
- Separate workflow for EA invoices in ea.azure.com
- Roughly 3 to 5 minutes per invoice across scopes
Automated with Inbox Ledger
- Connect once, every new invoice arrives in your archive
- Status updates tracked automatically, latest version wins
- Marketplace and RI invoices captured alongside regular ones
- Filenames follow your convention with vendor, date, amount
- Notification email goes to a single automated address
- Full audit trail with original email attached to every invoice
- EA and MCA invoices unified in one dashboard
- Zero minutes per invoice after the initial setup
Automating with Inbox Ledger
Azure invoices are the easiest possible automation target because Microsoft already emails a PDF to whatever address you put on the billing profile notifications. You do not need a new API integration, a service principal, or a managed identity. You just need the invoice email to land somewhere that gets processed automatically.
Here is the setup in practice.
Set the notification address. In Cost Management + Billing, open your billing profile, go to Properties or Notifications, and add the email address of the inbox you want Inbox Ledger to watch. This can be a shared accounting inbox, a personal inbox, or a dedicated forwarding address that Inbox Ledger provides. For organizations with multiple billing profiles, set the same notification address on each one. Microsoft will send a separate invoice email per profile per billing cycle, and each one will be processed independently.
Connect the inbox. Inbox Ledger connects to Gmail, Outlook, or any IMAP account via OAuth. Read-only access to the mailbox, no mailbox passwords stored on our side, and the first sync can pull historical invoices from the last 90 or 365 days depending on how far back you want to go. Azure invoice emails come from microsoft-noreply@microsoft.com with a consistent subject line that includes "Invoice is ready" and the billing period, so the pattern is reliable.
Let the extractor run. The AI model parses Microsoft's invoice PDF format directly. It picks up invoice number, billing period, billing profile name (useful if you have several), amount due, currency, payment status, line items grouped by service, and any tax breakdowns Microsoft includes. Enterprise Agreement invoices and Microsoft Customer Agreement invoices have slightly different layouts, but the model handles both. Marketplace charges included in an Azure invoice are extracted as separate line items rather than a single lump sum, which matters if you want to allocate third-party software costs separately.
Push to your accounting system. From the extracted invoice, you can route to QuickBooks, Xero, Google Sheets, Google Drive, or OneDrive. A common rule for Azure: every invoice from Microsoft Azure over $500 gets routed to QuickBooks Bills with the "Cloud Infrastructure" GL account, tagged by billing profile, and anything under $500 auto-approves. For teams running chargeback to internal cost centers, the line-item breakdown makes it easy to split compute, storage, and networking across departments.
For more Azure-specific details on setting up notifications, granting Billing Reader roles correctly, and handling EA enrollments that have not yet migrated to MCA-E, see our Azure billing portal page.
The integrations page has the full list of accounting destinations including QuickBooks and Xero. AI processing covers how the extraction model handles the line-item detail and multi-currency decomposition that Azure invoices often include. If you spend most of your day in the Azure portal anyway, the Chrome extension adds a one-click send button on the invoice detail page, useful for capturing one-off invoices outside the normal monthly flow. Teams that centralize all cloud invoices in a structured archive often pair this with the Azure invoice downloader tool for bulk historical pulls.
Gotchas and edge cases
A few things that catch finance teams off guard.
Billing profile vs billing account confusion. Microsoft has two levels of hierarchy above the invoice. A billing account is the top-level contract with Microsoft (think: your company's master agreement). A billing profile is a billable unit under that account, and one account can have many profiles, each with its own invoices and its own payment method. If your company signed an MCA and then carved out a separate billing profile for the marketing department, you will get two invoices per month: one per profile. Downloading invoices for the "billing account" in the portal is actually downloading invoices across all its profiles, which is why you sometimes see two or three PDFs for the same billing period.
Tax invoices vs receipts. For most regions, Microsoft issues a tax invoice (with your VAT ID, Microsoft's tax ID, and a line-item tax breakdown) as soon as an invoice is generated. For some regions and payment methods (credit card purchases in the US, for example) the document is technically a receipt, not a tax invoice. If your accountant needs a VAT-compliant invoice and you are only getting receipts, check your billing profile's tax settings and make sure your tax ID is saved. Microsoft will regenerate the invoice as a tax invoice once you add the ID, but it does not retroactively reissue past invoices.
Credit notes and adjustments. When Microsoft issues a credit (for an SLA refund, a pricing correction, or a disputed charge), the credit note is a separate document with its own invoice number, usually appearing in the Invoices list as a negative amount. Manual downloaders frequently miss these because they look at the total and ignore the negative rows. In an archive, you want both the original invoice and the credit note, paired, so the net charge is clear. Automated extraction captures negative invoices the same way it captures positive ones and keeps them in the same archive folder.
If you recently moved from a direct Enterprise Agreement to MCA-E (Microsoft Customer Agreement for Enterprise), your invoices split across two systems for a period. The old EA portal (ea.azure.com) still has historical invoices up to the conversion date, and the new Azure portal has invoices from the conversion forward. Pull from both, or your archive will have a gap that nobody will notice until audit season.
Reserved Instance upfront payments. When you buy a one-year or three-year Reserved Instance, Microsoft invoices the upfront amount as a separate line item (or sometimes a separate invoice) at purchase time, then adjusts your monthly invoices to reflect the amortization. If your accounting treats reservation purchases as prepaid expenses, you need the upfront invoice captured separately from the monthly usage invoices. The AI extractor tags these as "reservation" line items, so your accounting rules can route them to the right GL account automatically.
Currency of billing. Microsoft invoices in the currency configured on your billing profile, not in USD by default. If your billing profile is set to EUR but your subscription pays in USD-denominated credits, the invoice you receive is in EUR with a USD equivalent shown for reference. This is a frequent source of double-entry errors: teams record the EUR amount in accounting and the USD equivalent in their FP&A model, then wonder why they do not match. Pick one and stick with it. The extractor captures both and lets you filter on whichever your accountant needs.
When automation is not worth it
If you have one Azure subscription on Pay-As-You-Go, one billing profile, and your total spend is under $200 a month, the manual download takes three minutes and the setup for any automation tool is not worth it. Just add the billing notification email to your bookkeeping inbox and move on. You can forward the Microsoft invoice email to your accountant each month by hand.
Automation earns its keep once you hit three or more billing profiles, or when you are running an EA alongside newer MCA-E subscriptions, or when your Azure bill crosses the threshold where every invoice needs line-item allocation across cost centers. That is the moment the manual path starts eating real time and producing real errors.
Also worth saying: if Azure is a small fraction of your overall cloud spend and AWS or GCP dwarfs it, automate whichever one is bigger first. The principle is the same for all three, and the return on automation scales with invoice volume, not vendor count.
Closing: get the invoices out of the portal
Azure billing is powerful and flexible, which is exactly why pulling invoices out of it is annoying. The portal is optimized for cost analysis, not for document retrieval. If you only occasionally need one invoice, the manual path is fine. If you need every invoice, every month, across multiple billing profiles, pushed into your books with no manual step, stop clicking.
Set up the notification email, connect the inbox, let the extractor do its thing, and spend the time you saved on something that actually moves the business. The invoices will keep coming. The question is whether you keep downloading them.
If you want to see what Inbox Ledger does with your Azure invoices specifically, start with the integrations page, then connect a mailbox and trigger a billing notification to see the round trip. A few minutes of setup, and month-end close loses a chunk of its manual overhead.