PartsBox User's Guide


What is PartsBox?

PartsBox is an online tool for managing a collection of electronic components. It keeps track of where components are stored, what the current stock levels are, and which components are used in which projects. It displays component specs, allows for attaching documents (datasheets, 3D CAD models) to parts, and searches the entire database quickly.

Ever wondered where that chip was? Ever ordered components only to discover later that you already have them? PartsBox allows you to easily manage parts inventory.

Design Philosophy

PartsBox was designed to be fast, unobtrusive and easy to use. Searching, navigating around, checking stock, accessing projects — everything happens instantly. Multiple users get instant updates when anything changes.

Unlike many ERP tools, PartsBox is supposed to be easy to implement and cause as little friction as possible within a company. It is supposed to be a tool that people like to use, not one they are forced to use.



PartsBox is all about electronic components, so a "part" is a fundamental concept. A part represents an electronic or mechanical component.

There are two types of parts: linked and local.

  • Linked Parts are for components with manufacturer part numbers. If it has a part number and you can find it on Octopart, choose this option. You will be sharing data for this component with other PartsBox users. You will also instantly get a better description, a datasheet link, a link to the manufacturer's site, part specifications, a thumbnail image, and a link to the Octopart page with current pricing and ordering information. It is still your part: your stock information is local, as are your notes, and other info, you are just making use of additional online information.
  • Local Parts are for everything else: generic and no-name components, PCBs, custom parts, mechanical parts, and anything that does not have an exact part number. Data about local parts is not shared in any way, they exist only within your collection.

Note that for generic and no-name components (e.g. a no-name NE555 in a DIP package) it's usually better to use local parts. There are hundreds of versions of the NE555 and your particular version might be slightly different from someone else's. So use linked parts only for exactly matching components (for example if you have a "NE555PWG4" from Texas Instruments, link it).

Parts are abstract: they describe the component, but until you add actual stock, they don't represent physical things. Note, however, that you can add parts without stock to projects (BOMs), which is useful when you are working on a new design.


Once you have created a part, you can add stock. Stock represents actual physical copies of an electronic component which exist somewhere you can reach.

A part can contain stock in multiple locations. This becomes useful once you start buying reels of components: you often want to keep a full reel in one location, and a small amount on cut tape in another location. It is also useful as you are working with contract manufacturers, as you can keep track of stock that is physically located outside of your office.

The separation of parts and stock is intentional. You could think of parts as bags that may contain actual components (stock). Parts with zero stock are useful: you know what you need to order, you can keep track of pending orders, your projects (BOMs) may use parts that you don't physically have, but your manufacturer will.

PartsBox considers stock history as permanent and there is no way to edit it. If corrections are needed, one can always create new transactions (e.g. add stock if too much was mistakenly removed).

Storage Locations

A storage location is a place where components can be stored. It can be a room, a drawer, a shelf, a box, a compartment within a box, or anything else you can think of. How you organize your storage is up to you. Some people throw all their parts into two or three boxes, and some use a more fine-grained approach.

You can name your storage locations anything you like, but there is a suggested naming scheme:

Start with a letter. You could use b for boxes (with compartments), but you might also have shelves (with reels), or cabinets with drawers. A two-digit number follows, that is the number of your box, shelf, cabinet or drawer. Then, if the location has sub-compartments, we use a chess-grid system: a1, a2, b1, b2, and so on, depending on the size of the grid. This results in names like "b01-a4", which means "box 1, row a, column 4", or "s12-l1-r2" which is "shelf 12, level 1, reel 2". Use whatever lets you easily find components.

Sample books with resistors or capacitors can be labeled like boxes, with no sub-compartments, because it's easy to find a particular value within a sample book.

Your storage location names can be changed at any time, but choose them carefully, as once you print your labels/stickers, changing them becomes slightly more difficult.

Companies working with CM/EMS (contract manufacturers) often prefix some of their storage locations with the manufacturer's name, so that they can easily filter locations and see what the CM has in stock right now.


A project corresponds to a BOM (Bill of Materials) and represents a list of parts that go into a particular design or device.

