Partial Payment Transfer through Inbound Web Service

You can partially transfer an individual payment or all frozen payments of a payment event using an inbound web service. The transfer amount is required for partial payment transfer. Therefore, the value should be provided for the transferAmount tag while doing partial payment transfer through a web service.

You can specify the transfer amount either less than or equal to the payment amount or to sum of all frozen payments in the payment event depending on whether payment transfer is done at the payment or payment event level. If you do not specify the transfer amount or if the transfer amount is equal to the payment amount or to the sum of all frozen payments in the payment event, the system does the full payment transfer. However, if the transfer amount is less than the payment amount or the sum of all frozen payments in the payment event, the system does the partial payment transfer. Note that the payment transfer amount should not be more than the payment amount or the sum of all frozen payments in the payment event. Also, note that you should only transfer positive payments which are in the Frozen status and where the payment amount is greater than zero using an inbound web service.

While doing partial payment transfer at the payment level, the system cancels the old payment and creates two new payments in the Frozen status - one with the transfer amount using the specified match type and another with the remaining amount (if any) using the match type of the old payment. For example, the P1 payment is created against the contract of the A1 account, as shown in the following table:

Account Payment Event Payment Details Match Type Match Value Amount Status
A1 PE1 P1 On Account Contract C1 $150 Frozen

Now, when you partially transfer $50 of payment using the match type as Bill from the A1 to A2 account, the system will cancel the old payment and create the new payments as shown in the following table:

Account Payment Event Payment Details Match Type Match Value Amount Status
A1 PE1 P1 On Account Contract C1 $150 Canceled
A2 PE2 P2 Bill Bill1 $50 Frozen
A1 PE1 P3 On Account Contract C1 $100 Frozen

While doing partial payment transfer at the payment event level, the system fetches the list of frozen payments linked to the payment event and then identifies the payments which are eligible for transfer from the payment list in the following manner:

  1. If the payments are created against the contracts, the system considers the following option types of the C1_​CMO feature configuration to determine the payments which are eligible for transfer from the payment list:

    • Suspense Contract Type

    • On Account Contract Type

    • Excess Credit Contract Type

    For more information about the C1_​CMO feature configuration, see Setting the C1_​CMO Feature Configuration.

  2. However, if the payments are created against the bills, the system considers the bill date and bill amount to determine the payments which are eligible for transfer from the payment list.

The payments which are eligible for transfer from the payment list are added in the C1_​PAY_​DETAILS table. The system stamps the transfer priority corresponding to eligible payments in the TRANSFER_​PRIORITY column of the C1_​PAY_​DETAILS table. The system assigns transfer priority to each eligible payment in the following sequence:

  1. Considers payments against the contracts which are created using the contract type specified in the Suspense Contract Type option type of the C1_​CMO feature configuration. If there are multiple payments which are created on the suspense contracts, the system assigns the same transfer priority to these payments. For example, if you partially transfer P1 and P2 from the A1 account to the A2 account through a payment transfer request where P1 is created against C1, P2 is created against C2, and C1 and C2 are both suspense contracts, then the system sets the transfer priority of P1 and P2 to 1 in the payment transfer request.

  2. Considers payments against the contracts which are created using the contract type specified in the On Account Contract Type option type of the C1_​CMO feature configuration. For example, if you partially transfer P1 and P2 from the A1 account to the A2 account through a payment transfer request where P1 is created against C1, P2 is created against C2, C1 is a suspense contract, and C2 is an on account contract, then the system sets the transfer priority of P1 to 1 and P2 to 2 in the payment transfer request. However, if you partially transfer P3 from the A1 account to the A2 account through a payment transfer request where P3 is created against C3 and C3 is an on account contract, then the system sets the transfer priority of P3 to 1 in the payment transfer request. If there are multiple payments on the on account contracts, the system assigns the same transfer priority to these payments. For example, if you partially transfer P1, P2, and P3 from the A1 account to the A2 account through a payment transfer request where P1 is created against C1, P2 is created against C2, P3 is created against C3, C1 is a suspense contract, and C2 and C3 are both on account contracts, then the system sets the transfer priority of P1 to 1 and P2 and P3 to 2 in the payment transfer request.

  3. Considers payments against the contracts which are created using the contract type specified in the Excess Credit Contract Type option type of the C1_​CMO feature configuration. For example, if you partially transfer P1 and P2 from the A1 account to the A2 account through a payment transfer request where P1 is created against C1, P2 is created against C2, C1 is an on account contract, and C2 is an excess credit contract, then the system sets the transfer priority of P1 to 1 and P2 to 2 in the payment transfer request. However, if you partially transfer P3 from the A1 account to the A2 account through a payment transfer request where P3 is created against C3 and C3 is an excess credit contract, then the system sets the transfer priority of P3 to 1 in the payment transfer request. If there are multiple payments on the excess credit contracts, the system assigns the same transfer priority to these payments. For example, if you partially transfer P1, P2, and P3 from the A1 account to the A2 account through a payment transfer request where P1 is created against C1, P2 is created against C2, P3 is created against C3, C1 is a suspense contract, and C2 and C3 are both excess credit contracts, then the system sets the transfer priority of P1 to 1 and P2 and P3 to 2 in the payment transfer request.

  4. Considers payments created against the bills in the descending order of the bill date (i.e. bill with the latest date). If there are multiple payments which are created against the bills having the same bill date, the system considers the payments which are created against the bills in the descending order of the bill amount (i.e. bill with the highest amount). However, if there are multiple payments which are created against the bills having the same bill date and bill amount, the system assigns the same transfer priority to these payments. For example, if you partially transfer P1, P2, P3, and P4 from the A1 account to the A2 account through a payment transfer request where P1 is created against B1 (with the bill date 01-Jan-2020 and bill amount $100), P2 is created against B2 (with the bill date 01-Feb-2022 and bill amount $20), P3 is created against B3 (with the bill date 01-Mar-2022 and bill amount $30), and P4 is created against B4 (with the bill date as 01-Mar-2022 and bill amount $40), the system sets the transfer priority of P4 to 1, P3 to 2, P2 to 3, and P1 to 4, respectively, in the payment transfer request.

  5. Considers payments which are created against entities other than contracts or bills and assigns the same transfer priority to these payments.

