Oracle AP/AR Netting allows you to net your Payable invoice balances against your Receivables invoice balances for those Customers who are also your Suppliers.
If you have a customer who is also your supplier, then rather than him paying you and then you paying him, AP/AR netting allows you to pay the net difference between how much you owe the supplier and how much he owes you.
After establishing a netting agreement with such trading partners, you set up the agreement and the rules associated with it in eBusiness Suite and you can then start to net AP and AR transactions.
AP/AR netting is owned FUN schema in the database.
Table Name | Table Purpose |
FUN_NET_AR_TRX_TYPES_ALL | Netting Agreement Transaction types of AR |
FUN_NET_AP_INV_TYPES_ALL | Netting Agreement Transaction types of AP |
FUN_NET_AGREEMENTS_ALL | Netting Agreement Details |
FUN_NET_SUPPLIERS_ALL | Netting Agreement Supplier Details |
FUN_NET_CUSTOMERS_ALL | Netting Agreement Customer Details |
FUN_NET_BATCHES_ALL | Netting Batch Details |
FUN_NET_AR_TXNS_ALL | Netting Batch Details of AR transactions |
FUN_NET_AP_INVS_ALL | Netting Batch Details of AP invoices |
FUN_NET_RELATED_CUSTOMERS_V | Netting Related Customers |
- TECHNICAL CONSIDERATIONS
- Netting Batch Status
- Netting Batch Creation Process
- Netting Batch Submission Process
- Netting Batch Settlement Process
- Customer Merge
- Supplier Merge
- Netting Batch Status :
Following is the sequence of events and the corresponding status for the netting batch.
Sl.no | Event | Netting Batch Status |
1 | The user creates the netting batch | RUNNING |
2 | Review Batch option is set to “Yes” | SELECTED |
3 | Error encountered while validating, selecting transactions | ERROR |
4 | The current date has gone past the batch settlement date | SUSPENDED |
5 | Review Batch option is set to “No” but no approval is required | CLEARING |
6 | Review Batch option is set to “No” and approval is required | SUBMITTED |
7 | User rejects batch requiring approval | REJECTED |
8 | User approves batch requiring approval | APPROVED |
9 | Netting process completed for transactions | COMPLETE |
10 | The user chooses to reverse batch | REVERSING |
11 | The Batch has been reversed | REVERSED |
- Netting Batch Creation Process
Criteria used for selecting AP invoices Dates
- AP Payment schedule due date < = transaction_due_date
- AP Payment schedule due date between Agreement Start Date and Agreement End Date ( if null, Sysdate)
- Invoices must not be on hold ( Payment schedule.hold_flag = ‘N’)
- Freezing AP Invoices
- Selected AP invoices are locked by populating the 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, System).
- The Receipt method associated with the transaction should not have a Payment_type_code = ‘CREDIT_CARD’.
- Payment schedule status must be open (payment schedule.status = ‘OP’)
- Transaction must not be a prepayment (ra_customer_trx.prepayment_flag = ‘N’)
- 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.
- 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) and 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’.
- Netting Batch Submission Process
The following validations are performed when a netting batch is 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.
- Netting Batch Settlement Process
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 transaction maybe has 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, the 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 the 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.
- Customer Merge
The TCA Account Merge process calls a netting API to propagate 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.
- 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 a 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