Release Notes v2.6.5

November 29, 2021
  • Table views. Tables can have a lot of columns. You can even add your own through custom fields. This might result in too much data on the screen and you might end up toggling which columns you want to set as visible quite often. Table views allow you to save the current table configuration so you can easily switch between them. A table view contains info about visible columns, columns order, columns width, sort by and group by settings and also filters. Views that include filters will have an icon next to it indicating so.
  • Parts: Low stock filter added to part Filters, under the Stock field. This lists both out-of-stock and low-stock items. Non-stocking parts are ignored.
  • Custom fields: you can now add custom fields that point to some element in the app
  • Projects: the Sources column is now exported into human-readable text (instead of text representing JSON data)
  • [fix] API: IDs passed when updating data (PUT endpoints) are now correctly set
  • [fix] Update BOM pricing whenever custom quotes (price breaks) are updated
  • [fix] Editing actions on grouped rows are now disabled
  • [fix] Reorder columns on large tables: last columns couldn't be reordered
  • [fix] Shortcuts: zoom-out / decrease tables font size
  • Other small UI improvements

Release Notes v2.6.4

November 22, 2021
  • Multi-level BOM is now available under Project Builds
  • The quantity of ordered but not yet received items on a Purchase Order can now be edited
  • Tree-structured data can now be searched (e.g. Labels)
  • Adding parts into a Purchase List or Supplier: a dialog now allows you to add a specific quantity for each part and will let you know the quantity that already exists in the destination Purchase List or Supplier
  • Custom print command, set through Settings > Barcodes, can now include the $data wildcard. This is useful when using custom scripts to generate your own barcode labels, where $data is replaced by base-58 encoded data of the object (part, storage or lot)
  • Shortcuts to increase/decrease table font size added: Ctrl +/- or Cmd +/-. Row height increases/decreases with font size.
  • Inventory dialog: previously used storage location is now remembered
  • Parts: data can now be grouped by Manufacturer PN. This is useful to find out parts that have the same Manufacturer PN but different Manufacturer. The API would also be useful for such a task though.
  • [fix] Part Usage quantities and group by Project Revision
  • [fix] Scroll orientation on Filters and Available Quote has been set to horizontal instead of vertical. Improvements on macOS.
  • [fix] Tables: content overlaps column's width from a certain width. When increasing a column's width, the next columns are now pushed further to the right. The table will still try to fill up all the available horizontal space whenever possible.
  • [fix] When renaming a Project Revision, re-render dropdown box

Release Notes v2.6.3

October 19, 2021
  • Tables: collapse / expand all rows whenever data is being grouped by at least one column
  • [fix] Project builds: missing stock of parts used in multiple rows
  • [fix] Ensure workspace is closed when closing the app (this was preventing other computers to open a workspace previously used in a different computer)
  • [fix] API: error whenever the server or any endpoint is run

Release Notes v2.6.2

October 14, 2021
  • Dropdown lists: options can be navigated and selected by using the keyboard, search input is automatically focused on whenever clicking on a searchable dropdown list
  • [fix] History log's description not being displayed inline
  • [fix] Prevent inventory being added to a Lot when Lot Control is disabled
  • [fix] Ensure Column Selector is visible on hover (some edge cases fixed)
  • [fix] Go-to inventory on the Lot items table

Release Notes v2.6.1

October 12, 2021
  • Lots can now be created when manually adding inventory (through the Inventory table) or by importing Parts with the Lot field mapped
  • Inventory can be added into existing Lots
  • [fix] Some data not showing up (e.g. when receiving items on a purchase order)

Adding Inventory to Existing Lots

There's now a new type of Lot: custom. Before, Lots were created only when receiving items on a purchase order or by finishing a project build. Custom Lots are meant to be used whenever manually adding or importing inventory (through Parts). On purchase orders, items received at different times can now be added into the same Lot. A given Lot, whenever referenced by a purchase order or project build, cannot be used for by anything else though.

Release Notes v2.6.0

October 11, 2021
  • API: writing endpoints and query parameters to filter data added
  • API: short(er) IDs are now used (instead of encoded - always different - text strings)
  • BOM: two view modes are now available - single-level (same as before) and multi-level (the parts a sub-assembly is composed of are also listed in an hierarchical way). The multi-level view also allows to get a flatten list by grouping data by Manufacturer PN
  • Inventory: custom fields can now be defined (through Settings > Workspace > Custom fields)
  • Purchase Orders: when importing POs from online suppliers (e.g. DigiKey, Mouser), set the product URL on each item if available
  • Tables: grouped by columns are left aligned on the table for easier navigation (expanding/collapsing grouped rows)
  • Printing barcode labels: built-in PDF viewer/printer can now overwritten so a third-party app is used instead (e.g. Adobe Acrobat, Foxit Reader)
  • [fix] Column selector not showing up on first mouse hover
  • [fix] Remove purchased inventory when reverting a purchase order from ordered status
  • [fix] When adding inventory, if a storage location is not selected, add it to "unallocated" instead of an existing inventory
  • [fix] Storage: some parts not being listed under the "unallocated" node
  • [fix] When removing storage locations, ensure inventory's storage location is set as "unallocated"
  • [fix] Welcome screen: sign-in by pressing enter
  • [fix] Prevent crash in case most recent workspace can't be accessed

A better API

The API got a significant update: you can now use it to create and edit things on the app! Documentation is still served by the app but now it can also be seen here:

API Documentation

Searching capability is also improved as you can now pass filters through most GET endpoints. A few examples:

GET /parts?part.manufacturer=Microchip&limit=10  # get 10 Microchip parts
GET /parts?part.stock={"$lt": 50}                # get all parts that have less that 50 units of stock

This is also a first step on a bigger goal: a plugin system. By making the API more permissible and powerful will allow to create plugins that will bring additional value to the app.

Shorter IDs, Lower Density Barcodes

The API and barcode labels now use shorter IDs. For barcode labels, shorter text means lower density, which in turn results in easier to scan barcodes.

For the API, it keeps things cleaner, as these short IDs are now also "fixed" strings. Before, they were encoded strings, and as such, always different even if pointing to the same thing once decoded. To keep backward compatibility, the current API still accepts older/longer/encoded IDs.

Barcode Labels Printing Issues

The app ships with SumatraPDF on Windows. This is used to print your barcode labels which are first converted into PDF files. Even though for the most part this has been working fine, there have been also a few issues with it, namely poor printing quality and scaling issues on some printers or specific label sizes. To overcome this, you can now override the command the app uses to print PDFs, through Settings > Barcodes > PDF print command.

This allows you to use third-party software such as Adobe Acrobat or Foxit Reader to print PDFs through the app. In order to do so, you'd set a command like this in the settings:

"C:\Program Files\Adobe\Acrobat DC\Acrobat\Acrobat.exe" /s /o /h /t $filePath "$printerName"

