VoidNSFDraftAtAnyStatus

Void NSF Draft At Any Status

Minor Business Rule

Object Name: B03B0179

Parent DLL: CFIN

Location: Client/Server

Language: C

Functional Description


Purpose


The purpose of this function is to void or nsf a draft at any status.


Setup Notes and Prerequisites


The following validation must be done before calling this business function:

Event Void/Delete

1.If Void Date and Void Reason Code are blank set an error.

Event NSF
1.If Void Date and Void Reason Code are blank set an error.




Special Logic




Technical Specification





Parameters:

Data Item Data Structure DescriptionI/ORequiredNotes

VREszVoidReasonCodeIYesVoid reason code

VDGJjdVoidDateForGLJulianIYesVoid date

PIDszProgramIdIYesProgram Id

ICUmnBatchNumberIYesBatch Number 

ICUTszBatchTypeIYesBatch Type

DICJjdDateBatchJulianIYesBatch Date

ISTcBatchStatusIYesBatch Status

PYIDmnPaymentIDIYesPayment Id

EV01cFlagUpdatePayInstIYesFlag for the Pay instrument of 

the invoice record to be updated

EV02cRenewalFlagIYesRenewal Flag

PYINcPayInstforInvoiceIYesPay instrument for new 

invoice

RYINcPayInstforDraftIYesPay instrument for draft to be 

updated to

AIDszAccountIdForNewDraftIYesAccount Id for new draft

EV04cPostedYNPartiallyIYesPosted partially flag

EV06cVoidNSFModeIYesV or N for Void or NSF

PYIDmnNewPaymentIdIYesNew Draft's payment ID

CKNUszDraftNumberIYesDraft Number

VLDTjdDraftDueDateIYesDraft Due Date

CTRYmnCenturyGLDateIYesCentury for GL Date

FYmnFiscalYear1GLIYesFiscal Year

PNmnPeriodNoGeneralLedgeIYesGeneral Ledger period number

DOCGmnInternalDraftNumberIYesInternal Draft Number

DMTJjdDraftDateNeIYesNew Draft Date

EV01cR1OpenAmountFlagIYesOpen amount flag

PSTcChargebackPayStatusIYesCharge back pay status code

EV04cChargebackDateOptionIYesCharge back date option

MATH01mnAutoWriteOffUndeIYesAutomatic Writeoff Under 

Amount

ARDRszAdjReasonCodeDebitWriteOfIYesDebit Write off reason code

MATH02mnAutoWriteOffOverAmounIYesAutomatic Writeoff Over 

amount

ARCRszAdjReasonCodeCreditWriteOfIYesCredit Write off reason code

MATH03mnManWriteOffUnderAmountdIYesManual Write off under amount

MATH04mnManWriteOffOverAmountdIYesManual Write off over amount

EV10cEditPayApproveInvoicesIYesPay approved invoices

EV11cOverpaymentOptionIYesOverpayment Option

MCUszCostCenterIYesCost Center

CRRmnRenewalCRRINoRenewal draft exchange rate

* Required if cRenewalFlag = 1

ERDJjdRenewalERDJINoRenewal draft exchange rate date

* Required if cRenewalFlag = 1

CRCMcRenewalCRCMINoRenewal draft coversion method

* Required if cRenewalFlag = 1

CRR2mnRenewalCRR2INoRenewal draft triang leg TWO

* Required if cRenewalFlag = 1

CRR1mnRenewalCRR1INoRenewal draft triang leg ONE

* Required if cRenewalFlag = 1


Related Tables 

Table Table Description
F03B13Receipt Register File

F03B11Customer Ledger 

F03B14A/R Check Detail File

F03B40A/R Deduction Management



Related Business Functions

Source NameFunction Name
B03B0012AR Apply Receipt To Invoice

B03B0069Create Maintain RU Detail

B03B0146F03B14  Create F03B14  Record GL Entry

B03B0156F03B11 Create R1 Record Draft

B0000004Batch Open On Initialize

B0000007Batch Revise On Transaction Commitment

B0000008Batch Revise On Exit

B03B0044F03B13Z1 Update Purge Flag To Y

B9800100Get Audit Information

B0000027Currency Conversion


Processing 


