How to Export an Indented (Multi-Level) BOM from SyteLine
how to export an indented bom from syteline
Also searched as
- syteline multi level bom to excel
- syteline bom explosion sql
- syteline export bill of material csv
Short answer
You can get an indented BOM out of SyteLine three ways: run the BOM report with the multi-level option and export it, use the grid export on the job material or BOM form for single levels, or run a recursive SQL query against the BOM tables for a full multi-level explosion. The SQL route is the most reliable for many parents at once.
Applies to: Infor SyteLine 8.x and CloudSuite Industrial (CSI) on SQL Server; table and column names should be verified against your version before use
How to export a multi-level BOM
- 1Decide scope: one parent item, a family, or every active parent. Single parents suit the application; large exports suit SQL.
- 2In the application, open the BOM or bill of material report from the forms list, choose the item and set the option to explode all levels if available, then send output to a file or Excel through report options.
- 3For a quick single-level list, open the BOM maintenance form for the item, use the grid's export to Excel option and repeat for each sub-assembly.
- 4For a full explosion, run a recursive query on a reporting copy or with read-only access (sample below), adjusting names to your version.
- 5Include the fields you need: level, parent, component, quantity per, unit of measure, scrap, effective dates and operation number.
- 6Save to CSV or paste into Excel, then check a known assembly by hand to confirm the quantities and levels.
- 7Decide how to treat phantoms, alternates and effectivity so the export matches what planning actually uses.
How SyteLine stores the BOM
SyteLine keeps manufacturing BOM data in the job structures: a standard job holds the material lines in the job material table and the operations in the job route table, and each item points to its standard job. Because of that, a BOM export is a join between the item and its standard job material, and a multi-level export is that join repeated for each component that has its own standard job.
Always query through the site views where your installation uses multi-site tables, and filter by site. Querying the base tables across sites can mix data and produce duplicates.
Sample recursive query
The following sketch shows the idea. It starts from one parent, walks its components and multiplies quantities by level. Verify column names against your schema, and add filters for effective dates and for the site. Treat it as a starting point, not a drop-in script.
Add a cycle guard in real use: a BOM that refers back to itself will loop. Limit recursion depth with OPTION (MAXRECURSION n) and investigate any item that hits the limit.
WITH bom AS (
SELECT 0 AS lvl, i.item AS parent, m.item AS component,
m.matl_qty AS qty_per, CAST(m.matl_qty AS decimal(28,8)) AS ext_qty,
i2.job AS child_job, i2.suffix AS child_suffix
FROM item i
JOIN jobmatl m ON m.job = i.job AND m.suffix = i.suffix
LEFT JOIN item i2 ON i2.item = m.item
WHERE i.item = 'PARENT-ITEM'
UNION ALL
SELECT b.lvl + 1, b.component, m.item, m.matl_qty,
CAST(b.ext_qty * m.matl_qty AS decimal(28,8)),
i3.job, i3.suffix
FROM bom b
JOIN jobmatl m ON m.job = b.child_job AND m.suffix = b.child_suffix
LEFT JOIN item i3 ON i3.item = m.item
)
SELECT lvl, parent, component, qty_per, ext_qty FROM bom
ORDER BY lvl, parent, component
OPTION (MAXRECURSION 20);Making the export trustworthy
A BOM export is only useful if it matches what planning uses. Decide how to handle phantom assemblies (pass through), alternate components, scrap and effective dates. If you ignore effectivity you will export obsolete components alongside current ones.
Reconcile a few assemblies against the application's own display, and compare totals such as the number of distinct components. Exports are often used for costing and for PLM comparison, where small errors compound.
Try it here, free
Recursive BOM Explosion SQL CTE Generator
Builds a recursive common table expression that explodes a multi-level BOM with extended quantities, plus a where-used query, using your own table and column names.
Common pitfalls
- !Querying across sites without a site filter and getting duplicate lines.
- !Ignoring effective dates and exporting obsolete components.
- !Forgetting a recursion limit and looping on a circular BOM.
- !Treating phantoms as real stocked assemblies in cost roll-ups.
- !Running heavy queries against the live transactional database during working hours.
How an ERP-grounded AI assistant handles this
Writing and checking recursive BOM queries is a good task for SyteRay: it can generate the explosion for your version, flag circular references and items without a standard job, and explain the result. It works read-only, shows the SQL it ran and can run on-prem so engineering data never leaves your network.
Frequently asked questions
Does SyteLine have a built-in indented BOM report?
There are BOM reports with multi-level options, and the available forms vary by version and customization. Search the forms list for bill of material reports and test with a known assembly.
How do I get a multi-level BOM into Excel?
Export a report to file or Excel from the report options, or run a recursive SQL query and save the results as CSV. SQL is better for large numbers of parents.
Where is the BOM stored in SyteLine?
In the job material and job route tables of standard jobs, which the item record points to. Verify table and column names against your version.
Is it safe to run the query on production?
Prefer a reporting copy or off-hours with read-only access. Recursive queries on large BOMs can be heavy, so test with a limited scope first.
Related
How to Maintain the BOM and Routing in SyteLine
In SyteLine the manufacturing structure for an item is a standard (type S) job: its material lines are the BOM and its operation lines are the routing. You maintain it from the item's BOM and routing forms, set effectivity dates, then let new job orders pull a copy. Existing jobs do not update automatically, which is where most confusion comes from.
AdvancedHow to Build SQL Views for Custom SyteLine Reporting
Reports should read from purpose-built SQL views, not directly from SyteLine's core transactional tables, so an Infor patch cannot silently break them and heavy report queries do not lock rows the ERP itself needs. Put custom views in their own schema or under a clear naming convention, build them on stable base tables, and grant reporting tools read access to the views only.
How-toHow to Run a Cost Rollup in SyteLine
Run Item Cost Rollup from Product Definition > Costing > Cost Rollup, select the site and item range, run it in Simulate mode first to review variances, then run it live to post new standard costs to Item records and the Costed Bill of Material.
How-toHow to Sync the BOM Between PLM and ERP
Make PLM the system of record for the engineering BOM (EBOM) and ERP the system of record for the manufacturing BOM (MBOM), and push only released data from PLM to ERP on a change-release event. Never edit the same BOM structure in both systems, and treat every failed transfer as a visible work item, not a silent log line.
Error fixFixing SyteLine's 'Object reference not set to an instance of an object' error
This is a generic .NET NullReferenceException surfacing through the SyteLine IDO Runtime, not a SyteLine-specific error code. It almost always means a form, script or IDO method referenced a field, row or object that came back null, usually after a customization, a missing related record, or a view/IDO method call before the form finished loading. Turn on detailed client logging and check the most recent customization or form event first.
Error fixDiagnosing and fixing SyteLine session timeout errors
SyteLine session timeouts come from one of three independent layers: the IDO Data Service session timeout on the app server, the IIS/application pool idle timeout for the web (Mongoose Web) client, or a load balancer/proxy idle timeout in front of a CloudSuite hosted environment. Fixing the wrong layer is the most common mistake - you need to identify which layer is actually expiring the session before changing anything.
AI for ERPAI for Infor SyteLine and CloudSuite Industrial
Add grounded AI to Infor SyteLine or CloudSuite Industrial: natural-language answers, agents over IDOs and ION, on-prem or CloudSuite deployment.
AI for ERPAn Air-Gapped Private LLM for SyteLine, Built for Defense Suppliers
Deploy a private LLM on an air-gapped network alongside Infor SyteLine for defense suppliers: no internet egress, ITAR and CMMC-aware architecture.
Stuck on Infor SyteLine (CloudSuite Industrial)?
Talk to engineers who work inside Infor SyteLine (CloudSuite Industrial) every week, and who build private AI that answers these questions from your own ERP data.
Keep exploring
Free tools
- Recursive BOM Explosion SQL CTE GeneratorBuilds a recursive common table expression that explodes a multi-level BOM with extended quantities, plus a where-used query, using your own table and column names.
- BOM Explosion Requirements WorksheetExplode a bill of materials into component requirements, with quantity per, scrap allowance and extended cost for each line.
- BOM Cost Rollup Recursive CTE SQL GeneratorName your BOM and cost tables and get a recursive SQL query that explodes a bill of material and rolls up purchased component cost.
ERP fixes and how-tos
- How to Maintain the BOM and Routing in SyteLineHow to add components, operations and effectivity dates to a SyteLine bill of material and routing, and why edits do not reach jobs that already exist.
- Work order (job) item, status and routing tables in SyteLineWhere SyteLine stores work orders (jobs), routings, operations and materials: job, jobroute, jobmatl, jobtran tables, status values and sample SQL queries.
- SyteLine alternate routing and alternate BOM: a worked exampleA worked example of alternate routings and alternate BOMs in SyteLine, and how planning and job orders choose between them. Includes checks and pitfalls.
Guides
- AI-Powered BOM Optimization for Infor SyteLineOptimize SyteLine Bill of Materials with AI. Automated BOM validation, cost rollups, and engineering change management for Infor CloudSuite Industrial.
- How to Configure SyteLine Data Export AutomationConfigure automated data exports from SyteLine CloudSuite Industrial. Learn scheduled report generation, CSV/Excel exports, FTP delivery, and custom export templates.
- How to Set Up Phantom BOM Items in Infor SyteLineStep-by-step guide to setting up phantom BOM items in Infor SyteLine for simplified production planning, including item configuration, BOM explosion, and MRP behavior.
AI on your ERP
- AI for Infor SyteLine and CloudSuite IndustrialAdd grounded AI to Infor SyteLine or CloudSuite Industrial: natural-language answers, agents over IDOs and ION, on-prem or CloudSuite deployment.
- On-Prem AI for CloudSuite Industrial, Without the Multi-Tenant Cloud MoveAdd generative AI to CloudSuite Industrial without moving to Infor's multi-tenant cloud. On-prem private LLM options for CSI, with governance and audit built in.