Important Points on FBDI for Initial On-Hand Load in Oracle Fusion Inventory

  

Key Considerations for Using FBDI in Initial On-Hand Load – Oracle Fusion Inventory

When an organization implements Oracle Fusion Cloud Inventory for the first time, one of the key tasks is to bring in the legacy stock balances into Fusion. This is done through the Initial On-Hand Load process, which establishes the opening balances of items across inventory organizations, subinventories, and locators.

The purpose of this blog post is to highlight and document the key considerations when using the File-Based Data Import (FBDI) template for Initial On-Hand Load in Oracle Fusion Inventory. Getting it right ensures that the system reflects accurate inventory positions, supports smooth transaction processing, and provides a reliable baseline for costing and valuation.

This post brings together the practical points, common pitfalls, and best practices that every consultant, implementer, or business user should be aware of before executing the on-hand load. By following these guidelines, you can minimize errors, streamline the migration process, and achieve a clean and validated inventory cutover into Oracle Fusion.

1.      Purpose of Initial On-Hand Load

  • To migrate existing stock quantities from legacy/previous ERP systems into Oracle Fusion.
  • Provides a baseline inventory position for go-live.
  • Serves as the starting point for all subsequent transactions (receipts, issues, transfers, work orders, etc.).
  • Ensures inventory valuation and costing can begin correctly from day one.

2.      Standard Practice: On-Hand Load via FBDI

The most widely used method is File-Based Data Import (FBDI)Oracle Fusion Inventory Management supports FBDI for Miscellaneous Receipt transactions, providing an efficient way to upload large volumes of data. With its structured and repeatable framework, FBDI is ideal for businesses managing high transaction volumes or undergoing frequent data migrations, helping ensure accuracy, speed, and control in inventory operations.

  • Template: InventoryTransactionImportTemplate.xlsm
  • Import Process:
    1. Populate the template with item balances.
    2. Generate the CSV, zip it, and upload to UCM.
    3. Run scheduled process Load Interface File for Import.

Import process = Create Inventory Transactions

Data File: Select the CSV File uploaded in the UCM folder

    1. Run Manage Inventory Transactions to move data into Fusion base tables.
    2. Verify quantities using Manage On-Hand Quantities UI.

3.      Prerequisites

  • Items must be defined and assigned to respective inventory organizations before on-hand load.
  • Subinventories and locators must be created and active.
  • UOM and conversions (if required) must be set up.
  • Cost profiles, valuation structures, and costing setups should be ready if Costing is enabled.