A delete is performed when user selects to void an unposted record.  The records are deleted from 

F03B13, F03B14 and the F03B11 files are updated.  When a user selects a void on the posted record the 

void reason code, void date, the post code, batch number, void/nsf receipt, batch date void/nsf receipt 

and NSF/Void code are updated.  The records are updated in the F03B13 file, F03B14 file and F03B11 

file.


The following files are updated:


Update F03B13 records:


Update Void/NSF reason code, Void/NSF date, post code, batch number, Void/NSF receipt, Batch Date 

Void/NSF receipt and NSF/Void code.  The NSF/Void code have the following values:

N  NSF, V  Void.


Update F03B14 records:


Update Void/NSF Reason Code, Void/NSF Date and Post Code.

Write a reversing entry for each F03B14 record.


Update F03B11 records:


Add gross amount, adjustment amount, chargeback amount and discount taken to open amount of the 

invoice.  If the invoice is closed it needs to be re-opened.  


1.Open F03B13, F03B14, F03B11 and F03B40 tables.  If an error occurs return error to application.


2.If this draft has pay items which have deductions associated with it verify that the deductions 

have been void before trying to void this receipt.


3.If this draft has pay items which have chargebacks associated with them and the chargebacks are 

partially paid set an error.  If the chargeback has been fully paid and the receipt is unposted treat is 

as posted.


4.Fetch the F03B13 draft record.


If the mode is NSF, or record is posted or record needs to be treated as posted
Update the batch.

Update the corresponding R1 record.

If draft renewal is on create new draft.

   New draft is created using exchange rate from renewal parameters

If there is a deduction associated update deduction record.

If there is a chargeback associated update chargeback record.

Update original invoices.

If renewal flag is on pay original invoices with the new draft created.

Update the F03B14 records with batch information and mark it void

Insert reversing records.

Update the F03B13 record with void batch information.


If the record is unposted 

Update the batch.

Delete the corresponding R1 record.

If draft renewal is on create new draft.

   New draft is created using exchange rate from renewal parameters

If there is a deduction associated delete deduction record.

If there is a chargeback associated delete chargeback record.

Update original invoices.

If renewal flag is on pay original invoices with the new draft created.

Delete the F03B14 records

Delete the F03B13 record.










Data Structure

D03B0179 - Void NSF Draft At Any Status

Parameters:

Data Item Data Structure DescriptionI/ORequiredNotes

VREszVoidReasonCodeIYesVoid reason code

VDGJjdVoidDateForGLJulianIYesVoid date

PIDszProgramIdIYesProgram Id

ICUmnBatchNumberIYesBatch Number 

ICUTszBatchTypeIYesBatch Type

DICJjdDateBatchJulianIYesBatch Date

ISTcBatchStatusIYesBatch Status

PYIDmnPaymentIDIYesPayment Id

EV01cFlagUpdatePayInstIYesFlag for the Pay instrument of 

the invoice record to be updated

EV02cRenewalFlagIYesRenewal Flag

PYINcPayInstforInvoiceIYesPay instrument for new 

invoice

RYINcPayInstforDraftIYesPay instrument for draft to be 

updated to

AIDszAccountIdForNewDraftIYesAccount Id for new draft

EV04cPostedYNPartiallyIYesPosted partially flag

EV06cVoidNSFModeIYesV or N for Void or NSF

PYIDmnNewPaymentIdIYesNew Draft's payment ID

CKNUszDraftNumberIYesDraft Number

VLDTjdDraftDueDateIYesDraft Due Date

CTRYmnCenturyGLDateIYesCentury for GL Date

FYmnFiscalYear1GLIYesFiscal Year

PNmnPeriodNoGeneralLedgeIYesGeneral Ledger period number

DOCGmnInternalDraftNumberIYesInternal Draft Number

DMTJjdDraftDateNeIYesNew Draft Date

EV01cR1OpenAmountFlagIYesOpen amount flag

PSTcChargebackPayStatusIYesCharge back pay status code

EV04cChargebackDateOptionIYesCharge back date option

MATH01mnAutoWriteOffUndeIYesAutomatic Writeoff Under 

Amount

ARDRszAdjReasonCodeDebitWriteOfIYesDebit Write off reason code

MATH02mnAutoWriteOffOverAmounIYesAutomatic Writeoff Over 

