What you actually order
Smart math that respects your stock. If you have enough on hand, you don't buy. When you do need parts, MOQ, pack size, and manual buy-quantity overrides stay visible.
Turn messy spreadsheets into purchase-ready BOMs. Normalize manufacturers, catch risky part numbers, compare supplier offers, and plan buy quantities around the stock you already have.
CSV · XLSX · XLS
Drop BOM or choose file
| MPN | RefDes | Qty | Supplier | Unit Price | Stock | Status | |
|---|---|---|---|---|---|---|---|
| 1 | STM32F405RGT6 | U1 | 1 | Mouser | $7.42 | 4,820 | ✓ priced |
| 2 | RC0603FR-0710KL | R1–R5 | 1 | — | — | — | Qty mismatch |
| 3 | 497-6063-1-ND | U7 | 1 | — | — | — | needs MPN |
| 4 | GRM155R71C104KA88D | C1, C2, C3 | 3 | DigiKey | $0.012 | 82,000 | ✓ priced |
| 5 | LM358DR | U3 | 1 | — | — | — | DNP — skipped |
Resolves "ST Micro" and "STM" to canonical names. Acquisitions surfaced, not silently folded.
Missing MPNs, RefDes count mismatch, DNP marker extraction, distributor SKUs posing as MPNs, lifecycle warnings, and category inference.
See multiple supplier offers per part. Switch between distributors instantly, compare stock and lead times, and pick the best fit for your run.
A single row from a messy customer BOM — a missing MPN, a buried DNP marker, a distributor SKU pretending to be a manufacturer part, a RefDes range, a vendor-abbreviated manufacturer name. Nothing is silently rewritten.
No ML. No confidence scores. A correction either matches a rule or the row is flagged for your decision.
Upload a BOM, review the detected columns, and start from the file your team already uses. No template rewrite before cleanup.
Clear validation errors in real-time as you edit cells. RefDes ranges expand, DNP rows separate, distributor SKUs are flagged.
Click Fast Quote when the buyable rows are ready. DNP, missing-MPN, invalid-quantity, and uncategorized rows stay out of the request so procurement reviews only the parts that can actually be priced.
The BOM grid does not stop at “what this design consumes.” Set Board Quantity once, subtract on-hand stock, respect MOQ and pack size, and see the quantity purchasing actually needs to buy.
Smart math that respects your stock. If you have enough on hand, you don't buy. When you do need parts, MOQ, pack size, and manual buy-quantity overrides stay visible.
See top offers from multiple distributors, compare stock and lead times, and pick the best fit for your run. Switch suppliers with one click.
You can keep engineering cost and purchasing cost in the same view: Ext Price for consumed material, Buy Total for what purchasing has to pay today.
Supplier, currency, lead time, Ext Qty, Buy Qty, and Buy Total stay out of the way until the settings or quote data make them useful. Then they appear with real values, not placeholders.
You can override supplier, unit price, manufacturer, notes, quantity, and row currency directly in the table. The page behaves like a spreadsheet, not a wizard.
Search the table without losing the bigger issue count. Buyers can narrow the view to one manufacturer, MPN, or note while the full BOM health stays visible.
Hide columns, review detected mappings, and bring quote columns forward only when they are useful. The workspace adapts to review, sourcing, and purchasing moments.
When price-driving inputs change, the table tells you the quote needs a refresh. Existing numbers stay visible, but procurement knows when they are no longer current.
Row-level currency stays editable, while display currency only opens when priced rows can convert cleanly. Totals stay useful instead of becoming mixed-currency noise.
Export the cleaned BOM, sourcing-ready files, and an audit-friendly record of what changed so the handoff to purchasing does not depend on screenshots.
Saved drafts keep the working context that matters: quote values, hidden columns, board quantity, stock planning, issue decisions, and the audit trail of what changed.
Errors and warnings stay beside the grid. Fix what can be fixed, acknowledge what has been reviewed, and keep the sourcing conversation tied to the exact row.
Every pass applies a fixed BOM rule library. Some rules clean the row quietly; others raise a visible issue you can resolve in the grid. No ML, no guessing, no "confidence score".
Legacy names and abbreviations map to one canonical name. Crucial for reliable pricing across distributors.
Ranges are expanded and checked against the quantity column. Mismatches are flagged immediately.
Do-Not-Populate markers buried in descriptions are extracted so they don't corrupt quoting or inflate quantities.
Rows without a manufacturer part number can be cleaned, but they cannot be priced reliably until an MPN is supplied.
If a row has neither an MPN nor a usable description, the tool marks it as impossible to identify.
A BOM line needs a quantity greater than zero before it can be counted, checked against RefDes, or sent for pricing.
Expanded designators are counted and compared to the quantity column so placement counts do not drift.
The same placement designator cannot appear on two rows. Duplicates are surfaced before assembly data is trusted, but the tool leaves the final keep/remove decision to you.
Resistors, capacitors, ICs, connectors, and other board-placed parts need a placement reference unless marked DNP.
Continuous material and sub-assembly rows should not carry PCB placement designators meant for board parts.
Piece-count parts need whole-number quantities; continuous rows need a positive quantity and a real unit such as meters or liters.
Common unit labels are canonicalized so `pcs`, `piece`, `ea`, and local units read consistently in the grid.
Prefixes are compared with category clues so resistor rows do not quietly carry capacitor or connector designators.
Package fields are checked against category and canonical part data, so SOT-23 on a capacitor row stands out.
When a matched part description disagrees with the user-provided row description, the row is flagged for review.
Obsolete, end-of-life, and not-recommended-for-new-design statuses are highlighted before the part reaches purchasing.
The same manufacturer part appearing on multiple lines is flagged as a consolidation candidate.
Acquired or rebranded manufacturer names are surfaced so sourcing and datasheet history do not disappear.
When headers are guessed from messy exports, the page asks you to verify that MPN, manufacturer, quantity, and RefDes landed correctly.
A single row should contain one part type. Mixed designator classes (e.g. R1, C3, U7 on the same line) are flagged for review.
Package or footprint not declared and cannot be inferred from canonical part data. Assembly planning needs this information.
SKUs posing as MPNs are detected and flagged. A real MPN is needed for accurate cross-supplier pricing.
These are the static dictionaries behind the checks: aliases, RefDes prefixes, category signatures, DNP phrases, unit labels, lifecycle words, and spreadsheet header names.
TI, ST Micro, STM, NXP Semi, Freescale, Cypress, Maxim, Dialog, IR, AVX, and other common brand variants.
R, C, L, D, LED, U, Q, J, P, Y, X, FB, TP, F, S, SW, MOD, and MP category hints.
MPN and description patterns for resistors, capacitors, ICs, diodes, transistors, connectors, crystals, fuses, switches, and more.
DNP, DNI, DNF, DNL, Do Not Populate, Do Not Install, Do Not Fit, No Pop, remove, unmount, and related markers.
pcs, pc, each, ea, piece, pieces, шт, meter/metre, m, liter/litre, ml, set, kit, assembly, and local variants.
active, production, mature, stable, NRND, last-time-buy, EOL, discontinued, obsolete, and supplier status variants.
MPN, part number, P/N, manufacturer, qty, designator, description, footprint, package, unit price, currency, lead time, notes, and DNP columns.
Zero-width characters, dash variants, and accidental internal whitespace are normalized before rule checks run.
RefDes ranges expand predictable spans while pathological ranges stay safe and visible for review.
Fast Quote needs a real manufacturer part number and a nonzero quantity. DNP rows are skipped automatically. Sign in with a verified account to launch a quote and keep the request attached to a saved BOM while supplier prices come back.
| Field | Written back to your row |
|---|---|
| Supplier | Distributor name (Mouser, DigiKey, etc.) |
| Unit Price | Price at your quantity break |
| Currency | USD, EUR, GBP as returned |
| Stock | Available inventory at time of query |
| MOQ | Minimum order quantity |
| SPQ | Standard pack quantity |
| Price Tiers | Full break-price table |
| Lead Time | Weeks to ship from distributor |
| RoHS | Compliance status where available |
| Lifecycle | Active / NRND / EOL status |
| Distributor PN | Distributor's own part number |
| Manufacturer | Canonical manufacturer name |
Honest tool boundaries. If you need automatic part swapping, you want an engineering team, not an automated normalizer.
No account required to start cleaning. Saved drafts and Fast Quote are available once signed in.
Upload your BOM