# 4. The Vertical Integration Path

*Read this section if you own CNC equipment and manufacture in-house*

### When ERP Makes Sense (and When It Doesn't)

Enterprise Resource Planning (ERP) systems can be powerful tools for manufacturers, but they're expensive and complex. Let's be realistic about when integration makes sense.

#### The ERP Promise vs. Reality

**The promise:**

* Seamless data flow from design to shop floor
* Real-time visibility into production
* Accurate job costing
* Automated work order generation
* Integrated inventory management
* Financial system connection

**The reality:**

* Complex implementation (12-36 months)
* Expensive ($100K-$1M+ total investment)
* Requires significant IT capability
* Staff training burden
* Ongoing maintenance costs
* May not fit timber industry workflows well

***

#### Decision Criteria: Should You Pursue ERP Integration?

**Green Lights (Positive Indicators)**

**Production volume:**

* ✓ >100 components per day
* ✓ >50 repetitive projects per year
* ✓ Multiple concurrent orders

**Internal operations:**

* ✓ 4+ internal work centers
* ✓ Complex routing with dependencies
* ✓ Make-to-stock or standardized products

**Financial drivers:**

* ✓ Accurate job costing critical for bidding
* ✓ Thin margins requiring tight cost control
* ✓ Customer requirements for cost transparency

**Operational needs:**

* ✓ Shop floor bottlenecks need identification
* ✓ Machine utilization tracking important
* ✓ Quality data collection systematic

***

#### Alternative: Manufacturing Execution System (MES)

**What is MES:**

* Lighter-weight than full ERP
* Focus: shop floor visibility and control only
* No financials, no full BOM, no complex routing

**When to consider:**

* Need shop floor tracking but not full ERP
* Want production visibility without complexity
* Budget $25K-$100K instead of $100K-$1M
* Faster implementation (3-6 months)

**Example MES features:**

* Work order tracking
* Machine status monitoring
* Labor time collection
* Quality data recording
* Simple material tracking

**MES may be the sweet spot for timber manufacturers.**

***

### 8. The Integration Challenge: Why This Is Hard

If you decide to pursue integration, understand what makes it difficult.

#### The Fundamental Problem: Geometric vs. Abstract Data

**Dietrich's thinks geometrically:**

* Components exist in 3D space
* Relationships are spatial (beam connects to column at coordinates X,Y,Z)
* Orientation matters (which face is up, which direction is grain)
* Reference axes and sides define processing
* Assembly sequence driven by geometric relationships

**ERP thinks abstractly:**

* Components are part numbers and quantities
* Relationships are hierarchical (parent-child BOMs)
* Operations are sequential steps (work center A, then B, then C)
* No spatial understanding
* Assembly sequence is explicit list

**The translation is lossy.**

***

#### What Gets Lost in Translation

**1. Reference Axes and Orientation**

**Dietrich's knows:** "Beam B-101 oriented with grain parallel to length, reference axis at bottom left, cut notch on Side 3 (top face), 2000mm from end"

**ERP knows:** "Part B-101, route to Work Center 3 (CNC), operation: notch"

**What's lost:** Which face, which end, which orientation

***

**2. Spatial Relationships**

**Dietrich's knows:** "Component A connects to Component B via mortise-tenon joint at coordinates \[X,Y,Z], must be installed before Component C due to geometric interference"

**ERP knows:** "Component A, Component B, Component C in BOM, sequential operations"

**What's lost:** Why the sequence, how they physically fit, what conflicts exist

***

**3. Assembly Logic**

**Dietrich's knows:** "These 12 studs must be assembled into element W-201 in specific positions (16" o.c.), with top plate, bottom plate, and sheathing in precise relationship"

**ERP knows:** "Assembly A requires: 12x Stud, 1x Top Plate, 1x Bottom Plate, 2x Sheathing Panel"

**What's lost:** Precise positioning, assembly sequence, geometric constraints

***

#### The BOM Challenge

**ERP wants hierarchical BOMs:**

```
Wall Panel W-201 (Parent)
├── Top Plate x1 (Child)
├── Bottom Plate x1 (Child)
├── Stud x12 (Child)
├── Sheathing OSB x2 (Child)
└── Hardware Kit x1 (Child)
```

**Dietrich's reality:**

* Components exist in 3D space, not hierarchy
* Relationships are geometric, not parent-child
* MOS Elements approximate assemblies but lose detail
* Not everything fits into neat BOM structure

**Mapping strategies:**

1. **Flat BOMs:** All components at one level (simple but loses structure)
2. **Element-based BOMs:** Elements become BOM parents (loses geometric detail)
3. **Hybrid:** Use both depending on component (complex to maintain)