amount

ARCRszAdjReasonCodeCreditWriteOfIYesCredit Write off reason code

MATH03mnManWriteOffUnderAmountdIYesManual Write off under amount

MATH04mnManWriteOffOverAmountdIYesManual Write off over amount

EV10cEditPayApproveInvoicesIYesPay approved invoices

EV11cOverpaymentOptionIYesOverpayment Option

MCUszCostCenterIYesCost Center



^

Parameter NameData ItemData TypeReq/OptI/O/Both
szVoidReasonCodeVREcharOPTNONE

A code that explains why a receipt was voided.

jdVoidDateForGLJulianVDGJJDEDATEOPTNONE

The date that specifies the financial period to which the voided transaction is to be posted. Financial periods are set up in the Company 
Constants table (F0010).

szProgramIdPIDcharOPTNONE

The number that identifies the batch or interactive program (batch or interactive object). For example, the number of the Sales Order Entry 
interactive program is P4210, and the number of the Print Invoices batch process report is R42565. The program ID is a variable length value. 
It is assigned according to a structured syntax in the form TSSXXX, where: T The first character of the number is alphabetic and identifies the 
type, such as P for Program, R for Report, and so on. For example, the value P in the number P4210 indicates that the object is a 
program. SS The second and third characters of the number are numeric and identify the system code. For example, the value 42 in the number P4210 
indicates that this program belongs to system 42, which is the Sales Order Processing system. XXX The remaining characters of the numer are 
numeric and identify a unique program or report. For example, the value 10 in the number P4210 indicates that this is the Sales Order Entry 
program.

cGLPostedCodePOSTcharOPTNONE

A code the system uses to determine whether a transaction is available for the post process. Valid codes 
are: Blank Unposted. D Posted. P Posted or posting. Depending on the type of transaction, this code has different meanings. If the code is assigned to an Account Ledger 
record (F0911), it indicates a posted status. If the code is assigned to any other transaction, it indicates that the system attempted to post the 
record but failed, due to an error it encountered.    M Model. The transaciton is a model journal entry.     

cPayStatusCodePSTcharOPTNONE

A user defined code (00/PS) that indicates the current payment status for a voucher or an invoice. Examples of codes include: A Approved 
for payment but not yet paid   H Held pending approval   P Paid   Note: Some of the payment status codes are hard coded; the system assigns 
the code.

mnBatchNumberICUMATH_NUMERICOPTNONE

A number that identifies a group of transactions that the system processes and balances as a unit. When you enter a batch, you can either 
assign a batch number or let the system assign it using the Next Numbers program.

szBatchTypeICUTcharOPTNONE

A code that specifies the system and type of transactions entered in a batch. The system assigns the value when you enter a transaction. 
Valid values are set up in user defined code table 98/IT. You cannot assign new values. All batch types are hard coded.

jdDateBatchJulianDICJJDEDATEOPTNONE

The date of the batch. If you leave this field blank, the system date is used.

cBatchStatusISTcharOPTNONE

A user defined code (98/IC) that indicates the posting status of a batch. Valid values are: Blank    Unposted batches that are pending 
approval or have a status of approved. A        Approved for posting. The batch has no errors, and is in balance, but has not yet been posted. D       
Posted. The batch posted successfully. E        Error. The batch is in error. You must correct the batch before it can post. P        Posting. The system 
is in the process of posting the batch to the general ledger. The batch is unavailable until the posting process is complete. If errors occur 
during the post, the batch status changes to E (error). U        In use. The batch is temporarily unavailable because someone is working with it, or 
the batch appears to be in use because a power failure occurred while the batch was open.

mnPaymentIDPYIDMATH_NUMERICOPTNONE

A number that the system assigns from Next Numbers to identify and track payment records.

cFlagUpdatePayInstEV01charOPTNONE

An option that specifies the type of processing for an event.

cRenewalFlagEV02charOPTNONE

An option that specifies the type of processing for an event.

cPayInstforInvoicePYINcharOPTNONE

A user defined code (00/PY) that determines the means by which a payment is issued to a supplier or received from the customer. 
Examples of payment instruments include check, electronic funds transfer, lockbox, and EDI.

cPayInstforDraftRYINcharOPTNONE

