Search Results receipt_has_claims




Overview

ARP_REVERSE_RECEIPT is a PL/SQL package owned by the APPS schema that provides the core business logic for reversing and cancelling Oracle Receivables cash receipts. Its principal responsibility is to unwrap the accounting and application consequences of a receipt that has already been created, applied, or accounted in Oracle E-Business Suite Release 12.1.1 and 12.2.2. Before a receipt can be reversed, the package evaluates whether the receipt is eligible for reversal: it checks whether open claims, non-cancellable claims, processed refunds, netted receipts, or settlement activity would prevent a clean reversal. When the receipt passes those checks, the package removes the receipt's applications across the payment schedules, reverses the associated distribution lines, updates the receipt history, and creates the appropriate reversing accounting entries. The package is classified as an OTHER API and is a foundational component of the standard Receivables receipt lifecycle rather than a standalone user-facing utility.

Key Procedures and Functions

The documented package exposes seven procedures and functions. They divide naturally into an execution routine and a family of validation checks.

  • REVERSE — The main entry point that performs the actual reversal of a cash receipt, reversing applications and generating the reversing accounting impact.
  • RECEIPT_HAS_NON_CANCEL_CLAIMS — Determines whether the receipt carries claims that cannot be cancelled, gating whether a cancellation path is permissible.
  • CANCEL_CLAIMS — Cancels the claims associated with a receipt as part of the reversal or cancellation processing.
  • RECEIPT_HAS_CLAIMS — Indicates whether any claims exist against the receipt, informing downstream decisions on how reversal must proceed.
  • CHECK_NETTED_RECEIPTS — Verifies whether the receipt has been netted, which affects whether it can be safely reversed.
  • RECEIPT_HAS_PROCESSED_REFUNDS — Detects whether refunds have already been processed against the receipt, a condition that typically blocks reversal.
  • CHECK_SETTLEMENT_STATUS — Evaluates the settlement status of the receipt to determine reversal eligibility.

These validation routines are intentionally granular so that callers can surface precise eligibility messages rather than a generic failure.

Tables Accessed

The package reads and writes Receivables core tables through APPS synonyms. AR_CASH_RECEIPTS and AR_CASH_RECEIPT_HISTORY hold the receipt header and its status history, which the package updates to reflect the reversal. AR_PAYMENT_SCHEDULES and RA_CUSTOMER_TRX carry the applications and transactions against which the receipt was applied, and their balances are restored during reversal. RA_CUST_TRX_LINE_GL_DIST and AR_DISTRIBUTIONS store the accounting distributions affected by the reversal, while RA_CUST_TRX_TYPES supplies transaction type attributes used to classify the entries. AR_ADJUSTMENTS, AR_ACTIVITY_DETAILS and AR_ACTIVITY_DETAILS_S, AR_MEMO_LINES_B and AR_MEMO_LINES_TL, AR_MISC_CASH_DISTRIBUTIONS, AR_BATCHES, and AR_RECEIPT_METHODS provide supporting detail for adjustments, activity tracking, memo lines, miscellaneous cash, batch context, and receipt method behavior.

Usage Notes

ARP_REVERSE_RECEIPT is typically invoked indirectly. It is referenced by the ARP_CASHBOOK, ARP_PROCESS_MISC_RECEIPTS, ARP_PROC_RECEIPTS1, AR_RECEIPT_API_PUB, and ARP_REVERSE_RECEIPT packages themselves, meaning the standard Receipts workbench reversal, miscellaneous receipt processing, and public receipt API paths all delegate to it. Custom code that needs reversal behavior should prefer the supported public API surface (AR_RECEIPT_API_PUB) rather than calling this internal package directly, because its contract is not a formally published interface. Where direct invocation is required, developers should first call the validation functions to confirm eligibility and must account for the package's dependency on concurrent request context and commit handling in the calling program.