Back to Blog
solar business21 min read

How to Generate and Review a Solar BOM

Build a solar bill of materials from controlled design data, then review exceptions and quantities without recounting the whole project.

Nimesh Katariya

Written by

Nimesh Katariya

Solar-industry contributor

Rainer Neumann

Edited by

Rainer Neumann

Editorial contributor · SurgePV

Published ·Updated

Answer

Generate a solar BOM from the accepted design revision, then review it through exception checks rather than a blind recount. Verify design-to-item rules, units, pack quantities, substitutions, and revision links. Recount only high-risk or changed groups, and require a named reviewer to resolve every mismatch before procurement release.

A solar BOM can be numerically correct and still be unsafe to purchase from. The quantities may match the model while the model uses an old module, the wrong roof zone, an unapproved inverter, or a pack unit nobody noticed. Recounting every line does not solve that problem. A recount can repeat the same mistaken basis if the reviewer checks only the output rather than its source.

The better review asks two questions in order. First, did each BOM line come from the accepted design and an explicit generation rule? Second, which lines changed or carry enough consequence to deserve direct verification? That is how an installer or EPC can reduce unnecessary recounting without treating generated output as self-approving.

This is a desk-research workflow for design, procurement, and operations teams. It does not prescribe structural, electrical, safety, code, or purchasing requirements for a particular project. Use current manufacturer documents, verified site information, adopted rules, contract scope, and qualified review as applicable.

Start with a release definition

“BOM complete” is too vague to control work. A preliminary cost model, a quotation request, a procurement release, a warehouse pick list, and an installation kit do not need identical information. State the intended use before generating the list, because the release purpose decides which uncertainties can remain visible and which must be closed.

For an early estimate, the team may group small balance-of-system items and carry clearly labeled planning allowances. A procurement release needs exact products or an authorized selection path, purchase units, delivery responsibility, and traceability to the accepted design. A field kit may need location or work-package grouping that the buyer did not need.

Write the release statement at the top of the review record:

Procurement review for design revision C. Module and inverter selections are fixed. Roof attachment quantities remain subject to the accepted structural and layout basis. Freight, consumables, and owner-supplied switchgear are outside this BOM.

That example is illustrative. Its value is the separation of included, fixed, open, and excluded scope. Without those boundaries, two reviewers can approve different things while using the same status word.

Build the BOM from controlled source objects

The BOM should be derived from objects that exist in the accepted project model or from explicit conditional rules attached to those objects. Modules come from the placed array. Inverters come from the accepted electrical configuration. Mounting parts come from the selected system and its design basis. Conductors and protection come from the electrical work at the level of detail authorized for the release.

The Department of Energy’s PV system design overview describes modules, mounting, inverters, storage, and other connected components of a PV system. That system view matters for BOM generation. One design change can move several item groups together, so the list needs traceable relationships rather than independent typed quantities.

Create a source map before trusting the output:

BOM group Controlling source Generation basis Reviewer question
Modules Accepted array layout Count of placed, released modules Does the count exclude abandoned options?
Inverters Electrical configuration Selected equipment and quantity Does the exact model match current documents?
Mounting Layout plus approved mounting basis Rails, attachments, clamps, hardware rules Are roof zones and edge conditions represented?
Electrical balance SLD and routing basis Conductors, protection, disconnects, labels Is the design detailed enough for release?
Storage Accepted operating concept Batteries, power conversion, controls, related equipment Is storage an option or contracted scope?
Services and consumables Procurement or installation policy Explicit allowance or separate work package Is it intentionally outside design generation?

Never hide a manually added row. Mark its source as manual, give the reason, and assign an owner. Manual additions can be legitimate, especially for logistics or consumables that a design model does not represent. The problem is invisible manual data that later appears to be generated evidence.

What should a source-to-BOM lineage record contain?

A source-to-BOM lineage record should identify each BOM line, design object or policy source, source revision, generation rule, rule version, quantity and unit, manual adjustment, purchasing conversion, status, reviewer, and reopen trigger. It should list downstream purchase, receiving, and field records, so a changed design input can identify affected material instructions without relying on item descriptions or a manual recount.

