Skip to content
  • There are no suggestions because the search field is empty.

How to use the Microsoft Azure Consumption Billing Import

Azure Consumption Billing Import lets you reconcile Azure usage and charges directly inside the Gradient Microsoft Module. 

Overview

Azure Consumption Billing Import lets you reconcile Azure usage and charges directly inside the Gradient Microsoft Module. Upload Microsoft's standard Azure Usage and Charges CSV, choose how you want to group and mark up the services, review the proposed billing in the Azure reconciliation tab, and approve. Your PSA contract is updated only after you approve, with the effective date you set.

This replaces the spreadsheet-and-CSV workflow most MSPs have been using to bill Azure. It is built around how MSPs actually invoice Azure consumption, not as a generic file importer.

Heads up This feature is part of the Microsoft Module. You must be subscribed to the Microsoft Module to use it.


Before you start

Make sure you have the following ready:

  • ✅ An active Microsoft Module subscription in Gradient
  • ✅ The Microsoft Azure Usage and Charges CSV export (downloaded directly from Microsoft billing, in its original format)
  • ✅ Your PSA contracts set up and ready to receive Azure services
  • ✅ Decided how you want to group your Azure billing (see "Choose your grouping strategy" below)

About the file Use the standard Microsoft Azure Usage and Charges CSV export. No reformatting, column remapping, or cleanup is needed. Custom distributor exports (for example, distributor-specific layouts) are not supported at this time. Pull the export from Microsoft billing regardless of which CSP or distributor you go through.


Where to find it

You can reach the Azure import flow in two places:

  1. Microsoft Reconciliation tab (if you are subscribed to the Microsoft Module)
  2. File Import > Azure Billing tab

[SCREENSHOT 1: Navigation] Capture the top navigation showing both entry points side by side. Highlight the "Microsoft Reconciliation" tab and the "File Import > Azure Billing" tab. Crop tightly to the nav, no partner data visible.


Step 1: Start a new import profile

  1. Go to File Import > Azure Billing.
  2. Click New Import Profile.
  3. The Import Profile wizard will open.

[SCREENSHOT 2: Wizard step 1, profile setup] Capture the first step of the wizard showing the empty form: Profile Name, Default Effective Date, and File Selection fields. Use a demo tenant; redact any partner names.

You will be asked for:

Field What it does
Profile Name A label for this profile (for example, "Azure Consumption, Q2 Billing").
Default Effective Date The date that approved billing changes will apply from. This clears on every import, so you must set it fresh each time you import.
File Selection Upload your Microsoft Azure Usage and Charges CSV.

Why the effective date clears every time If the effective date carried forward from a previous import, it would be easy to accidentally bill prior-month dates by forgetting to update it. Clearing it forces a fresh selection on each import, so your billing dates are always intentional. You can still override the effective date inline during reconciliation approval if you need to.


Step 2: Validate the file

Once you upload, Gradient will:

  • Auto-detect the CSV headers
  • Filter to Azure rows only (any non-Azure lines like M365 are silently filtered out by design, this is not an error)
  • Show you a preview of the first 20 rows so you can confirm you uploaded the right file

[SCREENSHOT 3: File validation/preview screen] Capture the 20-row preview screen with sample data. Make sure values are demo or redacted.

If the preview looks wrong (wrong tenant, wrong period, wrong export type), back up and re-upload before continuing.


Step 3: Choose your grouping strategy

This is the most important decision in the import flow. Grouping controls how granular your Azure billing becomes inside your PSA.

You have three options:

Grouping What it creates Best for
By Account One "Azure Consumption" line item per account Simplest invoicing, lowest PSA management overhead
By Account + Product One line per Azure product category per account (Compute, Storage, Backup, etc.) Recommended starting point. Best balance of visibility and manageability for most partners
By Account + Product + SKU Full granular mapping that mirrors the Microsoft invoice exactly Mature billing operations needing full SKU-level cost transparency

Recommendation Start with Account + Product. SKU-level grouping is powerful but creates hundreds of PSA service mappings very quickly, which is hard to walk back from. You can always increase granularity on a later import.

[SCREENSHOT 4: Grouping selection] Capture the grouping selection screen with all three radio options visible. If possible, capture two states: one with "By Account + Product" selected showing the resulting preview, and one with "By Account + Product + SKU" selected showing the much longer preview. Two screenshots side by side make the trade-off concrete.


Step 4: Configure markup

Markup is configured at the import profile level and applied consistently across the services in that profile.

You have three markup methods:

Method How it works Example
Percentage Markup (default 10%) Adds a percentage margin on top of Azure cost $100 cost + 15% = $115 billed
Fixed Dollar Markup Adds a fixed dollar amount on top of cost $100 cost + $20 = $120 billed
Fixed Billing Price (Set Price) Overrides the usage cost with a flat price you set Useful for flat-fee or bundled Azure managed services

