Skip to main content

This is a minor release. Minor releases introduce new features but no backward compatibility issues. Below are some of the highlights. For a more extensive listing of all the changes you can refer to the beta changelog.

Happy new year! The first release of the year brings the beta into the main release channel and with it several new features:

  • Barcode actions: with barcode actions you can accomplish a task, such as adding, removing or moving inventory by scanning a sequence of barcodes and without keyboard or mouse intervention. To initiate a barcode action all you need to do is to scan the barcode of one of the available actions on this Barcode Actions PDF and then the app will inform you of the next barcodes you should scan in order to complete it.

  • Integration with third-party APIs from online suppliers. These APIs allow you to get pricing information and quotes directly from these suppliers or distributors. You'll have to get your API credentials from each of these suppliers in case you'd want to use them, and each will have different conditions and limits (e.g. maximum number of requests) which you should check. The app takes care of caching and ensures maximum requests per minute is respected for every supported API service. Currently supported APIs: Mouser, DigiKey, Element14 (Farnell, Newark), TME and Future Electronics. More to be expected. Credentials for the third-party APIs can be entered at Settings - Workspace - Quotes.
  • Octopart / Nexar API is included by default (just as before; no account needed) but can now be disabled, if needed

  • The app now detects identical parts whenever importing or manually creating parts. Identical parts are parts with the same Part Number but identical Manufacturer (e.g. "Wurth Electronics" vs "Würth Elektronik"). By default, identical parts are considered the same. When importing parts you'll be warned about identical parts, if any, and given an option to manually confirm if those parts are meant to be considered the same or not.

This should prevent having multiple parts listed on the app that actually represent the same one. Before, a different Manufacturer for the same Part Number would always be considered as a different part whenever importing or manually creating a part. Once created, parts are still considered unique / different based on both Part Number and Manufacturer as different manufacturers might use the same part number.

  • BOM Instructions: BOM instructions allow you to create steps that should be followed during assembly. A BOM instruction can reference items in the BOM and documents and notes can be added into it as well.

During production you can then change the status of each step from to-do, to in-progress to done.

  • Calendar: you have now access to a calendar to better and more easily visualize important dates (deadlines). Just look for the calendar button that, if available, should be right next to the filters button (see below). Right now you have access to a calendar in: sales orders (delivery dates), production plans (dates by which products should be assembled) and production builds (dates by which production should have inventory reserved and has been fully assembled)

  • Files can now be drag-and-dropped onto tables. Tables that can import data through a CSV file will accept CSV files (except purchase orders). Files can also be dropped into Document tables, both on the global table as well as on the Documents table that belong to things (i.e. parts, etc). In this case, the file is saved/uploaded to the workspace itself and becomes listed on the thing it refers to.

  • Company information can be added under Settings - Workspace. This information is then included on exported PDFs for sales orders and purchase orders

  • A search input (Filter...) for basic search was added to the Issues table
  • When importing CSV files, the fields to map are now double-sorted: first by required ones and then alphabetically
  • API: endpoint /storage/<storage_id>/move added
  • API: /documents endpoints added so you can get and set documents for things in the app (i.e. for parts, etc.)
  • API: history endpoints added
  • History: storage events are now logged (storage created, moved or removed)
  • Production plans can now be imported through a CSV file
  • When "going-to" something (e.g. a part), if filters are active and possibly preventing the item to show up on the table, a popup is displayed informing you of that including a button to quickly close filters so the item would become visible
  • [fix] Unable to import custom quotes unless parts are identified by Internal PN

  • On a purchase order, when receiving items and printing the corresponding labels by clicking on Receive & Print Labels you are now presented with a dialog which lets you choose if inventory or part labels should be printed. In case a Lot was created, a label for it can also be printed.
  • Lead time column added to the purchase list and product pricing tables (tables where quotes are used)
  • A supplier can have multiple entries for the same Part Number using different supplier part numbers
  • Custom quotes can now have a URL
  • BOM entry custom fields added to the product pricing and production build tables
  • [fix] DigiKey quotes not being presented as preferred

  • [fix] Unit price for items on a Purchase Order with status "ordered" displayed with 2 decimal places instead of 4
  • [fix] Unable to set negative values for custom fields of type number
  • [fix] Size of custom set part thumbnails too big, breaking the UI

  • Parts that are Consumables cannot change category, as other categories don't support unit of measures other than Unit
  • Hovering the image/thumbnail in the part details tab will show up a tooltip with that image displayed in a bigger size
  • [fix] Values for custom fields of type App Element with Part not being displayed on tables
  • [fix] When cloning a part the unit of measure wasn't being copied possibly resulting in a crash
  • [fix] Chance for a table view not to change

  • [fix] API: error on opening documentation
  • [fix] API: when moving inventory, history logs being generated for inventory changed instead of inventory moved

  • Custom fields of type URL can now be searched
  • [fix] API: when setting values for custom fields of type url, the API was incorrectly expecting a string instead of an object (now both are supported)
  • [fix] API: not able to define a part when creating purchase order items
  • A few small UI improvements


