EA vs. MCA Cost Export Column Names — Mapping Reference

Azure cost export column names differ across agreement generations in two ways: legacy EA names (like PreTaxCost) were renamed in current EA exports, and current EA names are PascalCase while MCA names are mostly camelCase, with several MCA-only and EA-only columns on top. The table below maps all three, sourced from Microsoft's EA and MCA dataset schema docs.

The mapping table

"Legacy EA" is schema version 2019-10-01 and older (and the old usage APIs) — the names most pre-migration Power BI reports were built on. "Current EA" is version 2024-08-01; "Current MCA" is version 2021-10-01 and later. Microsoft's field dictionary confirms the pattern: "Some fields might differ in casing and spacing between account types."

Legacy EA (≤2019-10-01) Current EA (2024-08-01) Current MCA Meaning
PreTaxCost CostInBillingCurrency costInBillingCurrency Cost in the billing currency. MCA adds costInUsd and costInPricingCurrency.
UsageDateTime Date date Usage date of the charge.
SubscriptionGuid SubscriptionId SubscriptionId Subscription identifier (one of MCA's PascalCase exceptions).
InstanceId ResourceId ResourceId Full resource ID. MCA schema version 2019-11-01 used InstanceName.
UsageQuantity Quantity quantity Units of the meter consumed.
ResourceRate EffectivePrice effectivePrice Effective unit price after discounts.
BillingCurrencyCode billingCurrency Billing currency. MCA adds pricingCurrency, exchangeRatePricingToBilling, exchangeRateDate.
DepartmentName InvoiceSectionName invoiceSectionName EA departments map to MCA invoice sections.
ResourceGroup ResourceGroup resourceGroupName Resource group of the resource.
ResourceLocationNormalized location Normalized region — different names, EA-only vs MCA-only.

Columns that exist on only one side

MCA-only: invoiceId, previousInvoiceId, servicePeriodStartDate/servicePeriodEndDate, costInUsd, costInPricingCurrency, paygCostInBillingCurrency, paygCostInUsd, provider, ProductId, publisherId.

EA-only: AccountId, AccountName, AccountOwnerId, PartNumber, OfferId, PlanName, ResourceName, ResourceLocationNormalized.

If a measure or Power Query step references a column from the wrong side of this list, it returns blanks or errors after migration — that's the usual root cause behind reports breaking after EA to MCA.

Making the mapping unnecessary

MCA Continuity's CostManagement_Usage SQL view exposes EA, MCA, and PAYG column names simultaneously — Cost = CostInBillingCurrency = PreTaxCost, Date = UsageDate, SubscriptionId = SubscriptionGuid, ResourceId = InstanceId, ResourceName = InstanceName, ConsumedService = ServiceName — so reports keep working against whichever convention they were built on, and this table becomes reference material rather than a rework plan.

Frequently asked questions

Are data types the same across the EA and MCA schemas?
Microsoft's dataset schema docs list column names and descriptions but don't publish data types, so we won't claim they match. One documented format difference worth knowing: in EA actual and amortized datasets, the Tags column isn't valid JSON (the outer braces are stripped), while Microsoft notes FOCUS fixes this.
Does FOCUS replace these schemas?
Not formally, but it's Microsoft's recommended direction. FOCUS (the FinOps Open Cost and Usage Specification) is a first-class Cost Management export dataset — versions 1.0 and 1.0r2 are generally available — that combines actual and amortized costs in one standardized schema. Microsoft calls it "the best version of cost and usage data you can get from Cost Management" and notes that adopting it before an EA-to-MCA transition "puts you in control of timing." The native EA/MCA schemas remain fully supported.
Why do my old reports reference columns that aren't in either current schema?
They were built against the legacy EA schema (version 2019-10-01 and older) or the old usage APIs, which used names like PreTaxCost, UsageDateTime, SubscriptionGuid, InstanceId, UsageQuantity, and ResourceRate. Current EA exports renamed these (CostInBillingCurrency, Date, SubscriptionId, ResourceId, Quantity, EffectivePrice) — the first column of our table maps them.
Is the casing difference really enough to break a report?
Power Query column references are case-sensitive, so a step expecting CostInBillingCurrency will not match costInBillingCurrency. Whether a given report breaks depends on how it was built, but treating EA PascalCase and MCA camelCase as different columns is the safe assumption.

The maintained alternative

MCA Continuity deploys from the Azure Marketplace in about 5 minutes, needs one 2-minute PowerShell script, and connects to Power BI in about 5 more — no Fabric capacity, no pipelines, entirely inside your tenant.

Related guides

Last updated: July 15, 2026. MCA Continuity is designed to work across a wide range of Azure environments. Results may vary based on tenant configuration and Microsoft API availability. See our Terms of Use for details. Microsoft, Azure, and Power BI are trademarks of Microsoft Corporation. This page describes documented behavior of Microsoft services and links to official Microsoft documentation.