Invoices have invoice line items that detail the charges that make up the invoice. In addition, each invoice, when posted will show the discounts applied and the taxes owed for that charge. The number of discount line items and the number of tax line items that are presented in the invoice will depend on the discount and tax engines configured in the system and may produce zero or more line items. Because utility prices for cloud resources can sometimes be less than the smallest currency unit (for example, microcent pricing in USD, such as 0.0032 USD per GB of bandwidth), invoice line items will be based on the appropriate precision as determined by the pricing of the purchased product. However, the billing system works only in currency precision. Therefore, all sub totals (charges, total tax, total discount, and net amount) of an invoice are in currency precision only. How these subtotals are rounded (up, down, ceiling, floor, and so on) is dependent on configuration and can be modified. The default rounding in the system is HALF_UP, which means 0.0050 and above will get rounded to 0.01.
There are three kinds of invoices. They are described in the following sections.
These are invoices for any user subscriptions to bundles. These are categorized by subscription type and are tied to the subscription and the user that owns the subscription.
In 1.x, CPBM used to create charge line items for each subscription in the invoice for the month. In 2.x, CPBM correctly creates invoices for each subscription, which details the charges for each subscription. In addition, CPBM creates an invoice for each subscription's renewal separately.
Close out invoices are posted every day and record utility spend (i.e, spend for any usage that are not covered by entitlements provided by the subscriptions to bundles) on a per user basis. Note that these invoices are also tied to specific users. In other words, there will be one close out invoice per day per user in the tenant. This allows the system to accurately record the spend of each user.
In 1.x, CPBM used to accrue only month to date information on per product basis. When consolidated at the end of the month, CPBM would apply taxes and discounts to each product's usage for the month. In 2.x, in order to ensure accurate daily spend and to ensure that daily pricing was reflected in the charges, CPBM moved to a model of tracking daily spend. Due to this, close out invoices are now recorded on a daily basis, which means while it is still possible to get actual month to date usage of a given product, that amount does not account for discounts and taxes. Instead discounts and taxes are applied on a daily basis for the aggregate of all utility spend for the day.
Debit notes are applied whenever a simple amount (i.e, no taxes, discounts, and so on) need to be charged to the account. This can happen for various reasons, but out of the box, debit notes are created only when a payment is cancelled. In CPBM, you can cancel any past credit (automated, recorded, manual, or service credits). It is important to note that while payments and credits for past account statements can be cancelled, the debit note will always appear as a charge in the current account statement. When automated payments to credit cards are cancelled, they are also charged back to the credit card.
In addition to the invoices mentioned, invoices for any renewals that are due in the current billing period are created at the beginning of the billing period (or immediately in case the subscription itself occurred in the middle of this billing period). These renewal invoices are posted when they become due. Monthly renewals are due at the end of the previous month, and therefore get posted just before the account statement is posted. Renewal invoices for all other renewal periods (such as quarterly or annual) are posted on the day they are due. Renewal invoices will be cancelled if the subscription is cancelled before the renewal becomes due. Once posted, the customer owes the amount of this invoice and this cannot be revoked or canceled. For example, if you subscribed for a quarterly subscription on the 15th of January (assuming fixed date billing mode, with date set to the first of every month), in the beginning of March, that is March 1, the system will create the renewal invoice for that subscription. That invoice will be posted on the 15th (i.e, as of the 14th). Cancelling the subscription before March 15th will cancel the renewal invoice, but canceling it on the 15th and beyond will not. The customer will owe the amount after that point (even if the actual payment will be done after the account statement is posted on April 1.
This allows the customer to see the renewal charges that will be posted to the account in any given month, even if they only become due later, so they have an opportunity to cancel the subscription.