Search

OracleDollars

AP/AR Netting


The Payables and Receivables Netting feature enables the automatic netting of Payable
and Receivable transactions within a business enterprise. You can predefine a netting
agreement that incorporates the netting business rules and transaction criteria needed
to run your tailored netting process. The netting process automatically creates the
Payables payments and Receivables receipts required to clear a selected number of
Payables and Receivables transactions.
You can view the receipts that the Netting process creates by querying the netted
receipts in the Receipts workbench. To view additional details about the netting batch,
select AP/AR Netting from the Actions menu.

Note: You cannot update netted receipts in the Receipts workbench.

1 Tables

1.1 New Tables

Table Name

Feature Area

FUN_NET_AR_TRX_TYPES_ALL

Netting Agreements

FUN_NET_AP_INV_TYPES_ALL

Netting Agreements

FUN_NET_AGREEMENTS_ALL

Netting Agreements

FUN_NET_SUPPLIERS_ALL

Netting Agreements

FUN_NET_CUSTOMERS_ALL

Netting Agreements

FUN_NET_BATCHES_ALL

Netting Batches

FUN_NET_AR_TXNS_ALL

Netting Batches

FUN_NET_AP_INVS_ALL

Netting Batches

1.2 Views

1.2.1 New Views

View Name

Feature Area

FUN_NET_RELATED_CUSTOMERS_V

Netting Related Customers


2. Implementation Considerations

This section identifies the new/changed setup steps for Oracle Netting that were introduced in Release 12. For detailed step-by-step implementation instructions, please refer to one of the Oracle Finanicials Implementation Guide, Oracle Financials User Guide or the Oracle Applications Upgrade Guide.

  1. New Setups

2.1 New Setup Steps

  1. Netting Bank Account
  2. Receivables System Options
  3. Netting Batch Approver
  4. Chargeable Subcontracting
  5. Netting Agreement

2.1.1 Netting Bank Account

Set up a Bank Account in Oracle Cash Management which can be used by the Netting process. Set the "Netting Account" flag to "Yes" for the bank account. Assign this bank account to the seeded Receivables Receipt Class "AP/AR Netting".

2.1.2 Receivables System Options

Check the 'Allow payment of Unrelated Transactions' checkbox in Receivables System Options if you want to create a netting agreement across multiple unrelated customers.

2.1.3 Netting Batch Approver

If approval is required for a netting agreement, the approver must be set up as a contact for the trading partner (customer or supplier). The contact must be set up with an email address.

2.1.4 Profile: Chargeable Subcontracting Enabled

Setting the profile "Chargeable Subcontracting Enabled" to "Yes" would mean only invoices that were matched to purchase orders with outsourced assemblies would be selected by the netting process. If the profile option is set to "No", only invoices that were matched to purchase orders without outsourced assemblies would be selected by the netting process. If the profile option is set to "D", all eligible invoices will be selected for netting irrespective of whether or not they are matched to purchase orders.

2.1.5 Netting Agreement

Netting agreements control how payables and receivables transactions are netted for a group of trading partners. Create netting agreements to set up the rules that will decide which transactions are selected for netting and how they are ordered and processed once selected.


3. Performance & Sizing: Considerations & Optimizations

3.1 Upgrade

Netting does not upgrade any transactional data. It upgrades only setup data which will not be of high volume. Therefore no special consideration needs to be given for the table sizes during upgrade.


4. Minimum Technical Requirements

The minimum technical requirements for Netting are included in the Release 12 Rapid Install.


5. Diagnostics

5.1 FND Logging

To check log messages added by the Netting processes, set the following profile options at user level
FND: Debug Log Enabled – Yes
FND: Debug Log Level – Statement
FND: Debug Log Module –FUN%NET

Then execute query
SELECT *
FROM fnd_log_messages
WHERE module like 'FUN%NET%'
AND trunc(timestamp) = trunc(sysdate)