4.      Key Mandatory Fields/Columns in FBDI Template

  • *ORGANIZATION_NAME → Inventory Organization Name in which the on-hand quantities are to be loaded
    • Make sure to enter the exact name of the organization as per the setup.
  • *PROCESS_FLAG → 1
    • This flag indicates whether transaction is ready to be processed by the Transaction Manager or Worker.
    • Keep it 1 for all the records to be loaded in the FBDI file for on-hand quantities.
  • *TRANSACTION_MODE → 3
    • This flag indicates whether the transaction is to be processed in immediate (1), concurrent processing mode (2) or background processing mode (3).
    • Best practice is to keep it 3 for using the background processing mode to process the bulk records without impacting the system performance.
  • LOCK_FLAG → 2
    • This flag indicates whether the transaction is locked by the Transaction Manager or Workers ('1' for locked, '2' or NULL for not locked).
    • This prevents two different Workers from processing the same transaction.
    • You should always keep it 2 indicating that the transaction is not locked and is ready to be processed by the Transaction Manager or Worker.
  • ITEM_NUMBER → Item for which the on-hand quantities are to be loaded.
    • This refers to the Item Number from Oracle Fusion system.
    • The Items must be created and assigned to the organization beforehand.
    • If there is a requirement to capture the item numbers from the legacy system for future reference purposes, then a cross
  • SUBINVENTORY_CODE → The Subinventory Name in which the on-hand quantities are to be loaded.
    • Subinventory must be created before using it in the FBDI template.
  • LOCATOR (if applicable)
    • This is required if the subinventory is locator controlled.
    • Enter the Locator Code in the appropriate segment e.g., LOC_SEGMENT4 if you are using only Aisle for tracking the locators.

  • *SOURCE_CODE
    • This indicates a transaction source identifier.
    • It is used for auditing and process control purpose hence it is prudent to use some meaningful name here as this is a Free Text entry with limitations of 30 varchar.
    • The codes like PRODCONVERSION, UATCONVERSION, CRPCONVERSION, PRODCONVERSIONPHASE1, PRODCONVERSIONPHASE2 etc. can be used in the FBDI file.
  • *SOURCE_HEADER_ID
    • You can have a common source header ID in the FBDI file.
    • This will be populated as Transaction Header ID.
    • The Transaction Header ID can be used to execute the Create Inventory Transactions process.
  • *USE_CURRENT_COST → This flag indicates whether the current item cost will be used for the transaction or cost will be entered by item cost component.
    • Y - signifies current cost will be used.
    • N - signifies cost will be entered by item cost component.
    • If the value for USE_CURRENT_COST is set as 'N' then it is mandatory to pass a value for 'TRANSACTION_COST_IDENTIFIER'.
    • This cost identifier will be the same value that is used in the 'CST_I_INCOMING_TXN_COSTS' tab in the import template, and it will have the cost mentioned with the COST_COMPONENT_CODE.
  • TRANSACTION_TYPE_NAME → Miscellaneous Receipt
    • This indicates the Transaction Type Name.
    • The values are based on Transaction Type Name in INV_TRANSACTION_TYPES_TL.
    • The best practice is to use the standard transaction type as Miscellaneous Receipt for loading the on-hand quantities.
    • This is case sensitive, so it is critical to ensure that the transaction name is correctly entered.
  • *TRANSACTION_QUANTITY → The On-hand quantity to be loaded in the respective combination
  • TRANSACTION_UOM → UOM in which stock is maintained.
    • Populate TRANSACTION_UOM field with correct value.
    • Please note that TRANSACTION_UOM field is the UOM code in which the on-hand is available.
    • This field is meant for internal UOM_CODE, however  TRANSACTION_UNIT_OF_MEASURE field is meant for UOM display name.
  • TRANSACTION_DATE
    • This indicates the actual Transaction date as per the legacy system.
    • There is no timestamp used.
    • Date must be entered in YYYY-MM-DD format.
    • The transaction date validation happens with reference to number of days mentioned in the below profile.
      • ORA_INV_TRANSACTION_CREATION_DATE_VALIDATION


    • This validation will work only if the profile INV_TRANSACTION_DATE is setup No validation (Profile Level = Site).

    • The Transaction Date on the INV_TRANSACTIONS_INTERFACE has to be in correct format. Whatever date is provided in the spread sheet please remember to search the transaction in UI with the same date.
    • The Search Completed Transaction UI always defaults to the current date. So, if correct Transaction Date is not provided, the system won't show the transaction.

·       For Lot or Serial Controlled item INV_TRANSACTION_LOTS_INTERFACE and INV_SERIAL_NUMBERS_INTERFACE tabs must be populated with the correct data.

·       On the FBDI spreadsheet when populating inventory data with lots or serials, there should be logical links among all the tabs.

o   e.g., If the Transaction data the Transaction Quantity is specified as 20, there should be a total of 20 Serial numbers.

o   If on the serial number tab, the FM_SERIAL_NUMBER is "A001" either "A020" has to be provided on TO_SERIAL_NUMBER field or 20 lines have to be entered with value in FM_SERIAL_NUMBER field.

 

5.      Special Scenarios to Consider

·       Lot-controlled items → mandatory lot number.

·       Original Lot Expiration Dates and Actual Aging.

·       Serial-controlled items → serial list required.

·       Project-driven supply chain → project/task mandatory.

 

6.      Post-Load Validation

  • Use Manage On-Hand Quantities screen in Inventory to confirm the quantities loaded.
  • Cross-check with legacy stock reports.
  • Run Inventory Valuation Reports if costing is active.
  • Perform a sample transaction (e.g., issue/receipt) to validate downstream accounting.

 

7.      Key Takeaways:

·       Initial On-Hand Load is a one-time, business-critical activity during Oracle Fusion Inventory go-live.

·       Using FBDI with appropriate transaction type, organizations bring in clean, validated stock balances into Fusion without impacting GL.

·       Strong pre-checks, proper mapping of lot/serial/project attributes, and reconciliation are key to a smooth cutover.

·       Perform a trial run with a limited set of items before full load.

·       Break files into manageable sizes (e.g., <50k records per file).

·       Ensure data cleansing in legacy system (no negative or duplicate balances).

·       Use unique transaction references for traceability, easy identification & troubleshooting.

·       Validate quantities with legacy data before posting.

·       Reconcile on-hand quantities with legacy reports after import.

·       Plan for cut-off timing (stop legacy transactions before load to avoid mismatch).

·       Do not use FBDI approach for regular transactions after go-live  use normal Fusion transactions instead.

 

No comments:

Post a Comment

In-transit Inventory Ownership in Oracle Fusion

  Understanding In-Transit Inventory Ownership in Oracle Fusion Internal Transfers   In Oracle Fusion Inventory Management, the ownershi...