Lineage should be addressable in both directions. A reviewer needs to start from a BOM line and find the layout object, electrical record, equipment choice, or approved policy that produced it. The team also needs to start from a changed module group, route, or equipment selection and find every material line that depends on it.

Use this lineage table:

Lineage field Record Review question
BOM identity Item ID, description, base unit, and status Which exact material instruction is under review?
Source object Layout group, equipment, circuit, route, or policy ID What project decision creates the requirement?
Source revision Current design, SLD, schedule, or policy revision Does the line belong to the accepted release?
Generation rule Rule ID, version, inputs, and exceptions How was the required quantity created?
Manual contribution Amount, reason, author, date, and authority Which portion is not generated?
Purchase conversion Pack source, unit, rule, and validated calculation How does design need become an order instruction?
Review state Generated, checked, held, approved alternate, or released What may procurement do now?
Consumers Request, purchase order, warehouse, kit, or field record Where does the line travel?
Reopen trigger Design, equipment, rule, pack, scope, or substitution change What invalidates the review?

Use this copy-ready lineage entry:

BOM line and base unit:
Controlling design object or policy:
Source revision:
Generation rule and version:
Rule inputs and exceptions:
Manual quantity or override:
Purchase conversion source:
Review status and owner:
Purchase or field consumers:
Change that reopens the line:

Do not force every consumable or service into a design object. A policy-generated or manually controlled line can be legitimate when its identity, basis, scope, and owner are visible. The goal is traceability, not pretending that the model contains work it does not represent.

Lineage also exposes double counting. A component generated from a layout object and added again as a manual allowance should appear as two contributions to one line or as an explicit conflict. It should not disappear inside a combined total that happens to look plausible.

Give every line an identity, unit, and state

An item description such as “rail,” “connector,” or “cable” is not sufficient for procurement. Each line should carry the level of identity needed to distinguish compatible, approved, and contractually acceptable material. Where a product is selected, use the manufacturer and exact model or part identifier from current documentation. Where it is not selected, say what approval path remains.

UL Solutions describes solar testing, inspection and certification services. A service overview does not approve a proposed project combination. Keep exact product identity, certification scope, instructions and compatibility as separate evidence fields rather than treating “solar part” as a sufficient description.

At minimum, a controlled line needs:

  • item ID used consistently across design, purchasing, and receiving;
  • plain description that a buyer and installer can both understand;
  • manufacturer and model or an explicit pending-selection state;
  • required quantity and base unit;
  • purchase quantity and purchase unit when packaging differs;
  • design revision and generation rule or manual source;
  • status such as fixed, approved alternate, pending, owner supplied, or excluded;
  • notes only for facts that do not belong in a structured field.

Unit discipline prevents quiet order errors. “20” could mean twenty meters, twenty pieces, twenty pairs, or twenty boxes. Keep the design requirement in its natural base unit, then calculate the order quantity through a documented pack rule. If the pack conversion has not been validated, show the inputs and leave the order quantity pending instead of guessing.

Separate required quantity from purchasing quantity

Design quantity and purchase quantity answer different questions. The design asks what the accepted configuration requires. Procurement asks what units the supplier sells, what spare or waste policy applies, and how orders must be rounded. Combining these fields makes later review almost impossible.

Use four columns for any packaged material:

  1. Required quantity: the amount derived from the design basis.
  2. Base unit: pieces, length, mass, pairs, kits, or another explicit unit.
  3. Pack rule: supplier package size and rounding instruction, with source date.
  4. Purchase quantity: order units after the validated conversion and approved spare policy.

Do not present mental arithmetic as a released value. A forty-piece requirement sold in cartons of a stated size needs a recorded calculation using sourced inputs. The calculation should retain the pre-rounding requirement, the formula, the rounding direction, and the resulting order unit. If a pack size changes, only the purchase layer should change unless the design requirement changed too.

Spare and waste allowances also need owners. A mounting supplier’s instruction, a field operations policy, a contractual allowance, and a buyer’s convenience are not interchangeable. Record the basis rather than adding a round percentage because “we usually do.” An unsupported allowance can overbuy some groups while leaving another group short.

Worked pack conversion with a separate spare decision

