ION Factory OS
  • Welcome to ION
  • Features
    • Procedures
      • Steps
        • Content
        • Datagrid
        • Fields
        • Attributes
      • Dependencies
      • Part-Procedure Relationship
      • Attributes
      • Standard Steps
      • Installation Requirements (Beta)
      • Nested Steps and Nested Standard Steps
      • Procedure Best Practices
    • Runs
      • Run Execution Overview
      • Runs And Step States
      • Batching Runs
        • Batching 2.0 Changes
      • Workcenter execution
      • Split Inventory on a Run
      • Redlines
      • Export run data
      • Scheduling runs
      • Time Tracking
      • Attributes
      • Outside Processing
      • Runs Best Practices
    • Parts Library
      • As-built Bill of Materials (aBOM)
        • Editing aBOM build requirements
        • aBOM Beta Changes
          • aBOM actions for developers
      • Inventory
        • Inventory status
        • Inventory splitting
        • Inventory merging
        • Inventory scrapping
        • Kitting
        • Inventory Movement Automations
      • Manufacturing bill of materials (mBOM)
        • mBOM versions
        • Made on Assembly (MOA)
        • Part Substitutes
        • Reference designators
      • Part Attributes
      • Part revision interchangeability
      • Supplier Part Numbers & Purchase Unit Conversions
    • Kitting and Inventory Fulfilment
      • Kit Statuses and Workflows
      • Inventory requests
      • Kitting and runs
      • Fulfilling Multiple Kits
      • Kanban Kitting
    • Purchasing
      • Purchase Orders
        • Types of Purchases
        • Purchase Order Approvals
        • Purchase Order FAQs
        • Supplier Part Numbers & Unit Conversions
        • PO Requirements, Terms, and Quality Clauses
      • Receiving/Inspection
      • Outside Processing
      • Consigned Parts
    • Barcode Labels
      • Templating
        • ION barcode minimum sizes
        • Sample templates
      • Printing
        • Configuring Zebra Browser Print
        • Server Based Barcode Printing (PrintNode)
      • Scanning
        • Scan barcodes from other systems
    • Quality
      • Issues
      • Further Actions - CAPA
      • Issues States, Dispositions, and Resolutions
      • Quality Best Practices
    • Tools
    • Locations
    • Attributes
    • Labels
      • Deleting labels
    • Notifications
    • Search
    • Settings
      • Role based access control
        • Full Glossary of ION Permissions
    • ION Actions
      • ION Actions examples for Quality
      • ION Actions examples for Runs and Procedures
      • ION ACTIONS examples for Supply Chain
  • Analytics
    • Inventory valuation
    • Part impact analysis
    • Users, Roles, Teams
    • Analytics FAQ
    • Data Connector
    • Data Products
  • Plans and Autoplan
    • Autoplan
    • Autoplan glossary
    • Preparing to use Autoplan
    • Clear to build reporting
    • Running Autoplan on a schedule
    • Firm and blocked plan items
    • Location constraints
    • Autoplan suggested suppliers and procedures
    • Reorder point
    • Plan input serial numbers
    • Applying a calendar
    • Plan Reservations
    • Independent schedules
    • Drive demand from kits
    • Drive demand below buy parts configuration
    • Group plan items with the same date
    • Manualy Changing Autoplan Status
  • API
    • How to create an App with ION
    • Access Tokens
    • About GraphQL
    • Interactive API explorer
    • API Keys
    • Examples
      • Notifications
      • Runs
      • Automatically updating fields in runs
      • Parts and Part Revisioning
      • mBOMs
      • Part Inventory and Kitting
      • aBOM (As-built Bill of Materials)
      • Edit time-tracking session data
    • Changelog
    • Webhooks
    • Pagination
  • Automations
    • Auto-checkout of Run Steps
    • Auto-Consumption of Lineside Inventory
    • Automatically Send Purchases to Suppliers
    • Set Close by Run Step on Issue Creation
    • Intent Management / Grade / Tier / Pedigree
      • Data Imprinting
      • ION Actions for Intent
    • Auto-Update mBOM Revision on Part Revision Update
    • Auto-approve part-procedure relationships
    • Purchase Order PDF and Versions
    • Auto Populate PO Line Attributes
    • Imprint Attributes from One Object to Another on a Desired Event
  • Integrations
    • Deploying Integrations and Automations
    • Arena
    • Cofactr
    • Datum
    • Duro
    • NetSuite
      • Purchasing in NetSuite, Receiving in ION
      • Work Order/Assembly Builds
    • Procurable
    • PDF Generator
    • Quickbooks
    • Ramp
    • Silkline Integration
    • Slack
    • Smartsheet
    • SOLIDWORKS
    • Teamcenter
  • Training
    • Standard Operating Procedures
      • Cycle Counting
      • Tool Utilization
    • Guided Flows
    • ION Sandbox
    • Chat Support for ION
  • Troubleshooting
    • Resetting your password
    • Resetting your Multi-Factor Authentication
    • You have no roles... error
  • Changelog
  • Adminstration
    • Security
      • Backups and Security FAQ
      • Single Sign-On (SSO)
        • Okta SAML connection setup
      • Export Control
      • Report Generator Disclaimer
    • Browser and Device Compatibility
    • Authentication
      • My company is new to ION, logging in for the first time.
      • I'm told I'm not authorized to access the application
      • My account has been deactivated
    • Login Page
  • Tickets Portal
