Extract data from bills of materials
Unstract reads engineering, manufacturing, customer and supplier bills of materials, from indented PDFs to parts lists on a drawing, and loads every component, quantity and revision into your ERP or MES.
| ITEM / PART NO. | QTY | UOM | REV |
|---|---|---|---|
| PUMP END | |||
| 1.0 400-1100 Pump head subassembly | 1 | EA | B |
| 1.1 400-1110 Volute casing, cast iron | 1 | EA | D |
| 1.2 400-1120 Impeller, 7.25 in, bronze | 1 | EA | C |
| 1.3 400-1130 Mechanical seal kit | 1 | EA | A |
| 1.4 900-0412 Hex bolt, 3/8-16 x 1.25 | 8 | EA | — |
| DRIVE END | |||
| 2.0 400-1200 Motor adapter subassembly | 1 | EA | A |
| 2.1 400-1210 Motor adapter bracket | 1 | EA | B |
| 2.2 400-1220 Shaft sleeve, 316 SS | 1 | EA | A |
| 2.3 900-0418 Hex bolt, 1/2-13 x 1.5 | 4 | EA | — |
| 3.0 600-2040 Motor, 5 HP, 1750 RPM, TEFC | 1 | EA | — |
| 4.0 700-0081 Gasket sheet, non-asbestos | 0.4 | SQ FT | — |
| Total pieces, rolled up | 18 | EA | |
impeller → rev D per ECO 2291? check w/ eng — TK
EFFECTIVITY: S/N 40-2610 AND UP · ECO 2274 · SHEET 1 OF 1
{ "manufacturer": "Marroway Pump & Motion", "assembly_part_number": "400-1000", "description": "CP-400 centrifugal pump assembly", "bom_revision": "C", "bom_date": "09/22/2026", "approved_by": "R. Okafor", "effectivity": "S/N 40-2610 and up", "impeller_part": "400-1120", "total_pieces": 18, "confidence": 0.94}
Trusted by manufacturing and quality teams around the globe
Every engineering team writes its BOM its own way
A clean export from your own engineering system is the easy case. Customer and supplier BOMs reach planning looking like this.
A parts list in a drawing's title block, scanned off the shop print
Three customers, three headers for quantity per assembly
A quantity crossed out on the floor and rewritten in pen
BOM, drawings, change order and vendor list in one RFQ file
A spreadsheet BOM printed to PDF, the indents lost on page two
A planner rekeys each line into the item master and the routing, and the job can't be scheduled or quoted until every part number checks out.
Unstract reads the BOM in whatever layout it came in, keeps each part under its parent, checks every component against your item master and loads the structure into your ERP or MES.
Parse, extract and load bills of materials on one platform
Read the BOM with its levels intact, turn each line into data, then run the checks and the load around it. Each product works alone, and the three together take a BOM from inbox to item master.
Parse every bill of materials with its levels and parents kept
Capture the full text of an indented BOM, a single-level parts list or the table in a drawing's title block, whether it came as an engineering PDF, a spreadsheet printed to PDF or a scan of a shop print. Each line keeps its item number, indent and columns, so a bolt stays under the subassembly it belongs to and a quantity never shifts to the next row.
Pass the text to your own LLM, or make it the first step of a BOM load into your ERP or MES.
Learn more about LLMWhispererA bill of materials data extractor that checks every component
Define the fields you load for each line once: level, parent, part number, description, quantity, unit and revision. Every BOM then comes back in that JSON structure, whether the customer heads the column QPA or QTY PER. Each component is matched to your item master as it comes out, so an unknown part number, a revision behind the current release or a unit that differs from your stocking unit arrives flagged with the reason.
Call it as an API from your engineering or quoting system, run it as an ETL pipeline from a shared folder, or make it one step in an orchestrated BOM load.
Learn more about Document StudioRun BOM intake from the inbox to your item master
Describe your bill of materials intake in plain English and Flow's agents build the workflow. BOMs are picked up from engineering releases, customer RFQs and supplier submissions, each one is read level by level, every component is checked against your item master, and the structure loads into your ERP or MES. You approve the workflow once, and every BOM after that runs through the same steps.
Choose where a manufacturing engineer steps in: a part number your item master doesn't know, a revision that trails the latest change order, a quantity rewritten by hand. Those BOMs wait with the line marked, and the clean ones load. Your engineers still own the product structure; Unstract reads and checks it.
Learn more about FlowExtract your own BOMs now, and add the item master checks later.
Start for free to parse and extract a bill of materials today. Automating BOM intake and loading starts with a consultation.
Bills of materials, and the engineering paperwork that travels with them
Documents
- Engineering bills of materials (EBOM)
- Manufacturing bills of materials (MBOM)
- Multi-level indented BOMs
- Single-level BOMs
- Parts lists on drawing title blocks
- Customer BOMs in RFQ packages
- Supplier BOMs and kit lists
- Spreadsheet BOMs printed to PDF
- Engineering change orders
- Approved vendor lists
- Where-used reports
- Service BOMs and spare parts lists
- Kitting and pick lists
- Assembly drawings
Fields captured
For the teams that turn a BOM into a build
A complete, checked structure in the ERP the day the BOM arrives, so material requirements and the schedule are built on the right parts.
Every line compared with the item master, with the unknown part numbers and stale revisions listed before release instead of after a shortage.
Kits and pick lists drawn from the current revision, so the line isn't stopped by a part the change order removed.
Each customer's BOM read in that customer's layout and loaded, so a quote or a new build starts from the parts list without rekeying it.
Structures loaded sooner, with fewer part number errors
Product structures stay inside your walls
A bill of materials is the recipe for a product: every part, quantity and revision, plus the supplier part numbers behind them. Product designs and supplier part numbers are intellectual property, and a customer's BOM reaches you under an NDA you have to honor.




