MRP / BOM Management for Startup - Page 1
Forum section: electronics / general

author: matth
author_rank: Contributor
timestamp: May 05, 2025, 06:53:09 am
content: We are a small start-up who are building some RF communications products. We are in need of a MRP system to manage our BOM (bill of materials) and component supply chain. As we are a startup we are trying to do this as economically as possible (so no SAP/Oracle/etc systems).Our BOM is about 2000 components that are spread across mechanical, electronic, etc. We have about 10-15 sub-assemblies. We have been managing in excel for a while now but it makes it really hard to track changes, second sourcing, and control.I am looking for any recommendations / suggestions on what small startups (<20 ppl) could look at for MRP/BOM management software.

author: voltsandjolts
author_rank: Unknown
timestamp: May 05, 2025, 08:29:31 am
content: In my view, this is a good question because I still see no obvious go-to solution for this. Some time ago I did a small crud web database for this purpose, simple but much better than folders on a shared drive. I would like to have the time to polish that and release it but alas not yet. In essence, bom's were still in spreadsheets but they were revision controlled in the database. Each database entry (be it a mechanical part, parts list, user manual) had a part number and was linked to a folder on a (controlled access) network drive where the files were actually stored. The revision control ensured history of changes, and helped with iso doc control compliance.cross-ref to useful discussion:https://www.eevblog.com/forum/manufacture/stock-control-and-bom-software/

author: law
author_rank: Regular Contributor
timestamp: May 05, 2025, 09:51:28 am
content: I use Inventree for inventory management and BOM management. It is really excellent for this application. It is also free and actively developed.I run it locally on a small server via Docker, but you can evaluate it via an online demo.It is not so great for MRP stuff. It does support builds and procurement, but it is somewhat limited. Eg, you can't really manage the state of a build, or where things are located when they are partially completed.(If anyone can correct me on this I would be very grateful!)I've recently been looking at full ERP systems again, like Tryton and ERPnext. These are both free and open source, but huge and complicated to set up.I've evaluated all my workflows in Tryton, but getting my data out of Inventree and into Tryton is a fair hurdle. I cracked the shits with ERPnext....

author: krish2487
author_rank: Frequent Contributor
timestamp: May 05, 2025, 11:06:13 am
content: You can try looking athttps://www.odoo.com/I briefly tinkered with it when it was called OpenERP.It was somewhat usable but with its quirks.. but I havent looked at it in a while now..

author: Kean
author_rank: Unknown
timestamp: May 05, 2025, 12:15:01 pm
content: Not a full MRP system, but I used Arena PLM some years ago for managing a bunch of BOM lifecycles across a product range and I quite liked the capabilities.https://www.arenasolutions.com/platform/plm/Arena was recommended to us by the CM we were using at the time. They ran their own inventory system, but encouraged customers to use Arena for BOM management.It may be worth doing a trial to see the PLM features and whether they are of use to you and exist in other software you look at.

author: loki42
author_rank: Frequent Contributor
timestamp: May 05, 2025, 12:39:47 pm
content: We use inventree and have it heavily automated, so builds are automatically done by machines in our assembly line or via scanning barcodes. Some of the UI is a bit fiddly, but I found it much easier to use and teach to my employees than any of the other options I've looked at. The environment is pretty good to customise. I'd think about looking at Odoo again but for most of what I wanted to do it seemed very fiddly. Our online store is integrated with inventree, as is our shipping stuff.

author: law
author_rank: Regular Contributor
timestamp: May 06, 2025, 12:45:01 am
content: QuoteSweet - Have you guys convinced Inventree build orders to track where in the line a board is? Or does it just kick off a build, then complete it once it comes out the other end of the line?Do you have to manage double sided loading? If so, how have you set this up in Inventree builds?Are you using Inventree to gate the build for testing? EG, the build can't complete until board tests pass.Thanks

author: temperance
author_rank: Super Contributor
timestamp: May 06, 2025, 01:10:25 am
content: Odoo without some heavy customization is not usable for the electronics manufacturing industry. From what I saw when I tried it about a year or two ago it is fine for a bicycle repair shop.

