- In‑process and lot‑based Quality enforcement
- A high‑performance Blending Optimization app (scrap metals; applicable to process manufacturing)
- The Integration Tenant pattern for scalable iPaaS
- A Legacy Data Collection & Labeling modernization on Fuuz (QAD)
- New Platform Features: Data Model Custom Fields, Timer element, Duration scalers, and Flow/Screen substitutions
- Roundtable highlights: CSV / 21 CFR Part 11, Ignition partnership, Dockerized Gateway, community & training
Use this as a starting point to design similar solutions, accelerate delivery, and align your implementations with Fuuz best practices.
Who Should Use This Article
- Partners & SIs building apps and integrations on Fuuz
- Manufacturers exploring MES/WMS/Quality and iPaaS with NetSuite, QAD, or other ERPs
- Architects & Developers who need patterns for quality enforcement, optimization, and scalable integrations
Prerequisites
- Access to a Fuuz Tenant (Build/QA/Prod as applicable)
- Familiarity with Data Models, Flows, Screen Designer, Jasonata, and Fuuz Gateway
- For ERP integrations: credentials and sandbox access (e.g., NetSuite, QAD)
- For edge integrations: network connectivity for OPC UA / MQTT (or Ignition)
Solution Showcases
1) In‑Process & Lot‑Based Quality Enforcement
Presenter: Kavi Rajendran (Fuuz)
Problem\ Operators could bypass critical inspections. Customer required pre‑process, post‑process, recurring (count/percentage), and lot‑level checks—with “prevent production” capabilities and off‑line lab result capture.
Approach
- Extended the Quality data model with custom fields to parameterize inspection types, intervals, and prevent‑production behavior.
- Embedded inspection triggers into the Control Panel web flow that gates transactions until checks are completed.
- Built a Quality Reports screen to capture off‑line lab outcomes and manage checks centrally.
Key Configurations
- Intervals: Pre, Post, Recurring by count or percentage, lot‑level per work order
- Flags:
preventProduction, requiresHold until pass - Recurring filters: first N, last N, every Nth, ignore first N when counting, etc.
- UI: Tabbed Control Panel with a “Complete Check” action; Quality Reports for off‑line completion
Benefits
- Zero “bypass risk” on shop‑floor checks
- Configurable interval logic without schema rewrites
- Seamless off‑line lab results integration (quality lab → production control)
Implementation Notes
- Use Data Model Custom Fields for configurable logic (see Feature #5 below).
- Embed check creation and gating inside transaction flows (produce/stop/unload).
- Provide at least one off‑line entry surface for lab teams (Quality Reports).
Presenters: PwC – David Monge & Daniel Kloimwieder
Problem\ A scrap metal processor needed least‑cost / maximum‑profit blends meeting customer chemistries. The legacy solver was external, expensive, and required manual Excel reconciliation + complex ERP updates.
Approach
- Built a Fuuz UI that accepts customer specs (min/max, targets), costs, inventory filters (including 30+ composition inputs), and optimization objective.
- Formulated a linear optimization problem and executed via an ultra‑fast solver.
- Produced a comprehensive allocation/result report, then automated work order + BOM creation and pushed assembly build results to NetSuite.
Highlights
- 127 inputs on the blender UI; optimizer returns results in ~0.01s (typical case)
- One‑click allocate and produce; dynamic BOM creation per sales order
- Supports nominal chemistry dilution and lab uploads (parse proprietary formats)
Benefits
- Eliminates external app dependency and recurring fees
- Dramatically accelerates scenario iteration
- Ensures ERP alignment (BOM/work order generated in Fuuz; posted to NetSuite)
Implementation Notes
- Create custom screens for spec entry, inventory filters, and result reporting.
- Encapsulate solver calls in Flows; return allocation + profitability down to item level.
- Treat each blend as unique to the sales order; build BOM on the fly and synchronize with ERP.
3) Integration Tenant Pattern: Scalable iPaaS for ERP/PLM/QMS/MES/WMS
Presenter: Dave Staehle (Fuuz)
Problem\ Point‑to‑point (spaghetti) integrations made change‑management hard and limited enterprise scalability—especially with ERP concurrency constraints.
Approach
- Introduce a dedicated Integration Tenant that centralizes connections, staging, orchestration, metering, and error handling across systems (ERP, PLM, QMS, MES/WMS).
- Use staging tables and orchestrated flows for inbound/outbound traffic.
- Implement retry, queuing, and concurrency controls.
Pattern
- Inbound ERP sync: Trigger (timer/event) → write to staging → request ERP → inbound handler → write to target (e.g., MES work orders) → close loop in staging
- Outbound MES/WMS: Event → outbound handler → write to staging → ERP request → ERP ack → outbound staging completion
Benefits
- Horizontal scalability across multi‑site enterprises
- Robust error tracking, retries, and controlled throughput
- ERP‑agnostic architecture (swap ERP connections without re‑wiring apps)
Implementation Notes
- Ship as a Fuuz package with pre‑built flows and staging schemas (configure connections only).
- Align naming conventions and routing keys per domain (ERP, PLM/QMS, CRM, etc.).
- For NetSuite, explicitly configure inbound/outbound concurrency policies at the staging flow level.
4) Legacy Data Collection & Labeling Modernization (QAD)
Presenter: Walter Little (Strategic Information Group)
Problem\ Customer ran green‑screen Telnet handhelds, needed a modern browser app without retraining and had strict vendor/customer label certifications (ZPL). Integration options with older QAD were limited.
Approach
- Recreated prompt‑by‑prompt user experience in Fuuz with modern UX, touch support, and Jasonata‑driven logic.
- Delivered real‑time QAD integration using a Horizon interface (compiled Progress code; round‑trip queries & updates).
- Implemented ZPL template management with tagged placeholders (e.g.,
|ITEM|) and runtime string replacement. - Added Label Area previews, one‑click reprint, and LPR printing via QAD‑defined printers (no 300+ printer setup in Fuuz).
Highlights
- 20+ transactions rebuilt; 5–6000 lines of Jasonata transformations
- Screen Context leveraged for state across steps
- Stress‑tested with 20 concurrent operators on high‑volume license plating
Benefits
- Zero‑retraining user experience
- Certified labels preserved, with improved management and preview
- Real‑time integration—no batching for stale data
Implementation Notes
- Maintain transaction parity first; optimize UX second (if certifications constrain changes).
- Prefer reusable Flows over large event handlers to avoid duplication (DRY).
- Use Label Print History + Label Area for traceability and audit.
Presenter: Jay Fisher (Fuuz)
A) Data Model Custom Fields\ Extend standard schemas (e.g., User, WorkOrder, OperatorHistory) without modifying the underlying package schema—preserving upgradeability.
- Add badge number, full name, VIN, body number, etc.
- Automatically available in API; render with screen elements and table columns as needed.
B) Timer Element (Screen Designer)\ A configurable countdown with progress bar, color transitions, start/end date-time or duration.
- Example: green → yellow → red gradient, flash at end
- Use for step execution timing, SLA warnings, or gating controls (e.g., stop PLC at 0).
C) Task‑Driven Control Panels\ Embed tasks (scan, acknowledge, quality spec run, variable capture) inside a multi‑tab control panel.
- Gate “Produce” until tasks pass
- Link work instructions (PDFs) directly into screens
D) Duration Scalers\ Model duration fields contextually (days/hours/minutes/seconds) and render with a duration element, avoiding unit misinterpretations across apps.
E) Flow/Screen Substitutions\ Create substitutes instead of editing package cores: delivers safe upgrade paths for customer‑specific customizations.
- File → Create Substitution on a Flow/Screen
- Pair with Custom Fields for data model extensibility
Roundtable Highlights & Roadmap
- Validation (Life Sciences): Fuuz has engaged in Computer Software Validation (CSV) activities toward 21 CFR Part 11 alignment for cloud deployments; letters of process initiation available.
- On‑Prem & Docker: Public Docker images are available for the Fuuz Gateway; full‑stack Docker deployment is forthcoming. Portainer templates are being explored to simplify multi‑environment edge deployment.
- Ignition Partnership: Options to connect via OPC UA / MQTT today; a potential Ignition driver / remote tag provider (GAN) approach is being evaluated.
Community & Enablement:
- New podcast format for release updates (short demo‑driven episodes)
- Bootcamps expanded to iPaaS use cases
- support.fuuz.com and community.fuuz.com for release notes, discussions, and notifications
- Future Topics: “How to Make Money with Fuuz” (integrator playbooks, ROI‑driven selling, problem/solution packaging). Potential in‑person sessions (Detroit) aligned with partner events.
Reusable Assets & Packages
- Integration Tenant (Package): Staging schema, standard flows, concurrency/retry logic
- Quality Enforcement Toolkit: Pre/Post/Recurring check patterns and prevent‑production logic
- Blending UI & Flows: Specs template, filters, solver integration, result report
- Labeling Toolkit: ZPL template management, print history & preview, LPR dispatch
- Control Panel Components: Task list, Timer element, Duration fields, Work Instructions link
- Developer Utilities: Custom Fields, Substitutions, Jasonata patterns
Download/Install: (In Fuuz Package Manager; contact Fuuz Support for access if not visible in your tenant.)
Best Practices
- Separate Concerns: Keep ERP integrations inside Integration Tenant; applications consume staged data.
- Gate Transactions: Use prevent‑production checks and Tasks for operator guidance and compliance.
- Extend Safely: Prefer Custom Fields + Substitutions over core schema edits.
- Consistency in Units: Adopt Duration Scalers wherever timing matters (e.g., OEE).
- Optimize UX Last: If certifications constrain behavior, match legacy flows first, then iterate.
- Measure & Share ROI: Capture scrap reduction, throughput gains, time‑to‑value—support the “make money with Fuuz” narrative.
FAQ
Q1: Can I reuse the recurring inspection logic across products/sites?\ A: Yes. Parameterize intervals & thresholds via Custom Fields; package the flows/screens for reuse.
Q2: How do I handle ERP concurrency limits (e.g., NetSuite)?\ A: Centralize requests via Integration Tenant, throttle with staging flows, and enable retry/queue semantics.
Q3: Do I need to configure hundreds of printers in Fuuz for ZPL?\ A: Not necessarily. If your environment supports LPR and printers are defined in QAD/edge, dispatch prints through the Gateway/Horizon as shown.
Q4: How do substitutions affect updates?\ A: Upgrading the base package preserves your Flow/Screen substitutions, minimizing merge conflicts and downtime.
Q5: Is the blending solution specific to metals?\ A: The pattern is applicable to process manufacturing (e.g., food & beverage blends, master batch profiles). Adapt the spec/optimization model to your domain.
- Fuuz Release Notes: (subscribe for updates in Support Center)
- Partner Bootcamps: Developer 101 & iPaaS tracks
- Community Threads: Architecture, integration patterns, quality enforcement
- Gateway & Edge: Docker image registry info; Portainer template (coming)
- Ignition Connectivity: OPC UA/MQTT setup guides; best practices
If you need links enabled in your tenant portal (Support/Community), let us know and we’ll add the exact URLs for quick navigation.
Changelog
- 2025‑12‑05: Initial article published based on Quarterly Huddle recording
- 2026‑Q1: Planned updates—CSV progress notes, Integration Tenant package GA, Docker full‑stack guidance
- Have a solution to showcase? Want a deep‑dive on any section?
- Reach out via your Partner Manager or post in community.fuuz.com under Solution Showcases.
- For package access or implementation help, open a ticket at support.fuuz.com.
Appendix: Implementation Templates (Snippets)
Jasonata patterns, Flow blueprints, and screen JSON exports can be attached to tickets or shared via Partner Git repos. Below are pseudo‑snippets to orient your build:
// Example: Quality Spec Custom Fields (fragment)
{
"qualitySpec": {
"customFields": {
"intervalType": "PRE|POST|RECURRING|LOT",
"recurrence": { "mode": "COUNT|PERCENT", "everyNth": 5, "excludeFirstN": 2 },
"preventProduction": true,
"requiresHold": true
}
}
// Example: Integration Tenant Staging Record (fragment)
{
"staging": {
"source": "ERP.NETSUITE",
"domain": "WORKORDER",
"direction": "INBOUND",
"payloadRef": "blob://…",
"status": "QUE "status": "QUEUED|PROCESSING|COMPLETE|ERROR",
"retryCount": 0,
"concurrencyGroup": "WO_INBOUND"
}
// Example: ZPL Placeholder Replacement (pseudo)
"^FO100,50^A0N,30,30^FD|ITEM|^FS
// Example: Duration Field (Data Model)
{
"taskExecutionTime": {
"type": "duration",
"unit": "minutes"
}
}