- Added new custom hooks.
- Added batch tracking functionality to WC Orders and ATUM Orders.
- Allow tracking BOM MI order items' batch numbers.
- Improve "get_product_inventories" by reducing SQL queries.
- Performance improvements when using MI + Product Bundles together.
- Performance improvement: prevent "get_prop" execution in MultiPrice if not needed.
- Performance improvement: added multi-price transient.
- Include ATUM orders' actions when increasing/decreasing the order stock.
- Add by default an "in stock" inventory for WC orders and an "out of stock" inventory for POs.
- Changed compatible product types for "get_product_multi_inventory_status".
- Set the product as "on sale" when at least one of its inventories is on sale.
- Apply extra filters to inventories when filtering by supplier.
- Return main inventory props if no inventory is found.
- Prevent running the "atum/product_data/after_save_data" hook multiple times for the same products when updating inventory data on SC.
- Added several hooks to refresh the multi-price transient.
- Disable the variations buttons if there are still no changed variations.
- Allow HTML tags in region labels within order item inventories.
- Fixed stock being increased when doing a quick or bulk edit from the products list.
- Fixed item line subtotal not being refreshed after setting the purchase price.
- Prevent duplicated queries in "get_zones_matching_package" function.
- Fixed stock for items with MI disabled but without order item inventories not being processed when switching order statuses.
- Fixed Main Inventory meta data not being read.
- Fixed SQL error when filtering by supplier.
- Fixed duplicated queries in Stock Central.
- Prevent all the variations to be saved always (no matter whether changes were made or not).
- Fixed meta backorders were'nt properly read in "Inventory::get_product_inventories".
- Fixed the MI products filter in List Tables.
- Fixed wrong array returned in "get_product_used_regions".
- Fixed bug when checking MI status for something that is not a product.
- Overall performance improvements.
- Reduced SQL queries complexity.
- Removed duplicated queries.
- Added default value to GeoPrompt exclusions.
- Added trigger after adding Inventory JS Event in ATUM's data panel.
- Escape slashes when checking GeoPrompt's exclusion patterns.
- Added special case for GeoPrompt's homepage exclusion.
- Hide WC's inventory fields in translated products with MI activated.
- Update product's calculated fields after saving meta boxes.
- Prevent accessing order items if order type is not supported.
- Added new custom filter for order item inventories.
- Added getter for the compatible child product types.
- Commented out the "delete_items" for the inventories endpoint (not used).
- Use the very first inventory (no matter its availability) when adding items to POs or ILs.
- The available inventory stock should be 0 when reaching the OOST.
- Fixed GeoPrompt's select2 dropdown with transparent background.
- Fixed "manage_stock" not being updated for inventories through ATUM API.
- Fixed WPML's current saved product preventing other products to return the correct stock.
- Fixed wrong name "date on sale to/from" on accessed properties.
- Fixed wrong PO's subtotal/total calculations when editing MI items' quantities.
- Fixed wrong setting existence checking in JS component.
- Fixed no refunds being sent to payment gateways when a product had MI enabled.
- Fixed MI's "has_compunded" class not included in Manufacturing Central.
- Fixed invalid number of params registered for an action.
- Fixed wrong discount total being added to POs' PDF.
- Fixed ATUM orders breaking when an item's product doesn't exist anymore.
- Fixed multi-price products adding extra value when included in a bundle.
- Fixed MI filters preventing variations to be created.
- Fixed MI product settings not being displayed correctly for variations.
- Use the ATUM's UIPopovers component.
- Removed NiceSelect dependency.
- Removed accounting.js dependency and use Utils component helpers instead.
- Change FormatMoney calls parameters.
- Added a custom hook after adding a MI order item.
- Added editorconfig.
- Fixed wrong product's stock discounted for non original langs in WPML.
- Fixed line item data can't be changed in MI lines if no stock is changed.
- Fixed wrong link to the ATUM Locations' edit page.
- Fixed PO inventory's purchase price being included with taxes when the option "prices include taxes" is set.
- Fixed phantom discounts displaying in WC Orders' MI items.
- Avoid unexpected error when refunding orders with MI items.
- Fixed Inventories not changing their stock status when enabling/disabling the ATUM's OOT option
- Text typo fix.
- Fixed wrong select width on the ATUM's MI panel when using Firefox browser.
- CSS fixes.
- Added Inventory props to PHPDoc so can be accessed easily.
- Fixed negative order subtotals in backordered MI products with multi-price.
- Fixed PP removal from PO items with MI enabled.
- Added a new textarea to settings to be able to list the excluded pages for the GeoPrompt.
- Added new filter to List Tables to be able to show MI/non-MI products only.
- Hide the MI status icon when filtering by non-mi products.
- New feature to show expiry dates in cart (when enabled).
- New "Expiry Days" field to set the inventories as "out of stock" the specified number of days before theis BBE dates.
- Prevent products from disappearing from the loop on some cases after activating MI.
- Fixed the Manage Stock tool not working for inventories.
- Fixed insert inventory's order items not changing order items' data.
- Fixed tooltip for not deducted stock that was being shown even if the stock has been already deducted.
- Allow the supplier to be changed for Main Inventories.
- Added full compatibility with ATUM Product Levels.
- Added inventories to Manufacturing Central.
- Added the inventories to the hierarchy BOM tree.
- Delete the inventories when the product type is changed to a non-compatible type.
- Do not add inventories to non-compatible product types on Stock Central.
- Duplicate the MI data when duplicating a product.
- Remove all the inventories when deleting a product.
- Hide the PL fields from non-main inventories in BOM variations.
- Split updating order inventories in two steps to make PL working.
- Added message to settings to suggest enabling the MaxMind service (WC 3.9+).
- Enable the geolocation API fallback when needed (WC 3.9+).
- New ability to assign a default region to all the inventories that have no region assigned.
- Updated dependency versions.
- Added new hook to be able to add extra icons to order items.
- Do not add the collapse class when clicking order items with MI.
- Changed the logic for PL icon tooltip message.
- Removed BOM fields from non-main inventories.
- Clear the LOT field when adding a new inventory.
- Trigger an ATUM action after saving a product from ListTables.
- Do not save a Main Inventory automatically if there is one coming on a form submission.
- Added Inventory stock changes when changing order line items from the backend.
- Added the missing stock indicator icons to PDF reports.
- Changed managing order inventory items behaviour to adapt to WC.
- Disabled the stock status rebuilding for MI products.
- Get rid of the "ATUM_PREFIX" constant from db table names to avoid issues.
- Added the premium support link to the plugin details on the plugins page.
- Fixed error when trying to add an order item to a new order (not yet saved).
- Fixed ATUM MI icon not toggling the order item inventories.
- Fixed variation's MI fields visibility issue.
- Fixed caching issue on Stock Central.
- Fixed order item inventories not being deleted for ATUM orders.
- Check if the cart exists before getting coupons.
- Fixed removing an order item inventory by setting qty to 0 was causing the stock to decrease.
- Fixed the ATUM data removal when a product is deleted.
- Fixed featherLight dependency version issue.
- Avoid the main inventory from being created duplicated for all products (with and without MI active).
- Fixed Inventory::get_product_inventories was setting wrong inventories in cache.
- Prevent compatible parent products from showing the MI UI.
- Fixed stock indicator icon colors messed when MI is enabled for some listed products.
- Fixed MI events to being binded when a new variable product is being created.
- Restore the WC fields visibility when switching the Virtual or Downloadable checkboxes.
- Fixed undefined variable notice in User Destination Form.
- Avoid eventual errors when refunding orders.
- CSS fixes.
- Fixed bulk editing order status was causing wrong stock levels changes.
- Fixed Geo prompt's required fields not being saved on ATUM Settings.
- Prevent no longer existing zones to be shown in MI settings' tools.
- CSS fixes.
- Exclude write-off inventories from the Current Stock Value widget.
- If the out of stock items are being hidden, exclude the inventory prices from the product price range.
- Redo all the multi-price discounts' calculations.
- Prevent adding a Main Inventory to products without MI.
- Fixed countries list on region restriction settings.
- Fixed order totals were not calculated correctly for multi-price products.
- Fixed total discount cart was not applied correctly for inventories with multi-price.
- Fixed refunds were not applied correctly for inventories with multi-price.
- Prevent the applied discounts to be greater than the inventory price when multi-price is enabled.
- Fixed parent color that was not propagated to all MI rows in Stock Central.
- Added mi_inventories array to the Products' API endpoint.
- Added filtering to Products' API endpoint using MI fields.
- Exclude the mi_inventories REST field from the non-compatible or non-mi-enabled products.
- Allow setting no default shipping zone nor country region.
- CSS changes for accessibility (following WordPress 5.3 new styling).
- Fixed returned shipping zone array even if an ids array wanted for default shipping zone.
- Fixed inventories that were saved in the next sibling variation.
- Fixed wrong arguments' order in the MI's Products API endpoint extender.
- Fixed issue with cache on API requests.
- Fixed ATUM locations not being hidden when MI wass active on simple products.
- Fixed term_id that was being saved instead of term_taxonomy_id within the inventory locations' table.
- Added Multi Inventory extension for the new ATUM REST API.
- Added Inventory order items to the WC Orders, Purchase Orders and Inventory Logs endpoints.
- Added Multi Inventory data to the Products and Variation Products endpoints.
- Added new endpoint for Inventories.
- Changed "selling_priority" meta name to "inventory_sorting_mode" to avoid confusion with the PL's "selling_priority".
- Fixed product loop's wrong query if the WC option to hide the products when run out of stock is set.
- Prevent changing the query when is_admin.
- Fixed coupon discounts not applied properly when Multi-Price is active.
- Prevent applying twice the price excluding taxes.
- Save the correct MI line item's total when discounts are applied.
- Fixed wrong subtotal in orders' detail page for discounted multi-price products.
- Fixed wrong postmeta table spoecified in "add_mi_restrictions" query.
- Fixed wrong variation's index numbering set if some WC messages are present.
- Fixed wrong text domains.
- Fixed wrong prices and order subtotals shown for products with Multi-Price.
- Fixed wrong parent's stock status when MI wasn't activated in child products.
- Fixed wrong tax was applied to non-MI products in products loop.
- Allow to set inventory stock counters as float.
- Changed inventory's table counter fields type.
- Fixed Inbound Stock in Stock Central not updated when changing MI lines within POs.
- Check product object to avoid issues.
- Fixed inventory's stock on hold not properly calculated.
- Fixed wrong stock counters in Stock Central for MI products.
- Re-bind the MI UI settings when a new variable product is being created.
- Allow searching within Multi-Inventory columns in Stock Central.
- Allow using the DateTimePicker's today button when the maxDate is set to "moment+1".
- Adapted gulpfile to work with Gulp 4.
- Moved the inventory expiration checker to a scheduled CRON.
- Added missing sale price validation to Inventories.
- Do not clear the BBE date when it does not pass the DateTimePicker validation.
- Rebuild the Inventories' "Out of Stock Threshold" when changing the option from ATUM settings.
- Fixed wrong price HTML returned for non-multi-price products.
- Show the right stock indicator for products with inventories in Stock Central.
- GeoPrompt CSS fixes.
- Updated JS dependencies.
- Updated gulpfile.
- Added a new hook to alert other plugins that Multi-Inventory has just activated.
- Fixed lost color variable for Select2 components.
- Fixed wrong cache value set for the main inventory when Multi-Inventory is enabled globally.
- Do not check for the visitor location if the request is from and API call.
- Fixed Discount total amount not shown in cart when coupon has "fixed cart" type.
- Fixed Sale price scheduled dates not saved when price per inventory not active.
- Fixed Stock status not shown properly when Country restriction mode was activated.
- CSS fixes.
- Adapted to the new ATUM colors feature.
- Added support for unmanaged inventories in WC orders.
- Added support for unmanaged inventories in ATUM orders.
- Added strict validation to inventory meta sanitization methods.
- Updated npm packages.
- Added compatibility for new WPML version.
- Fixed language file not being loaded.
- Fixed Inventory's sale dates not being saved correctly.
- Fixed conflicts with ATUM's datepicker and 3rd party plugins.
- Allow saving correct values in de main inventory.
- Fixed Stock Central stock totals sum for backordered inventories when the "use next" option is set.
- Fixed checkout always setting the Main inventory stock to NULL.
- Prevent returning managed MI product's stock when decreasing stock.
- Allow setting the inventory's stock to null.
- Fixed tsconfig.json to support TypeScript 3.5.3.
- Fixed wrong Stock Central totals for Inventories.
- Prevent returning empty prices when Multi-Price is enabled.
- Added only stockable (with price) inventories to product getters.
- Added unstockable inventories (don't exist if not regular price is set).
- CSS fixes.
- Prevent not an array warning when processing front-end orders.
- Remove inventories when a product is deleted (refactorized).
- Fixed sale prices dates' behaviour in variation products.
- CSS fixes.
- Fixed wrong calculations in orders when using non-standard decimal separators.
- Changed stock on hold formula.
- Fixed Inventory Logs showing wrong total when taxes were applied.
- Fixed date format in Inventory model.
- Prevent some payment gateWays to re-add inventory items to orders that were already processed.
- Fixed error on some cases when the "show out of stock" option is enabled.
- Fixed inventory data being displayed as unsaved when no changes were made.
- Fixed location/region removals and changes.
- Fixed cache conflict when chaging the shipping address in the checkout.
- Fixed prices being saved incorrectly when not using dots as decimal points.
- Prevent saving and showing Multi-Inventory's data within WPML translations.
- Added exclude path to TypeScript config.
- Check product compatibility before applying the multi-price logic.
- Hide Multi-Inventory fields and data for incompatible product types.
- Fixed error when duplicating a product.
- Avoid conflicts with jQuery UI's datepicker.
- Rebind the DateTimePickers when cloning an inventory.
- Fixed DateTimePicker options object.
- Fixed prices not able to set empty values for the main inventories on Stock Central.
- Fixed inventories sorting not working on variations.
- Fixed issue when saving a WPML translation that was removing the inventories data.
- Fixed casting error on WPML integration.
- Fixed cart item total for Product Bundles when Multi Price is enabled.
- Fixed wrong stock status on bundled items with Multi-Inventory enabled.
- Fixed Supplier fields that were displayed in all producs when Multi-Inventory plugin was activated.
- Fixed wrong discounts being displayed for bundled items within orders.
- Fixed order items for bundled products.
- Fixed PHP notice when adding a Composite product to the cart.
- CSS fixes.
- Fixed SQL syntax error.
- CSS recompilation.
- Performance improvement: reduced number of db queries performed in Stock Central to the half.
- Performance improvement: added new key indexes to Multi-Inventory tables.
- Added all the calculated MI columns to Stock Central.
- Moved the Multi-Inventory tables creation to the Upgrade class.
- Moved the new MI columns to the inventories table.
- Added the inventory order items when the orders are created instead of when the stock is reduced.
- Added the correct name when cloning an inventory, and open first one by default.
- Allow to calculate the proper stock when executing a non-ATUM Ajax action.
- SQL bug fix.
- Added all the calculated MI columns to Stock Central.
- Fixed blank cells showing on Sales Last Days column.
- Fixed decimal numbers issue when adding inventories to an order.
- Fixed wrong stock saved in products when WPML was active.
- WPML fix: prevent re-adding actions if they weren't added before.
- Fixed refund message not shown.
- Completed JS Refactory to TypeScript.
- Removed woocommerce_admin dependency.
- Show Set Purchase Price only in Purcahse Orders.
- Fixed Inventory Log notes were no reflecting stock inventory changes.
- Fixed duplicate status when the status changes in MI's product panel.
- Show correct message when writte off is marked/unmarked.
- Fixed inventory cloning.
- Change to correct status when clicked remove icon (write off) from an inventory.
- Fixed selling priority functionality and hide out stock threshold field when manage stock is enabled.
- Fixed min/max date in BBE date field.
- Fixed tooltip hiding in Inventory Logs.
- JS Refactory to TypeScript (work in progress).
- Fixed Inventory Logs to take correct price when a product has multi price enabled.
- Fixed WC orders to show correct price when a product hass multi price enabled.
- Fixed bookable product prices shown if Multi-Inventory is active.
- Fixed drag control in inventory list inserted twice.
- Fixed compounded stock for variable products in Stock Central.
- Fixed Stock Central's checkboxes selection behaviour.
- Fixed issue in cart total price when Inventory Iteration is "Show out of stock".
- Fixed issue getting inventories with multi-price.
- Allow to set distinct purchase prices for distinct inventories on Purchase Orders if multi-price is enabled.
- Delete all the Multi-inventory data when the option in ATUM settings is enabled.
- Purchase Order takes the first inventory's purchase price if multi-price is enabled.
- Added subscription price when MI is enabled.
- Fixed stock not being dicounted properly when WPML is active.
- Fixed some hidden select2 when they shouldn't.
- Fixed missing notice argument in orders.
- Performance improvements: reduced the number of db queries using cache.
- Avoid CSS conflicts with other plugins using Select2.
- Avoid problems with file_get_contents getting the stylesheet from the file system.
- Cache refactoring.
- Added compatibility to order refunds when using Product Levels with BOM Stock Control enabled.
- Fixed adding regular price to subscription products.
- Added compatibility between Multi-Inventory and WC Product Bundles.
- Add MI UI when a product bundle is added to a WC order.
- Improved performance using cache.
- Added WC Subscription products compatibility.
- Updated MI section title style for variations.
- Fixed get stock value returning availabe stock.
- Fixed Geo Prompt's infinite loop for logged-in users with no address fields set.
- Fixed using "wc_get_low_stock_amount" in WooCommerce versions lower than 3.5.
- Fixed cache not being removed when saving metaboxes.
- Adapted JS to the new ATUM model.
- CSS fixes.
- Fixed: Frontend product stock status doesn't change when it runs out of stock and the first inventory is the Main inventory.
- Fixed "Allow backorders" field not saved properly in Inventories.
- Fixed "can be backordered" message not shown in the frontend when it should.
- Fixed max quantity a product can be bought not set properly in the frontend.
- Moved bootstrap datetimepicker to ATUM.
- Fixed Stock Central totalizers for products with MI enabled.
- Prevent "get_order_item_subtotal" to access items from other order types.
- Fixed bug when calculating quantities in Orders.
- Update the db for inventory order items set before this fix.
- Prevent Upgrade from running several times.
- CSS fixes.
- Fixed undefined variable error.
- Fixed GeoPrompt CSS.
- Fixed inventories table creation SQL.
- Minor CSS fixes.
- Using autoprefixer when compiling SCSS to CSS.
- Text typo change.
- CSS fixes.
- Updated order type for Invenory Log items.
- Fixed stock status not updating when changing the Out of Stock Threshold.
- Fixed minimum versions checks.
- Fixed some wrong text domains.
- Fixed icons.
- CSS fixes.
- Performance improvements using cache.
- Added the max attribute to MI products' quantity input.
- Moved MI meta keys to table columns in db.
- Use Out of stock threshold as max units available for each inventory.
- Added stock status column to MI management popup in orders.
- Added unmanaged icons to order item inventories.
- Added ATUM 1.5.0 compatibility.
- Replaced image icons to ATUM icons.
- Remove region from MI management popup if not needed.
- Hide "add inventory" button when no more inventories are available to add.
- Set to 1 the minimum quantity by default when adding a product to an order when using decimals for stock.
- Fixed Regions not being saved in the right format.
- Fixed Write Off/ Un-write Off for inventories.
- Fixed PO not changing the MI stock when the status changes.
- Fixed out of stock threshold for inventories.
- Fixed product showing as "0 in stock" in front-end.
- Fixed duplicated "set purchase price" button in Purchase Orders.
- Fixed dates that cannot be removed after being set.
- Fixed stock quantities at front-end when some of the product inventories are not managing the stock.
- Added custom decimals to quantity fields.
- Prevent removing last assigned inventory to any to order line item.
- Check minimum required versions for PHP, WC and ATUM before loading.
- Hide stock quantity from inventory header for inventories with the "Manage Stock" disabled.
- Add the first available inventory item when adding Multi-Inventory products to orders.
- Fixed forum URLs.
- Fixed order line totals not being calculated properly.
- Fixed: changing stock from ATUM orders could cause deleting stock in Main Inventory.
- Fixed inventory data not being saved from Stock Central.
- Fixed: Multi-Inventory panel in ATUM order items not being deleted when deleting the associated item.
- Fixed Inventory::get_metadata to return the full array of meta when no meta_key is passed.
- Fixed Inventory manage stock field was not saved properly in not main inventories.
- Use cache to improve performance.
- Added WPML compatibility.
- Fixed limit usage for multi-price item discounts.
- Refactory: code style.
- Added multi-level inheritable products multi price support when showing prices in the frontend.
- Fixed inheritable products will show price 0 when multi price is disabled.
- Fixed discounts in multi price items.
- Fixed multi price products don't include/exclude the taxes when showing the price in the frontend.
- Fixed Multi price out of stock inventories price not included when showing the price in the frontend.
- Added a privacy page field to Geo Prompt settings when using a WC version older than 3.4.0.
- Added a privacy page field to User Destination widget settings when using a WC version older than 3.4.0.
- Do not show the form confirmation checkbox if the Privacy Text field is empty.
- Fixed compatibility with WooCommerce 3.0.0.
- The first public release of Multi-Inventory add-on. Check the add-on page for more info: https://www.stockmanagementlabs.com/addons/multi-inventory/