author: SMTech
author_rank: Frequent Contributor
timestamp: May 06, 2025, 08:05:03 am
content: Quote from: temperance on May 06, 2025, 01:10:25 amThis is a highly unqualified statement with no particular indication as to where you found it fell short, or indeed if you are addressing the commercial or community version (which lacks most of the manufacturing features).We have been considering Odoo but the massive task that switching systems entails makes this difficult and the unhelpful evaluation timelines offered by just about every commercial offering just makes it worse. for this Reason I'd forget your startup status. You need to pick something that works the way you want to operate and does the engineering things you want and looks like it will for the forseeable. That means different things to different people and can mean 3+ different connected systems. Our current system is one of the many offerings on the market that you find from smaller software houses or large regional IT support service providers. Quite a few of them have developed systems probably bespoke for a local manufacturer which have then turned into a product they develop and sell elsewhere.manuonline is another option - it connects to Xero or sage for the accounts sideThen you have the big boys toys like Siemens or factorylogix, these would scale with you and integrate with other systems for all sorts of other benefits that could be important if you need some of the traceability or other controls for Aeorspace/Defence.

author: temperance
author_rank: Super Contributor
timestamp: May 06, 2025, 10:33:39 pm
content: QuoteImporting BOM's:How this is done is demonstrated after 12 minutes.I also didn't find a way to deal with alternate components.

author: SMTech
author_rank: Frequent Contributor
timestamp: May 07, 2025, 01:03:30 pm
content: Alternate parts are a complex issue avoided in a lot of these simpler packages. How one might want it handled can vary greatly and it can come with pretty complex rules, that might be customer or even variant specific.On our current MRP, every part we hold in stock has an internal part number and its key properties are listed in the description. A note field can be used if its MFG P/N or even supplier locked. That gives purchasing a free hand where needed such as with with your basic passives, we tend to always work from a few select supplier ranges for most of these anyway. When the requirements are more specific a list of approved alternates are kept in a spreadsheet, not ideal but the MRP is pretty old at this point. Odoo would appear to require a similar approachInventree appears to tackle this by tracking every single alternative as its own part number meaning alternative parts would need to be purchased and stocked as unique parts - is this right? This has pros and cons, the biggest pro being it keeps alternatives specific to a product so there's no risk of inadvertently fitting an inappropriate alternative to another product if it get the internal p/n applied to it by someone getting the wrong end of the stick.

author: meshtron
author_rank: Regular Contributor
timestamp: May 07, 2025, 05:00:49 pm
content: Good topic. I'm going to give Inventree a whirl - sounds promising.

author: Mangozac
author_rank: Frequent Contributor
timestamp: May 07, 2025, 09:38:14 pm
content: Quote from: meshtron on May 07, 2025, 05:00:49 pmYes, we're going to evaluate it as well. We've got an in-house MRP system built from PHP and MySQL over several years and although it suits our workflows nicely it's really not complex enough to handle the requirements of where our business is at now.

author: loki42
author_rank: Frequent Contributor
timestamp: May 07, 2025, 10:26:05 pm
content: Yeah we use the test system to mark where in the process it it, each build is just one panel. Then it's marked as the build being completed by the item state is untested until the QA / flashing is done. That step marks them as tested or failed. Aoi / spi looks at the QR codes on each board along the way.We also use assemblies to break up the process. So the pnp line produces boards that don't have the through hole parts and then there's a separate build for selective soldering those which consumes the through hole parts. The packing process consumes labels, boxes, etc when the barcode is scanned.There's a few things we want to add to the system but it works well for us. Creating build orders and returns without the barcode automation stuff is a bit fiddly. Also on earlier versions be careful naming your locations do it's easy to find stuff. Newer version have better search. I haven't updated to the latest yet.I still want to integrate our SPI and AOI properly so I can store stats from them so I can find of i should change my tolerance on those if there's failures later etc.

author: law
author_rank: Regular Contributor
timestamp: May 08, 2025, 01:38:28 am
content: I use an internal part system, similar to what you described.QuoteI keep everything in Inventree. If I can't rework the design to get rid of the specific part I just create a new internal part for it. I have a few internal parts that are assigned to a single part / manufacturer. The number of non-specific parts far outweighs the specific ones, so this ok for me to manage.QuoteNot quite - Inventree has Part Manufacturers which lets you associate a manufacturer and manufacturer part number to the internal part. It then has Part Suppliers that let you assign a supplier part to the manufacturer part. I think that is what you are getting at?At the risk of giving away all my secrets, I'll include a picture.Inventree is not perfect though. If I batch up a bunch of widgets to build, I can't figure out how to get Inventree to tell me what I need to order to manufacture everything. Maybe I need to just use the low inventory threshold?