6. Technical Architecture Considerations

  1. Netting Batch Status
  2. Netting Batch Creation Process
  3. Netting Batch Submission Process
  4. Netting Batch Settlement Process
  5. Customer Merge
  6. Supplier Merge

6.1 Netting Batch Status

Following is the sequence of events and the corresponding status for the netting batch.

Event

Netting Batch Status

User creates the netting batch

RUNNING

"Review Batch" option is set to "Yes"

SELECTED

Error encountered while validating, selecting transactions

ERROR

Current date has gone past batch settlement date

SUSPENDED

"Review Batch" option is set to "No" but no approval is required

CLEARING

"Review Batch" option is set to "No" and approval is required

SUBMITTED

User rejects batch requiring approval

REJECTED

User approves batch requiring approval

APPROVED

Netting process completed for transactions

COMPLETE

User chooses to reverse batch

REVERSING

Batch has been reversed

REVERSED

6.2 Netting Batch Creation Process

Criteria used for selecting AP invoices
Dates

AP Payment schedule due date < = FUN_NET_BATCHES.transaction_due_date

AP Payment schedule due date between Agreement Start Date and Agreement End Date ( if null ,Sysdate)

Only Invoices for supplier and supplier sites ( if specified) in the agreement are selected.
Only invoices with the selected invoice types in the agreement are included.
Operating Unit of the Invoices must equal Operating Unit of the batch
Invoices must be approved.
Invoices must not be on hold ( Payment schedule.hold_flag = ‘N’)
Invoices that have already been included in a batch that is not yet in status ‘COMPLETE’ are not included.
Shikyu Processing :

Additional processing is done for Shikyu Invoices based on the Shikyu Rule setup in the Netting Agreement.

Check Shikyu rule code on the Agreement

Y - "Yes" - Only invoices lines that were matched to PO lines with the OSA flag checked are selected for Netting

N - "No" -Only invoices lines that were matched to PO lines with the OSA flag not checked are selected for Netting

D - "Disregard"- All AP invoices selected for Netting; no filtering, therefore all eligible invoices are selected, as if the profile is "Off"


Lock AP Invoices

Selected AP invoices are locked by populating AP_PAYMENT_SCHEDULES.checkrun_id column for the
selected invoices.
The same checkrun_id value is populated in FUN_NET_BATCHES.CHECKRUN_ID for the given batch.

Criteria used for selecting AR Transactions
Dates

AR Payment Schedule due date <= FUN_NET_BATCHES.transaction_due_date

AR Payment Schedule date should be between Agreement Start Date and end date ( if null,Sysdate)

Transactions must be Complete.
Only transactions for customer and customer sites ( if specified) in the agreement are selected.
Only transactions with the selected transaction types in the agreement are included.
Operating Unit of the Transactions must be equal to the Operating Unit of the batch
Transactions that have already been included in a batch that is not yet in status ‘COMPLETE’ will not be included in the new batch.
The Receipt method associated with the transaction should not have a Payment_type_code = ‘CREDIT_CARD’
Transaction must not be in dispute.
Payment schedule status must be open (payment schedule.status = ‘OP’)
Transaction must not be a prepayment (ra_customer_trx.prepayment_flag = ‘N’)

Criteria for ordering the transactions
Invoices and transactions are first ordered by supplier and customer priority associated in the agreement.They are then ordered by the Netting Order Rule selected in the agreement. The priority is important as this decides which transaction / invoice will be netted first.

Netting Currency Rule
The Netting Currency Rule is checked to see if multiple batches need to be created.
If NET_CURRENCY_RULE_CODE = ‘SINGLE_CURRENCY’ then Invoices & transactions are filtered based on Invoice/transaction currency code = FUN_NET_AGREEMENTS.CURRENCY_CODE

If NET_CURRENCY_RULE_CODE = ‘WITHIN_CURRENCY’ then the invoices/transactions are grouped based on their invoice/transaction currency code .
For every group of transactions a new batch is created.
The netting currency of the batch = invoice currency code of the grouped transactions.