**None are perfect.** Choose the least-worst option for your situation.

***

#### The Routing Challenge

**ERP wants explicit routing:**

```
Part: Stud S-042
Routing:
  Op 10: Cut to length (Work Center 1) - 3 min
  Op 20: CNC notching (Work Center 2) - 12 min
  Op 30: Inspection (Work Center 3) - 2 min
  Op 40: Move to assembly (Work Center 4) - 1 min
```

**Dietrich's provides:**

* Detailed machine file with 47 CNC operations
* But these are at tool-path level, not work-center level
* No standard times (varies by operator, setup, batch size)
* Setup times not included

**The gap:**

* Dietrich's machine files too detailed for ERP
* ERP routing too abstract for Dietrich's
* Translation requires business rules and assumptions
* Standard times must be determined separately

***

#### The 2D Drawing Problem

**Remember from Part 2:**\
2D drawings remain the binding specification.

**But:**\
ERP doesn't work from drawings - it works from data.

**The conflict:**

* If ERP data and drawings diverge, which is correct?
* Quality control still references drawings, not ERP
* Site crews use drawings, not ERP printouts

**Resolution:**

* Keep drawing supremacy (ERP for tracking only), OR
* Parallel systems with manual verification (safest but most work)
* NEVER make ERP data the binding spec (too risky)

***

### 9. MOS to ERP Mapping: What Can Work

Despite the challenges, some mappings work reasonably well:

#### MOS Groups → Work Centers

**Strategy:** Use MOS Groups to indicate routing/work center assignment.

**Example:**

* MOS Group `-1` → Hundegger CNC (Work Center 100)
* MOS Group `-2` → K2 CNC (Work Center 200)
* MOS Group `-3` → Hand Assembly (Work Center 300)
* MOS Group `-4` → Finishing (Work Center 400)

**In ERP:**

* Import material list with MOS Groups
* Business rule: "If MOS = -1, route to WC-100"
* Automatically generates work orders for correct centers

**Limitations:**

* Only works for simple routing (one primary work center)
* Doesn't handle complex multi-step routing well
* Still need to define operations and times manually

***

#### Packages → Shop Orders / Batches

**Strategy:** Map Packages to manufacturing batches or shop orders.

**Example:**

* Package "CNC-Batch-Tuesday" → Shop Order SO-2025-042
* Package "Assembly-Floor2" → Shop Order SO-2025-043

**In ERP:**

* Import material list grouped by Package
* Create shop order for each Package
* Track completion at Package level

**Benefits:**

* Maintains Dietrich's organizational structure
* Natural batching for manufacturing
* Simplifies scheduling

**Limitations:**

* Packages may contain diverse components
* Actual routing might be more complex
* Inter-package dependencies not captured

***

#### Elements → Assembly BOMs

**Strategy:** Use Elements to create assembly-level BOMs in ERP.

**Example:**

```
Dietrich's Element: "Wall-Panel-W201"
  Contains: 12 studs, 2 plates, 2 sheathing

ERP Assembly BOM: "PANEL-W201"
  Components:
    - STUD-2X6-96 (qty 12)
    - PLATE-2X6-120 (qty 2)
    - OSB-4X8-7/16 (qty 2)
```

**Benefits:**

* Captures assembly relationships
* Enables kitting (gathering parts for assembly)
* Supports assembly work orders

**Limitations:**

* Loses precise positioning information
* Assembly drawings still needed (not in ERP)
* Geometric relationships not captured

***

#### Item Numbers → Part Numbers

**Strategy:** Direct 1:1 mapping of Dietrich's item numbers to ERP part numbers.

**Example:**

* Dietrich's: "SPF-2x6-96" → ERP: "SPF-2x6-96"
* Dietrich's: "GL24h-200x400" → ERP: "GL24h-200x400"

**Benefits:**

* Simple and straightforward
* Maintains consistency
* Easy to verify

**Requirements:**

* Standardized item number system
* Material database in sync
* Clear naming conventions

***

#### Data Flow Diagram

```
DIETRICH'S                          ERP

MOS Groups                    →     Work Centers
  -1, -2, -3                         WC-100, WC-200, WC-300

Packages                      →     Shop Orders
  "CNC-Batch-Tuesday"                SO-2025-042

Elements                      →     Assembly BOMs
  "Wall-Panel-W201"                  BOM: PANEL-W201

Item Numbers                  →     Part Numbers
  "SPF-2x6-96"                      "SPF-2x6-96"

Material Lists               →     Manufacturing Orders
  Filtered by Package/MOS            Grouped by Shop Order

Components                   →     BOM Line Items
  Individual parts                   Quantities, specs
```

