- 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 PNcolumn (through the popup shown when hovering its value) - API: new endpoints for
suppliers,purchase_lists,purchase_ordersandlots [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
- Projects:
Internal PN,LabelandStock On-handcolumns 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 /unitrecalculated whenAssembly Qtyis overwritten

- Custom quotes can now be added/edited through the
Available Quotesinstead of having to go through theSupplierstab - Filters: when searching by SI values,
V,AandWunits 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 customdate[fix]Purchase list: change quote one after another[fix]Filters: when changing the search modifier fromrangeto something else, filters would stop working[fix]Some elements not being re-rendered when saving data

- 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,SuppliersandHistory - 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:
genericsandassetscan now be imported (as long as the appropriate partTypeis passed in the CSV file) - Purchase orders: a purchase order can be marked as
Receivedeven if some items weren't received yet - Purchase orders: status can be manually reverted (e.g. from
ReceivedtoOrdered) - 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)

- Import BOM: part matching through
Internal PNorManufacturer PN + Manufactureris now faster - Scrollbar added to
Filtersfor easier navigation [fix]Filters: clear all filters
- New custom field type:
date. A date field can also be marked as adue date. In case a date is adue 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 throughSettings > 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 /unitcolumn 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
- 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

- 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
- 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 Qtyon planned items can now be changed and reset to original one. Once the item has been assembled or inventory is reserved,Assemble Qtycannot be changed anymore - When
Enforce quote selectionis 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 unreservedandinventory consumed - History log events are now coloured for easier visual identification
- Double clicking on most tables will trigger the
Editaction (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.gC1-9)[fix]Don't generate history log when adjusting inventory with zero quantity[fix]Create Purchase Order whenEnforce quote selectionis 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.
- Import parts:
Low Stockvalue can be imported - When creating/editing a project revision the dialog shows faster
[fix]Export history table