Skip to main content

CspAzureUsageVisibility: Fix Azure Billing Access

Fix this error

Spotto shows CspAzureUsageVisibility when Azure Cost Management denies billing visibility for a subscription. This most often affects CSP subscriptions billed under Microsoft Azure Plan / Microsoft Customer Agreement (MCA).

The fix usually needs two checks: the CSP partner must enable customer cost visibility, and the Spotto service principal must still have Azure RBAC access on the subscription.

Check the Spotto sync diagnostics

In Spotto:

  1. Open Connectors -> Connectors -> Cloud Accounts.
  2. Open the affected Azure cloud account.
  3. Open Sync diagnostics.
  4. Select the affected subscription.
  5. Look for a billing step warning such as Azure Cost Management visibility required or CspAzureUsageVisibility.

Enable Azure Usage visibility

In the CSP partner tenant:

  1. Open Cost Management + Billing.
  2. Open the partner Billing Account.
  3. Select Customers.
  4. Select the affected customer tenant.
  5. Open Policies.
  6. Set Azure Usage or Azure Usage charges to Yes.
  7. Save the change.

Confirm Spotto Azure RBAC

In the customer tenant:

  1. Open the affected Subscription.
  2. Open Access control (IAM).
  3. Confirm the Spotto app has Reader.
  4. Confirm the Spotto app has Cost Management Reader.
  5. If access is inherited from a management group, confirm inheritance covers the affected subscription.

Retry the sync

After the policy and RBAC checks:

  1. Wait 5-10 minutes for Azure changes to propagate.
  2. In Spotto, rerun the affected subscription sync.
  3. Return to Sync diagnostics and confirm the billing step no longer shows the visibility warning.

What this error means

Error key: CspAzureUsageVisibility

Spotto tried to read Azure Cost Management data, but Azure denied access to billing visibility. Credential validation can still pass because the service principal can authenticate and may have normal subscription Reader access. Billing data has its own visibility path, because apparently one permission model was not quite enough.

This issue can affect:

  • Cost Analysis
  • Cost Tree
  • Dashboard spend widgets
  • Cost overlays and savings calculations

Why it happens

For CSP-managed Azure subscriptions, cost visibility can be controlled by a partner-side customer policy. If the policy is disabled, Azure Cost Management data may be empty or denied even when subscription Reader access is present.

Spotto also needs Azure RBAC after visibility is enabled. The partner policy makes the data available to the customer tenant; RBAC controls whether the Spotto app can read it.

Who can fix it

  • A CSP partner administrator or partner billing administrator must enable Azure Usage visibility for the customer.
  • A customer tenant administrator with Azure role assignment rights must confirm Reader and Cost Management Reader for the Spotto app.
  • A Spotto administrator can rerun sync and validate the result in Sync diagnostics.

Important notes

  • Spotto onboarding scripts, Terraform modules, and manual Azure role assignments can assign Azure RBAC, but they cannot enable the CSP partner-side billing policy.
  • If Azure Usage visibility is disabled, Spotto credential validation can still succeed while billing-driven features remain empty.
  • Azure RBAC and billing policy changes can take several minutes to become effective.
  • If the warning remains after both checks, confirm the subscription is covered by the Spotto cloud account and send the sync diagnostic details to Spotto support.