Open APIs

Expand all | Collapse all

Balance Management using TMF666 and TMF654

  • 1.  Balance Management using TMF666 and TMF654

    TM Forum Member
    Posted 30 days ago
    Edited by Ben Eng 30 days ago
    I'm trying to understand how balances are updated as charges are posted or payments are posted to an account. Looking at Account Balance in TMF666, it only defines PATCH methods for updating, but accountBalance is explicitly not patchable. There are no PUT methods, and there are no task resources to update accountBalance atomically. Meanwhile, TMF654 defines a comprehensible set of task resources for updating balances, but the API name suggests it is intended for prepay balance management to the exclusion of postpay services.

    This raises two questions.

    (1) Is TMF654 used for both prepay and postpay services to update balances?

    (2) Is there an implicit relationship between TMF654 and the Account Balance on the accounts in TMF666, so that as the task resources on TMF654 are posted, the account balances on the accounts are updated implicitly?

    Moreover, TMF666 appears to lack some precision in how Account Balance is depicted in examples. The Account Balance sub-resource is described as having an amount of type Money. However, the examples all show account as having a numeric value without a currency. I suspect the intent is for Account Balance to be a structure that handles monetary amounts similar to TMF654, but the document needs some edits to make it more consistent. Is that the right way to think of it?

    ------------------------------
    Ben Eng
    Oracle Corporation
    ------------------------------


  • 2.  RE: Balance Management using TMF666 and TMF654

    TM Forum Member
    Posted 30 days ago
    Hi Ben
    To the best of my knowledge, and subject to correction by other community members, the balances on account in TMF666 are post-paid, as distinct from the prepaid buckets in TMF654.
    We have an open JIRA about the non-patchability of balance in TMF666, hopefully that will be corrected sometime.
    Our tooling for generating API user guides (specs) includes the possibility of validating the examples against the schema. If applied properly this should ensure that the examples will be correct and that balances should include the amount and the units of measure (currency).
    Hope it helps.

    ------------------------------
    Jonathan Goldberg
    Amdocs Management Limited
    Any opinions and statements made by me on this forum are purely personal, and do not necessarily reflect the position of the TM Forum or my employer.
    ------------------------------



  • 3.  RE: Balance Management using TMF666 and TMF654

    TM Forum Member
    Posted 28 days ago
    The accountBalance is a complex attribute, in my view it is a computed/deduced attribute.

    Let me try to explain what I mean by that.
    • Credits / Debits on an account impact the account balance.
      • Debits are a result of Charge / Fees / Reversals or anything that were part of the CustomerBill.
      • The Credit are a result of Payment, Manual Credits, Discounts etc. These are part of Payment subdomain.
    • we should have one of the two editable (Credits & Debits) OR Balance and not BOTH
      • Credits / Debits are editable under TMF 678 and 666
      • balance can be deduced from that and need not be updated directly. If we edit balance directly it will not reconcile with the credits / debits associated with that billing account as they cannot be compute back in a reverse way.
      Therefore, I think we should not make accountBalance editable directly from the API level.

      I agree we currently do not have a financial services domain where all of these capabilities need to be enabled from, we need to work on developing such an domain in TMF. With that balance will become editable by not editing it directly but by registering/submitting a new debit or a credit towards an financial account. Thus balance will get updated but by deducing the financial impact of a debit or a credit rather than a direct edit.

    ------------------------------
    -----------------------------------------------------
    Nitin Patil
    Portfolio Architect BSS + B2B
    Amdocs India Limited
    Any opinions and statements made by me on this forum are purely personal, and do not necessarily reflect the position of the TM Forum or my employer
    -----------------------------------------------------
    ------------------------------



  • 4.  RE: Balance Management using TMF666 and TMF654

    TM Forum Member
    Posted 28 days ago
    Hi Nitin

    I agree that accountBalance should be a computed/derived value and is intended to give a high level view of user's balances. While the examples provided in the spec seem to suggest that it is relevant for Postpaid, I think the same can also be used to show Prepaid balances as well. Can you please clarify the reference to TMF 678 though? Which operations in 678 enable editing credits/debits?

    @Jonathan Goldberg
    My observation is that though TMF 654 says 'Prepaid', the concepts seem to apply for Postpaid as well. For eg. a 5 GB prepaid data grant and a 5GB data usage quota in a Postpaid pack, they would both be handled via buckets as in both the cases, we need to continuously check if the balance/quota is depleted yet or not. The implementations could be different but the concepts would be same. If not via TMF 654, is there another API which could provide guidance on how the Postpaid services should be modeled?
    Hope I'm making sense.

    ------------------------------
    Mukesh Kumar
    Oracle Corporation
    ------------------------------



  • 5.  RE: Balance Management using TMF666 and TMF654

    TM Forum Member
    Posted 28 days ago
    Hi Mukesh,

                  In AppliedCustomerBillingRate of any appliedBillingRateType (appliedBillingCharge, appliedBillingCredit, appliedPenaltyCharge) are the capturing the Credits and Debits. They are all part of a CustomerBill which is associated with a BillingAccount.

    thanks,

    Nitin Patil

    ------------------------------
    -----------------------------------------------------
    Nitin Patil
    Portfolio Architect BSS + B2B
    Amdocs India Limited
    Any opinions and statements made by me on this forum are purely personal, and do not necessarily reflect the position of the TM Forum or my employer
    -----------------------------------------------------
    ------------------------------



  • 6.  RE: Balance Management using TMF666 and TMF654

    TM Forum Member
    Posted 27 days ago
    Thanks for the response. In the spec, there are only GET operations support for appliedBillingRateType resource. Can you please confirm if I'm missing something?
    Regards
    Mukesh

    ------------------------------
    Mukesh Kumar
    Oracle Corporation
    ------------------------------



  • 7.  RE: Balance Management using TMF666 and TMF654

    TM Forum Member
    Posted 27 days ago
    Hi Mukesh,

                The AppliedCustomerBillingRate gets created by the billing system based on the order and pricing information.  As you already stated there is only GET API for it in the TMF model, these are computed resources and are computed by the billing system based on order information and price information.

    ------------------------------
    -----------------------------------------------------
    Nitin Patil
    Portfolio Architect BSS + B2B
    Amdocs India Limited
    Any opinions and statements made by me on this forum are purely personal, and do not necessarily reflect the position of the TM Forum or my employer
    -----------------------------------------------------
    ------------------------------