Hypothetical arithmetic example, not a supplier specification or spare recommendation: The reviewed design requires forty pieces. The actual selected supplier package must be verified; suppose it contains twelve pieces per carton for this example.

Layer Calculation Result
Design requirement Recorded from the reviewed takeoff 40 pieces
Order without separately approved spares Round 40 ÷ 12 up to a whole carton 4 cartons = 48 pieces
Package surplus 48 − 40 8 pieces beyond the design requirement
Different decision: 10 separately approved spare pieces Round (40 + 10) ÷ 12 up 5 cartons = 60 pieces
Surplus after that spare requirement 60 − 40 − 10 10 pieces

Keep the forty-piece design need unchanged in both scenarios. Record package surplus and approved spares separately; surplus caused by whole-carton rounding does not automatically satisfy a maintenance spare policy. If the supplier sells split packs or changes package size, review the conversion against the actual quote rather than carrying this example forward.

Review rules before reviewing totals

A generated list deserves a rule review before a count review. If a mounting rule is applied outside the exact configuration supported by its controlling documents, recounting the generated line merely confirms the software output. Do not use a generic clamp-per-module rule as a universal installation requirement. A reviewer should first examine the rule’s applicability, inputs, exceptions, and version.

Create a rule register with these fields:

Rule field What it should reveal
Rule ID and version Which logic produced the line
Applies to Equipment family, roof type, array condition, or work package
Inputs Counts, geometry, routing, design selections, policy values
Exceptions Edge conditions, mixed equipment, special zones, manual overrides
Source Manufacturer instruction, accepted design detail, purchasing rule
Test case A small known configuration with an expected result
Owner Person authorized to approve or change the rule

Test cases are especially useful after a configuration update. Use a small arrangement whose expected parts can be established from the controlling documents. If the generated result differs, stop before running the rule across a large project. The test proves only that scenario, so include edge and mixed-condition cases where those conditions matter.

Use exception-led review instead of a blind recount

Exception-led review compares the current BOM with the accepted basis and the prior controlled revision. It directs attention to rows whose source, value, rule, or status changed. Stable rows remain visible, but reviewers do not pretend every line deserves equal effort.

Build five exception views:

  1. New or deleted lines. Explain why the item entered or left the scope.
  2. Quantity changes. Show the former value, current value, and driving design change.
  3. Identity changes. Flag manufacturer, model, description, unit, and item-ID edits.
  4. Manual overrides. Require reason, author, date, and approval status.
  5. State conflicts. Catch a pending item included in a released purchase order or an approved item tied to a superseded design.

Then choose a review treatment. Directly recount high-consequence or changed groups. Sample stable, low-risk groups only when the team’s documented quality policy permits it. Validate deterministic rules through test cases. Route compatibility and engineering questions to the responsible qualified reviewer. Use the exception view to direct review effort; do not assume time savings without measuring the actual workflow.

NIST’s Manufacturing Extension Partnership provides supply-chain resources for manufacturers, and NIST maintains a broader supply-chain topic collection. These sources support disciplined supplier and supply-chain management at a general level. They do not prescribe a solar BOM acceptance method, so this article presents exception review as an operational framework rather than a standard.

What should an exception-led BOM review packet include?

An exception-led BOM review packet should include the release purpose, accepted design and SLD revisions, rule and item-master versions, current BOM, prior BOM, changed-line report, manual overrides, substitutions, pack conversions, open holds, downstream purchase status, and named reviewers. Stable lines remain visible through lineage, while changed, high-consequence, weakly sourced, or conflicting lines receive direct verification under the team’s documented policy.

Use the packet to explain why a line receives a review treatment. “Changed” is one reason, not the only one. A stable line may still need direct review when its rule was updated, its product document expired, its unit changed, or a project condition exposes an exception the prior release did not contain.

Build the packet in this order:

  1. Freeze the intended BOM purpose and controlling project revision.
  2. Record the generator, rule-set, item-master, and pack-data versions.
  3. Compare the current and prior BOM by stable item and source identities.
  4. List added, deleted, quantity-changed, identity-changed, and status-changed rows.
  5. List every manual contribution and proposed substitution separately.
  6. Flag rows affected by complex geometry, conditional rules, or unresolved project sources.
  7. Assign direct recount, source verification, rule test, sampling, hold, or qualified review.
  8. Reconcile approved lines with purchase requests already issued.
  9. Record dispositions and issue one reviewed BOM for the named purpose.

