The billing and reconciliation for Azure plan can become challenging the higher in volume the Azure consumption gets.
See a brief overview of Azure billing best practices here:
See also:
There are certain challenges that can arise depending on how Azure is being billed which can lead to an Azure invoice to look incorrect. See the following scenarios below.
Azure is being billed 2 months behind.
- This is a scenario that can happen depending on the start date of a customer's Azure contract, and the date that Azure provider's recon file with consumption syncs into Work 365 as a provider invoice.
- For Microsoft Partner Center this is the Daily Rated Reconciliation file with the detailed Azure consumption that Work 365 syncs as a provider invoice.
- Let's look at the following example of this billing scenario:
- Customer's Azure billing contract start date is 03/02/2021. This makes the billing contract cycle the 2nd-1st of the next month.
- Microsoft's provider invoice does not sync into Work 365 until the 10th (This is most common with the Microsoft G invoice daily rated file).
- Microsoft will typically provide the G invoice PDF by the 8th of the month per the SLA, however the daily rated reconciliation file which Work 365 uses for billing Azure will typically take a couple extra days to sync into Work 365. On average then the 10th is usually when it syncs in.
- The current billing cycle on the contract being billed is 5/2/2022-6/1/2022
- Microsoft has not provided the recon file for May yet (billing April consumption).
- However there is consumption from March which hasn't been billed yet.
- Why is this? Typically the April invoice would normally bill March consumption. However, because the billing contract start date is set to the 2nd of the month, the April invoice from Microsoft (which included the March consumption) did not sync until April 10th. Thus the April invoice billed February consumption.
- Circling back to the May invoice then, there is billable March consumption which then gets invoiced on 5/3/2022 for the billing cycle of 5/2/2022-6/1/2022
- How to identify this scenario:
- Look at the billing contract start date.
- Look at the date the "Created on" date of the provider invoice. This is easily available on the Active Provider Invoices list view on the provider invoice tab in Work 365. The Created On date indicates when the provider invoice was created as a record in Work 365.
- The created on date will likely be after the invoice date of the Azure invoice.
- Also go to the Azure invoice and download the consumption from there directly.
- Advanced Azure users: on the Work 365 Invoice form click on the Advanced tab. Then download the partner file.
- Traditional Azure billing:
- if there is no custom view to analyze the consumption data create a new custom advanced find view on usage summary. On this view:
- remove the columns: charge type, resource group, resource name, service name, service type, region, unit, included quantity
- add the columns: created on, customer, list price, list price marked up, markup %, subscription name, status reason,
- download the consumption from the customer invoice.
- if there is no custom view to analyze the consumption data create a new custom advanced find view on usage summary. On this view:
- Once the consumption data is downloaded apply filters to all the columns
- Look at the charge end date. This indicates the consumption cycle being billed. Is the charge end date for the consumption cycle 2 months behind the billing cycle?
- example: 3/31/2022 (march consumption) when the Azure invoice cycle is 5/2/2022
- Look at the provider invoice the consumption is synced to. Is it the Microsoft invoice from the previous month?
- example: G invoice April, invoice data April 6th. Look at the created on date on the Microsoft invoice. Compare this to the recently synced May invoice from Microsoft. Does it show the April invoice is created on April 10th (as an example), and the May invoice is created on the 9th (as an example).
- Look at the charge end date. This indicates the consumption cycle being billed. Is the charge end date for the consumption cycle 2 months behind the billing cycle?
- This shows that the most recent recon file with Azure consumption was not yet in the system for billing. However there is consumption from the April invoice available for billing because it was not invoiced in April (this is because the customer's invoice was generated on April 3rd and the provider invoice for April did not sync in until April 10th).
- How to Fix:
- Ensure the Azure subscriptions are on a dedicated Azure billing contract. Set the billing contract start date out to about the 12th of the month. This should give enough leway time for the invoice from Microsoft to sync into the system by the time the Work 365 invoice is automatically generated.
The customer's invoice does not match the invoice from Microsoft in Work 365
- Go into Microsoft Partner Center, and download the Daily Rated Reconciliation file (this is the consumption only file, there will be no license billing on this recon file)
- Go to the Provider invoice in Work 365 and download the consumption from there directly.
- Advanced Azure users: on the Provider invoice click on the Advanced tab. Then download the partner file.
- Traditional Azure billing in Work 365:
- if there is no custom view to analyze the consumption data create a new custom advanced find view on usage summary. On this view:
- remove the columns: charge type, resource group, resource name, service name, service type, region, unit, included quantity
- add the columns: created on, customer, list price, list price marked up, markup %, subscription name, status reason,
- download the consumption from the customer invoice.
- if there is no custom view to analyze the consumption data create a new custom advanced find view on usage summary. On this view:
- Once the consumption data is downloaded apply filters to all the columns
- On the Microsoft daily rated file, look at the billing pre-tax total.
- On the Work 365 usage summary download, look at list price. in a new column calculate a formula for List Price*Overage Quantity. This calculated formula is the total cost of the Azure consumption
- Compare this calculated total for cost of Azure consumption with the billing pre-tax total from the Microsoft file. Do the costs match?
- Also look at the markup % and line total on the Work 365 download.
- If the cost comparison between Work 365 and Microsoft are the same, then the Work 365 customer invoices should be correct as the chargeable consumption totals include the markup %
- There is one exception here where the Work 365 invoice may be invoicing consumption data from more than one consumption cycle. To check this, follow the steps in the next scenario.
The total Azure amount on the invoice does not look correct
- First follow the steps from the previous scenario of comparing the consumption data from the Work 365 provider invoice to the Microsoft daily rated recon file. If the numbers line up, meaning the calculated cost in Work 365 on the usage summary (List Price*Overage Quantity) matches the billing pretax total from the Microsoft file, this confirms that the data is synced into Work 365 correctly, and from this standpoint the calculated total (Line Total) which includes the markup % is likely correct.
- If the above steps are taken and the Work 365 invoice still looks incorrect:
- Go to the Azure invoice and download the consumption from there directly.
- Advanced Azure users: on the Work 365 Invoice form click on the Advanced tab. Then download the partner file.
- Traditional Azure billing:
- if there is no custom view to analyze the consumption data create a new custom advanced find view on usage summary. On this view:
- remove the columns: charge type, resource group, resource name, service name, service type, region, unit, included quantity
- add the columns: created on, customer, list price, list price marked up, markup %, subscription name, status reason,
- download the consumption from the customer invoice.
- if there is no custom view to analyze the consumption data create a new custom advanced find view on usage summary. On this view:
- Once the consumption data is downloaded apply filters to all the columns
- Look at the charge end date. This indicates the consumption cycle being billed. Click into the filter drop down for charge end date. Is there more than one charge end date listed? If so is the other charge end date for a prior month's consumption cycle?
- Also look at the provider invoice the consumption is synced to in the provider invoice filter. Is there more than one provider invoice listed from prior consumption cycles?
- Look at the charge end date. This indicates the consumption cycle being billed. Click into the filter drop down for charge end date. Is there more than one charge end date listed? If so is the other charge end date for a prior month's consumption cycle?
- This likely indicates the system has included consumption from a prior billing cycle.
- Why did this happen?
- This is not likely to happen for those using the Advanced Azure billing feature in Work 365; however, this is a common scenario for those billing Azure in Work 365 who are not using Advanced Azure.
- Taking a step back for a minute, during the invoicing process Dynamics 365 sets a 2 minute time limit to process all the data needed on an invoice. This is a problem for Azure consumption at higher volumes because the system does not have the time to not only calculate the total amount, but to also update all the consumption data in the system as being Archived and linking the consumption to the invoice record.
- What does this mean in terms of volume?
- Looking at the Microsoft daily rated recon file, look at the customer who has the most or highest consumption on their Azure subscription. Filter by just that customer, and then look at the number of rows listed. Each row on the Microsoft file will equate to 1 usage summary record in Work 365.
- Let's say a customer typically has about 6,000 rows on the Microsoft file which would be 6,000 usage records in Dynamics. This is about the max that the Dynamics invoicing process can handle with the 2 minute time limit, and updating the consumption data as mentioned previously.
- Then the customer's consumption grows to 7,00 0 records, and over time this continues to scale.
- During the invoicing process then, the system is able to update 6,000 of the records as archived and linking the invoice record. However, 1,000 usage records are not able to be updated in the 2 minute invoicing process in Dynamics. Thus this consumption stays as active.
- In Work 365 Active consumption is considered billable until it's archived. Thus this consumption then get's pulled into the next invoicing cycle.
- In the next cycle then there are 8,000 records to process (7,000 from the current cycle, and 1,000 from the previous consumption cycle where the data was not archived).
- Once again due to the volume of data, Dynamics is not able to process all these records and 2,000 records end up being univoiced.
- Looking at the Microsoft daily rated recon file, look at the customer who has the most or highest consumption on their Azure subscription. Filter by just that customer, and then look at the number of rows listed. Each row on the Microsoft file will equate to 1 usage summary record in Work 365.
- This is not likely to happen for those using the Advanced Azure billing feature in Work 365; however, this is a common scenario for those billing Azure in Work 365 who are not using Advanced Azure.
- How to resolve this issue
- As mentioned previously this issue does not really happen on the Advanced Azure billing in Work 365. The reason is because the consumption data is not stored in Dynamics like the traditional Azure billing model. Due to the volume of Azure consumption, Dynamics is not able to process as much of the data using the performance capabilities available in Dynamics. Advanced Azure in Work 365 is different because the consumption is stored in a backend Work 365 database.
- This enables Work 365 to increase the overall performance of billing the Azure consumption while sticking to the 2 minute time limit set by Dynamics. Thus even as the consumption continues to scale, Work 365 automatically adjusts the performance needed to process the increased volume of Azure data.
- When the invoice is generated then, all the consumption gets archived and linked to the invoice record.
- When the next billing cycle arrives there is no consumption from the prior cycle which needs to be invoiced.
- Why did this happen?
- Go to the Azure invoice and download the consumption from there directly.
Invoice amount for Azure Reserved Instances does not match the Microsoft license reconciliation file:
- When comparing a Work 365 customer invoice to the Microsoft license recon file, and the Work 365 invoice amount looks incorrect complete the following steps:
- Go to the Work 365 billing contract record
- Compare the reservation subscriptions listed on the billing contract with the list of reservations on the Microsoft recon file.
- Is every subscription accounted for? If Not:
- Are the reserved instance subscriptions missing on the Work 365 billing contract? If So
- On a separate tab go to Work 365 > Provider Management > Provider Accounts > search for the customer's name > Open the provider account > Click Related > select Subscriptions.
- Are the missing reserved instance subscriptions listed? If so this means they are either not linked to any billing contract or they are linked to the incorrect billing contract. Click into one of the subscriptions to find out. Either way, bulk update the reserved instances to the correct billing contract: Select the subscriptions > Edit > in the billing contract field on the right fill in the correct contract record.
- Note: the "Correct" billing contract for the reserved instance subscriptions refers not only to the correct customer's contract, but also the correct type of billing contract.
- It is strongly recommended they be added to an item based billing contract. This is because it will make the reconciliation significantly easier with the Microsoft recon file. For more information on this topic:
- If the customer does not yet have an item based contract it's recommended to create a new one where the type is item based, and then move the subscriptions to that contract type.
- Note: the "Correct" billing contract for the reserved instance subscriptions refers not only to the correct customer's contract, but also the correct type of billing contract.
- If there are still missing reserved instances under the customer's provider account, go back to the customer's billing contract and sync subscriptions. Are the Reserved Instance skus listed? If so proceed to sync them into Work 365.
- Note it is recommended that new Azure reserved instance skus be added to Item Based Billing Contracts.
- Billing Azure Reserved Instances
- Note it is recommended that new Azure reserved instance skus be added to Item Based Billing Contracts.
- Are the reserved instance subscriptions missing on the Work 365 billing contract? If So
- Are there older reserved instance subscriptions which have expired and Microsoft is no longer invoicing for on the recon file? If so,
- Click into the expired reserved instance subscriptions. click deactivate on the subscription page.
- Also these expired skus most likely don't need to be credited back so select Do Not Apply Refund before hitting save. This will automatically archive the license change log record.
- Repeat for any other expired reserved instances.
- Is every subscription accounted for? If Not:
- If every reserved instance subscription is accounted for, compare the selling prices on the subscriptions to the cost prices on the Microsoft Recon file.
- Note by default Work 365 adjusts the prices on reserved instance subscriptions based on a standard markup.
- If it is preferred to resell the reserved instance skus at cost:
- then delete the Work 365 invoice which was previously generated
- On the billing contract click on Related > Work 365 jobs to confirm the invoice deletion process is completed.
- Then go back to the subscriptions and update the selling prices as needed. On the popup asking to update the prior license change log records click yes. After selecting yes go to the license change log tab to confirm the correct price was added.
- Once all the subscription pricing is updated as preferred go to the billing contract and regenerate the customers invoice.
- Generate the Work 365 PDF from the invoice and compare the invoice line item skus to the Microsoft recon file
- Confirm if there are any mid-term changes listed on the invoice which should not be. If so it's likely there were still some license change logs records which had not been archived before regenerating the invoice.
- Either delete the line item from the invoice directly or delete the invoice, update the lcls as archived and then regenerate the invoice.
- Are there any credit line items on the Microsoft invoice which are missing on the Work 365 invoice? If so
- Create NRI one time credits on the customer's billing contract.
- Select the last date of the previous cycle as the effective date and provision date for the NRI
- Purchase type = generic
- Sales Unit = Primary Unit
- Selling Price per unit = -x (x=the credit amount)
- Delete the customer's invoice.
- On the billing contract click on Related > Work 365 jobs to confirm the invoice deletion process is completed.
- Also go to the Related tab > License change logs to see if there are any license change logs which are still active that should be archived before the invoice is regenerated.
- Regenerate the invoice.
- Create NRI one time credits on the customer's billing contract.
- If the numbers are still not lining up with the Microsoft invoice, take a look at the Microsoft recon file charge start and charge end dates for the reserved instance skus.
- Note that NCE sku billing cycles are based on the start dates of the subscriptions. This means if a customer has multiple NCE skus of different start dates then they will have different billing cycles which get invoiced. The charge start and end dates indicates this.
- Then take a look at the billing cycles on the reserved instance invoice line items on the invoice PDF. Do the billing cycles match the Microsoft file?
- If not, go to the Billing Contract for these subscriptions. Look at the Type of the billing contract. Does it say recurring or item based.
- If it says recurring, then this means there is a misalignment of the contract billing cycle and the Microsoft invoice cycles of the subscriptions. This is because of how the Recurring billing contract type handles billing. This is why it's recommended for NCE skus to be added to an Item based billing contract type.
- With that said, note if there are existing NCE subscriptions which have already been billed on the existing contract, then there are specific steps which need to be taken to add them to an Item Based billing contract. Reach out to support@work365apps.com for assistance.
- If it says recurring, then this means there is a misalignment of the contract billing cycle and the Microsoft invoice cycles of the subscriptions. This is because of how the Recurring billing contract type handles billing. This is why it's recommended for NCE skus to be added to an Item based billing contract type.
- If not, go to the Billing Contract for these subscriptions. Look at the Type of the billing contract. Does it say recurring or item based.
- Compare the reservation subscriptions listed on the billing contract with the list of reservations on the Microsoft recon file.
- Go to the Work 365 billing contract record
If there are any questions completing the above steps please reach out to support@work365apps.com.