author: law
author_rank: Regular Contributor
timestamp: May 08, 2025, 01:43:52 am
content: QuoteThanks for that. I'll have a bit more of a look into the test system - I haven't used it yet.One more question - Do you guys track serial numbers in Inventree? The last time I looked at that it made the build process pretty painful.

author: SMTech
author_rank: Frequent Contributor
timestamp: May 08, 2025, 11:51:25 am
content: for the purpose of searching another name might be an MES.Qcadoo was another open option, I briefly fiddled with it years ago and then it seemed to lack any decent level of bulk import. I don't know how it has grown since.

author: mtwieg
author_rank: Frequent Contributor
timestamp: May 08, 2025, 11:59:16 am
content: Quote from: SMTech on May 07, 2025, 01:03:30 pmI don't even understand how one could get by without this feature though.My company uses Omnify/Empower. Each "part" has an internal part number. For example there's a part number for a 4.7K, 0603, 0.1%, 0.1W, thin film resistor, and it contains all those attributes (along with stuff like the name of the schematic symbol and layout footprint(s)). The "part" by itself is not something one can order though. Our schematic capture software automatically pulls from Omnify as well.Aside from that "part", we also define Vendor Items, which define an exact vendor part number, vendor name, datasheet, status, etc. For example Panasonic ERA-3APB472V, Yageo RT0603BRB074K7L, TE CPF-A-0603B4K7E. These are things that one can actually order.We can then assign those vendor item to that part, indicating exactly what orderable parts can be substituted if necessary.When exporting a BOM spreadsheet to send to CM, Omnify automatically lists all vendor items for each part, so the CM can see all the options.This super-atomic system seemed insane at first but I've grown to like it. Its utility grows over time. Now for a large project with 200+ line items on a BOM, typically only %10-15 are actually new parts I had to add in Omnify for that project. And it takes me a couple minutes at most to create a BOM spreadsheet I can send to a CM.Maybe part of the reason we depend on supporting multiple Vendor Items is that we work with a CM who requires exact part numbers be specified, which is a pain sometimes. For example I can't tell them to use a LT3060 in a TSOT23-8 footprint with 3.3V fixed output voltage, for which there are 8 different orderable part numbers (different temperature grades and packing options, which we don't care about). We have to put all 8 of those part numbers as separate vendor items for them

author: SMTech
author_rank: Frequent Contributor
timestamp: May 08, 2025, 01:27:59 pm
content: Quote from: mtwieg on May 08, 2025, 11:59:16 amAs a CM we would also require a precise P/N, its not our job to understand your design choices. However slapping a # or other wildcard for a letter you don't care about is one approach, this is also useful to hide letters that apply to packaging type. In the typical low volume business we do, you don't get to be picky about such things and often Farnell etc lie about which packaging type they are shipping anyway.I'm not the primary user of our aged MRP, it does allow you make make one part an alias for another and it certainly lets you apply multiple supplier p/n's to one internal part. What its not doing is controlling that in any way but that might be because historically our founder took his processes from 1970s hawker siddelly and hammered them into place over the top of a more modern system. Bloody mindedness (so what if a new system means your invoice numbers change format or start again?) and bad habits are a true pita.The software you choose, will at some level define vrious parts of your process, if you find yourself fudging things on the software side of things to replicate how you think it should work, chances are you are wrong.

author: loki42
author_rank: Frequent Contributor
timestamp: May 08, 2025, 10:45:22 pm
content: Quote from: law on May 08, 2025, 01:43:52 amYeah we track serial numbers. The build process isn't any worse for us with serials but we only build via the API. All our boards and final units have serials and they get scanned to ship them out or allocate them.There is something in inventree I find anything and it might be because I'm doing it wrong, so I'd love advice.When I'm ordering say capacitors and I order 20k units that's on 10 reels of 2k. My purchase order needs to have 20k units in it not 10 packages as suppliers list them like that. When they arrive, I want to receive them in, and I want to receive them by pack size but I can't. I.e. I have to do receive 10 times with an amount of 2k to create the 10 stock items that can then get labels.So I want to order 20k and the pack size setting to say that reels are 2k so 10 reels and they'll come in as 10 items when you receive but last time I checked it meant I had to say I was buying 10 of them which made the POs confusing.

author: law
author_rank: Regular Contributor
timestamp: May 09, 2025, 01:35:40 am
content: Quote from: loki42 on May 08, 2025, 10:45:22 pmThanks mate, that's helpful. I think I'm going about it the hard way by doing it all manually.Re your other problem, Inventree does store info about the packaging that parts come in. Have a look at the "Pack Quantity" field in the supplier part.You might have to experiment on the demo server or something. I think the pack quantity affects the purchase price in the purchase order.Note: I don't actually know if this will solve your problem!

author: loki42
author_rank: Frequent Contributor
timestamp: May 13, 2025, 01:07:05 am
content: I haven't tried for a while but last time I used the pack quality it was for stuff you bought in packs like you'd buy 1 and it would have 100 screws but it would come up as 1 in your PO not 100.

author: rounin
author_rank: Regular Contributor
timestamp: May 18, 2025, 06:10:49 am
content: We use MRPeasy -https://www.mrpeasy.com/Tracks inventory (and inventory value / cost), boms, multiple suppliers. procurement, invoicing. Also have it integrating with quickbooks (both sales and POs) and wocommerce (for order capture).I mostly don't track PCBA sub-components (just bring them into inventory as assemblies) but do track eg control cabinet BOMs with a few hundred parts, and wire harness with all the PNs for connectors / contacts / etc (and abuse the BOM as work instructions for the cable harnesses). Tracking PCB parts would work just fine too, I just haven't needed to.It has a manufacturing workflow, can make a concept of a kit BOM that then goes through a few MFG steps at different stations with reservation and cost tracking (and gets eg another letter in its part number to track it), and nested BOMs of BOMs with some needing MFG operations and others "self-assembling" works.Seems to work well for us (few thousand parts tracked, maybe 5 big top level system BOMs, few dozen cable BOMs, ~5 PCBAs).Biggest issue was to just stop fighting it and make a PO for every purchase, and a MFG order for anything built hah. Turns out its worth the time to do the paperwork upfront.

author: Mangozac
author_rank: Frequent Contributor
timestamp: May 26, 2025, 10:44:54 pm
content: I've done some serious evaluation of Inventree over the past couple of weeks. On first assessment it's really impressive and it does about 75% of what we need through the flexibility of the built-in customisations and plugins.Unfortunately that final 75% is some serious deal breaker stuff. This one in particular:https://github.com/inventree/InvenTree/issues/7279If a system can't provide an accurate BOM cost snapshot at a specific point in time then it's still just a hobby toy. The comments about it not being accounting software are rubbish; this isn't an accounting functionality but basic BOM management.How are you guys working around this?

author: mtwieg
author_rank: Frequent Contributor
timestamp: May 27, 2025, 12:05:07 am
content: Quote from: Mangozac on May 26, 2025, 10:44:54 pmI guess if you are a manufacturer of complex assemblies, then I suppose these features (tracking your existing stock so you know exactly what needs to be ordered at any given time) are very helpful.If your company leaves manufacturing up to a CM, then there's no need for you to have such a tool. AFAIK Omnify/Empower has no such features, and I certainly wouldn't call it a "hobby toy."

author: Mangozac
author_rank: Frequent Contributor
timestamp: May 27, 2025, 01:52:13 am
content: Quote from: mtwieg on May 27, 2025, 12:05:07 amWe (and many of those discussing in this thread) are in the former category. I'm not familiar with Omnify/Empower so can't comment there. We currently run on a basic in-house system we built that can do the historical snapshots; the only reason for considering a change is for some other functionality we're currently missing.I may have been overly dramatic with the "hobby toy" comment but I still feel that it's a significant shortcoming in Inventree.

author: loki42
author_rank: Frequent Contributor
timestamp: May 27, 2025, 02:34:26 pm
content: I'd say from most ERP / MES systems is the they don't ever do all of what you want. The larger more expensive ones in my experience are usually just much worse. The good thing with Inventree for me was that it was easy for us to set up the extras we need. I keep track of POs and SOs in Inventree and have it integrated into our billing system but we don't do anything with stock pricing. We're not a CM, our machines are only for our products so I'm keen to not run out of any parts and keep track of lead times but if I work out the BOM cost once a year that's fine with me.There's a few things I'd like from a MES that aren't currently neat in inventree:1. Easy overview of factory state and utilisation, how much is each machine running, which machines are waiting, how much per month are they on etc, are any other currently in an error / attention condition.2. Odoo has some nice stuff around task instructions. If someone is using a station / machine they haven't used in a while it would be good to have the work order have instructions / easy links to videos etc. I stick QR codes to some of the machines that link to videos but this doesn't work well for machines with a lot of different products.3. Easy organisation of stuff in slots. Currently using a separate spreadsheet of which tool is in which holder on some machines and this makes keeping track of tool wear and cost difficult.

author: Mangozac
author_rank: Frequent Contributor
timestamp: May 27, 2025, 10:01:53 pm
content: Quote from: loki42 on May 27, 2025, 02:34:26 pmYes, that's why easy to understand open source is a great way to go!Quote from: loki42 on May 27, 2025, 02:34:26 pmAhh ok that's the difference. We do about 50% CM (of which 90% are repeat jobs for our long time customers) so we need to work out BOM cost on a per batch basis. We also produce some of our own products but I wouldn't be happy with only analysing costs as rarely as once per year.Quote from: loki42 on May 27, 2025, 02:34:26 pmWhat's the benefit of having that in the MRP? We have all of the work/assembly/test instructions in an internal Wiki.

author: abeyer
author_rank: Frequent Contributor
timestamp: May 27, 2025, 11:07:35 pm
content: Quote from: loki42 on May 27, 2025, 02:34:26 pmI think they aren't necessarily worse, just less focused on being an out of the box solution, and sell more as an "ERP construction kit" that you have to assemble without instructions.

author: loki42
author_rank: Frequent Contributor
timestamp: May 27, 2025, 11:08:13 pm
content: I think 1 and 3 are a bit clearer usefulness wise but my only reason for 2 being in the system is that there's a single place which both tracks the tasks and also explains the tasks. We don't currently run like that but it could be handy to have a tablet or something that both has a button that says start task also shows the task description."this task requires these 3 things to be stuck together this way as in this picture, you need program O0042 loaded, you need these tools loaded and this work holding, torque to 3nm etc" currently you need to look up that elsewhere.

author: abeyer
author_rank: Frequent Contributor
timestamp: May 27, 2025, 11:18:10 pm
content: Quote from: Mangozac on May 26, 2025, 10:44:54 pmI disagree there... spending a fair bit of paid working time in many similar "accounting adjacent" systems, my experience is that it's vital to draw this kind of distinction unless you aspire to be an all in one ERP solution yourself. You may say this kind of costing "isn't accounting", but as soon as you start putting currency symbols in front of a number, someone will try to use it as such (and then point fingers at the system when it causes problems down the line.)IMHO, the right was to handle this if you're starting from scratch/from a flexible enough base to allow it, is to design the system to produce essentially something like a transaction ledger with the information necessary to do the calculations needed, but to stay firmly out of the business of doing them itself. You'll occasionally have a "$" slip in here and there by design (eg an actual purchase price, or other similar fixed data points) but by and large you stay out of the business of doing anything with currency but instead provide a log of events and dates and skus and leave the arithmetic on currency figures to the different users who need them.You may build your own consumer of it for engineering's BOM management uses, but it stays completely isolated from accounting's use for reporting COGS, and AP/AR's use in cash flow management, and FP&A's use in planning and decision making.

author: Rat_Patrol
author_rank: Frequent Contributor
timestamp: May 28, 2025, 04:01:00 am
content: I'm currently working with the dev for binner.io as an inventory management option. You can self host or pay for cloud hosting. He is currently working out bugs and making tweaks and updates. It is showing great promise, especially at the low low price of free will donation (or not).Here is the Github if you want to try it out:https://github.com/replaysMike/Binner/releases

author: Mangozac
author_rank: Frequent Contributor
timestamp: May 29, 2025, 03:50:28 am
content: Quote from: abeyer on May 27, 2025, 11:18:10 pmI agree that there is a clear distinction between MRP and accounting and I wasn't suggesting otherwise. But I think omitting such features in fear of people using the software in ways its not supposed to be used is a poor excuse. An MRP must track the cost of materials (a price gets placed against each Purchase Order line, so it is known) and be able to give an explicit BOM cost. Not this thing in Inventree where the indicated BOM cost is given as a range that can vary wildly based on historical costs.