路虽弥,不行不至;事虽少,不做不成。
分类: Oracle
2010-09-29 11:12:19
Troubleshooting AutoAccounting in AutoInvoice [ID 1080995.1] | |||||
| |||||
Modified 13-SEP-2010 Type TROUBLESHOOTING Status PUBLISHED |
In this Document
During import, you are getting the errors:
arcsai() Not all AutoAccounting types are defined
Error calling arcdsu_do_setup()
The above error is raised when the setup of AutoAccounting is incomplete, validation code (in arcdsu.lpc) checks that the setup for the following account types have been defined:
You can run the following to find out what account is missing the setup, please specify the org_id associated to your operating unit. There should be a row for each of the 7 types listed below.
- Freight (FREIGHT)
- Receivable (REC)
- Revenue (REV)
- AutoInvoice Clearing (SUSPENSE)
- Tax (TAX)
- Unbilled Receivables (UNBILL)
- Unearned Revenue (UNEARN)
SELECT GL_DEFAULT_ID, TYPE
FROM RA_ACCOUNT_DEFAULTS_ALL
WHERE ORG_ID = &orgid
AND TYPE IN
('FREIGHT', 'REC', 'REV', 'SUSPENSE', 'TAX', 'UNBILL', 'UNEARN');
Once you have determined which account type is missing, set it up via:
Responsibility: Receivables Manager
Navigation: Setup > Transactions > AutoAccounting
For additional information please review , Setting Up AutoAccounting Rules In Receivables. This note includes information on how to setup the various Sources for AutoAccounting segments.
Where {x} can be: Freight, Receivable, Revenue, AutoInvoice Clearing, Tax, Unbilled Receivables, Unearned Revenue.
Alternate error messages can include:
1) Please complete the offset account assignments (See )
2) Please complete your tax accounting flexfield (See )
3) Please correct the receivable account assignment (See )
4) Please correct the revenue account assignment(See )
When a segment of the GL account has to be derived from the GL accounts associated with the Salesrep, then it is pertinent that you associate a Salesrep to your transactions. Check whether the following has been set-up correctly:
- Transaction Source
Responsibility: Receivables Manager
Navigation: Setup > Transactions > Sources
Query up the transaction source used for your AutoInvoice import batch, and navigate to the AutoInvoice Options tab, and ensure that the checkbox for Allow Salescredit is checked.
Next check the Sales Credit Validation tab, verify what you have setup for Salesperson, how you set it up here impacts what AutoInvoice will expect to see in the RA_INTERFACE_LINES_ALL table (discussed below)
- System Options
Responsibility: Receivables Manager
Navigation: Setup > System > System Options
Navigate to the Miscellaneous tab and check if the Require Salesperson checkbox is checked.
The combination of the above settings determines the behavior re. Salescredits data in AutoInvoice.
Allow Salescredit field
(In Transaction Source)Require Salesperson
(in System Options)Requirement of
Salescredit informationChecked Checked Mandatory Checked Not Checked Optional Not Checked Checked Mandatory Not Checked Not Checked Any data entered will be ignored
- GL account associated to Salesrep
Responsibility: CRM Resource manager
Navigation: Maintain Resources > ResourcesEnsure that Freight, Receivables and Revenue Accounts associated to the Salesrep have been setup completely.
- Data in RA_INTERFACE_SALESCREDITS_ALL
When you have defined AutoAccounting such that some GL account segments are sourced from Salesreps, make sure that you populate the table RA_INTERFACE_SALESCREDITS for each line in RA_INTERFACE_LINES_ALL so that the proper accounting can be derived, and ensure that the values in INTERFACE_LINE_CONTEXT + INTERFACE_LINE_ATTRIBUTE1-15 match up.
This is required when you source segments from Salesreps and is necessary even if your system option Require Salesreps is set to No.
- Data in RA_INTERFACE_LINES_ALL
If your source is Salesreps, and your Transaction Source setup for Salesperson is:
- Number, then you should be populating RA_INTERFACE_LINES_ALL.SALESREP_NUMBER
- Id, then you should be populating RA_INTERFACE_LINES_ALL.SALESREP_ID
Note: The fields to populate are SALESREP_NUMBER or SALESREP_ID and not PRIMARY_SALESREP_NUMBER or PRIMARY_SALESREP_IDThe following script will pick up all Salesreps that do not have all the GL accounts setup, this could assist you in proactively setting these up to avoid issues in AutoInvoice.
- Script to find incomplete Salesrep setup for AutoAccounting
SELECT NAME,
SALESREP_NUMBER,
SALESREP_ID,
PERSON_ID,
STATUS,
NVL(TO_CHAR(GL_ID_REV), 'NULL REV') GL_ID_REV,
NVL(TO_CHAR(GL_ID_REC), 'NULL REC') GL_ID_REC,
NVL(TO_CHAR(GL_ID_FREIGHT),'NULL FREIGHT') GL_ID_FREIGHT
FROM JTF_RS_SRP_VL
WHERE STATUS = 'A'
AND ((NVL(START_DATE_ACTIVE, sysdate) <= sysdate) AND
(NVL(END_DATE_ACTIVE, sysdate) >= sysdate))
AND (GL_ID_REC IS NULL OR
GL_ID_REV IS NULL OR
GL_ID_FREIGHT IS NULL)
AND EXISTS
(SELECT 'x'
FROM RA_ACCOUNT_DEFAULTS_ALL a,
RA_ACCOUNT_DEFAULT_SEGMENTS s
WHERE s.GL_DEFAULT_ID = a.GL_DEFAULT_ID
AND s.CONSTANT is null
AND s.TABLE_NAME = 'RA_SALESREPS');
When your GL account segments are source from Standard lines, it is pertinent to associate either an Inventory Item or a Memo line to your transaction, so that AutoAccounting can derive the GL account segments. Check whether the following have been setup correctly:
- Transaction Source
Responsibility: Receivables Manager
Navigation: Setup > Transactions > Sources
Query up the transaction source used for your AutoInvoice import batch, and navigate to the Other Information tab, how you set up Memo Line Rule and/or Inventory Item here impacts what AutoInvoice will expect to see in RA_INTERFACE_LINES_ALL table (discussed below).
- GL account associated to Inventory Item or Memo Line
For an Inventory Item
Responsibility: Receivables Manager
Navigation: Setup > Transactions > Items > Define items
Query the item and in the Invoicing Tab check the value in the Sales Account field.
For a Memo Line
Responsibility: Receivables Manager
Navigation: Setup > Transactions > Memo Lines
Make sure that the Revenue Account is populated.
- Data in RA_INTERFACE_LINES_ALL
- If your source is Memo Line, and your Transaction Source setup for Memo Line Rule is:
- Value, then you should be populating RA_INTERFACE_LINES_ALL.MEMO_LINE_NAME
- Id, then you should be populating RA_INTERFACE_LINES_ALL.MEMO_LINE_ID
- if your source is an Inventory Item, and your Transaction Source setup for Inventory Item is:
- Segment, then you should be populating RA_INTERFACE_LINES_ALL.MTL_SYSTEM_ITEMS_SEG1-20 (as appropriate)
- Id, then you should be populating RA_INTERFACE_LINES_ALL.INVENTORY_ITEM_ID
The following script will pick up Memo Lines that do not have all the Revenue account setup, this could assist you in proactively setting these up to avoid issues in AutoInvoice.
- Script to find incomplete Memo Line or Inventory Item setup for AutoAccounting
SELECT T.NAME, B.MEMO_LINE_ID,
NVL(TO_CHAR(b.GL_ID_REV),'NULL REV') GL_ID_REV
FROM AR_MEMO_LINES_ALL_TL T,
AR_MEMO_LINES_ALL_B B
WHERE b.MEMO_LINE_ID = t.MEMO_LINE_ID
AND ((nvl(b.END_DATE, sysdate) >=sysdate) AND
(nvl(b.START_DATE,sysdate) <=sysdate))
AND b.GL_ID_REV IS NULL
AND EXISTS
(SELECT 'x'
FROM RA_ACCOUNT_DEFAULTS_ALL a,
RA_ACCOUNT_DEFAULT_SEGMENTS s
WHERE s.GL_DEFAULT_ID = a.GL_DEFAULT_ID
AND s.CONSTANT is null
AND s.TABLE_NAME = 'RA_STD_TRX_LINES');
The following script will pick up Inventory Items from organizations involved in Order Management that do not have the Sales Account setup, this could assist you in proactively setting these up to avoid issues in AutoInvoice.
SELECT ORGANIZATION_ID, DESCRIPTION, INVENTORY_ITEM_ID,
NVL(TO_CHAR(SALES_ACCOUNT),'NULL SALES ACCOUNT')
FROM MTL_SYSTEM_ITEMS
WHERE ((nvl(END_DATE_ACTIVE, sysdate) >=sysdate) AND
(nvl(START_DATE_ACTIVE,sysdate) <=sysdate))
AND ORGANIZATION_ID IN
(SELECT MASTER_ORGANIZATION_ID
FROM OE_SYSTEM_PARAMETERS_ALL)
AND SALES_ACCOUNT IS NULL
AND EXISTS
(SELECT 'x'
FROM RA_ACCOUNT_DEFAULTS_ALL a,
RA_ACCOUNT_DEFAULT_SEGMENTS s
WHERE s.GL_DEFAULT_ID = a.GL_DEFAULT_ID
AND s.CONSTANT is null
AND s.TABLE_NAME = 'RA_STD_TRX_LINES')
ORDER BY 1;
Error Message: Please complete your tax accounting flexfield
When a segment of the GL account has to be derived from the GL accounts associated to Tax, Check that the following has been setup correctly.
In Release 12, sourcing from Taxes can come from the following levels:
- Tax
- Tax Jurisdiction
- Tax Rate
Please review , Setting Up Tax Accounting for R12 E-Business Tax (EBTax) for an in-depth discussion of how to setup Tax as a source for AutoAccounting.
In Release 11.5,
- Tax Code
Responsibility: Receivables Manager
Navigation: Setup > Tax > Codes
Query for the Tax Code being used and verify that in the More tab, under the column account, you have defined a GL account.
- Location Based Tax
First you need to determine you Location Flexfield Structure
Responsibility: Receivables Manager
Navigation: Setup > System > System Options
Navigate to the Tax tab and check the value in Location Flexfield Structure
Then check which of the segments of your Sales Tax Location Flexfield is associated with the Tax Account
Responsibility: Receivables Manager
Navigation: Setup > Financials > Flexfields > Key > Segments
Query on Flexfield Title Sales Tax Location Flexfield
Find the structure associated to your System Options, in our example (see previous screenshot): State.County.City
Click on Segments
While positioned on the first record State, click on Flexfield Qualifiers
Scroll till you find the record for name Tax Account, if the Enabled checkbox is checked then this is the segment associated to the Tax Account, otherwise, you may need to do the same steps for the other Flexfield Segments (i.e. County, City) till you identify the segment associated with the Tax Account.
Finally, verify that the Tax Account is setup for this Segment
Responsibility: Receivables Manager
Navigation: Setup > Tax > Locations
In the Find field enter the segment for which Tax Account is enabled, in our example State, click on Find
Records for various States will populate, ensure that the Tax Account field is populated with a GL account
When a segment of the GL account has to be derived from the GL accounts associated with the Transaction Type, then it is pertinent that you associate the correct Transaction Type to your transactions, and that the GL accounts for the transaction type are defined. Check whether the following has been set-up correctly:
- Transaction Sources
Responsibility: Receivables Manager
Navigation: Setup > Transactions > Sources
Query up the transaction source used for your AutoInvoice import batch, and navigate to the Other Information tab, and your setup for Transaction Type. How you have it setup here impacts what AutoInvoice will expect to see in RA_INTERFACE_LINES_ALL (discussed below)
- Transaction Type
Ensure that you have populated the GL accounts associated to the Transaction Type you are using in your Interface table.
- Data in RA_INTERFACE_LINES_ALL
If your Transaction Source setup for Transaction Type is:
- Value, then you should be populating RA_INTERFACE_LINES_ALL.CUST_TRX_TYPE_NAME
- Id, then you should be populating RA_INTERFACE_LINES_ALL.CUST_TRX_TYPE_ID
- Script to find incomplete Transaction type setup for AutoAccounting
The following script will pick up transaction types that do not have all the GL accounts setup. If you have some AutoAccounting defined to source from Transaction Types, then the incomplete GL account setup could cause issues - this script could assist you in proactively setting these up to avoid issues in AutoInvoice.
SELECT ORG_ID, NAME, CUST_TRX_TYPE_ID, TYPE,
STATUS, POST_TO_GL, ACCOUNTING_AFFECT_FLAG,
NVL(TO_CHAR(GL_ID_REC), 'NULL REC') gl_id_rec,
DECODE(type,'BR','NOT APPLICABLE',
NVL(TO_CHAR(GL_ID_REV), 'NULL REV')) gl_id_rev,
DECODE(type,'BR','NOT APPLICABLE',
NVL(TO_CHAR(GL_ID_FREIGHT), 'NULL FREIGHT'))
gl_id_freight,
DECODE(type,'BR','NOT APPLICABLE',
NVL(TO_CHAR(GL_ID_CLEARING), 'NULL CLEARING'))
gl_id_clearing,
DECODE(type,'BR','NOT APPLICABLE',
NVL(TO_CHAR(GL_ID_TAX), 'NULL TAX')) gl_id_tax,
DECODE(type,'BR','NOT APPLICABLE',
NVL(TO_CHAR(GL_ID_UNBILLED), 'NULL UNBILL'))
gl_id_unbilled,
DECODE(type,'BR','NOT APPLICABLE',
NVL(TO_CHAR(GL_ID_UNEARNED), 'NULL UNEARN'))
gl_id_unearned,
DECODE(type,'BR',NVL(TO_CHAR(GL_ID_UNPAID_REC),
'NULL UNPAIDREC'),'NOT APPLICABLE') gl_id_unpaidrec,
DECODE(type,'BR',NVL(TO_CHAR(GL_ID_REMITTANCE),
'NULL REMITTANCE'),'NOT APPLICABLE') gl_id_remittance,
DECODE(type,'BR',NVL(TO_CHAR(GL_ID_FACTOR), 'NULL FACTOR'),
'NOT APPLICABLE') gl_id_factor,
START_DATE, END_DATE
FROM RA_CUST_TRX_TYPES_ALL
WHERE ((NVL(START_DATE, sysdate) <= sysdate)
AND (NVL(END_DATE, sysdate) >= sysdate))
AND NVL(STATUS,'A') = 'A'
AND ((TYPE = 'BR' AND
(GL_ID_REC IS NULL OR
GL_ID_UNPAID_REC IS NULL OR
GL_ID_REMITTANCE IS NULL OR
GL_ID_FACTOR IS NULL))
OR
(TYPE <> 'BR' AND
(GL_ID_REC IS NULL OR
GL_ID_REV IS NULL OR
GL_ID_FREIGHT IS NULL OR
GL_ID_CLEARING IS NULL OR
GL_ID_TAX IS NULL OR
GL_ID_UNBILLED IS NULL OR
GL_ID_UNEARNED IS NULL)))
AND EXISTS
(SELECT 'x'
FROM RA_ACCOUNT_DEFAULTS_ALL a,
RA_ACCOUNT_DEFAULT_SEGMENTS s
WHERE s.GL_DEFAULT_ID = a.GL_DEFAULT_ID
AND s.CONSTANT is null
AND s.TABLE_NAME = 'RA_CUST_TRX_TYPES')
ORDER BY 1;
- Transaction Sources
Responsibility: Receivables Manager
Navigation: Setup > Transactions > Sources
Query up the transaction source used for your AutoInvoice import batch, and navigate to the Customer Information tab, and check how you have setup Bill To Address and Bill To Customer, how you have it setup here impacts what AutoInvoice will expect to see in RA_INTERFACE_LINES_ALL (discussed below)
- Customer Site(Customer-->site-->bussiness purpose)
Ensure that you have populated the Accounts associated at the Bill To Site level.
- Data in RA_INTERFACE_LINES_ALL
- If your Transaction Source setup for Bill To Customer is:
- Value, then you should be populating RA_INTERFACE_LINES_ALL.ORIG_SYSTEM_BILL_CUSTOMER_REF
- Id, then you should be populating RA_INTERFACE_LINES_ALL.ORIG_SYSTEM_BILL_CUSTOMER_ID
- If your Transaction Source setup for Bill To Address is:
- Value, then you should be populating RA_INTERFACE_LINES_ALL.ORIG_SYSTEM_BILL_ADDRESS_REF
- Id, then you should be populating RA_INTERFACE_LINES_ALL.ORIG_SYSTEM_BILL_ADDRESS_ID
The following script will pick up Customer Sites that do not have all the GL accounts setup at the Bill To Site.
- Script to find incomplete Site setup for AutoAccounting
You can limit the rows returned by filtering adding a condition on party_name, or just checking for a particular GL account, or by processing in batches using a condition like:
and rownum < 300
This could assist you in proactively setting these up to avoid issues in AutoInvoice.
SELECT cust_acct.ACCOUNT_NUMBER customer_number,
substr(party.PARTY_NAME,1,30) customer_name,
substr(loc.ADDRESS1,1,30) address,
site_uses.CUST_ACCT_SITE_ID address_id,
site_uses.LOCATION, site_uses.SITE_USE_ID,
site_uses.SITE_USE_CODE,
nvl(to_char(site_uses.GL_ID_REC), 'NULL REC')
gl_id_rec,
decode(site_uses.SITE_USE_CODE,
'BILL_TO',nvl(to_char(site_uses.GL_ID_REV),
'NULL REV'),
'DRAWEE' , 'NOT APPLICABLE') gl_id_rev,
decode(site_uses.SITE_USE_CODE,
'BILL_TO',
nvl(to_char(site_uses.GL_ID_FREIGHT),
'NULL FREIGHT'),
'DRAWEE' , 'NOT APPLICABLE') gl_id_freight,
decode(site_uses.SITE_USE_CODE,
'BILL_TO',
nvl(to_char(site_uses.GL_ID_CLEARING),
'NULL CLEARING'),
'DRAWEE' , 'NOT APPLICABLE') gl_id_clearing,
decode(site_uses.SITE_USE_CODE,
'BILL_TO',
nvl(to_char(site_uses.GL_ID_TAX),
'NULL TAX'),
'DRAWEE' , 'NOT APPLICABLE') gl_id_tax,
decode(site_uses.SITE_USE_CODE,
'BILL_TO',
nvl(to_char(site_uses.GL_ID_UNBILLED),
'NULL UNBILL'),
'DRAWEE' , 'NOT APPLICABLE') gl_id_unbill,
decode(site_uses.SITE_USE_CODE,
'BILL_TO',
nvl(to_char(site_uses.GL_ID_UNEARNED),
'NULL UNEARN'),
'DRAWEE' , 'NOT APPLICABLE') gl_id_unearn,
decode(site_uses.SITE_USE_CODE,
'BILL_TO', 'NOT APPLICABLE',
'DRAWEE',
nvl(to_char(site_uses.GL_ID_UNPAID_REC),
'NULL UNPAID REC')) gl_id_unpaidrec,
decode(site_uses.SITE_USE_CODE,
'BILL_TO', 'NOT APPLICABLE',
'DRAWEE' ,
nvl(to_char(site_uses.GL_ID_REMITTANCE),
'NULL REMITTANCE')) gl_id_remittance,
decode(site_uses.SITE_USE_CODE,
'BILL_TO', 'NOT APPLICABLE',
'DRAWEE' ,
nvl(to_char(site_uses.GL_ID_FACTOR),
'NULL FACTOR')) gl_id_factor
FROM HZ_PARTIES PARTY,
HZ_PARTY_SITES PARTY_SITE,
HZ_CUST_ACCOUNTS_ALL CUST_ACCT,
HZ_LOCATIONS LOC,
HZ_CUST_ACCT_SITES_ALL ACCT_SITES,
HZ_CUST_SITE_USES_ALL SITE_USES
WHERE party_site.LOCATION_ID = loc.LOCATION_ID
AND party.PARTY_ID = cust_acct.PARTY_ID
AND cust_acct.CUST_ACCOUNT_ID =
acct_sites.CUST_ACCOUNT_ID
AND acct_sites.CUST_ACCT_SITE_ID =
site_uses.CUST_ACCT_SITE_ID
AND party_site.PARTY_SITE_ID = acct_sites.PARTY_SITE_ID
AND site_uses.SITE_USE_CODE in ('BILL_TO' ,'DRAWEE')
AND site_uses.STATUS = 'A'
AND ((site_uses.SITE_USE_CODE = 'BILL_TO' AND
(site_uses.GL_ID_REC IS NULL OR
site_uses.GL_ID_REV IS NULL OR
site_uses.GL_ID_FREIGHT IS NULL OR
site_uses.GL_ID_CLEARING IS NULL OR
site_uses.GL_ID_TAX IS NULL OR
site_uses.GL_ID_UNBILLED IS NULL OR
site_uses.GL_ID_UNEARNED IS NULL))
OR
(site_uses.SITE_USE_CODE = 'DRAWEE' AND
(site_uses.GL_ID_REC IS NULL OR
site_uses.GL_ID_UNPAID_REC IS NULL OR
site_uses.GL_ID_REMITTANCE IS NULL OR
site_uses.GL_ID_FACTOR IS NULL)))
AND EXISTS
(SELECT 'x'
FROM RA_ACCOUNT_DEFAULTS_ALL a,
RA_ACCOUNT_DEFAULT_SEGMENTS s
WHERE s.GL_DEFAULT_ID = a.GL_DEFAULT_ID
AND s.CONSTANT is null
AND s.TABLE_NAME = 'RA_SITE_USES');
If the Shipping and Selling organizations are different, with each belonging to a different Set of Books each set up with a different Chart of Accounts, you may get an error such as the following, even when your AutoAccounting setup is complete.Please complete your tax accounting flexfield orPlease correct the revenue account assignment
This issue is manifested because the Chart of Accounts for each set of books has a different number of segments, for example:
- Selling Organization GL accounts has 13 segments
- Shipping Organization GL accounts has 7 segments
Current functionality was not designed to handle this scenario. An enhancement request has been logged for this issue, via .
You are interfacing data into RA_INTERFACE_DISTRIBUTIONS_ALL, and during Import, you are getting the errors such as:EXCEPTION: arp_auto_accounting.do_autoaccounting_internal()ORA-20000: APP-15482: Please correct the receivable account assignment
If you want AutoAccounting to determine your general ledger accounts you must not enter values in RA_INTERFACE_DISTRIBUTIONS_ALL.
However, if you want to pass in the distribution data, then you are required to provide data for each ACCOUNT_CLASS associated to a line. For example, a line may require a REC and REV distribution. If you pass in data for the REC distribution, then you also need to pass in the data for REV distribution, otherwise AutoInvoice will fail.
Once all the segments of your accounting flexfield have been derived based on your AutoAccounting setup, it is then validated to ensure it is a valid code combination. Once validated, it will check whether the combination already exists in GL, if it exists, AutoAccounting will just retrieve the internal code_combination_id, if it does not exist, the code will check your setting for Allow Dynamic Inserts
If your business process allows on-the-fly creation of new code combinations, set the checkbox to Yes.
Responsibility: Receivables Manager
Navigation: Setup > Financials > Flexfields > Key > Segments.
Query on Flexfield Title Accounting Flexfield, check the Allow Dynamic Inserts checkbox
If your business does not allow dynamic inserts, then you need to review why AutoAccounting attempted to generate a code combination that you have not yet setup. If you verify, that the new code combination is valid you need to create the code combination manually to avoid the error next time the same code combination is derived.
Responsibility: Receivables Manager
Navigation: Setup > Financials > Accounting > GL Accounts
OM populates the RA_INTERFACE_LINES_ALL.WAREHOUSE_ID with the Shipping Organization Id. This information is used by AutoInvoice to get the accounting information for the inventory item depending from which warehouse it has been shipped.
Check to see if the WAREHOUSE_ID value populated from OM is correct. Then verify the accounting is set for the Inventory item, for more details review , Setting Up AutoAccounting Rules In Receivables (2-5 Standard Lines)
Sometimes, you will not get errors in the GL accounts derived by AutoAccounting, but the segment value derived does not appear to come from the Sources you specificed.
Check whether that particular segment was setup to use a default value.
Responsibility: Receivables Manager
Navigation: Setup > Financials > Flexfields > Key > Segments
Query up Title Accounting Flexfield, locate the Code Structure associated to your Accounting Flexfield, click on Segments, then pick any segment and click on Open. This will show you the details of that particular segment, and whether or not this segment has a default value.
In cases where AutoAccounting fails to derive a segment from the source you specified, it will go back to the Accounting Flexfield setup, and if that segment has a default value, that is what AutoAccounting will use. In the above screenshot, if AutoAccounting fails to find a value for the Company Segment from the sources you specified in the AutoAccounting setup, then it will use the value 01 for the first segment.
You have populated the RA_INTERFACE_DISTRIBUTIONS_ALL and expect this to be the data used by AutoInvoice, but instead, AutoAccounting is kicking in and the data you interfaced is being ignored.
Make sure that the Line Transaction Flexfield values in RA_INTERFACE_DISTRIBUTIONS_ALL:
INTERFACE_LINE_CONTEXT + INTERFACE_LINE_ATTRIBUTE1-15 match up to the values in these same fields within RA_INTERFACE_LINES_ALL, because this is how AutoInvoice matches up the Line data with the Distributions data. If the flexfield data does not match, AutoAccounting will assume that you did not provide distributions and will derive the account based on your AutoAccounting setup.
Consider the following setup:
Which GL account will AutoAccounting source segments from, will it use the Sales Account setup in the Master or the Child organization?
- AutoAccounting setup picks up some segments from Standard Line
- Your environment is setup with Master and Child inventory organizations
- The same Inventory Item exists in both Master and Child organizations, but the Sales Account associated to the item is different for each organization
The Organization you provide in the profile OE: Item Validation Organization determines from what organization the Inventory Item will be retrieved from.
Setting this flag to Y will not cause AutoInvoice to override AutoAccounting. To better understand this flag, we need to explain a bit of history on why it was created.
Oracle Receivables provides a feature Revenue Adjustment, through the Revenue Accounting form (Navigation: Control > Accounting > Revenue Accounting) or Revenue Adjustment API. One of the uses of running Revenue Accounting is to modify the GL accounts derived by AutoAccounting. When this is done, it is typical that subsequent GL distributions created should use the new GL accounts.
To better illustrate, let's take an example of an Invoice with Rules, recognizing revenue immediately. The original model distributions using GL accounts generated by AutoAccounting are:
Let's change the GL account for UNEARN
After running Revenue Recognition and querying this transaction in Revenue Accounting, it shows distributions were created using the new GL account:
If I run Revenue Accounting to Unschedule all of the Revenue, the distributions created use the new GL account as expected, and this is the behavior when OVERRIDE_AUTO_ACCOUNTING_FLAG = Y:
Notes:
- RA_INTERFACE_LINES_ALL.OVERRIDE_AUTO_ACCOUNTING_FLAG = 'Y', does not cause AutoInvoice to override AutoAccounting at the time the transaction is created in Receivables. The value of this flag is migrated to RA_CUSTOMER_TRX_LINES_ALL.OVERRIDE_AUTO_ACCOUNTING_FLAG and is referenced later on, when Revenue Accounting is done on this transaction. During Revenue Accounting, the code will check to see what the value is in RA_CUSTOMER_TRX_LINES_ALL.OVERRIDE_AUTO_ACCOUNTING_FLAG, when it is 'Y', AutoAccounting will not be invoked to determine the GL accounts to use, instead it will use the GL accounts from the existing GL distributions.
- In Release 12, for an invoice with rules, behavior is always as if RA_CUSTOMER_TRX_LINES_ALL.OVERRIDE_AUTO_ACCOUNTING_FLAG = Y.
Since AutoAccounting handles the determination of which segments of a GL account to retrieve from various sources such as Salesreps, Transaction Types, Sites, Standard Lines and so on, you may encounter issues wherein the complete GL account cannot be properly assembled because it has violated Cross Validation Rules.
Cross-validation (also known as cross-segment validation) controls the combinations of values you can create when you enter values for key flexfields. A cross-validation rule defines whether a value of a particular segment can be combined with specific values of other segments. Cross-validation is different from segment validation, which controls the values you can enter for a particular segment. Cross-validation rules prevent the creation of combinations that should never exist.
When you have checked your AutoAccounting setup and validated that sources have been defined correctly, and yet you continue to encounter errors wherein some segments still cannot be derived and the complete GL accounting segments cannot be assembled completely, please check your Cross Validation Rules. Fo rmore information on how Cross Validation works and how to set it up, please review Chapter 5, Using Additional Flexeld Features in the Oracle Applications Flexfields Guide
When a transaction created via AutoInvoice is queried in the transaction workbench, navigating to Line Items invokes a popup window asking: ReRun AutoAccounting? even when no changes have been made to the data.
This issue is due to leading or trailing spaces in the data uploaded from the RA_INTERFACE_LINES table.
To help identify which tables have leading or trailing spaces, and strip these spaces out of the data, Oracle has created a script that you can locate in your environment under the FND_TOP directory: $FND_TOP/sql/afchrchk.sql
First, run this script in a Test environment. If you reply N to the question: Automatically fix all errors found (Y/N)? then it will just list the tables that have this issue. If you want to strip the data of leading/trailing spaces, re-run the script an reply with Y to the same question.
After verifying that the issue is fixed when querying the transaction in the Transaction workbench, you can promote the fix to your Production instance.
To avoid hitting this issue, ensure that the data populated into the interface tables do not contain leading or trailing spaces.
For information on the diagnostic, please review the Diagnostic catalogs:
Release 11.5: see , E-Business Suite Diagnostics 11i Test Catalog
Release 12.x: see , E-Business Suite Diagnostics References for R12
Once you have identified your release, locate the right note for example, in 12.0.6, , R12.0.6+ : Oracle Receivables AutoInvoice Interface Data Collection Test
Related Products
|