Transaction Cancellation

There might be situations when incorrect transaction data file is uploaded in the system. In such cases, the system provides you with an ability to cancel the whole transaction feed. You can cancel a transaction feed either before the transaction aggregation process starts (that is, before executing the Validate Transaction and Derive Price Item (C1-TXNIP) batch) or after the transaction aggregation process ends (that is, after executing the Clean Up (C1-TXNCU) batch). In other words, you cannot cancel a transaction feed during the transaction aggregation process. Once the transaction feed is cancelled, the status of the feed and all transactions in the feed is changed to Cancelled (CNCL).

The following table explains how the system behaves:

When you cancel a transaction feed for which... Then
A bill (with the Pending status) is already generated in the system The corresponding billable charges, bill segments, and bill are deleted. The corresponding transaction legs and their calculation lines (if any) are deleted, and the status of the transactions is changed to Cancelled (CNCL).
Note:

If a pending bill has a bill segment in the Frozen or Pending Cancel status, the system does not allow you to cancel the transaction feed.

If a pending bill has a bill segment in the Cancel status, the system behaves in the following manner:

  • Deletes all other bill segments which are not in the Cancel status.

  • The billable charge corresponding to the bill segment which is not in the Cancel status is deleted if the billable charge is in the Billable status and if the billable charge only includes transactions from the feed that you want to cancel.

  • The billable charge corresponding to the bill segment which is not in the Cancel status is not deleted or recalculated if the billable charge is in the Cancelled status.

  • The billable charge corresponding to the bill segment which is in the Cancel status is cancelled if the billable charge only includes transactions from the feed that you want to cancel.

  • The SQIs in the billable charge are recalculated if the billable charge includes transactions from multiple feeds.

If a bill is created for transactions which are uploaded through multiple transaction feeds (for example, Feed A and Feed B and you want to cancel Feed A), then:

  • The bill and their corresponding bill segments are deleted.

  • The SQIs are recalculated in the corresponding billable charges.

  • The legs of transactions uploaded through Feed A and the corresponding calculation lines (if any) are deleted.

  • The status of the transactions uploaded through Feed A is changed to Cancelled (CNCL).

  • The status of Feed A is changed to Cancelled (CNCL).

  • The status of the transactions uploaded through Feed B remains the same (i.e. Completed (COMP) ).

A bill (with the Complete status) already exists in the system The system does not allow you to cancel the transaction feed.
A bill (with the Complete status) has all bill segments in the Cancelled status The corresponding billable charges are cancelled. The corresponding transaction legs and their calculation lines (if any) are deleted, and the status of the transactions is changed to Cancelled (CNCL).
A billable charge (with the Billable status) exists in the system The billable charge is deleted. The corresponding transaction legs and their calculation lines (if any) are deleted, and the status of the transactions is changed to Cancelled (CNCL).
Note:

In case a billable charge is created for transactions uploaded through multiple transaction feeds (for example, Feed A and Feed B and you want to cancel Feed A), then:

  • The SQIs are recalculated in the billable charge.

  • The legs of transactions uploaded through Feed A and the corresponding calculation lines (if any) are deleted.

  • The status of the transactions uploaded through Feed A is changed to Cancelled (CNCL).

  • The status of Feed A is changed to Cancelled (CNCL).

  • The status of the transactions uploaded through Feed B remains the same (i.e. Completed (COMP) ).

A billable charge (with the Cancelled status) exists in the system The billable charge is not deleted. However, the corresponding transaction legs and their calculation lines (if any) are deleted and the status of the transactions is changed to Cancelled (CNCL).

To cancel a transaction feed, you need to execute the following batches in the specified order:

  1. Pending Bill Deletion (C1-DELBL) - This batch deletes the bills (with the Pending status) and their corresponding bill segments. You can specify either of the following parameters while executing this batch:

    Parameter Name Description Mandatory (Yes or No)
    Transaction Header ID Used when you want to delete bills which include charges for transactions which are received in a particular transaction feed. Yes
    Chunk Size Used to specify the number of transactions you want to execute in each work unit. Yes
    Maximum Batch Count Used to specify the maximum number of transactions after which the data must be transferred to the database. Yes
    Thread Pool Name Used to specify the thread pool on which you want to execute the batch. No
  2. Clean Up (C1-TXNCU) - This batch deletes non-aggregated and aggregated billable charges. An aggregated billable charge is deleted when it includes legs of transactions from the feed that you want to cancel. If an aggregated billable charge includes legs of transactions from multiple feeds, the SQIs and calculation lines (if any) are recalculated in the aggregated billable charge. The corresponding calculation lines are deleted whenever an aggregated billable charge, which includes transaction legs whose rating criteria is set to Aggregate transactions and then rate aggregated SQs (AGTR), is cancelled or deleted during the cancellation process. Note that while executing this batch, the Request Type parameter must be set to CNCL. For more information about the parameters that you can specify while executing this batch, refer to Clean Up.

  3. Cancellation (C1-TXCNC) - This batch deletes the transaction legs. The corresponding calculation lines are deleted whenever an aggregated billable charge, which includes transaction legs whose rating criteria is set to Rate individual transactions and aggregate calc lines across transactions (RITA) or Rate Transactions (RITX), is cancelled or deleted during the cancellation process. Finally, this batch changes the status of the feed and all transactions in the feed to Cancelled (CNCL). You can specify either of the following parameters while executing this batch:

    Parameter Name Description Mandatory (Yes or No)
    Transaction Header ID Used when you want to cancel a particular transaction feed. Yes
    Chunk Size Used to specify the number of transactions you want to execute in each work unit. Yes
    Maximum Batch Count Used to specify the maximum number of transactions after which the data must be transferred to the database. Yes
    Thread Pool Name Used to specify the thread pool on which you want to execute the batch. No
    Note:

    If you want to undertake some preprocessing activities (such as cleaning data in any custom tables) during the cancellation process, you need to attach a preprocessing algorithm on the TFM - Cancellation Pre-Processing algorithm entity in the Algorithms tab of the Division screen. This algorithm is triggered when you execute the Cancellation (C1-TXCNC) batch. Note that the system invokes the algorithm which is attached on the derived account's division and not on the division to which the transaction belongs.

    A sample preprocessing algorithm type named C1_​CNCL_​PRPC is shipped with the product. It does not have any business logic. If you want to undertake some preprocessing activities during the cancellation process, you need to create custom algorithm type and attach the respective algorithm on the TFM - Cancellation Pre-Processing algorithm spot of the respective division. You can refer to the C1_​CNCL_​PRPC algorithm type to understand the input parameters that must be passed to the custom algorithm type.

Related Topics

For more information on... See...
Transaction Leg Status Transition Transaction Leg Status Transition