Open APIs

Expand all | Collapse all

TMF622 and Billing Order - who notifies Billing?

  • 1.  TMF622 and Billing Order - who notifies Billing?

    TM Forum Member
    Posted Jun 17, 2019 07:25
    Hi,

    I tried to find an Open API for a Billing Order, that is, a Billing request which contains the ordered products of a customer as result of a TMF622 Product Ordering request.
    Being not successful with my search (TMF678 is only about invoice / bills itself) I am now wondering about the best way to inform Billing about new (or changed / deleted) products in the course of processing the product ordering request:

    The product ordering component (which implements TMF622) could
    1.  send some (to be defined) Billing Order request to the Billing system OR
    2.  merely update the product inventory (according to TMF637) according to the contained (new/modified/deleted) products in the product order. The product inventory then sends some change event (notification), and the Billing system reacts to this event.
    The first approach would implement a direct coupling between Product Ordering and Billing (but the question is which API would be the correct one?)
    whereas the second approach would decuple those components and use the notification mechanism of the product inventory instead.

    I would be glad to receive some hints / remarks in this matter. Maybe there exists already a related discussion but I didn_t manage to find such a thread.

    Best regards
    Thomas

    ------------------------------
    Thomas Dupré
    Deutsche Telekom AG
    ------------------------------


  • 2.  RE: TMF622 and Billing Order - who notifies Billing?

    TM Forum Member
    Posted Jun 18, 2019 05:18
    Edited by Michael Frandsen Jun 18, 2019 05:19

    Hi Thomas,

    Release 19 of TMForum Open APIs will help you. As release 18.5 cleaned up the service layer, the next release is focused on the product layer.

    So I guess the Customer Order Handling is supported by TMF622 Product Order Mgt. API.

    Within the Order Management you will deal with the following two:
    - Account Mgt. API (TMF666) which is (IMHO) the main source of the Customer Bill Management

      Excerpt TMF666: "It allows creation, update and retrieval of account information either in a B2B2C relationship context (creation of mass market customer billing account within a "Billing on Behalf of" process for example) or in a B2B context (creation of a billing/settlement account for a partner or B2B customer)."

    - Product Inventory Mgt. (TMF637)

    Both APIs are focused on the next release (19). As your colleagues Thomas (B) and Alexis seem to be part of the API Project they should be able to give you more information or help you to bring missing pieces to the TMForum.

    The Customer Bill Management API (TMF678) states in the explanation of the Customer Bill Resource:
    "The billing account receives all charges (recurring, one time and usage) of the offers and products assigned to it during order process." - That is why I conclude that the Account Mgt. API needs to be what you are looking for.

    Best regards
    Michael



    ------------------------------
    Michael Frandsen
    Vodafone Group
    ------------------------------



  • 3.  RE: TMF622 and Billing Order - who notifies Billing?

    TM Forum Member
    Posted Jun 18, 2019 07:40
    Hi Michael,

    well, not quite... maybe my question was not stated clearly enough. IMHO a Billing accoount (TMF666) typically exists before a product order is launched (therefore the TMF622 product order references an existing Billing account).

    My question is how Billing will be informed about new/changed products  (with reference to a billing account) when a product order is being processed.

    Since such thing like a "Billing Order" does not seem to exist (at least I haven't found it so far) I assume that there is no direct interface between Product Ordering and Billing - unlike e.g. "Service Order". Instead my guess is that Product Ordering will update the product inventory, and the Billing system will retrieve Billing relevant information out of it (which is option b. in my previous post).

    BR Thomas

    ------------------------------
    Thomas Dupré
    Deutsche Telekom AG
    ------------------------------



  • 4.  RE: TMF622 and Billing Order - who notifies Billing?

    TM Forum Member
    Posted Jun 18, 2019 11:17
    Hi Thomas
    My suggestion would be that the billing/charging system would itself expose the Product Order API. All the information needed is already in the Product Order model, and crucially there is information there that would not necessarily be stored in the Product Inventory, for example one-time charges.
    The alternative that you suggest, of creating a new Billing Order model, seems to me less attractive, since I am not sure what differences there would be in the model.
    But maybe @Ludovic Robert, the API lead for TMF622, has a different perspective.



    ------------------------------
    Jonathan Goldberg
    Amdocs Management Limited
    ------------------------------



  • 5.  RE: TMF622 and Billing Order - who notifies Billing?

    TM Forum Member
    Posted Jun 18, 2019 11:48
    Hi Jonathan,

    I guess that one-time charges are part of the ProductOffering Prices and are therefore contained in the product inventory via the Product-to-ProductOffering relation, so they could be retrieved from a Billing system.
    Note that I am not proposing to create a new BillingOrder model - but given that some Order Management system realizes the Product Ordering API, would it be reasonable that in addition some Billing system exposes the same API?

    The question behind is
    - whether Billing is being estimated as some component necessary for product order fulfillment (as for option a) OR
    - whether it can be safely decoupled from order fulfillment via product inventory (notifications) - because bills have another life cycles than orders (option b).

    BR Thomas

    ------------------------------
    Thomas Dupré
    Deutsche Telekom AG
    ------------------------------



  • 6.  RE: TMF622 and Billing Order - who notifies Billing?

    TM Forum Member
    Posted Jun 18, 2019 12:51
    You are correct that the one-time charges arise from ProductOfferingPrice that get instantiated as ProductOrderPrice. But it is perhaps not a safe assumption that one-time charges would be instantiated as ProductPrice in the inventory. Why would I clog up my inventory with charges that have no meaning ongoing, and on the contrary could cause confusion if the end customer saw these charges in the inventory.
    So this may be an implementation decision, and I suggest not to rely on it.

    ------------------------------
    Jonathan Goldberg
    Amdocs Management Limited
    ------------------------------



  • 7.  RE: TMF622 and Billing Order - who notifies Billing?

    TM Forum Member
    Posted Aug 21, 2019 10:41

    Hi @Jonathan Goldberg,

    So do we conclude that

    1) The Billing Account creation can be safely assumed to be out of scope of Product Ordering Domain, because Open API TMF622 only contains a reference to Billing Account and not the billing account entity information required to create it (same as Party/Customer Account) ?

    2) Secondly are we saying that Billing will need to updated from the Product Ordering domain for creation, modification & disconnection (basically impacts of product instance life cycle on the billing system) of the Product instances ? At-least this what we have seen in the older architectures right?



    ------------------------------
    Rabinder Devnani
    Sterlite Technologies Limited
    ------------------------------



  • 8.  RE: TMF622 and Billing Order - who notifies Billing?

    TM Forum Member
    Posted Aug 21, 2019 12:54
    Hello Jonathan, Michael, Thomas,

    there are 2 possibilities:
    (1) Billing takes the product inventory data from the one and only product inventory managed by some CRM using the order management api (TMF622). In this case, there is no need for any notification of changes. This situation is in practical BSS environments unlikely due to many reasons (history of BSS, performance, responsibilities, ….).
    (2) Billing maintains a copy of the product inventory (following the idea of microservices and having therefore the need of independence). In this case there is a need to synchronize the product inventory with the copy of the billing part of the product inventory. TMF622 api, offered by billing, could be a possible solution. It should be consumed in every case the original inventory is changed by the "original" 622 api. (there might be the need for regular check of synchronicity, in order to assure the robustness of the overall BSS, this is not part of my discussion here)
    (2a) The synchronicity of a billing inventory could be assured by the technique of callback notifications (this is a defined resource in TMF637). Billing would be notified if there is a change in the product inventory.

    Prices: Every charge type including one time charges should be part of the inventory. But, depending on the way the business is driven, it is open whether it should be displayed to the customer. A use case could be the dispute about a bill together with billing history and contract history. I agree with Jonathan, that it is not safe to assume that this is implemented.

    Best regards
    Lucius
    (Deutsche Telekom)

    ------------------------------
    Dr. Lucius Gruber
    Deutsche Telekom AG
    ------------------------------