What this solution does
Multi-warehouse and availability rules
Displays current product availability and readiness time to the customer, accounting for all warehouses, reservations, and the selected region. The solution for 1C-Bitrix: Site Management reads data from the "Trade Catalog" and generates a clear status: "in stock", "remaining", "on order", or "out of stock".
Thresholds for "high" and "low" stock levels can be set for the entire catalog, a specific section, a brand, or an individual product. The exact remaining quantity is displayed according to store settings with the unit of measurement, for example "12.5 kg". Rules with higher priority are applied first; if priorities are equal, the more precise rule prevails.
For each warehouse, you can configure processing priority, delivery time, and the name shown to the customer. Service warehouses can be excluded from calculations, and internal warehouse addresses can be hidden. New warehouses are not visible to the customer by default. The available balance is calculated by subtracting reservations per warehouse, provided the catalog supports the corresponding column.
Supplier warehouse balances are tracked separately: they enable orders on demand, but their addresses do not appear in the breakdown shown to the customer. If warehouse lines for a product are missing, the system uses the total quantity from the catalog without address breakdown.
The region defines available warehouses, their priority, and delivery timeframes. In strict mode, only linked warehouses are considered. The user selects a region on the site; this setting is stored in a cookie for one year, and stock availability updates dynamically without page reload. City detection via IP address is not performed.
The readiness date is calculated in the store's time zone, with support for skipping weekends and a maximum limit of one calendar year. If the store's own stock is insufficient, the timeframe is derived from the supplier warehouse fulfilling the requirement, based on rules, supplier properties, and general settings. An empty timeframe value in a rule indicates inheritance, while zero signifies no promised timeframe. If the catalog allows sales without stock, the status "on order" is displayed without a date.
Before size selection, the product card shows availability based on visible offers. After selection, the standard catalog.element block switches to the chosen offer. For non-standard templates, integration is supported via the onCatalogStoreProductChange event.
The exact quantity is displayed only when permissions are granted for all visible offers and compatible units of measure. Summed values for pairs and kilograms are not output. Items hidden from the visitor or inaccessible to them are excluded from the response.
OUT-OF-STOCK REPORT
Showcase requests record 'out of stock' and 'on order' statuses. The report distinguishes between shortages in the selected region and shortages across all considered own warehouses, aiding the decision between transferring stock or purchasing new inventory. Duplicate records are filtered out, and the recording frequency is limited. The report reflects registered demand, not the sum of lost revenue.
INTEGRATION AND COMPATIBILITY
The availability component is installed in the product card or product list, while the region selection component is placed in the site header. Stock levels and catalog data are read in batches, and responses are cached based on the region and visitor permissions.
The solution calculates a distribution plan for demand across warehouses via API but does not create shipments, transfers, or reservations. Inventory accounting continues to be managed by 'Trading Catalog'.
Requirements include PHP 8.2+, the main module 20.0.0+, and 'Trading Catalog'. Supported databases are MySQL 5.7+, MariaDB 10.3+, and PostgreSQL; for PostgreSQL, the main module 23.900.900+ is required.
For the “Multi-warehouse and availability rules” module, General iT can perform installation, configuration and a functional check in your project.