Reporting API - Detailed Invoice Line Items
Reporting APIs can return detailed invoice line items. A comprehensive list of available Reporting API and functionalities can be found here:
Partners now have the flexibility to utilize a simplified view featuring consolidated invoice line items. However, when necessary, they can switch to a more detailed breakdown of invoice information. This allows for an easy understanding of charges across various subscriptions, while also providing access to specific details regarding pro-rated charges when needed.
In order to get detailed invoice line items in the API response the switch 'expand' in 'invoice-rows' endpoints (both 'general' and 'preview') needs to be populated with either values 'AllDetails' or 'CorrectionDetails' based on the requester preferences.
'CorrectionDetails' will show correction invoice line items, whereas 'AllDetails' will show all invoice line items. If you execute the call 'invoice-rows' without 'expand' enabled the entities retuned will be aggregated as per the subscriptionID. If you execute the call 'invoice-rows' with 'expand' enabled the entities retuned will not be aggregated anymore and there will separate entity as per each invoice line with 'vendorInvoiceRowId' populated. That value corresponds to Microsoft or other vendor invoice row id.
Having 'expand' enabled will result in having:
- Usage Fee values aggregated as per the subscriptionId and without 'vendorInvoiceRowId' populated due that there could be hundreds of thousands of lines with different 'vendorInvoiceRowId' for each subscription
- Corrections divided into detailed Customer Credits using the grouping of dates and totals as explained in:
Detailed Invoice Line Items
Additionally, it should be noted that rolled-up invoice line items are aggregated and the total amount is rounded to two decimal places. Conversely, expanded invoice line items are presented without any rounding, preserving the precise number of digits as provided by the vendor. To illustrate this, below is an overview of a sample calculation.
Expanded View |
Consolidated View |
|
Invoice Line 1 |
5 173.23750 |
|
Invoice Line 2 |
3 818.33750 |
|
Invoice Line 3 |
2 463.45000 |
|
Invoice Line 4 |
7 636.68950 |
|
Total Amount |
19 091.71450 |
19 091.71 |
Overview of consolidated invoice line items vs expanded invoice line items:
Microsoft example:
You bought 10 seats of the “Microsoft 365 Business Standard“ subscription on October 1st and added and removed seats several times until October 7th.
October has 31 days. Unit Price = 3. Number of days in the charge cycle 31; used/unused days = 27 (10/5 to 10/31), including 10/5.
Date |
Quantity |
Action |
1st of Oct |
10 |
Purchase 10 seats |
2nd of Oct |
-3 |
Reduce 3 seats |
3rd of Oct |
5 |
Add 5 seats |
4th of Oct |
-2 |
Reduce 2 seats |
5th of Oct |
-3 |
Reduce 3 seats |
6th of Oct |
-2 |
Reduce 2 seats |
7th of Oct |
-1 |
Reduce 1 seats (not allowed) |
Microsoft invoice lines:
Order Date |
Charge Type |
Unit Price |
Total |
Charge Start Date |
Charge End Date |
Effective Unit Price |
Billable Quantity |
10/1/2021 |
new |
3 |
30 |
10/1/2021 |
10/31/2021 |
3 |
10 |
10/2/2021 |
removeQuantity |
3 |
-29 |
10/2/2021 |
10/31/2021 |
-2.9 |
10 |
10/2/2021 |
removeQuantity |
3 |
20.3 |
10/2/2021 |
10/31/2021 |
2.9 |
7 |
10/3/2021 |
addQuantity |
3 |
-19.6 |
10/3/2021 |
10/31/2021 |
-2.8 |
7 |
10/3/2021 |
addQuantity |
3 |
33.6 |
10/3/2021 |
10/31/2021 |
2.8 |
12 |
10/4/2021 |
removeQuantity |
3 |
-32.4 |
10/4/2021 |
10/31/2021 |
-2.7 |
12 |
10/4/2021 |
removeQuantity |
3 |
27 |
10/4/2021 |
10/31/2021 |
2.7 |
10 |
10/5/2021 |
removeQuantity |
3 |
-26.1 |
10/5/2021 |
10/31/2021 |
-2.61 |
10 |
10/5/2021 |
removeQuantity |
3 |
18.27 |
10/5/2021 |
10/31/2021 |
2.61 |
7 |
10/6/2021 |
removeQuantity |
3 |
-17.57 |
10/6/2021 |
10/31/2021 |
-2.51 |
7 |
10/6/2021 |
removeQuantity |
3 |
12.55 |
10/6/2021 |
10/31/2021 |
2.51 |
5 |
Note: For change event on 6th of October Effective Unit Price = 3 / 31 * 26 = 2.51 (cut down to two decimal digits). Please note the Microsoft does not apply rounding as full Effective Unit Price = 3 / 31 * 26 = 2.516129032 and thus rounded number should be 2.52 EUR.
Reporting API invoice lines:
Consolidated invoice line items:
Charge Type |
Customer Unit Price |
Customer Total Price |
Charge Start Date |
Charge End Date |
Reseller Unit Price |
Customer Quantity |
Reseller Total Price |
CycleFee |
3 |
30 |
10/1/2021 |
10/31/2021 |
3 |
10 |
30 |
Correction |
-12.95 |
-12.95 |
10/1/2021 |
10/31/2021 |
-12.95 |
1 |
-12.95 |
In consolidated invoice line-item view AppXite platform will provided all invoice line items with charge type Correction = -29 + 20.3 - 19.6 + 33.6 – 32.4 + 27 - 26.1 + 18.27 – 17.57 + 12.55 = - 12.95 EUR
Expanded invoice line items:
Charge Type |
Customer Unit Price |
Customer Total Price |
Charge Start Date |
Charge End Date |
Reseller Unit Price |
Customer Quantity |
Reseller Total Price |
new |
3 |
30 |
10/1/2021 |
10/31/2021 |
3 |
10 |
30 |
removeQuantity |
3 |
-29 |
10/2/2021 |
10/31/2021 |
-2.9 |
10 |
-29 |
removeQuantity |
3 |
20.3 |
10/2/2021 |
10/31/2021 |
2.9 |
7 |
20.3 |
addQuantity |
3 |
-19.6 |
10/3/2021 |
10/31/2021 |
-2.8 |
7 |
-19.6 |
addQuantity |
3 |
33.6 |
10/3/2021 |
10/31/2021 |
2.8 |
12 |
33.6 |
removeQuantity |
3 |
-32.4 |
10/4/2021 |
10/31/2021 |
-2.7 |
12 |
-32.4 |
removeQuantity |
3 |
27 |
10/4/2021 |
10/31/2021 |
2.7 |
10 |
27 |
removeQuantity |
3 |
-26.1 |
10/5/2021 |
10/31/2021 |
-2.61 |
10 |
-26.1 |
removeQuantity |
3 |
18.27 |
10/5/2021 |
10/31/2021 |
2.61 |
7 |
18.27 |
removeQuantity |
3 |
-17.57 |
10/6/2021 |
10/31/2021 |
-2.51 |
7 |
-17.57 |
removeQuantity |
3 |
12.55 |
10/6/2021 |
10/31/2021 |
2.51 |
5 |
12.55 |
Additionally, if we use 'Expand' = 'AllDetails' for either of endpoints shown below, additional invoice
details will be displayed in the field vendorDetails. That information comes directly for a vendor, and it can be for example the exact account or domain name the charge is for, or any other details:
- invoice-rows/{requesterId}
- invoice-rows/{requesterId}/preview
Was this article helpful?
Articles in this section
- Reporting API - Overview
- Reporting API - requesting access
- Reporting API - Data Model
- Reporting API - How to map your Invoice Data
- Reporting API - Detailed Invoice Line Items
- Reporting API - How to identify Organizations in your Sales Channel
- Reporting API - Currencies within the Invoices
- Reporting API : Preview invoices in status 'New'
- Reporting API - Using updatedDate Filters
- Reporting API - Viewing Vendor Invoice Row JSONs via API
Add comment
Please sign in to leave a comment.