Projects can be used either to build actual devices, or as a concept/drafting or pricing tool, when working on new designs.


PartsBox allows attaching arbitrary files to parts. This can be used to keep datasheets, 3D CAD models and other files together with part information.

If you need to store a component-related file, just add it to a part as an attachment. You do not have to worry about naming files, creating directories, and finding the right place on the file server.


Reports allow you to get overview information about your data.

Note that reports, like everything else in PartsBox, update in real-time. As an example, if you keep a "Low Stock" report open, and somebody else removes stock (which will cause the stock for a particular component to go below a threshold), your report will be instantly updated.


A company/organization allows multiple people to share a single database. Every change is reflected in real-time to everyone who is logged in.

A company always has at least one "admin" user, who can modify the billing information and grant or revoke access to other users. Access can be granted with several levels:

  • Admin: full access, can read/write database data, grant access to other users, change billing information, delete all data, or cancel subscription.
  • Read/Write: can read/write database data, but not manage users, billing information or subscription.
  • Read Only: can only access database data, not modify it.

The number of users that can access a company database depends on the particular plan.

To grant someone access to a company database, that person must first create a PartsBox account.

In addition to the company database, every PartsBox user has a free private database. You can switch between the databases you have access to by using the menu at the top of the app screen (it shows the current database name).

Using PartsBox


The search box appears at the top in Parts and Storage sections. It lets you narrow down the list of displayed parts or storage locations and is an essential tool when working with PartsBox.

Search in Parts is significantly more complex than in Storage. This is because one usually has a small number of storage locations and simple filtering is all that is needed. For parts, however, a full search engine is necessary.

Parts search has a fuzzy-match engine, which means that even things that don't match exactly will be shown in the results. Exact results will be separated from the rest using background color, so that you can quickly see what matched exactly and what matched only partially.

The following fields are searchable: name, MPN (Manufacturer Part Number, if different), description, footprint, part notes.

The search box also accepts tags, entered with a # character in front. Tags are matched exactly, and if you enter several tags, a component has to have all of them in order to make it into results.

You can combine tags and search words as needed, to narrow down the list of results.

Selecting and Deselecting Parts

Every part has a checkbox next to its name, allowing it to be selected for certain operations. PartsBox remembers selections, so you can mix selecting and searching freely — select several parts, perform a search, select some more, and your selection will steadily grow.

Clicking the leftmost checkbox in the table header selects all parts, and another click deselects all of them. Use this to clear your selection. You can also deselect everything by clicking on the "Selected" menu and choosing "Deselect All".

Once you select some parts, the "Selected" menu becomes available, with the following operations:

  • "Add to project…" — use this to add parts to a Project (BOM).
  • "Add/remove tags…" — use this to edit tags on selected parts.
  • "Set low-stock levels…" — allows you to set the low-stock level for all selected parts.
  • "Download as CSV" — allows you to download the list of selected parts as a table in CSV format for importing into a spreadsheet.
  • "Delete…" — deletes the selected parts.
  • "Deselect all" — clears the current selection without performing any operations on the selected parts.

Adding Parts to a Project

There are two ways to add parts to a project:

  • By selecting a number of parts in the parts table and choosing "Add to project…" from the "Selected" menu. This can be used to add either a single part or multiple parts.
  • By clicking the "Add to project" button from the "Part Info" screen. This can be used to add that one part.

Using Tags

Tags are a powerful mechanism that allows you to quickly find a subset of your parts.

When searching, if you enter a tag in the search box, the search will be limited to parts having that tag. Tags are matched exactly, and if you enter several tags, a component has to have all of them in order to make it into results.

Tags can be added to parts either from the part info screen (by clicking on the "Add Tags" button, or by selecting many parts and using the "Add/Remove Tags…" menu item from the "Selected" menu.

Tags begin with a # character, but you do not have to enter it when adding tags. A part can have any number of tags attached to it.

To make things easier and automate tags creation, PartsBox creates auto-tags for you. These are based on part specifications and are created automatically, so that you do not have to add them. They are independent from your tags: you can assign a tag with the same name again.