This update brings important fixes and improvements on how parts are matched and auto-assigned when importing a BOM CSV file.

The app tries to match parts according to the Part Matching Data (PMD) - the values mapped on the CSV file - and the part matching fields - listed in the BOM preferences dialog - but fields don't have to be all matched. For example, if a 1k resistor would be required but the mapped Part Number wasn't found, another resistor with the same value could be picked (and automatically assigned if Assign first match was enabled).

You can now tell the app to only ever auto-assign a part if it fully matches the PMD by enabling the Exact matches option in the BOM Preferences dialog. If only partially matched, it's still shown as a suggestion so you can manually approve it.

The PMD icon on the table, for each row, will also tell you if the PMD has been fully matched (green), only partially (orange) or not matched at all (red).

  • The Manufacturer field cannot be used as a single part matching field; in case you have it in use it will be forcibly removed. Instead, you most likely want to use Part Number + Manufacturer (the default setting) when matching parts
  • Previously, whenever manually setting a row as DNP, the part, if previously assigned, would be assigned. The Allow DNP with part option in the BOM Preferences dialog (see above) allows the part to remain assigned
  • When importing a BOM file with the DNP field mapped, the following text can be used (case-insensitive; white-spaces, dashes and underscores ignored) to denote "do not populate": not fitted, dnf , nf, dnp, np, yes, true.
  • [fix] Chance for Assign first match to be used even if shown as disabled
  • [fix] Chance for incorrect part match due to wrong text comparison

  • Column selector now has Hide All and Show All buttons
  • Quantities now have a tooltip displaying conversions for all other units in the same category
  • Storage location can be added when (no storage) is selected, being added as a top-level location
  • [fix] Chance for crash when using units of measure other than Each and the Available Quotes are visible
  • [fix] Unable to enter initial inventory for a consumable part when manually creating it
  • [fix] Incorrect calculation of Batch Qty when using consumables
  • [fix] When app crashes an error message and details should be displayed instead of a blank screen
  • A few other minor UI/UX improvements

  • [fix] Chance of price parsing to fail (dependent on currency symbol being used)
  • [fix] On a production build, when moving inventory that has been reserved for an item through the tooltip, new storage location not being displayed
  • [fix] Chance for row colors not to be updated when data changes
  • [fix] Chance for Low stock value to be removed when manually editing a part

  • [fix] When finishing a production build that uses generic parts and opting to update the unit cost of the resulting assembled units, a warning was incorrectly displayed alerting for parts without unit cost defined
  • [fix] Production builds table (through the Products tab only) resetting selection when clicking on a production build for the first time
  • [fix] Chance for splitter between main table and the issues table not to keep its position
  • Several minor UI/UX improvements