A good system for managing electronic parts is essential. After all, you don't want to waste time looking for components, and you definitely don't want to purchase parts that you already have (but forgot about). When building projects, no one likes to discover that a part is missing when the solder paste has already been applied. After several tries, I developed a method which works very well in practice and costs minimal effort (after the initial sorting) — here it is:
Where and how parts are stored depends on the kind of part:
Zip-lock bags are dirt cheap if you buy in larger quantities. Buy several sizes, but be sure to get lots of the really small ones, these are the ones used the most (I mostly use 7x5cm).
Components that arrive in their own humidity-sealed anti-static bags are left alone until I actually need them, I just place my label on top. Once I open the original bag, however, I move them to my transparent zip-lock bag and print another label.
I use boxes of various sizes, some with compartments (of varying sizes), and some without. I don't use any special drawer systems, or tiny stackable SMD boxes — these have all proven to be too expensive and too problematic to manage. Who has time for removing parts from tape/reel and putting them into drawers? All my boxes are either designed for storing screws/nails, or for other home storage. They are cheap, ubiquitous, fit easily in drawers or cabinets, and are easily transported.
For THT parts you typically want boxes with smaller drawers, as you will be storing parts directly. For SMD it makes more sense to use zip-lock bags, so you want the drawers or compartments to be larger, to accomodate your zip-lock bags or ESD bags that distributors use.
My boxes (storage locations) are numbered. If a box has compartments, I use a chessboard-like system inside to name them. So, I could have a large box called "b14" with no compartments, and a box b01 with compartments, where a compartment could be called "b01-c3" (row "c", column 3). Use whatever lets you easily find components. My sample books are labeled like boxes. If I had a shelf with reels, I'd label a single row as "s01-l3" (shelf 01, level 3).
I don't try to place related components together. Only resistors and sometimes capacitors are kept reasonably close to similar ones. For other parts, I trust my database to let me find whatever I need. This is nice, because it avoids the pain of categorizing parts — you just store them wherever you have space, without worrying about how to classify a particular part („is this a buck regulator or a battery charger, if it does both?“). And if you have dissimilar parts in a single location, it actually becomes easier to find the one you are looking for, as they are not all alike.
For label printing, I highly recommend Brother printers. I use a Brother QL-570 with DK-22210 tape (continuous, 29mm width, length cut as needed). It's very reliable, the labels last reasonably long, it's fast, and the software can import CSV files with component data. You arrange your component labels once, then do a "merge" with a CSV file that your software exports, and you can print new labels quickly.
Don't bother with printing labels on a laser printer. It's too much hassle.
I use QR codes on my labels, containing a URL, so that I can scan the code with my phone and see a (password-protected) page with information about that component, or storage location. And you can't beat the pro look that QR codes bring to your component labels!
Now, the real trick to all this is keeping data on what is where. I used to use a spreadsheet (which sucked), then moved on to a freeware component-tracking system, which worked for me for a number of years. But then I found it to be too limiting, so I decided to write my own solution, and PartsBox was created.
All these software solutions have the same goal: once you label your "storage locations", they keep a list of components in each location along with their stock counts. PartsBox will also let you keep a component in multiple locations (such as resistors: you often have small amounts on cut tape, but also a full reel in a box somewhere), show specifications, let you access datasheets with a single click, price your Projects/BOMs, handle supplier offers, let you work with your CM, and do much more for your electronic project needs.
Once you do the initial sorting of your collection, things become easy and low-maintenance. You have to spend about 10 minutes once a new order comes in, to enter the parts into your database, print labels, and put zip-lock bags in the correct storage compartments. And you obviously have to remember to "remove stock" if you use the parts in your projects or prototypes. That's why any software you use must make these things quick and easy.
The procedure when a new parts order arrives is:
For reels the procedure is similar, except I place the sticker on the reel.
The system described above is mostly for prototyping and lab work. When you actually get to production, you usually have a BOM with well-specified parts, and these parts come on reels, cut tape, or in trays. At that point it's necessary to keep track of those parts, but there isn't much sense in forcing them into the existing storage. They can be kept in a separate box (one per project), or if you are working with a CM (Contract Manufacturer), they can be stored at their place, or even kept loaded into a pick&place machine. PartsBox can handle all these scenarios.
This solution scales very well from prototyping to small-scale production, and then into medium-scale production when working with a CM (Contract Manufacturer). PartsBox can handle all the stages easily.
The differences are going to be minimal: when going to production, you won't be using sample books or cut strips, but entire reels of components. Instead of ziplock bags, you'll probably need ESD-protective bags, possibly in a humidity-controlled environment. It's also rather unlikely that you will be using THT resistors in production these days.
When working with a with a CM (Contract Manufacturer), you won't be handling parts yourself, you'll likely move the stock over to them and let them handle it. In that case, they can share access to your database so that everyone involved knows what is going on and how many parts there are left.
This solution works very well for me. It doesn't force you to buy these expensive tiny SMD component drawers, which aren't very practical anyway (ever used tweezers to hunt for a 0402 resistor in a plastic drawer?). You can buy passives in bulk or in "sample books" for prototyping and you don't have to sort them individually into drawers. You always know what you have (this is important, I bought parts several times only to find out that I already had them!) and you know when to order more. And cataloging parts is pretty much a one-time effort, afterwards the overhead is very small (about 10-15 minutes per order).
Using a computer to keep track of your parts is essential, even if you think you don't have that many components. People tend to think that organizing electronic components using a database is overkill, but if you avoid this, you will end up double-buying components, losing them, keeping too many of each, and spending too much time searching for them. Rule of thumb: if your electronic parts don't fit in a single small box, you need a better solution.
PartsBox is an online app that lets you take control of your electronic parts inventory, BOM pricing, and small-scale production. It keeps track of where components are stored, what the current stock levels are, and which components are used in which projects/BOMs.