Parameters
| icTransactionObjectType | input | character | |
| idInvoiceOriginalDebit | input | decimal | |
| idInvoiceOriginalCredit | input | decimal | |
| idInvoiceBalanceDebit | input | decimal | |
| idInvoiceBalanceCredit | input | decimal | |
| idInvoiceVatBaseDebit | input | decimal | |
| idInvoiceVatBaseCredit | input | decimal | |
| idInvoiceVatDebit | input | decimal | |
| idInvoiceVatCredit | input | decimal | |
| idInvoiceHoldAmount | input | decimal | |
| odOriginalInvoiceAmount | output | decimal | |
| odOriginalInvoiceAmountNet | output | decimal | |
| ocOriginalInvoiceAmountSign | output | character | |
| ocOriginalInvAmntDebitCreditAbbr | output | character | |
| odInvoiceVat | output | decimal | |
| odInvoiceVatBase | output | decimal | |
| odOpenBalInvAmount | output | decimal | |
| ocOpenBalInvAmntDebitCreditAbbr | output | character | |
| odOpenBalInvAmntSigned | output | decimal | |
| ocPaymentAmntDebitCreditAbbr | output | character | |
| ocDiscountAmntDebitCreditAbbr | output | character | |
| oiReturnStatus | output | integer | Return status of the method. |
Internal usage
QadFinancials
program code (program3/bpaymentselection.p)
/* Original invoice amount */
/* Invoice, Invoice correction */
if idInvoiceOriginalCredit <> 0 and
idInvoiceOriginalCredit <> ?
then assign odOriginalInvoiceAmount = idInvoiceOriginalCredit
odOriginalInvoiceAmountNet = idInvoiceOriginalCredit - (idInvoiceVatDebit - idInvoiceVatCredit)
ocOriginalInvoiceAmountSign = if idInvoiceOriginalCredit < 0 then "":U else "-":U
ocOriginalInvAmntDebitCreditAbbr = vcCreditTR.
/* Credit note, Credit note correction, Prepayment */
else assign odOriginalInvoiceAmount = idInvoiceOriginalDebit
odOriginalInvoiceAmountNet = idInvoiceOriginalDebit - (idInvoiceVatCredit - idInvoiceVatDebit)
ocOriginalInvAmntDebitCreditAbbr = vcDebitTR
ocOriginalInvoiceAmountSign = if idInvoiceOriginalDebit < 0 then "-":U else "":U.
/* Invoice Taxes */
assign odInvoiceVatBase = idInvoiceVatBaseCredit + idInvoiceVatBaseDebit
odInvoiceVat = if idInvoiceVatDebit <> 0 and idInvoiceVatDebit <> ? then idInvoiceVatDebit else idInvoiceVatCredit.
/* Open invoice amount */
/* Invoice, Invoice correction */
if idInvoiceBalanceCredit <> 0 and
idInvoiceBalanceCredit <> ?
then assign odOpenBalInvAmount = idInvoiceBalanceCredit
odOpenBalInvAmntSigned = - idInvoiceBalanceCredit
ocOpenBalInvAmntDebitCreditAbbr = vcCreditTR
ocPaymentAmntDebitCreditAbbr = vcDebitTR
ocDiscountAmntDebitCreditAbbr = vcCreditTR.
/* Credit note, Credit note correction, Prepayment */
else assign odOpenBalInvAmount = idInvoiceBalanceDebit
odOpenBalInvAmntSigned = idInvoiceBalanceDebit
ocOpenBalInvAmntDebitCreditAbbr = vcDebitTR
ocPaymentAmntDebitCreditAbbr = vcCreditTR
ocDiscountAmntDebitCreditAbbr = vcDebitTR.