**Key principle:** Keep mappings as simple as possible. Complex mappings = maintenance nightmares.

***

### 10. Integration Options: Start Simple, Add Complexity Only If Justified

#### Level 1: Manual Export/Import (START HERE)

**How it works:**

1. Export material list from Dietrich's (filtered by Package)
2. Save as Excel/CSV
3. Manually import into ERP or copy-paste
4. Create work orders manually in ERP

**Pros:**

* ✓ Simple, low cost
* ✓ Full control over data
* ✓ Easy to verify and fix errors
* ✓ No development needed

**Cons:**

* ✗ Manual effort (30-60 min per export)
* ✗ Prone to human error
* ✗ Data not real-time
* ✗ Doesn't scale well (OK for 5-10 projects, not 50)

**When to use:**

* Testing integration concept
* Low project volume
* Proving value before investing
* Simple ERP with good import tools

**DO THIS FIRST.** Don't jump to complex automation until you've proven the manual process works.

***

#### Level 2: Batch File Transfer (MOST PRACTICAL FOR MOST)

**How it works:**

1. Configure Dietrich's material list export template
2. Schedule automatic export (nightly, weekly)
3. Export saves to shared folder (network drive, Dropbox)
4. ERP imports on schedule (scripted import)
5. Work orders auto-generated from imports

**Pros:**

* ✓ Automated (set and forget)
* ✓ Moderate complexity
* ✓ Testable and debuggable
* ✓ Can handle decent volume
* ✓ Not real-time but doesn't need to be

**Cons:**

* ✗ Still not real-time (batch delays)
* ✗ File handling complexity
* ✗ Error handling needed
* ✗ Requires IT involvement for setup

**Implementation:**

* Use standard file formats (CSV, XML)
* Clear folder structure and naming
* Error log files for failures
* Manual review/approval gate before final import

**Cost:** $5K-$25K for setup and configuration

**Timeline:** 1-3 months to implement

**This is the sweet spot for most timber manufacturers.**

***

#### Level 3: API Integration (COMPLEX AND EXPENSIVE)

**How it works:**

1. Custom code calls Dietrich's database directly
2. API extracts MOS data, component info, quantities
3. Transforms data to ERP format
4. API calls ERP to create BOMs, work orders, etc.
5. Operates in near-real-time or on-demand

**Pros:**

* ✓ Real-time or near-real-time
* ✓ Fully automated
* ✓ Scalable to high volume
* ✓ Can handle complex business logic

**Cons:**

* ✗ Expensive ($50K-$200K+ development)
* ✗ Requires API access to both systems (may not exist)
* ✗ Fragile (breaks when either system updates)
* ✗ Ongoing maintenance burden
* ✗ Requires skilled developers

**When justified:**

* High volume (50+ projects, 200+ components/day)
* Real-time requirements (rare in timber)
* Mature processes (not changing)
* Budget and IT capability exist

**For most companies: NOT WORTH IT. Stay at Level 2.**

***

#### Integration Architecture Comparison

| Aspect              | Manual (L1)              | Batch File (L2)    | API (L3)                 |
| ------------------- | ------------------------ | ------------------ | ------------------------ |
| Cost                | $0                       | $5K-$25K           | $50K-$200K+              |
| Timeline            | Immediate                | 1-3 months         | 6-12 months              |
| Complexity          | Very low                 | Low-Medium         | High                     |
| Maintenance         | None                     | Low                | High                     |
| Real-time?          | No                       | No (batch)         | Yes                      |
| Scalability         | Low                      | Medium             | High                     |
| Error handling      | Manual                   | Semi-automated     | Automated                |
| **Recommended for** | Testing, proving concept | Most manufacturers | Large, mature operations |

***

#### Realistic Advice: Staged Approach

**Stage 1: Manual (Months 1-3)**

* Export material lists manually
* Learn what data ERP actually needs
* Identify data quality issues
* Document the process
* Prove value

**Stage 2: Batch (Months 4-9)**

* Automate file exports from Dietrich's
* Set up scheduled imports to ERP
* Add error checking and logging
* Train staff on review process
* Measure efficiency gains

**Stage 3: Evaluate API (Month 12+)**

* Only if benefits clearly justify cost
* Only if processes stable and documented
* Only if volume high enough
* Budget 2-3x initial estimate

**Most companies should stop at Stage 2.**

***

**End of Part 3: Vertical Integration Path**

You now understand:

* ✓ When ERP makes sense (and when it doesn't)
* ✓ Why integration is challenging
* ✓ How to map MOS to ERP structures
* ✓ Integration options from simple to complex

**Continue to Part 4 for practical checklists and quick references.**