- Encrypted in transit and at rest.
- BOMs and drawings are never used for model training.
- Access by role, program and customer, so one customer's BOM is never open to the team quoting another.
- You set retention: BOMs are kept as long as your engineering records require, then deleted.
- Self-hosted deployment for manufacturers and contract manufacturers that keep product data on their own network.
What planners and engineers ask about BOM extraction
Upload the PDF, or send it from an inbox, a shared folder or an API call. LLMWhisperer reads the BOM with each line, level and column in place, and Document Studio returns the parent, components, quantities, units and revisions as JSON. To extract BOM from PDF files in bulk, run the same extraction as an ETL pipeline over a folder.
Each component is checked against your item master before it loads. A part number the item master doesn't hold, a revision that trails the current release or a unit that doesn't match comes back flagged, and only clean lines load into your ERP or MES. A flagged line waits for a manufacturing engineer instead of creating a wrong item.
Extract the customer's BOM into your fields, then split the buy parts by commodity or approved supplier and send each group out for quotes. Flow's agents can run that whole sequence: read the BOM, check it, build the request lists and collect the replies. Your buyers still choose the suppliers.
Yes. Each line comes back with its level and its parent part, whether the BOM shows levels as numbers like 1.2, as dots or as indents. A component that appears under two subassemblies keeps both parents, so rolled-up quantities come out right.
Yes. LLMWhisperer reads the parts list in a drawing's title block or balloon table, including scans of paper prints, and returns each find number with its part number, description and quantity, alongside the drawing number and revision.
A spreadsheet printed to PDF often loses its indents after the first page, or splits columns across sheets. The bill of materials parser reads the layout as printed and keeps each row's cells together, and the extraction rebuilds the levels from the item numbers.
Yes. The BOM revision, each component's revision, change order numbers and effectivity by date or serial number are all fields. A component revision that differs from the one your item master holds is flagged before the structure loads.
Both, in layers. LLMWhisperer parses the BOM into text, Document Studio extracts the fields you load, and Flow runs the intake, the checks and the load into your ERP or MES. Teams start BOM digitization with the parser alone and add the other two as they need them.
Yes. Document Studio deploys an endpoint per document type: POST a BOM and get each line back as JSON with its level, parent and quantities. The same extraction runs as an ETL pipeline from a folder or bucket.
Unstract is SOC 2, ISO 27001, GDPR and HIPAA compliant. BOMs and drawings are encrypted in transit and at rest, never used to train models, and deleted on the schedule you set. Manufacturers that keep product data on their own network can self-host; see the Trust Center.
A handful of BOMs from engineering and from your largest customers, and an export of your item master. In a consultation we set up the checks and the load into your ERP or MES around them. To test the extraction first, start for free and upload one BOM.
Bring three customer BOMs and your item master to the consultation
Indented PDFs, title-block parts lists and spreadsheets printed to PDF. We read them live, check every line against your item master and show you each part number that doesn't match.