The user defined code (00/PY) that specifies how payments are made by the customer. For example: C Check   D Draft   T Electronic funds 
transfer  

szAccountIdForNewDraftAIDcharOPTNONE

A number that the system assigns to each general ledger account in the Account Master table (F0901) to uniquely identify it. 

cPostedYNPartiallyEV04charOPTNONE

PeopleSoft event point processing flag 04.

cVoidNSFModeEV06charOPTNONE

An option that specifies the type of processing for an event.

mnNewPaymentIDPYIDMATH_NUMERICOPTNONE

A number that the system assigns from Next Numbers to identify and track payment records.

szDraftNumberCKNUcharOPTNONE

For Auto Bank Statement, this code identifies the payment/receipt or reference number.  NOTE:   Bank Statement Detail section:  The 
payment/receipt number was originally stored in the DOCM field of F09617.  Due to size limitations of DOCM, it is now also stored in CKNU.  For 
display purposes, the data item used for payment/receipt number on this grid is CKNU. Account Ledger section:  This reference number was 
originally stored in the R1 field of F0911.  Due to size limitations, it is now also stored in CKNU. For display purposes, the data item used for 
Reference1 on this grid is CKNU. 

jdDraftDueDateVLDTJDEDATEOPTNONE

The date that the payment amount was debited or credited to the bank account. The value date is not the date the bank reconciled the 
payment. Automatic payments populate this field automatically. If you are making manual payments and have set a processing option to display 
the value date field, you can manually enter the value date here.

mnCenturyGLDateCTRYMATH_NUMERICOPTNONE

The calendar century associated with the year. Enter is the first two digits of the year. For example, 19 indicates any year beginning with 19 
(1998, 1999), 20 indicates any year beginning with 20 (2000, 2001), and so on.

mnFiscalYear1GLFYMATH_NUMERICOPTNONE

A number that identifies the fiscal year. Generally, you can either enter a number in this field or leave it blank to indicate the current fiscal 
year (as defined on the Company Setup form). Specify the year at the end of the first period rather than the year at the end of the fiscal period. 
For example, a fiscal year begins October 1, 1998 and ends September 30, 1999. The end of the first period is October 31, 1998. Specify the 
year 98 rather than 99.

mnPeriodNoGeneralLedgePNMATH_NUMERICOPTNONE

A number indicating the current accounting period.  This number, used in conjunction with the Company Constants table (F0010) and the 
General Constants table (F0009), allows the user to define up to 14 accounting periods. See General Ledger Date.  The current period number 
is used to determine posted before and posted after cut off warning messages.  It is also used as the default accounting period in the 
preparation of financial reports.

mnInternalDraftNumberDOCGMATH_NUMERICOPTNONE

The document number of the corresponding journal entry that the system created when the receipt was posted. This field is used in 
conjunction with the JE document type and G/L date to identify the Account Ledger record (F0911) for the receipt. Note: The system always assigns 
the journal entry for the receipt to document company 00000.

jdDraftDateNewDMTJJDEDATEOPTNONE

The date on a payment or the date on which a receipt was entered.  In Accounts Payable, the manual payment date and the general ledger 
date that the system uses when it posts payments. The system also uses this date to retrieve the exchange rate for foreign payments from 
the Currency Exchange Rates table (F0015).  In Accounts Receivable, the date on the check or the date that you enter the receipt into the 
system. The receipt date is used for information and reporting purposes only.

cR1OpenAmountFlagEV01charOPTNONE

An option that specifies the type of processing for an event.

cChargebackPayStatusPSTcharOPTNONE

A user defined code (00/PS) that indicates the current payment status for a voucher or an invoice. Examples of codes include: A Approved 
for payment but not yet paid   H Held pending approval   P Paid   Note: Some of the payment status codes are hard coded; the system assigns 
the code.

cChargebackDateOptionEV04charOPTNONE

PeopleSoft event point processing flag 04.

mnAutoWriteOffUnderMATH01MATH_NUMERICOPTNONE

- - - Good Performance Low Value. 

szAdjReasonCodeDebitWriteOffARDRcharOPTNONE

A code that specifies the reason for a write off that results from an underpayment.

mnAutoWriteOffOverAmountMATH02MATH_NUMERICOPTNONE