IF NET_CURRENCY_CODE = ‘CONVERT_TO_ACCOUNTING’ then the open balance on each transaction is converted to the the Accounting currency.
The netting currency of the batch = Accounting currency

Validate AP and AR Balances
For every batch that has been created.
AP balance is calculated as (sum of the OPEN_AMT in FUN_NET_AP_INVS_ALL for the given batch)
AR balance is calculated as (sum of the OPEN_AMT in FUN_NET_AR_TXNS_ALL for the given batch) .

When the Netting balance Rule = NET_PAYABLES ,
AP balance should be > the AR balance to continue the netting process. If not the current batch
status is set to ‘ERROR’.
If the AP balance or the AR balance <= 0 then the current batch is set to ‘ERROR’. If AP balance < amount =" AP" amount =" AR">

6.3 Netting Batch Submission Process

The following validations are performed when a netting batch as submitted as there might be a time lag between when the batch is created and when the batch is submitted. It is also possible that the batch might have been modified.
If the current date has gone past the batch settlement date ( sysdate > settlement_date) then the batch is set to status ‘SUSPENDED’ and the AP invoices are unlocked.
The AP and AR balances for the transactions are validated again. If the validation fails the batch is set status ‘ERROR’and the AP invoices are unlocked.
If the batch has passed all validations, it is sent for approval if approval is required else the Settle Netting Batch process is initiated.

6.4 Netting Batch Settlement Process

Validation
The process starts off with the validation of the AR transactions. This is necessary as the AR transactions are not locked when the netting batch is created and therefore there is a possibility that the AR transasction may be have been modified since it was included in the netting batch.
If any of the validations fail , then the batch is set to status ‘CANCELLED’.
Validations are also performed to check whether the GL, AP and AR periods are open for the batch settlement date. If not the batch is set to status ‘ERROR’ and an error message is displayed in the Report Log.

Derive Netting Bank Details
The netting bank details like bank account name, bank account owner and number derived based on the FUN_AGREEMENTS.bank_account_id for the given batch.

Settle AP Invoices
Invoices in each batch are grouped by vendor , vendor site and invoice currency code. The AP Payment APIs are called to process the payments. These API return the check id which is updated in FUN_NET_AP_INVS_ALL.CHECK_ID.

Settle AR Transactions
AR Receipt APIs are called to create and apply the receipts. These APIs return the receipt id which is updated in FUN_NET_AR_TXNS.RECEIPT_ID

If all the processing goes through successfully, the batch status is set to COMPLETE and the AP invoices and netting agreements are unlocked.

6.5 Customer Merge

The TCA Account Merge process calls a netting API to propogate the customer merge updates to the Netting tables.
If the merge results in duplicate accounts and /or account site uses for a netting agreement , then the priority of these records is updated to the highest priority among the records.
All duplicate records for a given agreement are deleted except for one record.

6.6 Supplier Merge

The Payables Supplier Merge process calls a netting API to propagate the supplier merge updates to the Netting tables.
If the merge results in duplicate supplier and /or supplier site for a netting agreement, then the priority of these records is updated to the highest priority among the records.
All duplicate records for a given agreement are deleted except for one record

More on netting in future posts.

Your comments and queries are most welcome.

1 comment:

Andrew said...

Does Oracle AP/AR netting allow the following:?
A dormant supplier has an open debit note balance that cannot be closed because there are no new invoices. The Supplier has submitted a cash payment to settle the debt. The receipt is unmatched.
Set up a customer and create a netting agreement between it and the dormant supplier.
Can netting rules be set up so that the debit note in A/P is closed and an open A/R invoice is created on the newly set up customer account. This way the A/R invoice can be matched off with the receipt. If this is not possible, an A/R credit note can be created, the netting batch produced to close the two open items, and then an A/R invoice manually entered to offset the previous credit note. This invoice can then be matched against the receipt. This second option is more long winded. Is option one possible?