- Home
- Blog
- EDGEBIC How-To
- How to Add a Sub-Assembly to a Routing in EDGEBIC
To add a sub-assembly to a routing in EDGEBIC by User Solutions you drag the component onto the Designer canvas, link it to the step that consumes it, and set its per-unit quantity. The component becomes a sub-assembly automatically, because it carries a routing of its own, and the scheduler plans that routing whenever the parent product is scheduled, as long as the include sub-assemblies policy is left on, which it is by default.
A sub-assembly is the point where a routing stops being a flat list and becomes a tree. For the wider visual editor, see modeling sub-assemblies on the design canvas. This post is the single task of attaching one.
Before You Start
- The component must have its own routing. That is the whole condition for it being a sub-assembly rather than a plain consumed material. A frame with weld and paint steps ending at the frame as its own end product qualifies; a bought-in casting does not.
- The parent product's routing already exists, and the operation that consumes the component is on it.
- You know the per-unit quantity: one frame per finished unit is 1, not the order total.
Adding the Sub-Assembly
- Open the BOR tab, select the parent product's routing, and click Designer on the toolbar.
- In the Toolbox on the left, open the Products group and drag the component onto the canvas. A new node appears where you drop it.
- Click the Draw Connector toggle, then drag from the component node to the step that consumes it. The arrow makes the component feed that operation.
- Select the component node. In the Properties panel on the right, set its Product Settings: Quantity (how many per parent unit) and Lead Time (days) if the component also needs procurement lead time on top of its manufacturing.
- Hover the node. Because the component has its own routing, its tooltip and properties identify it as ★ Sub-assembly. This is EDGEBIC telling you it recognized the component as manufactured, not merely consumed.
- Click Update to save the parent routing.
The same relationship reads in Data Grid mode as a component row with a ★ marker beside its name, the tooltip Sub-assembly (this product has its own BOR and is exploded at schedule time), and a View Subs button that previews the child routing read-only. Use the grid to confirm what you built on the canvas.
What makes a sub-assembly different from a plain material is worth being precise about, because the two look almost identical in the grid. A plain material is consumed and nothing more, so the scheduler assigns it instantly and books no capacity. A sub-assembly is manufactured, so the scheduler plans the operations that make it, on their own work centers, timed to feed the consuming step. You do not switch this on with a setting. EDGEBIC decides it from the component's own data: a component that carries an active routing becomes a sub-assembly, and one that does not stays a plain material. The star marker is simply that decision made visible.
The timing is the part that earns the feature its keep. Rather than treating the frame as available the instant assembly wants it, the scheduler works backward from the assembly step and places the frame's weld and paint operations so the frame is finished just in time. Those child operations compete for real capacity on their own machines like any other work, so a busy weld cell can push a frame late and, through it, the parent step. That is why a sub-assembly is scheduled, not merely reserved, and why its work shows as bars on the Gantt.
What Changes When You Save
| Surface | Effect |
|---|---|
| New manufacturing orders for the parent | Also plan the sub-assembly's steps, timed to feed the consuming operation |
| The sub-assembly's work centers | Book real capacity for the child operations |
| Parent header totals | Reflect the component's per-unit quantity and cost; child hours belong to the child routing |
| Jobs already scheduled | Unchanged, because each parent job carries its own frozen routing copy |
| Deep chains | Explode recursively, each level timed to feed the one above |
Worked through: a 100-unit order for the parent, with a frame sub-assembly at one per unit, also plans 100 frames. If the frame routing is weld at 0.4 hours a unit then paint at 0.1, the scheduler books 100 frames through weld and paint, timed so the frames are ready when the parent's assembly step needs them. The child operations sit on their own work centers, and they show as their own bars on the Gantt.
How to Check It Worked
Hover the component node and confirm the ★ Sub-assembly identification. A component with no star is a plain material, which means the child routing does not exist yet.
Use View Subs in the grid to preview the child routing read-only. It should show the operations you expect, ending at the component as its own end product.
Then schedule a test order for the parent and read the Job View Gantt. The sub-assembly's operations should appear as their own bars, on their own work centers, finishing before the parent step that consumes them. If they do not appear at all, the component is still a plain material and the star is missing.
Common Mistakes
No routing on the component. Without its own routing, the component is a plain material with no star and no explosion. Build the child routing first: see adding a material step to a routing for the difference, and how to create a routing step by step for building the child.
Attaching it to the wrong operation. The link decides how much of the sub-assembly's lead time hits the parent's finish date. Feeding the first step puts the whole child on the critical path; feeding final assembly may cost the job nothing.
Entering the order quantity as per-unit quantity. One per unit is 1. Typing the order total multiplies again, so a 100-unit order tries to build 10,000 frames.
Double-counting travel. If the component needs both manufacturing and procurement time, set its lead time on the component, not transit days on the consuming parent step.
Expecting the parent's hours header to include the child. The parent's Estimated Hour per unit = covers the parent's own operations. The child routing carries its own hours, and the two are scheduled together but summarized separately.
Next Steps
For components that are bought rather than built, adding a material step to a routing is the right task. For connecting the nodes themselves, see how to connect two steps in the routing Designer. The full task library is at the EDGEBIC how-to hub, and the platform overview is at EDGEBIC.
Expert Q&A: Deep Dive
Q: We added a welded frame as a sub-assembly and it shows as a plain material with no star. What is wrong?
A: The frame has no routing of its own yet. The star and the sub-assembly behavior only appear once the component carries an active routing, because that routing is what the scheduler explodes. Build the frame's routing first: its weld and paint steps, ending at the frame as its own end product. Reopen the parent routing and the frame row picks up the star automatically, and its steps schedule with the parent from then on.
Q: Does a sub-assembly delay the parent job, or does it run in parallel with the earlier operations?
A: It runs on its own work centers and is timed to be ready when the consuming step starts, so whether it delays the parent depends on where it feeds. A frame that feeds final assembly can be built while the parent's earlier operations run, and it costs the job nothing if it finishes in time. A frame that feeds the first operation sits at the front and its lead time is fully on the critical path. Attach the sub-assembly where the work actually consumes it.
Frequently Asked Questions
Ready to Transform Your Production Scheduling?
User Solutions has been helping manufacturers optimize their production schedules for over 35 years. One-time license, 5-day implementation.

User Solutions Team
Manufacturing Software Experts
User Solutions has been developing production planning and scheduling software for manufacturers since 1991. Our team combines 35+ years of manufacturing software expertise with deep industry knowledge to help factories optimize their operations.
Share this article
Related Articles
How to Create a Watched-File Integration in EDGEBIC
Create a watched-file integration in EDGEBIC: point it at the file your ERP drops, pick the target entity and import mask, set the debounce, and let a new file trigger the run.
How to Rehearse an Integration With the EDGEBIC Simulator
Use the built-in Simulator to provision demo data, watch real integration runs happen, and prove the mechanism before you point anything at a live ERP. Includes the tear-down rule.
How to Run an Integration Now and Pause All Schedules in EDGEBIC
Force one integration to run with Run Now, cancel a run in progress, disable a single definition, or tick Pause all schedules to stop every automatic sync for the session.