Powered by GitBook
On this page
  • mBOM items:
  • mBOM Substitutes
  • Query mBOM Item
  • Query mBOM Substitute
  • Create mBOM Item
  • Update mBOM Item
  • Create mBOM substitutes
  • Delete a mBOM Item
  • Delete mBOM Substitute

Was this helpful?

  1. API
  2. Examples

mBOMs

mBOM items:

mBOM items represent the bill of materials required to construct a part. A part will have an mBOM made up of many mBOM items which dictate the subparts to be used in a part's construction. One can think of parts as a tree structure, where the nodes are part objects and the edges are mbom items. In this vein the root of the tree would be a part representing a completed assembly, it's MBOM would be parts used in its construction, and which in turn could have their own mBOM. Maintaining this tree structure through the mBOM and subsequent aBOM is a vital part of ION.

mBOM Item

Description

id

Unique identifier of mBOM Item object

parent

part

quantity

The amount of a specific part needed in construction

substitutes

mBOM Substitutes

mBOM substitutes are valid alternatives that can be used in place of the defined part. Each of those mBOM items may have many mBOM substitutes which are subpart replacements for that specific subpart.

mBOM Substitute

Description

id

Unique identifier of mBOM Substitute object

part

mbomItem

Query mBOM Item

The queries below specify how to list mBOM Items by a filter or get a specific mBOM Item. It is often more effective to query the mBOM relation through a part object.

query MBOMItems($filters: MBomItemsInputFilters) {
    mbomItems(filters: $filters) {
        edges {
            node {
                id partId parentId quantity
            }
        }
    }
}
{
    "filters": {
        "parentId": {
            "eq": 1
        }
    }
}
query GetMBOMItem {
    mbomItems(id: 1) {
        id partId parentId quantity
    }
}

Query mBOM Items

Query mBOM Substitute

The queries below specify how to list mBOM substitutes by a filter or get a specific mBOM substitute.

query MBOMSubstitutes($filters: MBomSubstituteInputFilters) {
    mbomSubstitutes(filters: $filters) {
        edges {
            node {
                id partId parentId mbomItemId
            }
        }
    }
}
{
    "filters": {
        "mbomItemId": {
            "eq": 1
        }
    }
}
query MBOMSubstitute {
    mbomSubstitute(id: 1) {
        id partId parentId mbomItemId
    }
}

Query mBOM Substitutes

Create mBOM Item

An mBOM item defines which parts and how many of those parts are required to build a new part. The parent is the relation to the part being built, and the part relation is to the part required in the building. The quantity value must be greater than 0. Returns the newly created mBOM Item.

mutation($input: CreateMBomItemInput!){
  createMbomItem(input: $input){
      mbomItem {
          id parentId partId quantity
      }
  }
}
{
    "input": {
        "parentId": 2,
        "partId": 1,
        "quantity": 3
    }
}

Mutation to create mBOM item

Update mBOM Item

The quantity of an mBOM item and its associated part's can be updated. Returns the updated mBOM Item.

mutation UpdateMBomItem($input: UpdateMBomItemInput!) {
  updateMbomItem(input: $input) {
    mbomItem {
      id parentId partId quantity
    }
  }
}
{
    "input": {
        "etag": "etag1",
        "id": 1
        "partId": 3,
        "quantity": 5
    }
}

Mutation to update mBOM item

Create mBOM substitutes

Create a valid substitution for a specific part within an mBOM. Any parts which are listed with mBOM substitutes will not raise a validation error if they are attached to an aBOM instead of the part specified in the original mBOM Item.

  mutation CreateMbomSubstitutes($input:
                                 [CreateMBomSubstituteInput]!){
    createMbomSubstitutes(input: $input){
      mbomSubstitutes {
        id parentId partId mbomItemId
      }
    }
  }
{
    "input": [
        {'partId': 3, 'parentId': 2, 'mbomItemId': 1},
        {'partId': 4, 'parentId': 2, 'mbomItemId': 1},
    ]
}

Mutation to create a mBOM substitute

Delete a mBOM Item

An nBOM Item may be deleted unless it has already been used in the construction of an aBOM. Returns the ID of the deleted mBOM Item

mutation DeleteMBomItem($id: ID!, $etag: String!){
    deleteMbomItem(id: $id, etag: $etag){
        id
    }
}
{
    "id": 1,
    "etag": "etag1"
}

Mutation to delete an mBOM Item

Delete mBOM Substitute

Delete a mBOM substitute. Returns the ID of the deleted mBOM substitute.

mutation DeleteMBomSubstitute($id: ID!, $etag: String!){
    deleteMbomSubstitute(id: $id, etag: $etag){
        id
    }
}
{
    "id": 1,
    "etag": "etag1"
}

Mutation to delete mBOM substitute

PreviousParts and Part RevisioningNextPart Inventory and Kitting

Last updated 3 years ago

Was this helpful?

The object which this mBOM item describes the construction of

The object which will be used in the construction of the parent

List of valid that could be used in place of the specified part

The object which can be substituted for the part in the mBOM Item

The for which this object is a valid substitute for

substitutes
mBOM Item
part
part
part