- - - Good Performance High Value. 

szAdjReasonCodeCreditWriteOffARCRcharOPTNONE

A code that specifies the reason for a write-off that results from an overpayment.

mnManWriteOffUnderAmountdMATH03MATH_NUMERICOPTNONE

- - - Bad Performance Low Value. 

mnManWriteOffOverAmountdMATH04MATH_NUMERICOPTNONE

Event point for Math Numeric.

cEditPayApproveInvoicesEV10charOPTNONE

An option that specifies the type of processing for an event.

cOverpaymentOptionEV11charOPTNONE

An option that specifies the type of processing for an event.

szCostCenterMCUcharOPTNONE

An alphanumeric code that identifies a separate entity within a business for which you want to track costs. For example, a business unit 
might be a warehouse location, job, project, work center, branch, or plant. You can assign a business unit to a document, entity, or person for 
purposes of responsibility reporting. For example, the system provides reports of open accounts payable and accounts receivable by 
business unit to track equipment by responsible department. Business unit security might prevent you from viewing information about business units 
for which you have no authority.

mnRenewalCRRCRRMATH_NUMERICOPTINPUT

A number (exchange rate) that a foreign currency amount is multiplied by to calculate a domestic currency amount.  The number in this field 
can have a maximum of seven decimal positions. If more are entered, the system adjusts to the nearest seven decimal positions. 

jdRenewalERDJERDJJDEDATEOPTINPUT

The date that the system uses to retrieve the exchange rate from the Currency Exchange Rates table (F0015). 

cRenewalCRCMCRCMcharOPTINPUT

A value that specifies which method to use when converting from one currency to another. Valid values are:  Y  Multiplier method. The 
system multiplies the foreign amount by the multiplier exchange rate to calculate the domestic amount. Z Divisor method. The system divides the 
foreign amount by the divisor exchange rate to calculate the domestic amount.

mnRenewalCRR2CRR2MATH_NUMERICOPTINPUT

The exchange rate from the triangulation currency to the domestic currency (leg 2). This rate applies when you use triangulation to calculate 
the exchange rate for a receipt.

mnRenewalCRR1CRR1MATH_NUMERICOPTINPUT

The exchange rate from the foreign currency of the invoice to the triangulation currency (leg 1). This rate applies when you use triangulation 
to calculate the exchange rate for a receipt.

Related Functions

B0000004 Batch - Open On Initialization
B0000007 Batch - Revise On Transaction Commitment
B0000008 Batch - Revise On Exit
B03B0012 F03B14 Apply Receipt to Invoice
B03B0044 F03B13Z1 Update Purge Flag To Y
B03B0069 F03B14 Maintain Unapplied Cash
B03B0146 F03B14 - Create F03B14 Record - GL Entry
B03B0154 Draft Change Delete Void NSF
B03B0156 F03B11 Create R1 Record Draft
B9800100 Get Audit Information

Related Tables

F03B11 Customer Ledger
F03B13 Receipts Header
F03B14 Receipts Detail
F03B40 A/R Deduction Management
tion: absolute; left: 0.500000in">

Amount

ARDRszAdjReasonCodeDebitWriteOfIYesDebit Write off reason code

MATH02mnAutoWriteOffOverAmounIYesAutomatic Writeoff Over 

amount

ARCRszAdjReasonCodeCreditWriteOfIYesCredit Write off reason code

MATH03mnManWriteOffUnderAmountdIYesManual Write off under amount

MATH04mnManWriteOffOverAmountdIYesManual Write off over amount

EV10cEditPayApproveInvoicesIYesPay approved invoices

EV11cOverpaymentOptionIYesOverpayment Option

MCUszCostCenterIYesCost Center

CRRmnRenewalCRRINoRenewal draft exchange rate

* Required if cRenewalFlag = 1

ERDJjdRenewalERDJINoRenewal draft exchange rate date

* Required if cRenewalFlag = 1

CRCMcRenewalCRCMINoRenewal draft coversion method

* Required if cRenewalFlag = 1

CRR2mnRenewalCRR2INoRenewal draft triang leg TWO

* Required if cRenewalFlag = 1

CRR1mnRenewalCRR1INoRenewal draft triang leg ONE