Use this treatment note:

BOM line or group:
Why it appears in the exception packet:
Former and current source:
Former and current quantity, unit, identity, or state:
Review treatment:
Evidence checked:
Qualified decision required:
Purchase or field impact:
Disposition and reopen trigger:

Sampling needs an explicit policy and population. “Checked a few rows” cannot be reconstructed. Name the stable group, source and rule version, selection method, sample result, and expansion trigger. If a sampled row fails, expand or stop according to the documented policy rather than quietly choosing another row.

Automated assistance can support repeatable lineage and exception visibility when those functions have been configured and verified. Product compatibility, structural, electrical, safety, contract, procurement, and release decisions remain with their responsible roles.

Connect the solar design to bill-of-materials output

Use a representative design to inspect the available BOM output and identify manual inputs, units and release checks your team needs.

Explore solar designing

Reconcile substitutions before the buyer acts

A substitution request should arrive with enough evidence to compare the proposed item against the accepted basis. “Same size” or “equivalent” is not a review. Capture the exact proposed part, reason for change, current documents, compatibility questions, commercial effect owner, requested decision date, and affected BOM and design revisions.

The technical reviewer should limit approval to their authority. They may confirm that an electrical configuration has been revised around a new inverter, while procurement separately confirms commercial terms and availability. A mounting change may need structural and manufacturer review. A module change can affect layout, stringing, analysis, proposal content, and customer agreement.

Use a substitution matrix:

Dimension Evidence Decision owner
Exact identity Current product documentation Design and procurement
Electrical compatibility Ratings, configuration, calculations Qualified electrical reviewer
Mechanical compatibility Dimensions, interfaces, mounting instructions Responsible design reviewer
Certification and conditions Current certification and product instructions Compliance or engineering owner
Commercial scope Quote, contract, availability Procurement and project lead
Customer-facing effect Updated output and explanation Sales or account owner

Do not replace the BOM row first and ask questions later. An updated item ID can spread into purchasing, warehouse labels, and field kits before the design consequence has been understood. Keep the proposed line in a pending state until required decisions are recorded.

Treat material handling as part of release quality

A BOM stops being an abstract list when goods are received, stored, moved, and issued. The purchasing unit should match the receiving unit. Item labels should remain identifiable. Large, fragile, hazardous, or access-sensitive material needs handling and storage planning outside the BOM’s design logic.

OSHA’s standard for materials handling and storage includes requirements concerning safe clearance, storage, and material movement in covered workplaces. Project and workplace conditions decide the actual plan. The BOM can support that work by making item identity, quantity, packaging, and special notes visible, but it is not a safety procedure.

The Environmental Protection Agency’s introduction to sustainable materials management discusses material use across life cycles. For a solar project, a practical implication is to distinguish required material, approved spares, packaging, returns, and waste rather than treating over-ordering as harmless. Do not claim an environmental benefit without project data; simply preserve the information needed to measure one.

Receiving should record deviations against the purchase and BOM line. A damaged package, short shipment, supplier substitution, or misidentified part becomes a controlled exception. The warehouse should not silently relabel an item to make the count balance.

For a reproducible cross-output discrepancy record, use the layout-to-BOM failure checklist. For purchasing and receiving coordination, see solar material procurement.

Tie the BOM to revision and release control

Every issued BOM needs a controlling design revision, issue date, purpose, reviewer, and supersession status. A PDF stored in a folder is not controlled if buyers cannot tell whether a newer list exists. The same applies to an exported spreadsheet detached from the model that generated it.

Use a release register that connects:

  • current design model and layout;
  • electrical SLD and equipment schedule;
  • BOM generation configuration;
  • reviewed BOM revision;
  • approved substitutions and open exceptions;
  • purchase orders or requests tied to the release;
  • receiving and field issue records where the workflow reaches them.

