This essay describes how to use and customize the default Account Generator process in Oracle Purchasing.
The Account Generator in Oracle Purchasing utilizes Oracle Workflow. You can view and customize Account Generator processes through the Oracle Workflow Builder. You can also monitor account generation through the Oracle Workflow Monitor. See: Oracle Workflow User's Guide.
All purchase orders, requisitions, and releases require accounting distributions. Oracle Purchasing automatically builds a charge, budget (if using budgetary control), accrual, and variance account for each document distribution.
Oracle Purchasing provides you with the features you need to:
Improve accuracy and speed document generation by automatically constructing accounting distributions.
Relieve buyers, requestors, and document preparers from the responsibility of specifying which accounts should be charged for their purchases.
Customize Account Generator account construction rules to match your business rules.
For public sector installations, perform fund accounting.
See also: Overview of Account Generator.
Use the following sections to help you evaluate whether the default Account Generator process meets your accounting requirements.
This decision determines which setup steps your implementation team needs to perform.
In Release 10, several Oracle Applications products used FlexBuilder to derive account code combinations for certain account transactions. In Release 11, FlexBuilder is replaced by the Account Generator to provide implementation teams with even greater flexibility and a better user interface with Oracle Workflow.
If you customized FlexBuilder in a previous release to generate account combinations, you can use the Generate Accounts Using FlexBuilder Rules process to replicate your FlexBuilder setup automatically, without changing any of your predefined FlexBuilder Rules, and without customizing the Account Generator. To build accounts, the Generate Accounts Using FlexBuilder Rules process calls the appropriate functions that were generated during your upgrade
Note: If you used FlexBuilder in Release 10 but did not customize the default configuration, you can use the default Account Generator process in Release 11, which gives you the same result as the default assignments in FlexBuilder.
If you are implementing Oracle Purchasing for the first time, you need to review how Purchasing uses the Account Generator to build Accounting Flexfield code combinations. See: What the Account Generator Does in Oracle Purchasing, below. Consider whether the default Account Generator process is appropriate for each ledger that uses a unique Accounting Flexfield structure. For each structure and ledger, you can choose one of the following:
Use the default Account Generator processes:
Generate Default Accrual Account
Generate Default Budget Account
Generate Default Charge Account
Generate Default Variance Account
Generate Default Destination Charge Account
Generate Default Destination Variance Account
Customize the default Account Generator processes
No setup steps are required to use the default. The default processes can also be updated later as your needs change.
Prerequisites to Using the Account Generator
Before using the Account Generator on a production database in Oracle Purchasing to build accounts for purchase order, release, and requisition distributions, you must complete the following steps:
Attention: These steps need to be performed for each operating unit.
Define your Accounting Flexfield structure for each ledger.
Define flexfield segment values and validation rules.
Set up Oracle Workflow.
Choose whether you want to use the default Account Generator processes, or if you need to customize them to meet your accounting needs.
Then do one of the following for each ledger:
Choose to use the default Account Generator processes.
Customize the default Account Generator processes, test your customizations, and choose the processes for a flexfield structure, if necessary.
The default Account Generator processes in Oracle Purchasing build a charge, budget, accrual, and variance account for each purchase order, release, and requisition distribution based on the distribution's Expense, Inventory, or Shop Floor destination type. Oracle Purchasing always builds these accounts using the Account Generator; you cannot disable this feature.
If you utilize the centralized procurement functionality, the Account Generator will also create two new accounts to record accounting transactions between the procuring organization and the destination organization: the destination charge account and the destination variance account. These accounts will be created and used only when the destination organization is in a different operating unit than the Procuring organization, and there is a transaction flow defined between the two organizations. (Note that if the two operating units are in different sets of books, there must be a transaction flow defined.) For example: In the centralized procurement scenario a user may create a purchase order in one operating unit, but require shipment to a different operating unit. In this case, there will be an accounting transaction (created at the time of receipt of goods) to record the transfer of ownership between the two organizations (operating units). If these accounts are not required they will be not be built.
For Inventory charge account construction, the Account Generator further distinguishes between asset and expense purchases based on the item and subinventory that you provide for the distribution. If you select an expense item, the Account Generator disregards the subinventory and builds an expense charge account. If you select an asset item, the Account Generator evaluates the subinventory to decide whether to build an expense or asset charge account.
Additional Information: You classify a subinventory as expense or asset by selecting the Asset Subinventory check box in the Oracle Inventory Subinventories window. You classify an item as expense or asset by selecting the Inventory Asset Value check box in the Costing section of the Master Item window. (This window is accessible through Inventory or Purchasing.)
When the Account Generator locates a source account based on the distribution destination type, it copies complete code combinations (full Accounting Flexfields) from designated fields to destination Accounting Flexfields. The default Oracle Purchasing processes do not build individual flexfield segments.
For example, to populate the Accrual account for distributions with an Expense destination type, the Account Generator locates the Expense AP Accrual Account that you specify in the Purchasing Options window as part of your application setup, and copies it into the Accrual Account Flexfield in your document.
An exception is when the account generator is unable to derive a charge account in the first two steps. Then an account is retrieved from the HR employee record and individual segments are replaced based on the item category. This is a typical scenario when using one-time items in Oracle Purchasing.
The following matrix describes the source fields that the Account Generator references to build the charge, budget, accrual, and variance account based on the distribution destination type.
The horizontal axis lists the windows you use to specify the source accounts that the Account Generator references in Oracle Purchasing. The vertical axis lists the possible destination types for each account type the Account Generator constructs. In addition, the Additional Conditions are applied as part of the vertical access. The body of the matrix lists the fields you use to enter the reference accounts.
When more than one option is indicated for a particular account/destination type combination, the Account Generator attempts to locate the primary source account identified in the matrix (Seq) with a 1 as long as any Additional Conditions listed are met. This means that there may be several source accounts with a 1, since there may be multiple Additional Conditions. The first additional condition met will be the source attempted. If this reference account is unavailable or not appropriate for the distribution information you provide, the Account Generator tries the source indicated as 2 and so on until it either successfully locates a reference account, or fails. When an account has been located, or the Account Generator has failed to find an account, the matrix may indicate that an Override condition may apply. These entries are indicated by an O instead of a numeric value. In the case of an Override, a built account may be superceeded.
Default Charge Account Sources
Destination Types | Additional Consider- ations | Seq | WIP Accounting Classes | Sub- inventories | Organizat- ion Parameters | Items (INV or PO) | Purchasing Options | Other |
---|---|---|---|---|---|---|---|---|
All Destination Types | Cross OU case and One-Time Item or a Shop Floor enabled Item | 1 | Cost of Sales Account for Transaction Flow default org | |||||
All Destination Types | Cross OU case and Expense item | 1 | Expense | |||||
All Destination Types | Cross OU case and Expense item | 2 | Expense | |||||
All Destination Types | Cross OU case and Asset item | 1 | Material | |||||
All Destination Types | PO auto-created from requisition | 1 | Copied from requisition | |||||
Expense | Not a PO autocreated from req and not prevented by PA override profile | 1 | Preferences | |||||
Expense | Project related | 2 | Customized Project rules | |||||
Expense | Project Related and not prevented by PA override profile | O | User entered | |||||
Expense | Not a PO autocreated from a req. Not Project. | 1 | Preferences | |||||
Expense | Non-Project | 2 | Expense | |||||
Expense | Non-Project | 3 | Employee Profile for Assignment in Purchasing OU's SOB | |||||
Expense | Non-Project Account not built before HR Employee Profile step | 3O | Item Category Segment substitutions | |||||
Expense | Non-Project | O | User entered | |||||
Inventory | Expense item | 1 | Expense | |||||
Inventory | Expense item | 2 | Expense | |||||
Inventory | Expense item | 3 | Expense | |||||
Inventory | Asset item | 1 | Material | |||||
Inventory | Asset item | 2 | Material | |||||
Shop Floor | 1 | Enterprise Asset Mgmt (EAM) rules | ||||||
Shop Floor | 2a | Material | ||||||
Shop Floor | 2b | Mat. Overhead | ||||||
Shop Floor | 2c | Resource | ||||||
Shop Floor | 2d | Outside Processing | ||||||
Shop Floor | 2e | Overhead |
Default Accrual Account Sources
Destination Types | Additional Consider- ations | Seq | WIP Accounting Classes | Sub- inventories | Organiz- ation Parameters | Items (INV or PO) | Purchasing Options | Other |
---|---|---|---|---|---|---|---|---|
All Destination Types | Cross OU case (No additional sources are used) | 1 | Expense AP Accrual Account for PO OU | |||||
All Destination Types | OPM is installed. Not Project related. | 1 | OPM API | |||||
Expense | Project related | 1 | Customized Project rules | |||||
Expense | OPM is not installed. Not Project related. | 1 | Expense AP Accrual Account | |||||
Inventory, Shop Floor | OPM is not installed. One-time item. | 1 | Expense AP Accrual Account for PO OU | |||||
Inventory, Shop Floor | OPM is not installed. Not one-time item. | 1 | Inventory AP Accrual for Ship-to org |
Default Budget Account Sources
Destination Types | Additional Consider- ations | Seq | WIP Accounting Classes | Sub- inventories | Organiz- ation Parameters | Items (INV or PO) | Purchasing Options | Other |
---|---|---|---|---|---|---|---|---|
Expense or Inventory | PO auto-created from requisition | 1 | Copied from requisition | |||||
Expense | 1 | Charge Account | ||||||
Expense | O | User entered | ||||||
Inventory | 1 | Encumbrance | ||||||
Inventory | 2 | Encumbrance | ||||||
Inventory | 3 | Encumbrance for ship-to org | ||||||
Shop Floor | No encumbrance is done for Shop Floor | 1 | n/a | n/a | n/a | n/a | n/a | n/a |
Default Variance Account Sources
Destination Types | Additional Consider- ations | Seq | WIP Accounting Classes | Sub- inventories | Organization Parameters | Items (INV or PO) | Purchasing Options | Other |
---|---|---|---|---|---|---|---|---|
All Destination Types | Cross OU case (No additional sources are used) | 1 | Charge Account | |||||
All Destination Types | PO auto-created from requisition | 1 | Copied from requisition | |||||
Expense | Project-related | 1 | Customized Project rules | |||||
Expense | Project-related | 2 | Customized Project rules | |||||
Expense | Non-Project | 1 | Charge Account | |||||
Inventory | 1 | Inventory Price Variance for Ship-to org | ||||||
Shop Floor | One-time Item | 1 | Charge Account | |||||
Shop Floor | 1 | Inventory Price Variance for Ship-to org |
Default Destination Charge Account Sources
Destination Types | Additional Consider- ations | Seq | WIP Accounting Classes | Sub- inventories | Organizat- ion Parameters | Items (INV or PO) | Purchasing Options | Other |
---|---|---|---|---|---|---|---|---|
All Destination Types | PO auto-created from requisition | 1 | Copied from requisition charge account | |||||
Expense | Project related | 2 | Customized Project rules | |||||
Expense | Project Related and not prevented by PA override profile | O | User entered | |||||
Expense | Not a PO autocreated from a req. Not Project. | 1 | Preferences | |||||
Expense | Non-Project | 2 | Expense | |||||
Expense | Non-Project | 3 | Employee profile for deliver-to-person's HR assignment in destination OU SOB | |||||
Expense | Non-Project Account not built before HR Employee Profile step | 3O | Item Category Segment substitutions | |||||
Expense | Non-Project | O | User entered | |||||
Inventory | Expense item | 2 | Expense | |||||
Inventory | Expense item | 3 | Expense | |||||
Inventory | Expense item | 4 | Expense | |||||
Inventory | Asset item | 2 | Material | |||||
Inventory | Asset item | 3 | Material | |||||
Shop Floor | 2 | Enterprise Asset Mgmt (EAM) rules | ||||||
Shop Floor | 3a | Material | ||||||
Shop Floor | 3b | Mat. Overhead | ||||||
Shop Floor | 3c | Resource | ||||||
Shop Floor | 3d | Outside Processing | ||||||
Shop Floor | 3e | Overhead |
Default Destination Variance Account Sources
Destination Types | Additional Consider- ations | Seq | WIP Accounting Classes | Sub- inventories | Organization Parameters | Items (INV or PO) | Purchasing Options | Other |
---|---|---|---|---|---|---|---|---|
Expense | PO auto-created from requisition | 1 | Copied from requisition Variance Account | |||||
Expense | Project related | 1 | Customized Project rules | |||||
Expense | Project related | 2 | Destination Charge Account | |||||
Expense | Non-Project | 1 | Destination Charge Account | |||||
Inventory | 1 | Inventory Price Variance for Ship-to org | ||||||
Shop Floor | One-time Item | 1 | Destination Charge Account | |||||
Shop Floor | 1 | Inventory Price Variance for Ship-to org |
Suggestion: Minimize your setup by specifying source accounts at the appropriate level of detail for your business. For example, you can specify the charge account source for Inventory (expense) destination types at the subinventory, item, or organization level. If an organization level account is sufficient for your business needs, it is not necessary to specify item or subinventory accounts.
For Shop Floor destination types, if no WIP accounting class (WAC) encumbrance account is found, then the Costing API searches from Item and if at the Item level the account is not defined, Costing API selects the encumbrance account defined in Organization parameters. For such distributions, the Account Generator calls the Costing API, which gets encumbrance account from WIP accounting class encumbrance field. The Account Generator does construct a budget account for Shop Floor distributions if linked work order is an EAM job. Oracle Purchasing does encumber outside processing purchases for EAM work orders.
Attention: If the Account Generator is unable to build a charge account you can either manually specify a charge account in your document or you can design a custom Account Generator function to build Expense destination charge accounts based on your own business rules.
While you cannot edit the accrual, budget, or variance accounts that the Account Generator constructs, you can override or specify the charge account for uncommitted Expense distributions. In this case, you can either edit the charge account that the Account Generator constructs for you, or you can specify a default charge account in the Defaults region of your document. When you specify a default charge account, it always overrides any expense charge account that the Account Generator tries to provide.
For Expense and Inventory destinations in the Requisitions, Purchase Orders, and Releases windows, the Account Generator constructs the account when you navigate into the distribution Charge Account field, or when an explicit or implicit commit anywhere in the window provides enough information for Oracle Purchasing to create a distribution. For Shop Floor destinations, the code is constructed when you enter all required data in the Outside Processing region and either return to the document distributions region or commit.
For all windows, the build sequence is:
Charge
Budget
Accrual
Variance
Destination Charge
Destination Variance
Each account is provided as a possible source value to the subsequent builds. For example, the budget rules accept the charge account as a possible value, and for Expense destination types the charge account value is copied into the Budget Account field. The accrual account rules accept both the charge and budget account values. Finally, the variance account rules accept the charge, budget, and accrual account values as possible sources.
If the Account Generator is unable to construct accrual, variance, or budget accounts you cannot enter these fields to manually provide the missing values. You must identify and resolve the problem that is causing the Account Generator to fail. If the Account Generator is unable to construct a charge or budget account, you can manually specify the missing values if the destination type is Expense. Since budget and variance account rules take the charge account value for Expense destination types, the Account Generator tries to construct these accounts as soon as you manually provide a charge account if it was unable to find one during the initial build attempt.
Consistent with prior release's functionality, once the Account Generator successfully builds accounts for a document, it does not attempt to rebuild when you update the document. For example, if you build a custom process to generate the requisition charge account for Expense purchases based on requestor, and change the requestor after the Account Generator constructs the charge account, it will not attempt to rebuild.
Requisition Import does not use the Account Generator to construct charge, budget, accrual, or variance accounts. Any custom process that you create cannot be used by this utility.
The following is a description of each activity used in all of the processes and subprocesses in the PO Account Generator and the PO Requisition Account Generator, listed by the activity's display name. You can create all the components for an activity in the graphical Workflow Builder except for the PL/SQL stored procedures that the function activities call. All function activities execute PL/SQL stored procedures which you must create and store in the Oracle RDBMS. The naming convention for the PL/SQL stored procedures is:
<PACKAGE>.<PROCEDURE>
<PACKAGE> is the name of the package that groups all of the procedures. <PROCEDURE> represents the name of the procedure.
You can use the Item Type Definitions Web page to view <PACKAGE>.<PROCEDURE> names. See: Item Type Definitions Web Page.
Some function activities are not listed here, such as Start and End function activities. These are standard function activities provided in the Standard Flexfield Workflow item type. These also include the function activities Copy Values from Code Combination and Validate Code Combination. For information on how to use these function activities, see: Standard Flexfield Workflow.
Most of the function activities described here perform the same functions as described in the table in the section Using the Account Generator in Oracle Purchasing.
This function activity gets the accrual account for the expense item.
This function activity gets the accrual account for inventory and shop floor items from the organization.
This function activity gets the appropriate charge account for inventory items based on whether the item is an expense or asset item.
This function activity gets the charge expense account for expense items.
This function activity gets the budget account for inventory items from the subinventory.
This function activity gets the charge account.
This function activity gets the budget account for inventory items from the item.
This function activity gets the budget account for inventory items from the organization.
This is a standard Workflow comparison activity. Here, it is used to check if the Charge Account field on the document is null. See: Comparison Activities.
This function activity checks if encumbrance accounting is being used.
For an outside processing job, this function activity gets the charge account based on the resource cost element associated with the job.
In the PO Account Generator, this function activity replicates your accrual account FlexBuilder rules in the Account Generator. It calls the appropriate functions that were generated during your upgrade from Release 10.7.
In the PO Account Generator, this function activity replicates your budget account FlexBuilder rules in the Account Generator. It calls the appropriate functions that were generated during your upgrade from Release 10.7.
In the PO Account Generator, this function activity replicates your charge account FlexBuilder rules in the Account Generator. It calls the appropriate functions that were generated during your upgrade from Release 10.7.
In the PO Requisition Account Generator, this function activity replicates your accrual account FlexBuilder rules in the Account Generator. It calls the appropriate functions that were generated during your upgrade from Release 10.7.
In the PO Requisition Account Generator, this function activity replicates your budget account FlexBuilder rules in the Account Generator. It calls the appropriate functions that were generated during your upgrade from Release 10.7.
In the PO Requisition Account Generator, this function activity replicates your charge account FlexBuilder rules in the Account Generator. It calls the appropriate functions that were generated during your upgrade from Release 10.7.
In the PO Requisition Account Generator, this function activity replicates your variance account FlexBuilder rules in the Account Generator. It calls the appropriate functions that were generated during your upgrade from Release 10.7.
In the PO Account Generator, this function activity checks if the purchase order item is for a project in Oracle Projects.
In the PO Requisition Account Generator, this function activity checks if the requisition item is for a project in Oracle Projects.
In the PO Account Generator, this function activity replicates your variance account FlexBuilder rules in the Account Generator. It calls the appropriate functions that were generated during your upgrade from Release 10.7.
For an outside processing schedule, this function activity gets the charge account based on the resource cost element associated with the schedule.
For shop floor items, this function activity checks if the outside processing type is Job or Schedule.
This function activity gets the variance account for inventory and shop floor items from the organization.
This function activity checks if the destination type of the item is Inventory, Shop Floor, or Expense.
This function activity is not used by any process in the workflow, but is provided to aid in customizing the workflow. It can be used to create a customized error message. You must first define the message in the Oracle Applications Message Dictionary before it can be used by this function activity.
For instructions, see To use the Set Encoded Error Message function activity in the section Customizing the Account Generator for Oracle Purchasing.