BOM Bill of Materials Upload creates and updates standard bills of material in Oracle EBS from Excel – the bill header, its components and component substitutes – through the standard BOM business object API. Primary and alternate bills are supported; common bills are not. The upload maintains bills only; it does not create the assembly or component items, routings or organizations.
When to use it
- Mass-create new bills of material for many assemblies instead of entering them in the Bills of Material form.
- Add components to existing bills, or change their quantity, yield, planning percent, supply type, supply subinventory and locator.
- Retire components by end-dating them, or move them to another operation sequence or effectivity date.
- Add, replace or remove substitute components across many bills.
- Create alternate bills.
- Populate bill, component or substitute descriptive flexfields in bulk.
Before you start
- The upload is available in your responsibility, and the inventory organization is one your responsibility can access.
- The assembly item exists in the organization and is BOM allowed, and the component and substitute items exist in the organization.
- If the assembly has a routing, any Operation Seq you enter exists on it.
Choose a template
| Template | Use it for |
|---|---|
| BOM Upload Template (default) | Bill, component and substitute maintenance. |
| BOM Upload Template with DFF Attributes | The same columns plus the bill, component and substitute descriptive flexfield columns. |
Step 1 – Set the parameters
Open BOM Bill of Materials Upload in Blitz Report, choose the template and set the parameters:
| Parameter | Meaning |
|---|---|
| Upload Mode | Create opens an empty sheet for new bills; Create, Update (default) downloads existing bills for editing and lets you add new bills and components. |
| Organization Code | The inventory organization whose bills are downloaded. |
| Restrict Organization | Leave at the default Yes. |
| Assembly | Downloads the bill of this assembly. Leave blank for all bills of the organization. |
| Alternate BOM | Downloads this alternate bill. Leave blank for the primary bill. |
| Include Sub-Assemblies | Yes also downloads the bills of the sub-assemblies on the selected bill. |
| Implemented Only | Yes downloads implemented components only. |
| Display | Which components to download by effectivity: All, Current or Future and current (default), relative to the Effective Date. |
| Effective Date | The date the Display option is evaluated at. Defaults to now. |
Step 2 – Run to download the Excel file
Click Run. The Excel file downloads and opens with one row per component (and per substitute), or an empty sheet in Create mode.
Step 3 – Enter or change the bill and its components
Each row is one component of a bill. The bill is identified by Organization Code, Assembly Item and, for an alternate bill, Alternate BOM, repeated on every component row; Bill Comment is the only header field. For a new component enter the Component Item, Item Seq, Operation Seq (1 when the assembly has no routing; blank defaults to 1), Component Quantity and Date Effective From (required). Inverse Quantity follows the Component Quantity automatically. On a downloaded component change the quantity, Yield, Planning Percent, Include In Cost Rollup, Supply Type, Supply Subinventory or Supply Locator; changing its Operation Seq or Date Effective From moves the existing component rather than adding a new one. To retire a component, set its Date Effective To. To create a new bill, enter rows with a new Assembly Item and its components.
For substitutes, enter the Substitute Item and Substitute Quantity on the component’s row. Replacing the substitute item on a downloaded row replaces the substitute; clearing it removes the substitute.
Step 4 – Validate and Save
Click Validate and Save. This checks for missing required values and saves the file. Correct any rows it flags before uploading.
Step 5 – Upload the file
In Blitz Report click Upload and select the saved file. This submits the upload request, which processes each bill with all its changed rows in one call to the BOM API: end-dated components first, then the active components and their substitutes.
Step 6 – Review the result report
When the request completes, a result report opens listing every uploaded row with its status and message. The message applies to the whole bill, for example BOM Successfully Created or BOM Successfully Updated.
What’s produced
- Created and updated bills of material with their components and substitutes.
- A result report listing every row with a status (success or error) and a message.
Common questions
How do I delete a component from a bill?
Set its Date Effective To. Components are end-dated, not deleted. Substitutes are removed by clearing the Substitute Item.
Do I need to set an action?
No. The upload creates or updates each bill, component and substitute depending on whether it already exists.
Why was my whole bill rejected when only one row is wrong?
A bill is processed as a unit. If any of its rows fails validation, or the BOM API rejects one of its components, none of the bill’s changes are saved and every row of that bill shows the error.
Can I maintain common bills?
No. Common bills are neither downloaded nor created by the upload.
How do I load descriptive flexfield values?
Use the BOM Upload Template with DFF Attributes template, which adds the bill, component and substitute context and attribute columns with lists of values.
Troubleshooting
| Message | Cause | What to do |
|---|---|---|
| You cannot update an existing BOM in Create Upload Mode | The bill already exists and Upload Mode is Create. | Download it in Create, Update mode and change it there. |
| Date Effective From is required | A component row has no Date Effective From. | Enter a Date Effective From on every component row. |
| One or more rows for this BOM have an error | Another row of the same bill failed validation, so the bill was not processed. | Correct the flagged row(s) of the bill and upload again. |
| Error: 1:… (n/table) | The BOM API rejected a component or substitute of the bill; the text lists each API message. | Correct the value named in the message (for example an operation sequence not on the routing) and upload the bill again. |
| BOM DFF Error / Component DFF Error / Substitute DFF Error | A descriptive flexfield value is invalid for its context. | Pick the values from the column lists of values. |