Each PDF software also comes with its own shortcomings though. Adobe Acrobat will always open its GUI which might be inconvenient. Foxit Reader will happily run on the background but will add some margins to the labels. Each software also has its own way to configure printing settings (e.g. scaling etc). These settings cannot be passed on the command line, so you'll have to use the app's GUI to print a label first so it will then remember them whenever using the command line later on.

Release Notes v2.5.24

October 4, 2021
  • [fix] Inventory table: on-order inventory not showing up for partially received items on a Purchase Order
  • [fix] Project Pricing & Availability: show available quotes for current target quantity
  • [fix] Infinite loop when generic part is set as alternate of itself (this would be only possible in earlier versions)
  • [fix] Generic part showing out-of-stock icon when it's not
  • [fix] When adding documents through the Details panel, don't go to the Document itself
  • [fix] Barcode settings: default printer not being displayed

Release Notes v2.5.23

September 23, 2021
  • Purchase lists: create PO even if some items don't have enough stock on supplier (allow backorder)
  • New supported units for SI Values: b (bits), B (bytes)
  • When creating a Lot (while receiving items on a PO or finishing a project build), ensure the Lot number is unique
  • [fix] Parts stock not being updated after importing/deleting a PO (this doesn't affect any other stock calculations in the app)
  • [fix] Purchase lists: change item's quantity, editable widget being displaced

Release Notes v2.5.22

September 16, 2021
  • Purchase orders: received on can be set for items when receiving them
  • [fix] Barcode scanning: no need to add a line feed/carriage return at the end of the scanned string
  • [fix] Purchase orders: Received? field doesn't show up on exported PDF
  • [fix] Purchase orders: when creating a LOT when receiving items, use the code written by user and not the default one
  • [fix] Custom field String enabling fuzzy search by default even if that option wasn't checked
  • [fix] Lot usage: not displaying data

Release Notes v2.5.21

September 3, 2021
  • [fix] Change workspace's name (crash)
  • [fix] Change project build item's revision (not working)

Release Notes v2.5.20

September 2, 2021
  • Filters can now be displayed in two different modes (horizontal - same as before - or vertical). The vertical mode allows you to see more fields at once which can be useful when there are more fields than your screen can fit in horizontally.
  • The widget used to edit table fields in place now pops out of the table so its not partially hidden by column's width
  • Users belonging to a Team Workspace can now use the Sample workspace with access to all features. Previously, full features would be available only on the Team Workspace a user belongs to, other workspaces requiring a subscription to get rid of limits
  • Projects: items on a project build are now more editable. The DNP field can be changed in-place and parts can be replaced by other parts (even if they don't have Alternates defined) as long as an item hasn't been assembled or no inventory has been reserved yet
  • When exporting a table to HTML or PDF, preserve items background color (e.g. excluded or DNP items in a project build have a stripped background for easier identification)
  • Some combo-boxes now have a search field
  • Initial workspace setup improved
  • [fix] API: inventory/move_qty history log missing locations (moved from/to)
  • [fix] Copy BOM: project revisions alphabetically sorted
  • [fix] Not being able to vertically scroll some tables after the first render

Release Notes v2.5.19

August 23, 2021
  • Projects can now be automatically created when importing in-house parts (the Type column must be mapped). This option is enabled by default. Similarly, when manually creating an in-house part, the user can opt to create both the project and part or just simply the part itself.

Release Notes v2.5.18

August 19, 2021
  • Type field added to Storage > Parts table
  • Project build items can be edited (custom fields only) even if the project build has been assembled already
  • [fix] Parts: add alternates
  • [fix] Importing data through CSV files (prevent crash)

Release Notes v2.5.17

August 19, 2021
  • History: inventory changed events created through project builds now include links to the project and project revision they are created from (before only for the project build itself)
  • History: revert history no longer available
  • BOM: allow to set in-house part's revision when importing a BOM through CSV
  • [fix] Storage > Parts table: Sock On-hand and Stock On-order displaying incorrect values
  • [fix] Project: ask for a part's name (existing/new one) when creating a project
  • [fix] Custom fields: showing today's date when due date is not defined

Release Notes v2.5.16

August 17, 2021
  • Project revision can now be set for in-house parts assigned to BOM items. When reserving/picking inventory for assembly on a project build, only inventory from selected revision can be selected (or from all inventory if no revision is set)
  • History: multiple items can now be selected
  • History: inventory reserved events can now be reverted (if inventory is still reserved)
  • Inventory: reserved inventory can now be unreserved through the Parts > Inventory table
  • When removing an in-house part, if it has a project associated to it, the project has to be removed first. This makes it harder to delete whole projects by mistake when removing in-house parts
  • [fix] When syncing data at start-up (TEAM plan) there was a chance of projects being deleted
  • [fix] API: POST endpoints not working

Release Notes v2.5.15

August 13, 2021
  • Custom quotes can now be added also through Parts > Supply Chain
  • [fix] Project Pricing & Availability: enable create purchase list button when purchase criteria is if needed
  • [fix] Sort by due dates
  • [fix] API: GET /purchase_order/{id}/items
  • [fix] Project build handle parts that don't exist anymore

Release Notes v2.5.14

August 11, 2021
  • Due dates (custom fields) can now be marked as done when warnings about due date approaching or past due are no longer relevant
  • [fix] Project builds: unable to create project build whenever items didn't have production cost defined (not relevant for project build creation)

Release Notes v2.5.13

August 5, 2021
  • Project Pricing & Availability: warnings are now shown with a different criteria. Insufficient stock is now considered as information and warnings about quotes not assigned will show up only if items need to be purchased. Warnings will also be shown if an item's production cost is unknown (no unit cost nor quote assigned)
  • Parts: parts can now be edited straight from every table that includes the Manufacturer PN column (through the popup shown when hovering its value)
  • API: new endpoints for suppliers, purchase_lists, purchase_orders and lots
  • [fix] Project builds: "cannot read property id of undefined" crash when DNP items are present in BOM
  • [fix] Purchase orders: some columns not displaying data
  • [fix] Purchase orders: update on-order stock when reverting received items

Release Notes v2.5.12

August 3, 2021
  • Projects: Internal PN, Label and Stock On-hand columns added to table
  • API: GET labels/{id} endpoint added
  • Parts: when removing in-house parts, a warning is shown informing that corresponding projects will be removed too
  • Find parts: you can now create and edit parts straight from the Find Parts dialog (e.g. when assigning parts to BOM items)
  • [fix] Project build: re-render table with up-to-date stock levels when items are reserved, assembled or reverted
  • [fix] BOM: when locked, the quantity of items without designators shouldn't be editable
  • [fix] Project build: Qty /unit recalculated when Assembly Qty is overwritten

Release Notes v2.5.11

August 2, 2021
  • Custom quotes can now be added/edited through the Available Quotes instead of having to go through the Suppliers tab
  • Filters: when searching by SI values, V, A and W units are now case-insensitive
  • Projects: when pricing and automatically assigning quotes, use total quantity of parts used in multiple BOM items
  • [fix] Custom fields: not being able to set a custom date
  • [fix] Purchase list: change quote one after another
  • [fix] Filters: when changing the search modifier from range to something else, filters would stop working
  • [fix] Some elements not being re-rendered when saving data

Release Notes v2.5.10

July 29, 2021
  • Custom fields: you can now add custom fields pretty much to every element in the app (previously available on Parts only)
  • Filters: added to Purchasing, Suppliers and History
  • Filters: you can now filter by date
  • Calculate stock availability: previously, when a single part was used in multiple items on a BOM, stock availability was being calculated in a first-come first-served (FIFO) fashion, respecting the of the # column and without any sorting. All items are now sorted by quantity, ensuring that items that have less stock requirements are fulfilled first.
  • Notes: when the user view changes while editing notes, dialog shows up asking to confirm to save or to ignore changes
  • Import parts: generics and assets can now be imported (as long as the appropriate part Type is passed in the CSV file)
  • Purchase orders: a purchase order can be marked as Received even if some items weren't received yet
  • Purchase orders: status can be manually reverted (e.g. from Received to Ordered)
  • Storage: inventory can be removed directly from the Storage Parts table
  • Several small UI improvements
  • [fix] Filters in projects: use Part name in fuzzy-search
  • [fix] Context menu: options reflecting the previously selected item and not the current one

Custom Fields on Everything

You can now define custom fields for pretty much every element in the app. A custom field can be one of these types: string (i.e, text), number, SI value (e.g. 200mV), Date, Boolean, Option. All custom fields can be searched/filtered by directly through the app.

Filtering by Date

When filtering by a date field, you can also specify a date range, besides the other already available search modifiers (equal, less than, greater than)

Release Notes v2.5.9

July 15, 2021
  • Import BOM: part matching through Internal PN or Manufacturer PN + Manufacturer is now faster
  • Scrollbar added to Filters for easier navigation
  • [fix] Filters: clear all filters

Release Notes v2.5.8

July 14, 2021
  • New custom field type: date. A date field can also be marked as a due date. In case a date is a due date, a warning icon will show up if the date is approaching (7-days remaining) or it is past due. Custom fields can be set for Parts through Settings > Workspace > Part custom fields.
  • Purchasing: when creating Purchase Orders from a Purchase List, the Purchase List gets automatically locked
  • Project builds: items can now be split and merged. Splitting allows you to partially assemble items, for example, when you don't have enough stock in order to assemble a given item in full. In this case, the quantity to take from the item being split should be the one that will not be assembled as stock availability is calculated according to the position the item shows up on the table (# column) in FIFO (first come first served) order
  • Project builds: Qty /unit column added
  • Confirmation dialog added when there are unsaved changes when editing notes
  • [fix] Import parts: when parts already exist, overwrite only mapped fields
  • [fix] Parts Usage: group quantities by Project Revision
  • [fix] Parts Usage: clickable Project Revision

Release Notes v2.5.7

July 9, 2021
  • Merge Purchase Lists: you can now merge Purchase Lists (instead of Purchase Orders). These purchase lists might contain some parts in common, increasing the total quantity to be purchased. By merging Purchase Lists new quotes can then be selected that reflect the new quantities for each item in the list.
  • Merge and split items in a Purchase List: in case you want to purchase 10.000 units of a part but you can't order the full quantity from a single supplier, you can now split the quantity and select a quote for each of the resulting items. Similarly, you can merge quantities from multiple items that have the same listed part.
  • [fix] Similar parts warning when editing a part

Release Notes v2.5.6

July 6, 2021
  • Received items on a Purchase Order and assembled items on a Project Build can now be reverted by right-clicking such items and selecting Revert.... This is useful when items are marked as received/assembled by mistake. On project builds, items can only be reverted if the project build itself hasn't been finished yet.
  • [fix] Export PDF: prevent error when some cells don't have anything to render
  • [fix] Preserve date and time format (Settings > General) - it remains the same after restarting the app

Release Notes v2.5.5

July 1, 2021
  • Project BOM: the same part can now be assigned to multiple items in the same BOM. This affects how a given part's availability is calculated (see below)
  • Project Builds: Assemble Qty on planned items can now be changed and reset to original one. Once the item has been assembled or inventory is reserved, Assemble Qty cannot be changed anymore
  • When Enforce quote selection is enabled (Settings > Workspace), items on a Purchase List without a quote will result in an error instead of a warning
  • History events added: inventory reserved, inventory unreserved and inventory consumed
  • History log events are now coloured for easier visual identification
  • Double clicking on most tables will trigger the Edit action (if available)
  • [fix] Project Builds: prevent inventory to be decremented twice when assembling items from reserved inventory
  • [fix] Project BOM: allow using - on BOM reference designators when not using it as a range (e.g C1-9)
  • [fix] Don't generate history log when adjusting inventory with zero quantity
  • [fix] Create Purchase Order when Enforce quote selection is disabled

Assigning the Same Part To Multiple BOM Items

Previously, a single part could be assigned to a single BOM item only. This is not convenient, specially if later on a project build one part is replaced by an alternate one which happens to be already assigned to another item. Being able to use the same part in multiple BOM items is then essential.

This affects how availability is calculated though. Taking the example below:

In total we need 900 units but we only have 509 on-hand, so only the first item, that requires 300, can be assembled (or inventory can be reserved for). Items that have availability only partially cannot be assembled nor inventory can be reserved for.

Changing Quantities on a Project Build

You can now change the Assembly Qty on items that don't have any Sources defined yet (whether because inventory has been reserved or because those items have been assembled already). Once changed, the quantity can also be reset to its original value.

More (and Colourful) History Events

When looking through the History table of a part, it could be hard to interpret some apparent "gaps" on inventory. This is because when inventory is reserved it's no longer on-hand, but reserving/unreserving inventory hasn't been logged in history. So, on the next inventory changed event you'd see an initial quantity that wouldn't match the quantity on the previous inventory changed event for that same storage location.

For this reason, there are now 3 additional events: inventory reserved, inventory unreserved and inventory consumed. While the first two directly affect your on-hand inventory by decreasing and increasing it, respectively, the last one as no effect but allows us to see that inventory previously reserved was at some point consumed (i.e. assembled in a project build).

On top of this additional information, events are now also coloured so they can be visually identified more easily.

Also, the inventory moved history log now includes the original and current quantities on each location.

Release Notes v2.5.4

June 21, 2021
  • Import parts: Low Stock value can be imported
  • When creating/editing a project revision the dialog shows faster
  • [fix] Export history table

Release Notes v2.5.3

June 17, 2021
  • Several UI improvements and optimizations affecting overall performance
  • Prefetch project builds so they can be displayed immediately
  • [fix] Storage locations tree: context menu not showing up when right-clicking not on a node

Release Notes v2.5.2

June 10, 2021
  • Attrition rate can be set for Generic Parts
  • Settings > Workspace: enable/disable unique internal PNs
  • Projects: tags in the Production column are displayed vertically
  • [fix] Purchase List table crashing on a locked PL (Cell not returning anything)

Release Notes v2.5.1

June 4, 2021
  • Set default Part's datasheet and thumbnail through Documents
  • Move several inventory items individually from a storage location to another ones
  • When manually creating a new part, check for similar parts (e.g. same Manufacturer PN but different Manufacturer) before proceeding so the user can confirm it's not a duplicate
  • A lot can now be created when importing a purchase order in the received state
  • BOM: filter out items that have nothing to match when suggesting parts
  • [fix] Create inventory on-order when an purchase order is imported on ordered state
  • [fix] Sort by on Stock, Stock On-order, Stock On-hand, and Value (only in BOMs) fields
  • Several small UI improvements

Thumbnails and Datasheets

By default BOMIST uses thumbnails and a default datasheet from data it gets through Octopart. From now on, you can also override or set those through Documents added to a Part.

Organizing Unallocated Inventory

For several reasons you might end up with unallocated inventory (i.e. inventory without a storage location assigned). Through the table on Storage > Parts, you could select multiple inventory items and move them in bulk to another single location. However, it might be also useful to individually pick a location for each one of the selected inventories. This way you can tell where you want each of these items to be moved to, whether to a storage location where it already exists or to a new one.

Avoiding Part Duplicates

BOMIST checks for parts equality through their own Manufacturer PN and Manufacturer. However, sometimes the Manufacturer name can have some variants (e.g. "Analog Devices", or "Analog Devices Inc."). For this reason, whenever manually adding Parts, the app will check for similar parts (i.e. parts with the same part number but different manufacturer) and, in case it finds some, it will ask you to confirm if you still want to add it, thus preventing a duplicate.

Release Notes v2.5.0

May 31, 2021
  • [new feature] Generic parts
  • Alternate parts: order can be set from highest to lowest priority
  • Purchase orders: ordered/received on can now be edited
  • Stock in-house renamed to on-hand
  • Stock columns: in several tables you now have three columns for displaying stock quantities (Stock - for combined on-order and on-hand, Stock On-hand and Stock On-order)
  • Part details: indication of how many documents and if notes are present is now displayed on the tabs
  • Projects table: Part column link removed, use popover instead
  • Delete shortcut removed
  • [fix] Barcode scanning when caps-lock is active
  • [fix] API not starting

Generic Parts

You can now create and use generic parts.

A generic part is not a physical part but it represents, or groups, parts that can be used interchangeably - this is specially useful for resistors and capacitors for which you might not be concerned about their manufacturer as long as they have the same or equivalent specs.

They can also be used to postpone the decision of which part to use. For example, you might assign a generic part to a BOM item but decide which real part to use later on during production.

The parts that can be used in place of a generic part are listed through Part Alternates.

In project builds, when picking inventory to reserve/assemble, the Sources column will display which parts were used:

Release Notes v2.4.10

May 24, 2021
  • Inventory value report restricted to given storage locations
  • Part dialog: when using the auto-completer, omit the Ω character from the value (if present)
  • BOM: DNP items have a striped background for easier visual identification
  • BOM: table content aligned to top
  • BOM: ignore parts already assigned when suggesting new ones to assign
  • BOM: when marking an item as DNP, part is automatically unassigned
  • [fix] Export BOM into PDF

Inventory Value Report Restrictions

The inventory value report can now be generated for specific storage locations. Similarly to inventory restrictions on Projects, the inventory to be included in the inventory value report can also be restricted.

Release Notes v2.4.9

May 21, 2021
  • [fix] Assigning a Part when the BOM item's value has no unit (e.g. 10k)
  • [fix] macOS-only Shortcuts use key instead of Ctrl

Release Notes v2.4.8

May 10, 2021
  • Part info: whenever hovering a Manufacturer PN on every table (except the main one) show additional info about that part
  • BOM: double-click row to assign part
  • BOM: confirmation dialog when assigning a part with a different value or package
  • Purchase Lists: Multiple field deprecated (a new PL should be created whenever necessary)
  • [fix] Purchase Orders: sorting/grouping by Supplier
  • [fix] Purchase Lists: show multiple issues for the same row
  • [fix] Inventory restrictions

Part Details Everywhere

To avoid going back and forth in between different tabs, you can now see additional info about a part and to easily access its datasheet simply by hovering its Manufacturer PN. As with every tooltip, wait around a second while hovering the field until the tooltip finally shows up.

Release Notes v2.4.7

May 7, 2021
  • Inventory restrictions: you can now allow/disallow unallocated inventory and to set storage locations as inclusive or exclusive
  • [fix] CSV export (empty values being filtered out)

Unallocated Inventory and Inclusive/Exclusive Restrictions

Through the Inventory Restrictions menu you can now also allow or disallow unallocated inventory to be used and also to set storage locations restrictions as inclusive or exclusive. Inclusive restrictions meaning you can only pick inventory from selected storage locations and exclusive meaning you can pick inventory from all storage locations except from the selected ones.

Release Notes v2.4.6

May 5, 2021
  • [new feature] Inventory restrictions
  • Inventory sorting when selecting inventory sources (to reserve/assemble)
  • Update unit cost of in-house part when a project build is finished
  • Automatic backups notifications
  • [fix] Filter out expired lots when selecting inventory sources
  • Other small fixes and UI improvements

Inventory Restrictions

You can now define inventory restrictions. This allows you to tell that for a given project you are only allowed to source inventory from selected storage locations or that only inventory that as a Lot assigned can be used. This setting applies to the whole Project. Errors and warnings reflecting "insufficient inventory" will take these restrictions into consideration. Also, on project builds, inventory that has been previously assigned (reserved or picked for assembly) without inventory restrictions will ignore them (i.e. you won't get any errors or warnings for those).

This feature is available on professional plans.

Default Sorting when Picking Inventory

When selecting inventory sources on a project build (to reserve or assemble), you can now set a default sorting order. This setting applies to the whole workspace. There are 5 sorting options available:

  • Smallest Quantity: inventory with the smallest quantity shows up first
  • Largest Quantity: inventory with the largest quantity shows up first
  • FIFO: inventory created first shows up first
  • LIFO: inventory created most recently shows up first
  • Recently Used: most recently used (created/updated) inventory shows up first

Release Notes v2.4.5

April 29, 2021
  • [fix] trial plans only Unable to sign-in (cannot read plan of undefined)

Release Notes v2.4.4

April 29, 2021
  • New part type: Assets
  • [fix] Export BOM table into CSV (invalid column's data)
  • [fix] TEAM Show sync spinner also for pushed changes

New Part Type: Assets

This goes a bit beyond the scope of the app, but it wouldn't make sense to use another software to keep track of assets that aren't necessarily electronic parts or items for which you don't necessarily want to assign a Manufacturer PN and Manufacturer pair. For this reason you can now create Asset parts. These can be keyboards, chairs or whatever items it might make sense for your use-case.

Something worth mentioning is the current lack of Units of Measure, which would be useful for Assets too. This way you could keep track of fractional quantities such as length (for cables) or volume (for liquids), for example. This will be implemented later on.

Release Notes v2.4.3

April 26, 2021
  • Available quotes: show all quotes (ignore MOQ and availability)
  • Set alternate/equivalent parts through similar parts
  • BOM designators can now have different prefixes
  • Enabling/disabling attrition rate from Purchase Lists removed
  • [fix] Allow to edit name of in-house Part
  • [fix] Supply chain: prevent caching empty or invalid results (e.g. quotes)
  • [fix] Revert inventory with lot
  • [fix] macOS-only Select all rows in a table using ⌘+A

Showing All Available Quotes

Until now, the Available Quotes would filter out all invalid quotes. A quote would be considered invalid if the minimum order quantity would be greater that the order quantity or if the supplier didn't have enough stock (i.e. no availability). From now on, and depending on the case, the MOQ and availability can be ignored so those quotes are still shown and might be selected.

When using the Projects > Pricing & Availability to estimate the production costs of a project, both MOQ and availability are ignored and all quotes can be selected. This makes it easier to ensure all items in a BOM have a quote assigned so an estimate of production costs (even if a rough one) can be calculated.

On the other hand, when viewing a Purchase List, quotes with insufficient stock (i.e. available stock on supplier is lower than order quantity) will still be filtered out but the ones with MOQ, even if invalid, are shown. Also, even though you can see quotes with MOQ greater than the order quantity, in order to create a Purchase Order all selected quotes must be valid. This means in order to create a PO you might have to increase the order quantity so it meets the MOQ. Invalid quotes can be easily identified by their dark grey background (instead of purple).

Alternate and Equivalent Parts

From now one you can define Equivalent parts. Two parts are considered equivalent when both are alternates of each other. An alternate part is not necessarily equivalent to another one (e.g. a "100nF 20V 0603" capacitor might be used in place of a "100nF 6.3V 0603" one, but not the other way around).

An info column was also added to the Alternate and Similar Parts tables so additional info about each part can be easily accessed making it easier to decide which parts should be considered as alternates and/or equivalent.

Release Notes v2.4.2

April 20, 2021
  • New custom field type: SI value
  • [fix] BOM Part Matching: show suggestions when value and package are defined even though additional data is not available
  • [fix] Inventory sources picker: filter out sources with qty = 0
  • [fix] Suppliers: add offer
  • [fix] Barcode settings: set default printer name on combo-box
  • [fix] macOS-only Don't maximize window when activating the app through the dock
  • [fix] Crash "cannot read prefix of undefined"

Values with SI Prefixes

You can now create custom fields (through Settings > Workspace > Part custom fields) representing SI values (i.e. values that have a SI prefix). Why is this important? Let's say you want to create a new field called "Rated Voltage" where you'd use values represented in Volts. If you'd use a custom field of type String you'd lose searching capabilities as a string can contain any kind of text. With an SI Value the app will parse the values and is then able to tell that 200mV are the same as 0.2V.

Release Notes v2.4.1

April 16, 2021
  • Editable prices use 6 decimal cases (not only on Part dialog)
  • Comments added to Lots
  • [fix] API: not starting
  • [fix] Lots table exported data
  • [fix] Select project after creation

Release Notes v2.4.0

April 14, 2021
  • [new feature] Lot control
  • Reserve and assemble items from multiple inventory sources
  • Unit cost for a Part can be entered with up to 6 decimal places when editing or creating a Part to ensure accuracy
  • Exporting tables: printable data (e.g. PDF) might be rendered differently than original data
  • History logs: links added to some references
  • [fix] CSV import: clear column mapping
  • [fix] Parts import: import part stock only if mapped
  • [fix] Sort by storage names

Lot Control

This new feature brings increased traceability to BOMIST. With it you can assign a lot to items you receive from a Purchase Order or to inventory resulting from Project Builds. This way, whenever you use inventory belonging to a lot you can track its origin.

Multiple Inventory Sources

You can now pick multiple inventory sources when reserving inventory or assembling items on a project build. This way, if you need 100 units but you have 50 in one storage location and 60 in another one, you could use specify both locations in the desired order. You can easily reorder selected inventory sources by drag and drop them.

When assembling items, if inventory was previously reserved you'll have to use that one. In case you'd want to use other inventory sources you'll have to unreserve inventory and then reserve/assemble the items.

Reserving inventory is particularly useful to generate pick lists (e.g. by exporting the table into PDF), so you know where to get inventory from, and to prevent other project builds or manual inventory adjustments from using stock that is meant to be used in a specific project build.

Release Notes v2.3.13

April 2, 2021
  • Projects: active builds
  • Storage: filters added
  • Add parts to purchase lists directly from tables available on Parts, Storage and Suppliers tabs
  • List purchase orders originated from a given purchase list
  • Several small UI improvements

Projects: Active Builds

So far, to see active project builds (i.e. planned or in-progress) you'd have to click through a given project and its own revisions. You can now have an overview of active project builds through the main Projects table. The tags under the Production column will tell you how many builds you have in each state, and by hovering these tags you'll see the corresponding project build codes which you can click to immediately look them up.

Storage: Filtering Inventory

You can now filter inventory in the Storage tab, pretty much the same way you filter parts in the Parts tab. An important difference here is that on top of being able to filter by global stock of a given part, you can also filter by its quantity on a given storage location, for example.

Adding Parts to a Purchase List

Previously, items on a purchase list could be added either manually, through the purchase list itself, or by creating a purchase list through Projects > Pricing & Availability. You can now add parts to purchase lists directly from tables available on the Parts, Storage and Suppliers tab. This is useful because sometimes these tables give you the right view over your inventory from which you'll decide whether to purchase or not these parts. This way, you can for example filter inventory in a specific storage location in the Storage tab and select the parts that don't have any stock or have low stock to be purchased.

Listing Purchase Orders from a Purchase List

A single purchase list can originate several purchase orders. That's the case when you order parts from several Suppliers. You can now track those purchase orders through the purchase list itself. This list shows you all purchase orders in which the selected purchase list is being referenced on.

Release Notes v2.3.12

March 30, 2021
  • BOM import: allow to import entries without designators
  • BOM part matching improved (suggestions and data editing)
  • Project > Pricing & Availability: calculate production cost
  • Reserved inventory is now coloured in blue
  • Workspace settings: enforce quote selection and only use preferred suppliers is now checked by default
  • Table rows numbering (used in Project tables) - Item # column removed
  • Part details: show Usage for in-house Parts (previously only on outsourced Parts)
  • Purchasing: data can now be grouped by Supplier
  • [fix] Sorting parts by value
  • [fix] Attrition quantity formula
  • [fix] Table header scrollbar padding (failed to detect scrolling)
  • [fix] Table minimum width when visible columns change
  • [fix] Issues table jumping selection
  • [fix] Copy cell
  • Several other small fixes and UI improvements

BOMs: Part Matching

When importing a BOM along with additional data so Parts can be matched, you'll get a warning when no parts were matched and suggestions of parts to be assigned if more than one were matched.

You can also double check the data used for parts data matching and even edit it.

Purchasing and Production Cost

Previously, the estimated cost presented on the Projects > Pricing & Availability table considered only the Purchasing costs. This way, if purchasing criteria was set to if needed, the estimated cost would represent only the units that needed to be purchased which makes it hard to estimate the overall production cost.

From now on, the production cost is calculated taking into account each part's Unit Cost, in case those parts don't need to be purchased (i.e. they exist in your inventory already) or the price of the selected Quote, and corresponding quantities. When looking up the Unit Cost, if it's not available, the Order Price will be used instead if available, and vice-versa. The production cost is the sum of the purchasing cost and your inventory cost (the Unit Cost of each part available in your inventory multiplied by the required quantity)

Release Notes v2.3.11

March 23, 2021
  • Purchase orders: receive items partially.
  • Project builds: Combo-boxes in Receive and Assemble dialogs fill in one option by default. Options are also sorted by last time used (most recent to oldest). Rendering improved.
  • Tables: grouping improved.
  • API: validate hostname and notify errors.
  • [fix] Printing (Windows only)

Backordered Items on Purchase Orders

You can now partially mark items as received on a purchase order. This is useful for backordered items, when let's say you order 5000 units but only 2500 are initially available to be shipped. When receiving items, if quantity is not passed the whole quantity is assumed to be received. To mark an item as partially received, enter the quantity received. To set a partial quantity, items must be received individually (i.e. Storage method should be set to Individual instead of Single location).

Aggregated Data on Grouped Fields

When aggregating data on rows with grouped fields, the app attempts to display a unique value by default but if that's not possible an asterisk will be displayed instead. This doesn't apply to fields that have their own aggregation formula (e.g. sum, average), such as is the case of prices and quantities.

Release Notes v2.3.10

March 19, 2021
  • BOMs: you can now use designator ranges (e.g. C1-3 instead of C1, C2, C3)
  • CSV importer: you can now pick the rows to import (or to ignore)
  • CSV importer: ignore empty rows
  • PDF export: include company logo (can be set through Account; by default uses BOMIST's logo)
  • PDF export: barcode is included in some tables (project builds, purchase orders/lists, storage parts)
  • Purchase order/list number and description can now be edited
  • Part's Manufacturer and Type can now be grouped
  • Go-to BOM entry after manually adding one
  • Including IDs on exported CSV/JSON files is now optional
  • [fix] PDF export: sorting order and grouping, break page after row
  • [fix] Prefix column on project's build table
  • [fix] Printing: printer name with whitespaces (Windows only)
  • [fix] ComboBox: prevent overflow (ensure it's visible on the screen)
  • [fix] Move inventory (MAKER plan only)

Release Notes v2.3.9

March 11, 2021
  • BOM designators are now optional. When designators aren't set quantity can be manually edited.
  • Item # column added to BOMs
  • Part dialog: autocomplete of Manufacturer PN can be disabled/enabled
  • Unit Price is now displayed with 3 decimal places
  • Locale can be set through Settings > General (affects how prices are displayed)
  • Prices are exported containing currency
  • Suppliers can now be imported along with their own parts and price breaks
  • [fix] Insufficient stock warnings
  • [fix] Sorting of prices

Release Notes v2.3.8

March 8, 2021
  • API: new endpoint /storage/<id>/inventory
  • API: IDs can now be used on the search endpoint (selector)
  • Stock (in-house and on-order inventory) and On-hand columns added to project tables
  • Exported CSV and JSON files include the ID of each row
  • Press and holding up/down arrow keys keeps scrolling
  • Part details: display label
  • [fix] Quotes with MOQ > 1 not showing up on Available Quotes
  • [fix] Adjust inventory when quantity surpass plan's limit (FREE plan only)

Release Notes v2.3.7

March 4, 2021
  • Unit cost can now be updated when manually adjusting inventory (previously only through Purchasing)
  • Print orientation (landscape/portrait) added
  • UI: accordions with animation and expanded state is preserved
  • [fix] Prevent moving a storage location to itself
  • [fix] Clearable combo boxes
  • [fix] Assembling items when some items without inventory were selected too

Release Notes v2.3.6

February 27, 2021
  • [fix] Project BOM: manually assign parts
  • [fix] Swagger UI

Release Notes v2.3.5

February 26, 2021
  • Setting up workspace at start-up optimized so it runs faster
  • [fix] Purchase orders: receive items with the same Manufacturer PN and Manufacturer but with different Supplier PN
  • [fix] Project builds: when assembling items with reserved inventory, set default inventory on the ComboBox
  • [fix] Go-to and scroll to table row
  • [fix] Memory leak related with prices displayed on tables making the app slower

Release Notes v2.3.4

February 25, 2021
  • [fix] Parts filters: Value filter missing
  • [fix] Parts: set storage location when creating a new part
  • [fix] Price columns with paywall tag on professional plans

Release Notes v2.3.3

February 24, 2021
  • Parts: Label column can now be grouped
  • Import parts: allow to import data of existing parts so data can be overwritten in bulk
  • Import purchase orders: status (open, ordered or received) can now be defined when importing purchase orders
  • [fix] Some rows missing when grouping some columns
  • [fix] Aggregated data on some grouped columns

Grouping by Label

Release Notes v2.3.2

February 23, 2021
  • BOM copy
  • Parts group edit: package, value, NRFND and non-stocking fields added
  • Export table to PDF improved
  • Merge purchase orders: only purchase orders in the Open state can be merged
  • Merged purchase orders: group by Supplier PN and see aggregated data
  • [fix] CSV and JSON table export: arrays and internal ids

Copying BOMs

You can now copy a project revision's BOM from another project revisions's BOM. This is especially useful for Models/Variants: different projects that have a very similar BOM, ofen the difference being on the parts that are (not) to be populated (DNP).

Merged Purchase Orders: Aggregated Data

A purchase order always keeps track of purchase lists that originated them. When merging two purchase orders, the resulting purchase order might contain duplicate parts, each one coming from a different purchase list. By grouping the table by Supplier PN you get to see not only the rows corresponding to each purchase list but also the aggregated value on top. If, for example, you want to export into a CSV file only the aggregated values, you simply collapse the grouped row.

To merge purchase orders, they have to have the same supplier and to be in the Open state.

Release Notes v2.3.1

February 22, 2021
  • Import parts with inventory in multiple storage locations
  • Add Inventory: allow to add inventory even if quantity = 0 (but the Storage location is set)
  • Auto-assign quotes now works with selected items (instead of all items in the table)
  • Auto-assign quotes and Unassign quotes now have its own button
  • Small UI fixes and improvements
  • [fix] Custom quotes not found

Release Notes v2.3.0

February 21, 2021
  • [new feature] Inventory value report
  • Parts new fields: Unit Cost, On-hand (in-house stock), Worth
  • Import purchase orders from custom suppliers
  • Storage tab performance improvements
  • Man. Part Number, Int. Part Number and Supplier Part Number renamed to Manufacturer PN, Internal PN and Supplier PN
  • Parts filters: Internal PN added
  • Parts filters: Manufacturer PN added back to fuzzy-search (still has its own "exact match" search filter)
  • [fix] Chance of intermittent read-only mode in team workspaces
  • [fix] Part finder: filter parts
  • [fix] Ensure workspace has a name upon its creation

Inventory Value Report

You can now easily check how much is your inventory worth. This is accomplished through a new field in Parts: Unit Cost. This value can be manually set or imported along with new Parts. But the best thing is that it's also automatically updated whenever you use Purchasing, so whenever a Purchase Order is received, or imported, the unit cost for each part will be updated.

The inventory value report can be exported into CSV, PDF or HTML and is available on professional plans.

Release Notes v2.2.4

February 17, 2021
  • Barcode labels now include the Internal Part Number
  • Storage descriptions show on the Storage tree
  • Custom barcodes can be generated through the API
  • Part search filters: Man. Part Number doesn't use fuzzy search
  • [fix] Import parts without storage assigned: not listed as unallocated
  • [fix] Table columns re-ordering (drag and drop)
  • [fix] Custom fields: respect fuzzy search option
  • [fix] Extra re-render after workspace initialization
  • [fix] API: swagger documentation

Release Notes v2.2.3

February 15, 2021
  • BOM preferences: set fields part data should be matched to when importing a BOM
  • BOM export: revision is set on PDF
  • Barcodes include a line feed to avoid additional barcode scanner configuration
  • [fix] Import purchase order: purchase orders are set as "received"
  • [fix] Storage: tree node is updated after editing storage
  • [fix] Unselect project build when current project revision changes
  • [fix] Barcode reader buffer flush timeout increased
  • [fix] Project revision finder dialog

Import BOM: Part Fields to Match

When importing a BOM, parts would be automatically assigned to each BOM entry if a part on your workspace would match the Man. Part Number and Manufacturer or simply the Man. Part Number. From now on, you can set which fields should be matched. Custom fields can be leveraged to match parts to a custom ID for example or any other value you might find useful. Multiple matching fields can be set.

If more than a part is found for a given match, the part won't be automatically assigned.

Release Notes v2.2.2

February 12, 2021
  • [fix] Printing issues (file not found), open printer preferences (windows-only)
  • [fix] Error dialog at startup

Release Notes v2.2.1

February 11, 2021
  • Date and time format can now be set (Settings > General)
  • "Created/updated on" columns added to parts, inventory and documents tables
  • [fix] Import purchase orders: fetching the wrong parts when the Supplier Part Name contains dots
  • [fix] Multiple row selection when Issues table is open

Release Notes v2.2.0

February 9, 2021
  • [new feature] Barcode labels printing and scanning (learn more)
  • Comments added to history logs
  • Preferences dialog added to BOM table
  • Unallocated storage added to the tree in the Storage tab
  • Settings: use preferred suppliers only
  • Import purchase order: Storage can be included in the CSV to import
  • Add inventory: can add into existing storage locations (quantity will be adjusted)
  • Inventory table: "change storage" button removed as the "move quantity" button does essentially the same
  • [fix] Available quotes: filter out quotes with stock < order qty
  • [fix] Alphanumeric sorting for Label and Storage columns
  • [fix] Projects > Pricing & Availability: order qty updated according to batch size
  • [fix] Import purchase orders: wrong column mapping when using pre-defined CSV parser
  • [fix] Prevent race conditions on the database

Release Notes v2.1.16

February 1, 2021
  • Storage ComboBox (e.g. change inventory location) is now sorted and performance was improved
  • [fix] filter part by value with Ohm unit
  • [fix] Part dialog, ensure inventory location ComboBox is visible

Release Notes v2.1.15

January 31, 2021
  • Filtering parts by value improved (learn more)
  • [fix] reset page index when new data is set on table
  • [fix] table resizers over tab selection's ComboBox (UI-only)

Release Notes v2.1.14

January 27, 2021
  • [fix] import Parts with storage field empty
  • Notification error when trying to access a local workspace that's already being used, avoiding data conflicts in case the workspace is in a shared folder (e.g. Dropbox)

Release Notes v2.1.13

January 25, 2021
  • API: /inventory/<id> endpoint added
  • API: source included on project build items
  • [fix] reserved inventory source shows up on the Project Builds table (after restarting the app)

Release Notes v2.1.12

January 21, 2021
  • Table page size can be changed through Settings > General
  • Copy previous project revision's BOM when creating a new project revision
  • Table multi-sort (press-and-hold shift and click on the other column's header)
  • Finding part alternates and parts to assign to a BOM: set Filter's initial value and package
  • Unassign multiple parts from a BOM
  • Filters added to Projects

Release Notes v2.1.11

January 19, 2021
  • Part storage, stock and custom fields columns added to Project and Purchasing tables
  • History added to Storage (on the details panel)
  • Column selector with fixed height and vertical scroll
  • API: internal error messages are exposed on the response
  • Storage tree initially set as "not expanded"
  • Parts value can have any text (no parsing)
  • [fix] save table's current page index
  • [fix] import workspace (too many files; notifications added)

Storage history

You can now easily see inventory changes for any given Storage location. The history table will list the history for all parts that are in the selected storage location.

BOMIST - storage history

Release Notes v2.1.10

January 17, 2021
  • BOM import: value and package fields are not mandatory
  • BOM import: Man Part Number is enough to find a part to assign (previously both Man. Part Number and Manufacturer were required in order for the app to automatically assign a part)
  • Reserve and assemble inventory modals automatically select the storage location if only one is available
  • Parts values: supported units added (V, W, dB, dBm)
  • [fix] on Projects > Pricing & Availability, when purchase criteria is set as "if needed", estimated costs are updated accordingly

Release Notes v2.1.9

January 14, 2021
  • New feature: custom fields (parts only)
  • New feature: reorder columns
  • Import parts: label and storage location can now be imported
  • Create part dialog: allow to insert initial inventory by passing quantity and storage location
  • Parts field "hidden" renamed to "NRFND" (not recommended for new designs)
  • Parts field "Non-stocking" added: don't show low stock and out of stock warnings
  • Create project dialog: allow to create in-house part automatically
  • [fix] when assigning a part to a BOM entry, value and package fields are updated accordingly
  • [fix] trees are now sorted alphanumerically (e.g. Storage)

Custom fields

Custom fields allow you do extend fields available on Parts and can be defined through Settings > Workspace > Parts custom fields.

A custom field can be a string, number, boolean or an option. Custom fields show up on parts Filters, on the Parts dialog when creating a new part and also on the Parts Group Edit dialog when editing multiple parts at a time.

Columns re-ordering

Columns on all tables can now be reordered. All you need to do is to drag-and-drop them into the desired location.

Non-stocking and NRFND

NRFND parts can't be assigned to project BOMs. This is useful when a part becomes obsolete.

On the other hand, non-stocking parts can be used normally but low stock and out of stock warnings won't be displayed. Non-stocking parts have a "NS" suffix on the stock column.

Release Notes v2.1.8

January 12, 2021
  • Automatic backups
  • API route parameters documented (required by Swagger Editor)
  • [fix] offline/read-only notifications incorrectly showing up on the FREE plan

Automatic Backups

BOMIST can now automatically backup your workspaces. You can define a backup interval (daily, weekly, monthly - or never, in case you want to disable it), the folder the backups should be stored at and how many you want to keep. This can be configured through Settings > Backups.


As these backups are kept on your file-system, we recommend you to put them in a folder that can sync with some cloud storage service (e.g. Dropbox). This way, if for some reason you stop being able to access the computer you have the app installed on, you can still access your backup files on the cloud.

Each backup file consists of a Workspace dump file (.bomist_dump) which includes all the data available on your workspace.

To automate the creation of Workspace dump files you can also use the API.

Release Notes v2.1.7

January 7, 2021
  • Move inventory from the Storage Parts table (context menu item "Move to..." added)
  • Parts stock showing up on the Storage Parts table
  • Hidden parts no longer display stock warnings
  • Inventory table auto-selects one in-house inventory if available
  • API new endpoints: export the whole workspace
  • Several improvements affecting the overall performance but specially the tables used in the Projects tab
  • [fix] read-only mode incorrectly showing up on TEAM workspaces
  • [fix] unreserve reserved inventory

Release Notes v2.1.6

January 4, 2021
  • Parts Supply Chain: show all available quotes ignoring minimum order quantity (MOQ)
  • API: each storage node includes its full name (e.g. Shelf - A - A1)
  • API new endpoints: inventory/adjust_qty and inventory/move_qty
  • [fix] reserved inventory
  • [fix] missing Octopart offers on Parts Supply Chain

Release Notes v2.1.5

December 22, 2020
  • Quote selection enforcement can be disabled/enabled
  • Part columns added to storage parts table
  • BOM table displays total quantity for each grouped designator
  • [fix] BOM table displays not only the grouped designator prefix but also the designators for each BOM row
  • [fix] create purchase lists for BOMs that include in-house parts (do not add the part itself to the list)

Selecting quotes to create purchase orders

Previously, in order to create a purchase order (PO) the user was required to pick up a quote from an available supplier. This can be inconvenient as available quotes might be outdated, showing as "not available" when the part is in fact available on a given supplier, or it would require the user to setup custom quotes in the supplier tab.

Selecting quotes is now optional and can be disabled/enabled through Settings > Workspace > Enforce quote selection. When disabled, all it takes to create a PO is to have a supplier defined, which will be picked from the Part's data or from the global preferred suppliers. In this case, the user is responsible for making sure the part is available on the given supplier.

Release Notes v2.1.4

December 17, 2020
  • Purchase order importer and csv template for Digi-Key and Mouser orders
  • Currency formatter improved (respects localization)
  • Unit prices displayed with 3 decimal places
  • Go-to Part added to supplier parts table
  • [fix] unable to select hidden workspace file in macOS
  • [fix] custom supplier not showing up on available quotes
  • [fix] Storage column refreshed after being changed through the inventory table

Importing purchase orders (and parts)

You can now import purchase orders and parts directly from purchase orders placed on your favourite distributor. All you need is a CSV file that you can normally generate through the online distributor.

BOMIST - Import purchase orders

By importing a purchase order, if the parts included in it are not yet available on the app they will be created as well. Not all part fields need to be defined and BOMIST will try to autocomplete most of them for your convenience.

The importer includes a CSV template for purchase orders generated from Digi-Key and Mouser, meaning appropriate CSV settings and field/column mappings will be set by default.

Release Notes v2.1.3

December 7, 2020
  • Improved error handling on importing parts
  • Parts description column is now resizable
  • [fix] preserve sortBy and groupBy table properties

Release Notes v2.1.2

December 4, 2020
  • Collapsible tables
  • Adjustable tables/trees font size
  • [fix] hidden rows when grouped columns get hidden
  • [fix] scroll row into view when selecting adjacent rows through keyboard arrow keys

Collapsible tables

To make sure the most important table get the most space on the screen, some tables can now be collapsed.

Adjustable font size

You can now adjust the font size used in tables and trees through Settings > General.

Release Notes v2.1.1

December 2, 2020
  • Table sorting: numbers come before letters (ascending)
  • Parts table: storage column
  • Go-to links for storage locations
  • [fix] data importer column index starts from 0
  • Small UI improvements

Release Notes v2.1.0

December 1, 2020
  • Local REST API
  • Several small fixes and UI improvements


BOMIST can now launch a local web server that exposes a REST API. Through this API you can then retrieve and process your data the way you want by creating your own scripts. This feature is available on all plans.

Once the server is running, you can test it by simply opening your web browser at http://localhost:3333 (or on any other hostname and port you started the server at).

Documentation is provided at http://localhost:3333/_swagger.

Endpoints to retrieve data and to interact with the UI are available.

Release Notes v2.0.0

November 16, 2020

This is a major version update and, as the app was re-written from scratch, it brings a lot of UI and UX improvements. Legacy app will no longer be distributed nor supported.

  • cross-platform: now available on windows, macOS and linux
  • multi-user support and data sync over the web (TEAM plan)
  • outsourced and in-house parts (sub-assemblies)
  • inventory table
  • multi-stage project builds
  • similar parts and part alternates
  • purchasing lists and orders
  • markdown text notes
  • custom suppliers and quotes
  • multi-level storage locations
  • multiple preferred suppliers
  • tables exportable into CSV, JSON, HTML and PDF

You might want to read this blog post too.

For more info about each feature please visit the Learn section.

Legacy workspaces are not compatible with the new version but can be partially converted using this tool: If you need help converting your workspace, please get in touch

Questions? Get in touch