In addition, the system sets the PY_​CANCEL_​SW column corresponding the payments in the C1_​PAY_​DETAILS table to Y or N depending on whether these eligible payments are considered for transfer or not. Let us assume that the following payments are made to the A1 account through the PE1 payment event:

Payment Details Match Type Match Value Contract Type Bill Date Amount Status
P1 Suspense Contract C1 CT1 $75 Frozen
P2 On Account Contract C5 CT5 $125 Frozen
P3 Suspense Contract C1 CT1 $150 Frozen
P4 Overpayment on Bill C4 CT4 $50 Frozen
P5 On Account Contract C5 CT5 $200 Frozen
P6 Suspense Contract C1 CT1 $25 Frozen
P7 On Account Contract C5 CT5 $75 Frozen
P8 Overpayment on Bill C4 CT4 $175 Frozen
P10 Bill Bill1 21-Mar-2021 $250 Frozen
P11 Bill Bill2 21-Feb-2021 $150 Frozen
P12 Bill Bill3 21-Jan-2021 $50 Frozen
P13 Bill Bill2 22-Feb-2021 $125 Frozen

And, let us assume that the Suspense Contract Type, On Account Contract Type, and Excess Credit Contract Type option types of the C1_​CMO feature configuration are set to CT1, CT5, and CT4, respectively.

Now, if you want to partially transfer $1400 of payment from the A1 account to the A2 account using the match type as Bill, the system considers the following payments for transfer from the payment list using the given transfer priority:

Payment Details Match Type Match Value Contract Type Bill Date Amount Eligible for Transfer Transfer Priority Cancel Switch
P1 Suspense Contract C1 CT1 $75 Y 1 Y
P2 On Account Contract C5 CT5 $125 Y 2 Y
P3 Suspense Contract C1 CT1 $150 Y 1 Y
P4 Overpayment on Bill C4 CT4 $50 Y 3 Y
P5 On Account Contract C5 CT5 $200 Y 2 Y
P6 Suspense Contract C1 CT1 $25 Y 1 Y
P7 On Account Contract C5 CT5 $75 Y 2 Y
P8 Overpayment on Bill C4 CT4 $175 Y 3 Y
P10 Bill Bill1 21-Mar-2021 $250 Y 4 Y
P11 Bill Bill2 21-Feb-2021 $150 Y 6 Y
P12 Bill Bill3 21-Jan-2021 $50 N N
P13 Bill Bill2 22-Feb-2021 $125 Y 5 Y

If the remaining transfer amount is greater than zero after considering frozen payments against the above mentioned contracts and bills of the account, the system will randomly consider other payments from the payment list which are created against entities other than the above mentioned contracts and bills of the account and assign the same transfer priority to all such payments.

While partially transferring at the payment event level, the system will cancel all payments which are transferred and then create new payments using the specified match type. Here, the status of the old payments is changed to Canceled and the status of the new payments is set to Frozen. In addition, if there is a remaining balance on any payment which is considered for transfer, the system will create a new payment for the remaining amount using the match type which is specified in the old payment. The payment for the remaining amount is created in the Frozen status. In the above example, the system will cancel the old payments and create the new payments, as shown in the following table:

Payment Details Match Type Match Value Contract Type Bill Date Amount Status
P1 Suspense Contract C1 CT1 $75 Canceled
P2 On Account Contract C5 CT5 $125 Canceled
P3 Suspense Contract C1 CT1 $150 Canceled
P4 Overpayment on Bill C4 CT4 $50 Canceled
P5 On Account Contract C5 CT5 $200 Canceled
P6 Suspense Contract C1 CT1 $25 Canceled
P7 On Account Contract C5 CT5 $75 Canceled
P8 Overpayment on Bill C4 CT4 $175 Canceled
P10 Bill Bill1 21-Mar-2021 $250 Canceled
P11 Bill Bill2 21-Feb-2021 $150 Canceled
P12 Bill Bill3 21-Jan-2021 $50 Frozen
P13 Bill Bill2 22-Feb-2021 $125 Canceled
P14 Bill Bill4 21-Jan-2021 $1400 Frozen