[SCREENSHOT 5: Markup configuration with live preview] Capture the markup configuration screen with the dynamic preview visible on the right showing how the markup affects the calculated bill. The preview updating live is the key thing to show here.

A few things to know about markup:

  • The preview updates dynamically as you change the markup type or amount, so you can see exactly what the partner-facing bill will look like before you approve anything.
  • Markup is service-specific, not global. You can set a different markup on each service if you want.
  • If you change the markup type on a future import (for example, from percentage to fixed price), all calculations recalculate accordingly.
  • You can capture a default markup amount during initial profile creation so you don't have to enter it manually for each service.

Step 5: Map services to your PSA

Once grouping and markup are set, Gradient maps the resulting services to your PSA contracts.

  • Account mapping uses Gradient's existing integration mapping logic, including auto-mapping where matches are confident.
  • The mapping screen behaves the same way as the rest of Gradient's service mapping, so if you have used reconciliation before, this will look familiar.

[SCREENSHOT 6: Service mapping screen] Capture the account/service mapping screen showing auto-mapped rows in one state and unmapped rows requiring action in another. Demo data only.


Step 6: Review and approve

All imported items route to the Azure reconciliation tab for review.

Nothing updates your PSA until you approve it. This is intentional. The reconciliation tab is the control gate.

In the reconciliation tab you can:

  • Review each line item with its grouping, cost, markup, and final bill
  • Override the effective date inline if a specific item needs a different date than the profile default
  • Approve individually or in bulk

[SCREENSHOT 7: Azure reconciliation tab] Capture the Azure reconciliation tab showing a list of Azure items pending approval, with the Approve button visible. Show a mix of new and existing line items if possible.

Once you approve, the items push to your PSA contract with the effective date applied.


Re-importing later

When you upload a new Azure CSV in a later billing cycle:

  1. The effective date will be blank and require a new selection (this is by design).
  2. You can change the markup type or amount, and all calculations will update.
  3. Service mappings you created in earlier imports are remembered, so you only need to map newly seen services.

What this feature does and does not do

This is:

  • An operational reconciliation workflow for Azure consumption billing
  • A bridge between Microsoft's standard Azure export and your PSA contracts
  • A controlled, approval-gated process where you stay in control
  • Compatible with any CSP or distributor model that gives you access to the standard Microsoft Azure Usage and Charges CSV

This is not:

  • Real-time Azure synchronisation
  • Fully automated cloud cost management
  • Azure optimisation or FinOps tooling
  • A native Azure API integration (yet)
  • A replacement for your billing judgement

What's next Direct integration with Microsoft's Azure API is on the roadmap and will eventually remove the need for CSV import. The import-first approach exists so every partner can get operational immediately, regardless of CSP or distributor relationship.


Frequently asked questions

Does this work with my distributor? Yes, as long as you can pull the standard Microsoft Azure Usage and Charges CSV from Microsoft billing. The workflow is built around the Microsoft-standard export. Custom distributor-specific export formats are not yet supported. Even if you go through a distributor, you can still pull the Microsoft-standard export.

Can I buy Azure Import on its own, without the rest of the Microsoft Module? No. Azure Consumption Billing Import is included as part of the overall Microsoft Module. It is not available as a standalone add-on at this time.

What file format does the import need? The Microsoft Azure Usage and Charges CSV export, available directly from Microsoft billing. No reformatting, column mapping, or cleanup needed. The system validates headers automatically and filters to Azure-only rows. Non-Azure rows like M365 are silently ignored, which is by design.

Is this fully automated? No, intentionally. All imported items route to the Azure reconciliation tab for your review and approval before any PSA contract is updated. We want you in control, not surprised by silent changes.

Can I have more than one Azure import profile per integration? Not at the moment. The current launch supports one Azure profile per integration. Multi-profile support is on the roadmap.

What if I'm only interested in Azure billing and don't have GDAP or NCE set up? You can still use Azure Consumption Billing Import without a full GDAP or NCE configuration. If you run into navigation issues getting to the Azure tab from the Microsoft Reconciliation screen, contact support.

What happens to "newfound" revenue items (Azure services that don't match an existing contract yet)? For now, items without a contract are filtered out of the recommendations view. Inline contract assignment for newfound items is on the roadmap. If you spot Azure services that should be billing but aren't, contact support and we'll help you set up the contract assignment.


Need help?

If you run into trouble, the most common issues fall into one of three buckets:

  1. File format issues (wrong export, missing columns, encoding problems): pull a fresh export directly from Microsoft billing in the standard Usage and Charges format.
  2. Grouping confusion: review the "Choose your grouping strategy" section above. If you started at SKU level and regret it, contact support.
  3. Mapping or markup not behaving as expected: trace it back to the import file, the grouping config, or the markup logic, those are the three inputs that drive everything downstream.

Still stuck? Email support@meetgradient.com or open a ticket.


Related articles

  • Setting up Microsoft + Pax8 Integration
  • Service Mapping
  • Reviewing and Approving Services for Reconciliation
  • Billing Reconciliation Best Practices