Solar Designing supports the design record, electrical design supports the electrical workflow context, and Solar Proposals covers customer-facing output. The BOM should agree with all three where they share equipment and quantities. A connected workspace can expose mismatches, but the team still decides which record controls.

Results depend on source data, assumptions, equipment models, configuration, and review. Outputs support design and documentation workflows but do not replace approval by the responsible engineer, authority, lender, insurer, or utility.

How should a design revision change the solar BOM review?

A design revision should reopen every BOM line whose source object, rule input, equipment identity, route, scope, or purchase conversion changed, plus any dependent order or field instruction. Preserve the prior BOM, generate a changed-line view, verify intended differences, investigate unintended movement, and release one reconciled revision. Unchanged lines carry forward only when their lineage and review basis remain valid.

Start with the design change record. A module deletion, equipment substitution, route update, roof-zone correction, electrical revision, or scope change affects different material groups. The BOM reviewer should not infer the impact from total project price or line count. Follow the changed objects through their registered rules.

Illustrative workflow example, not a customer result or purchasing instruction: A reviewed layout removes one small array group after roof evidence changes. The regenerated BOM correctly reduces the module count, but it also changes several mounting lines and leaves an electrical accessory unchanged. The exception view shows all movements without deciding which ones are correct.

The reviewer traces each changed line to its source object and rule. They verify whether the mounting changes follow the accepted layout and whether the unchanged accessory still serves another project relationship. An unexplained line enters a hold instead of being manually edited to match expectation. Procurement receives no replacement instruction until the affected rows and dependent records have dispositions.

Use this revision reconciliation record:

Design change and source revision:
Former and current BOM revisions:
Source objects added, changed, or removed:
Expected BOM lines affected:
Unexpected changed or stable lines:
Rules and source documents reviewed:
Manual overrides reopened:
Purchase requests or orders affected:
Receiving or field instructions affected:
Reviewer, release purpose, and date:

Do not overwrite the prior BOM or purchasing file. Mark it superseded for active use while retaining the evidence that explains what buyers and field teams previously received. If a purchase order cannot be changed, route the commercial and project decision rather than altering the design need to make the order appear correct.

Close with a regression check. Confirm that lines unrelated to the change retained the same identity, unit, rule, state, and source. Large unexplained movement can reveal a rule-set, item-master, library, or export change that occurred alongside the project revision. Separate that system change before releasing material instructions.

Run a staged BOM review

The following sequence keeps generation, technical review, and purchasing authority separate:

  1. Freeze the accepted design revision for the intended release.
  2. Confirm item master data, units, product states, and generation-rule versions.
  3. Generate the BOM without silently adding manual quantities.
  4. Compare it with the prior controlled BOM and produce exception views.
  5. Verify changed and high-consequence rows against current source documents.
  6. Validate pack conversions and approved spare or waste rules with recorded calculations.
  7. Reconcile the BOM with layout, SLD, equipment schedule, proposal, and contract scope.
  8. Route every unresolved selection or substitution to a named owner.
  9. Issue the reviewed BOM for one stated purpose and retire superseded instructions.
  10. Record purchase and receiving deviations as new controlled changes.

This staged method does not eliminate counting. It makes counting answer a useful question. A direct recount tests whether a particular row matches its accepted source. It no longer serves as a ritual performed across every line while identity, revision, and rule errors escape untouched.

Use returned work to improve the generation model

When procurement, receiving, or the field finds a mismatch, classify it. Was the source design stale? Did a rule miss an edge condition? Was the unit wrong? Did a manual override survive after its reason expired? Was a substitution applied only to the BOM? Did contract scope differ from design scope?

Each category has a different repair. Change the source-control process for stale designs. Fix and test a generation rule for logic errors. Correct the item master for identity or unit problems. Improve substitution routing for disconnected changes. Do not respond to every defect by adding another final recount, because that leaves the originating system unchanged.

The Department of Energy’s solar manufacturing program describes work across PV manufacturing and supply chains. An installer cannot control the whole supply chain, but it can control the clarity of its own demand signal. An exact, revision-linked BOM gives suppliers, buyers, receivers, and installers a common object to question.

