From Raw Stock List to Bid: How a Medium-Sized Industrial Surplus Dealer Automated Quoting
Can software turn a raw stock list into a bid? Largely yes: it can match the part numbers and price the matched lines, and leave a person to decide on the rest. A medium-sized industrial surplus dealer was checking hundreds of prices by hand every day before it could bid on a stock list. In a pilot run in 2026, Automa.Net connected two of its tools, BOM Cleaner and BOM Repricer, to the trader's own buying rules. On almost 20,000 rows from real incoming lists, 39% of the lines were matched to a catalogue part automatically, and 53% of the matched parts in the pricing scope came back with a European market price. Both tools now run in the trader's daily work. The next stage is a dedicated tool built around the trader's process. This article follows the case from the problem and what it cost, through the solution and the pilot, to the current stage, because the case shows something that a product page cannot: Automa.Net also builds implementations around one customer's process, and it usually starts with a pilot.
The case in brief:
- Problem: unstructured stock lists, products identified by hand.
- Cost: hundreds of manual price lookups a day, and errors from wrong part matches and distorted prices.
- Solution: BOM Cleaner for part number matching and BOM Repricer for market prices, both run with the trader's own rules.
- First step: a pilot on almost 20,000 rows from over 20 real lists.
- Result: 39% of rows matched automatically, 53% of matched parts in scope priced from European offers; both tools in daily use.
The Problem: Stock Lists Nobody Can Read Automatically

The trader buys and resells industrial parts, much of it from excess and surplus lists. Its business depends on bidding fast and at the right price on lists it does not control.
Those lists arrive as spreadsheets written the way each seller's ERP exports them. A single file can mix clean manufacturer part numbers with internal codes, brand names glued to the code, two codes in one cell, codes buried in a description, quantities in the wrong column and lines that are not automation parts at all.
Before the pilot, every list went through the same manual steps:
- Separate the strings. Pull the part number, the brand and the quantity out of whatever the seller wrote.
- Identify the product. Decide which exact part each line is, often by searching the code online.
- Check the market price. Look up current offers for that part, by condition, one line at a time.
- Decide. Only then could a buyer decide which lines were worth bidding on and at what price.
A stock list is in effect a bill of materials written by someone else, and our guide on how to clean bills of materials for procurement explains why lists like these defeat a plain lookup.
What the Problem Cost: Time and Errors
Time. The first three steps took most of the time. The team made hundreds of price lookups a day by hand, so a list of several thousand lines needed weeks of lookups to be priced line by line. The buyers spent their time preparing lists instead of deciding on bids.
Errors. Manual work on lists like these goes wrong in predictable ways:
- The wrong part. A truncated code or a code without its brand can match a different product, and the bid is priced for the wrong item.
- A misleading price. Marketplace listings for accessories often sit under the main product's part number. A protective film or cover for an HMI panel sells for a fraction of the panel, and one such listing drags the apparent market price down.
- A price range that hides the spread. When one part sells at very different prices, a single average either gives away margin or loses the deal.
- Old prices. When checking a long list takes days, last quarter's prices get reused and the bid no longer matches the market.
None of these errors shows up at once. A bid that is too high is simply not accepted, and stock bought too expensively shows its price only when it does not sell.
How We Solved It: Part Matching, Then Price Matching

