{% extends 'bom/bom-base.html' %} {% load static %} {% block head-title %}Help{% endblock %} {% block content %}

IndaBOM Guide

{# ============================================================ #}

Quick Start

  1. Go to Settings → IndaBOM and configure your organization:
    • Choose a part numbering scheme (see Part Numbers below).
    • Define your part classes — the categories your parts will be grouped into (e.g. Resistors, Capacitors, PCBAs).
    • Optionally define custom properties to track additional data on parts (e.g. voltage rating, tolerance).
  2. Create or import your parts. Click the + button on the Home page, or ··· → Import CSV… above the parts list.
  3. Build BOMs for assemblies. On a part's info page, click Edit and add subparts, or import a BOM CSV.
{# ============================================================ #}

Core Concepts

Organizations

All data in IndaBOM — parts, BOMs, sourcing — belongs to an organization. Users can only see and edit data within their own organization. The person who creates the organization is its owner and can transfer ownership to another member.

Users & Roles

Every user has one of three roles within their organization:

Role Capabilities
Viewer Search and view parts, BOMs, and sourcing information. Cannot create or modify anything.
Editor Everything a Viewer can do, plus: create and edit parts, revise and release revisions, manage sourcing (manufacturers and sellers), and approve other people's change requests.
Admin Everything an Editor can do, plus: delete parts, mark revisions as Obsolete, manage organization members, and configure organization settings (part classes, custom properties, protections).

The organization owner has Admin privileges. Admins can also override certain revision lifecycle restrictions and approval requirements that Editors cannot. Every override is recorded in History.

Part Numbers

When setting up your organization you choose one of two part numbering schemes. This choice is difficult to change later, so choose carefully.

Semi-Intelligent (Recommended)

Part numbers have three segments: CLASS-ITEM-VARIATION, for example 100-0042-01.

  • Class — a short alphanumeric code matching one of your part classes (e.g. 100 for Resistors).
  • Item — a sequential number automatically assigned within each class.
  • Variation — a short alphanumeric suffix for distinguishing variants of the same part (e.g. different tape reel sizes). Can be disabled by setting variation length to 0.

You can let IndaBOM auto-assign item numbers by specifying only a part class, or supply a full part number yourself. Numbers are guaranteed unique within your organization.

Intelligent

You assign any free-form string as a part number (e.g. C0402X5R10UF). There are no classes or variations — just the number itself. This gives you full control but sacrifices auto-assignment and some search features.

Part Classes

Part classes are categories you define for your organization (e.g. 100 — Resistors, 200 — Capacitors). They are required for semi-intelligent part numbers. Each class has a short code and a name. You can also attach custom property definitions to a class so that only relevant properties appear when creating parts in that class.

Part classes are managed in Settings → IndaBOM. You can create them one at a time or upload them via CSV.

{# ============================================================ #}

Parts

Creating & Editing Parts

A part's page opens on Overview, with its cost at the quote quantity, primary manufacturer part, files and details. The other tabs are Bill of materials, Where used, Sourcing and History.

Parts can be created individually via the Create Part form (the + button on the Home page) or in bulk via CSV import (see Importing Parts).

Each part has a primary manufacturer part, which is used for cost estimation and live sourcing lookups. Add manufacturer parts on the part's Edit page or the Sourcing tab, and choose the primary one on the Edit page. Manufacturer parts are part of the design, so when the latest revision is Released, click Revise before changing them. Vendor prices can be edited at any time.

Custom Properties & Synopsis

Admins can define custom properties for an organization in Settings → IndaBOM (e.g. Capacitance, Voltage Rating). Properties can be typed as text, number, or boolean, and can be associated with a unit of measure.

Properties can be scoped to specific part classes, so a Resistors class might show Resistance and Tolerance while a Capacitors class shows Capacitance and Voltage Rating.

IndaBOM automatically generates a synopsis from a part's description and its property values. This synopsis is what appears in search results and is what the search engine indexes.

Part Revisions & Lifecycle

Every part has one or more revisions. A revision captures the part's specification (description, properties, BOM) at a point in time. The most recent revision is shown by default; older revisions are accessible via the revision selector on the Part Info page.

Revision States

Each revision follows this lifecycle:

State Description Editable?
Draft Work in progress. Default state for new revisions. Yes — Editors and Admins
In Review Submitted for approval. Locked against further edits. No — click Revise, or revert to Draft
Released Approved for use. Permanently locked. No — click Revise to start the next revision
Obsolete No longer in active use. Cannot be added to new BOMs. No — terminal state

Allowed Transitions

  • Draft → In Review, Released, or Obsolete
  • In Review → Draft (revert), Released, or Obsolete
  • Released → Obsolete only (Admins can revert to Draft)
  • Obsolete → no further transitions

Only Admins can mark a revision Obsolete. Editors can release revisions, unless the organization requires approval to release. When releasing, IndaBOM warns you if any subparts in the BOM are still in Draft state.

Editing, Revising and Releasing

Draft revisions are edited directly with Edit. Released and In Review revisions can't be edited: click Revise to make the next Draft revision from them, leaving the existing revision unchanged. A line under the header says where the revision stands, with a link to compare it with the previous one. Status changes, the part number and class, the photo, and exports are in the … menu beside these buttons.

Release… opens a dialog that shows what changed since the previous revision, the unit cost before and after, and the assemblies that use the part. Draft assemblies follow the new revision automatically, and you can tick Released assemblies to revise them too. Everything is released together or not at all.

If you want a second opinion, choose Request approval instead. The revision stays in Draft until another person approves the request, which then releases it. Admins can require this for everyone by turning on Require approval to release under Settings → Organization → Protections. An organization with a single member is never blocked, and an Admin can still release directly by confirming an override.

History

The History tab on the Part Info page lists the part's edits, new revisions and releases, newest first, with who made each one and a link to compare the revisions.

Change Requests

A change request is a set of proposed edits that someone reviews before they take effect. People open one with Request approval in the Release dialog, and AI agents open them through the MCP server. A request that releases a revision, or changes a Released one, is labelled an Engineering Change Order (ECO).

The Requests item in the navigation bar counts open requests and is hidden when there are none. A request's page shows each proposed edit, the assemblies it affects and the change in unit cost. From there you can:

  • Approve (or Apply) the accepted items. An ECO's new revisions are released in the same step, and nothing is saved if any part of it fails.
  • Reject the request, or Withdraw it if you opened it.
  • Rebase a request whose parts changed after it was opened.

You can't approve your own request unless you're an Admin confirming an override or the only member of your organization. Admins can also mark more changes as needing a second person under Settings → Organization → Protections, such as a new primary manufacturer part or a large cost change.

Change requests and protections may not be available on every plan.

AI Agents and API Tokens

An AI assistant such as Claude can search parts, build BOMs and propose changes through IndaBOM's MCP server. Create a token in Settings → API Tokens and add it to your MCP client. A token never has more access than your role:

  • Read tokens only look things up.
  • Write: propose tokens open change requests for a person to review.
  • Write: apply tokens can also edit Draft revisions and make new revisions directly.

Agents never release revisions or approve requests. A person always does that.

See Connect an AI assistant for step-by-step setup.

Searching

The search bar on the Home page searches across part numbers, synopses, primary manufacturer names, and primary manufacturer part numbers (MPNs). Multiple terms are OR'd — results match any term.

  • Wrap multi-word terms in quotes: "Big Company Inc." is one term; Big Company Inc. is three.
  • For semi-intelligent parts, entering a partial part number like 100-0042 matches by class and item number.
  • Searches are case-insensitive.
  • Use the part class selector to narrow results to a single class before searching.

Where Used

The Where used tab on the Part Info page shows every assembly that contains the part, including indirect parents (assemblies that contain assemblies that contain the part). Switch between This revision and All revisions at the top of the tab. This makes it easy to understand the impact of a part change.

{# ============================================================ #}

Bill of Materials

BOM Structure

A BOM lists the subparts required to build an assembly, along with quantities and optional reference designators. BOMs are hierarchical — a subpart can itself be an assembly with its own BOM.

IndaBOM displays BOMs in two forms:

  • Indented — shows the hierarchy, with sub-assemblies nested under their parents.
  • Flat — rolls up quantities across all levels, showing one row per unique part.

Both views show per-unit and extended costs based on sourcing data.

Reference Designators

Reference designators (e.g. R1, C4, U12) identify where a part is placed in an assembly. They are optional but, if provided, the count of designators must match the subpart quantity.

Multiple designators are comma-separated: R1, R2, R3. IndaBOM will warn if the same designator appears on more than one subpart in a BOM.

Do Not Load

A subpart can be marked Do Not Load (DNL). DNL parts are included in the BOM for documentation purposes but are excluded from cost roll-ups and order quantities.

Editing a BOM

From the Part Info page, click Edit. The Edit page holds the description and properties, the BOM and the manufacturer parts. You can add subparts one at a time using the form, or import a BOM CSV. Each BOM line you add, change or remove is saved straight away and recorded in History. Revisions can only be edited in Draft state; on a Released revision, click Revise to start the next Draft.

Only parts already in your IndaBOM database can be added as subparts.

Downloading a BOM

BOM exports are available from the Part Info page's Bill of materials tab under the Manage menu, and from the Home / Search Results pages via the per-part dropdown. Export options include:

  • Indented, single-level, or flat layout. Single level lists only the assembly's direct subparts, with each sub-assembly as one line, which suits a kit list for building that assembly.
  • With or without sourcing (manufacturer and seller data)
  • Detailed sourcing (all seller records, not just the optimal one)
{# ============================================================ #}

Sourcing

Manufacturers & Sellers

Each part can have one or more manufacturer parts (a manufacturer name + manufacturer part number). One is designated the primary and is used for cost estimation and live sourcing lookups. Use Make primary on the Edit page to change it.

Each manufacturer part can have one or more seller records (distributor name, seller part number, unit cost, NRE cost, MOQ, MPQ, lead time). IndaBOM selects the optimal seller — the lowest total cost at the required quantity — for cost roll-ups.

Approval Status

Manufacturers and sellers each have an approval status:

  • Probation — default for new entries; not yet assessed.
  • Approved — vetted and approved for use.
  • Restricted — do not use; creating new parts or sourcing records for a Restricted manufacturer or seller is blocked.

Approval statuses are managed from the Manufacturers and Vendors pages.

Live Sourcing

Live Sourcing looks up current pricing and availability from a sourcing provider (Octopart or Mouser) for parts that have a matching MPN. To enable this:

  1. Add your provider API credentials in Settings → Organization → Live Sourcing.
  2. Enable sourcing for each relevant part class in Settings → Part Classes.

Click Get live pricing on a part's Overview tab to fetch it. Live figures are marked with a lightning bolt, with provider attribution, a deep link to the distributor, and an as-of timestamp. They are never stored, and they update:

  • Overview: unit cost and order total at the quote quantity, plus lead time and stock when available.
  • Bill of materials: the cost columns of the sourced lines.
  • Sourcing: live vendor offers alongside your stored ones.

Parts are matched by MPN and manufacturer name (or by MPN alone if no manufacturer is set).

{# ============================================================ #}

Importing & Exporting Data

Any file IndaBOM exports can be edited and imported back from the Import page (··· → Import CSV… above the parts list, or the upload button next to +). Rows that match existing records update the fields they provide; blank cells leave values alone; nothing is deleted except BOM lines you replace. Every import shows a review of its changes, and nothing is saved until you click Import. A row with an error blocks the whole import.

The Import page detects the type from the file's columns, or you can pick one. It lists the columns for the chosen type, with links to an export or template to start from.

Importing Parts

One row per part, identified by part_number or, when that is blank, by manufacturer_part_number. Known parts are updated and unknown rows create parts. Manufacturer, vendor price and property_<code> columns can be included in the same file.

Importing Vendor Prices

One row per price break, identified by manufacturer part, vendor and minimum order quantity. Matching prices are updated, other rows add a price break, and parts are never created. Rows without a seller use the default vendor chosen on the Import page.

Importing a BOM

Import an indented BOM from the Import page, or choose Manage → Import BOM from CSV… on an assembly's BOM to import into that assembly. Parts and revisions that don't exist are created and those that do are updated; Released revisions are added as they are and Obsolete revisions are skipped. A sub-assembly with rows beneath it in the file gets exactly those lines; one listed without rows is left alone.

Required columns: part_number or manufacturer_part_number; quantity; and level (nesting depth, unless you fill in Add to assembly).

Exporting

The ··· menu above the parts list exports the parts shown: the parts matching your search, or every part when there is no search. The file has one row per part with its primary manufacturer part and a vendor price. Export all vendor prices downloads every price break with plain decimal costs. Both use the import column names, so edit the file and import it to update in bulk. BOM exports (see Downloading a BOM) import the same way.

{# ============================================================ #}

Google Drive Integration

Connect your Google account in Settings → Organization to enable Google Drive integration. Once connected, each part gets a dedicated Google Drive folder for storing datasheets, drawings, and other files. Click Open Drive folder on a part's Overview tab to open it, creating it if it doesn't exist.

    {% include 'bom/table_of_contents.html' %}
arrow_upward
{% endblock %} {% block script %} {% endblock %}