The durable standard is simple: each quantity must have a source, each order unit must have a valid conversion, each substitution must have a decision, and each release must point to the design it represents. Once those controls exist, manual recounting becomes a targeted verification tool instead of the only thing standing between a model and a purchase order.

Test the workflow on one ordinary project

Choose a project with enough variety to expose real rules but no urgent purchase deadline. Freeze its design revision, generate the list, and ask a reviewer who did not configure the rules to follow five lines back to their sources. Include one module line, one mounting line, one electrical item, one packaged item, and one manual addition. The reviewer should be able to identify the object or policy that produced each value. These five representative lines are a workflow test, not a statistically valid acceptance sample or a substitute for required technical review.

Next, introduce a controlled design change in a copy of the project. Remove a small array group, change one selected equipment item, or alter a routing assumption. The exception view should show the expected BOM changes and leave unrelated lines stable. If dozens of unexplained lines move, the generation rules or item relationships need investigation before the process is used for live procurement.

Finally, hand the reviewed list to a buyer and an installation lead. Ask the buyer whether item identity, units, pack rules, and approval states are clear. Ask the installation lead whether the grouping and descriptions match how material will be received and used. Their questions may reveal different defects. A buyer may find an ambiguous purchase unit while the field lead spots two similar parts that cannot be distinguished by the description.

Record the test as a baseline, not as proof that every future BOM is correct. Re-run affected cases when equipment families, rule versions, supplier packaging, or workflow ownership changes. This keeps quality control close to the change that created risk.

Review a connected solar design and BOM workflow

Book a guided SurgePV demo to explore 3D roof modeling, array layout, electrical workflow support, bill-of-materials output, and proposal generation.

Book a guided demo

Frequently Asked Questions

What should a solar BOM include?

A useful solar BOM identifies each procurement item with an exact description, manufacturer and model where selected, unit of measure, required quantity, allowed waste or spare basis, source design revision, and status. It should also expose owner-supplied items, alternates, exclusions, and unresolved selections instead of hiding them in notes.

Can solar design software produce a final BOM automatically?

Software can generate bill-of-materials output from configured design data, but final release still needs human review. Source inputs, component rules, equipment models, packaging, substitutions, site conditions, and procurement policy can change the required quantity. The reviewer must confirm the output matches the accepted design and intended purchase scope.

Which BOM lines deserve a manual recount?

Recount lines changed by the latest revision, lines produced by complex geometry or conditional rules, safety- or compatibility-sensitive equipment, expensive long-lead items, and any row that fails a cross-check. Stable low-risk groups can be sampled when company policy allows, provided the generation rule and prior review remain valid.

How should pack quantities be shown on a BOM?

Keep required quantity and purchasing quantity in separate fields. State the base unit, pack size, rounding rule, spare or waste policy, and resulting order unit. That structure prevents a requirement such as forty individual clips from being mistaken for forty cartons, while preserving the design quantity for later reconciliation.

When should a BOM be reissued?

Reissue the BOM when an accepted change affects equipment, layout, attachment count, electrical configuration, routing basis, packaging, owner-supplied scope, or approved substitution. Link the new BOM to the controlling design revision, identify changed lines, and withdraw superseded purchasing instructions so buyers and field teams can identify the current release.

Sources

Primary research and reference material used for this desk-research article.

Where this fits

This article is part of SurgePV's Solar Business & Operations hub, which works through the topic from first principles to the decisions a project team actually has to make.

About the Contributors

Author
Nimesh Katariya
Nimesh Katariya

Solar-industry contributor

Nimesh Katariya contributes to SurgePV content concerning solar project workflows. This profile intentionally does not assert certifications, project totals, seminar counts, or technical-review authority without retained verification evidence.

Editor
Rainer Neumann
Rainer Neumann

Editorial contributor · SurgePV

Rainer Neumann is credited as an editorial contributor on SurgePV content. This profile does not assert engineering credentials, project totals, software-testing experience, education, speaking engagements, or media citations because independent verification evidence is not retained in the publication record.

Get Solar Design Tips in Your Inbox

Join 2,000+ solar professionals. One email per week - no spam.

No spam · Unsubscribe anytime

Book Free Demo

Choose which optional technologies SurgePV may use. Essential storage remains active for security and requested features.