We connected two existing Automa.Net tools into one flow: first match every line to an exact catalogue part, then match that part to live market prices, with the trader's own rules applied at each step.
BOM Cleaner reads the part number out of each line, whatever shape it arrives in, and matches it against the Automa.Net catalogue of more than 10.5 million parts from over 9,000 manufacturers. Each matched line comes back with the manufacturer's own spelling of the code and brand, a confidence score and the reason for the match. Lines it cannot match with confidence are marked for review instead of guessed. This is the step that matches inconsistent part descriptions: the same part written as a bare code by one seller, with a brand prefix by another and inside a description by a third comes back as one record.
BOM Repricer takes the matched lines and prices them against live offers from Automa.Net suppliers, split by condition: new factory sealed, new surplus, refurbished and used. For the trader, it runs with its own buying rules, such as preferred markets, excluded seller types and filters that keep accessories out of the price.
The output is the trader's own spreadsheet with the matched part and the price columns added, ready for a buyer to make the bidding decision. Tools like this are part of a wider shift in how distributors price, which we cover in using price intelligence tools for industrial parts.
The Pilot as the First Step
BOM Cleaner and BOM Repricer are both products anyone can use on the site, so the trader could have uploaded its files and read the results. It would not have been enough. A general price range is not a bid: the trader prices only some conditions and some markets and wants the result in the columns its buyers already read. And the value is in the whole chain, from raw list to decision, not in one step.
So instead of a subscription, we started with a pilot: run both tools on the trader's real lists, apply its rules, measure the result, and only then decide together what to build. The trader's rules came out of the first rounds of its feedback during the pilot. It ran on real files that the trader sent in during its normal work.
| Measure | Result |
| Rows processed | almost 20,000 |
| Rows matched to a catalogue part | 39% |
| Match rate per file | from 6% to 98% |
| Matched parts in scope priced from European offers | 53% |
The average hides the most useful finding: the match rate depends far more on the list than on the tool. The same pass matched 98% of one file and 6% of another. Lists that carry manufacturer part numbers match well; lists made of internal codes, short fragments or descriptions only leave much less to match against.
How we measured:
- Period and sample: several weeks in mid-2026, over 20 files from the trader's normal work, almost 20,000 rows in total.
- Matched: a row tied by BOM Cleaner to one product in the Automa.Net catalogue, with a confidence score. Rows marked for review count as not matched.
- In the pricing scope: matched parts the trader prices, after excluding accessories and other lines its rules leave out.
- Priced: at least one offer left after the trader's filters.
The pricing rate of 53% is honest rather than flattering. With the trader's filters applied, some parts simply have no matching offer at the moment. The trader preferred a missing price to a misleading one.
The Effect and the Current Stage
BOM Cleaner and the pricing step now run in the trader's daily work. The pilot also showed what to improve next:
- Fallbacks beat blanks. A line with no price under the main rules is still worth something. The next version tries further price sources in order, and labels clearly which one the price came from, so a buyer knows a price bracket instead of nothing.
- AI helps where codes are broken. For lines with a truncated or mistyped code, an AI suggestion, now being added to the matching, proposes the most likely full part number with its reasoning, for example restoring a missing prefix and check digit on a manufacturer's order code. The buyer accepts or rejects it in one click.
The next stage, now in progress, is a dedicated tool built around the trader's process, running on the same API as BOM Cleaner and BOM Repricer.
Talk to Us About a Pilot on Your Own Data
A pilot like this makes sense when your team repeats the same manual steps on every list and your rules are specific enough that a standard result needs rework. Typical signs:
- You price lists, not single parts. Excess stock offers, customer BOMs or incoming RFQs arrive as spreadsheets with hundreds or thousands of lines.
- Your rules change the answer. You exclude markets, sellers or conditions, or you need prices in a format your buyers already use.
- The data sits in your ERP. Results need to go back into your ERP, not stay in a downloaded file. See integrating ERP systems with B2B marketplace pricing for what that involves.
- Your BOM process already has a fixed shape. If your team follows a set BOM management process, the tools can slot into its steps rather than replace them.
The first step is a conversation, not a contract. Send us a few of the lists your team actually works on, tell us the rules you price by, and we will show you the match rate and the price coverage on your own data, before anything is built. Contact the Automa.Net team to talk about a pilot.
Frequently Asked Questions
Can software automate component price matching?
Yes, once each line is tied to an exact part. BOM Repricer compares every matched line against live supplier offers for that part and returns the lowest and highest price per condition. In this pilot it priced 53% of matched parts in scope; the rest had no offer that met the trader's rules at the time.
How do you match inconsistent part descriptions across stock lists and BOMs?
Match each line against a manufacturer catalogue, not against your own past files. BOM Cleaner reads the code out of whatever the line contains, returns the manufacturer's own spelling with a confidence score and the reason, and marks uncertain lines for review. For broken codes, an AI suggestion proposes the most likely full part number.
What does a pilot with Automa.Net look like?
You send real files from your daily work and the rules you price by. We run them through the existing tools with your rules applied, measure the results on your data and agree with you what to build next. The trader in this case started with matching and pricing and moved on to a dedicated build only after the pilot showed where the time went.
Why was only 39% of the rows matched?
Because many lines in the sample did not carry a manufacturer part number. The rate ranged from 98% on one file to 6% on another, depending on whether the seller wrote real part numbers or internal codes, fragments and descriptions. Lines that cannot be matched with confidence are marked for review rather than guessed.
Where do the prices come from?
From live offers of Automa.Net suppliers, matched to the exact catalogue part and split by condition.
Do we have to keep using Automa.Net to develop the tool?
No. After the core build, your own IT team can take over the interface and its further development, or Automa.Net can continue it. The data engine stays available through the API either way.
Other Posts

How to Optimise 21,000 Parts and Save €1.2M in 45 Days? An Automotive Case Study
Learn how a Tier-1 supplier saved €1.2M in 45 days. We optimized 21k MRO parts & fixed "dirty data" for SAP S/4HANA using Automa.Net AI solutions.
Read More →
Sourcing Hard-to-Find Allen-Bradley Drives: 7 Best Practices
Sourcing Allen-Bradley drives gets harder once a model is discontinued. Learn seven practices that shorten the path to a verified replacement.
Read More →
Is the 6BK1621-0AA00-0AA0 Still the Right Gateway?
The 6BK1621-0AA00-0AA0 links PROFINET to BACnet/IP. Compare specs and sourcing options before you specify or replace this Siemens module.
Read More →