Summary
A user has found some instances where there is a difference between Amounts on the Charge and the Amounts on the Transaction, thus causing Revenue issues. This article focuses on building a Search to show differences between Charges and Transactions
Why is this Useful?
- According to ZoneBilling's Restricted Practices, the user should not edit or change transaction lines created from ZoneBilling.
- In the case that the amounts for the Transaction lines are not equal to the same amounts as the underlying charges, there will likely be issues with Revenue Recognition and/or the Deferred Revenue balance.
- The Deferred Revenue imbalance will occur because the amount that will be credited to Deferred Revenue (as per the GL Impact of the invoice) will be misaligned from the amounts of the related charges sent to the revenue module.
- Despite the above guidance, there are not controls that prevent users from editing transaction lines created from ZoneBilling.
- Similarly, in the case that a scenario arises where it is known that a user has changed the value of transaction lines generated from ZoneBilling, or in the case that there are unexpected results when viewing the Deferred Revenue Waterfall, it is helpful to be able to quickly identify all cases where the Amount of a ZAB Charge is misaligned from the amount of its related Transaction Line.
Saved Search Setup
This search is a ZAB Charge Search with both Standard and Summary criteria since you will be matching up with the Transaction level data.
Formula Overviews
This search will use 4 total Custom Formulas
- Charge Line ID = Transaction Line ID (Standard Criteria)
- Sum of Charge Amounts = Maximum Transaction Line Amount (Summary Criteria)
- Subscription Link (Results)
- Transaction Link (Results)
Standard Criteria Formula
- Formula (Numeric) = DECODE({custrecordzab_c_transaction_line_id},{custrecordzab_c_transaction.line},1,0)
- This formula asks whether the Line ID of the Charge matches the Line ID of the associated Transaction so that the search only returns instances where they do.
- Why this is needed:
- When adding transaction-level information to a charge search it will add ALL transaction lines against ALL charges. This formula ensures that we are only comparing apples with apples.
Summary Criteria Formula
- Formula (Numeric) = DECODE(ROUND(SUM({custrecordzab_c_amount}),0),ROUND(MAX({custrecordzab_c_transaction.fxamount}),0),1,0)
- This formula asks whether the Sum of all associated charges match the Amount on the line item.
- Why this is needed:
- The intent of the search is to locate instances where the values do not match to further analyze the system.
Results
Subscription Link
- Formula (HTML) = '<a target="_ blank" class="dottedlink" href="/app/site/hosting/scriptlet.nl?script=customscriptzab_helper_suitelet&deploy=customdeployzab_helper_suitelet&operation=redirect_to_record&record_type=customrecordzab_subscription&record_id=' || {custrecordzab_c_subscription.internalid} || '">' || {custrecordzab_c_subscription} || '</a>'
- This formula will create a link to the Subscription from the search (since it’s really a charge search clicking into it just presents the charge details). If setup by an Administrator, use of ‘Run Unrestricted’ and ‘Disallow Drill Down’ is recommended.
Transaction Link
- Formula (HTML) = '<a class="dottedlink" href="/app/accounting/transactions/transaction.nl?id=' || {custrecordzab_c_transaction.internalid} || '">' || {custrecordzab_c_transaction.number} || '</a>'
- This formula will create a link to the Transaction itself. If setup by an Administrator, use of ‘Run Unrestricted’ and ‘Disallow Drill Down’ is recommended.