Imagine this situation: a customer in an offline store comes to the checkout with the last sneaker size, and a few minutes earlier the same item was ordered on your website, Prom.ua, or Rozetka. If the system does not block the offline sale, you will sell the same item to two different people, which will inevitably lead to the cancellation of the online order, a negative review, a drop in marketplace rating, and loss of customer loyalty.
To solve this problem, Torgsoft provides an automatic reserve mode for online orders. Entrepreneurs most often ask how to configure this mode to avoid double sales, why the price in an order sometimes differs from the price in the program, where the reserve end date comes from, and why, after canceling an order, goods sometimes need to be removed from reserve manually.
Below is detailed information on how automatic reserve for online orders works, how prices are fixed, and how to minimize risks in omnichannel trade.

How the automatic reservation mechanism works
The main purpose of synchronizing Torgsoft with online stores and marketplaces is to create a single center for stock management.

Orders placed by customers on the website are automatically loaded into Torgsoft in the «Remote customer order» mode or are immediately transformed into an invoice (the «Trade with invoice issue» mode).
As soon as the order enters the program, Torgsoft immediately reserves the goods in the warehouse so they cannot be sold in the offline store or added to another order. Physically, the goods can be moved to a special «temporary storage warehouse (under deposit)» or nominally blocked in the main warehouse. The cashier in the offline store simply will not be able to add this item to a sale, because the program will show a warning about insufficient stock in the warehouse.
Reserve date: how long the goods will wait for the customer
The period during which goods are considered reserved for the customer is a critically important setting. Torgsoft allows flexible control of the reserve date. In the «Synchronization object» settings (on the «Accounting centers» tab), there is a «Reserve invoice goods» parameter.
-
If the online store sends a specific reserve date in the order file, for example, the parameter ReserveDate=28082026, the goods will be automatically reserved exactly until that date.
-
If the marketplace or website does not send the reserve date in the file, reservation will be made for the number of days that you specified yourself in the Torgsoft synchronization object settings.
If the order is not purchased or confirmed after the specified period expires, the reserve can be removed. However, it is important to control order cancellations: with some statuses or cancellation errors, the goods may not return to stock automatically, and the seller will have to remove them from reserve manually.
Price fixing: differences between the website and the offline store
Entrepreneurs often run online promotions that do not apply in the physical retail store. Torgsoft has a clear mechanism for fixing prices in online orders. On the «General» tab in the synchronization object, there is a setting «Take prices for invoice goods from: Torgsoft or Online store».
-
If you choose «Online store». Torgsoft will fix the price at which the customer placed the order on the website, even if the price in the Torgsoft database is higher. In the generated invoice, the program will automatically calculate the difference and show it as a discount. For example, if an item costs 1000 UAH in the offline store, and an order for 800 UAH comes from the website, the invoice will show the price of 800 UAH with a 20% discount.
-
Rozetka specifics. One of the strict requirements of the ROZETKA marketplace is strict price fixing for goods in the order. The seller cannot change the price in an already created order, so for such synchronization objects, prices are always formed exclusively based on information from the online store.
Risk of double sale: why it occurs and how to avoid it

Although automatic reserve protects the business, the risk of double sale does not disappear completely due to technical delays or incorrect settings. Here are the main causes and ways to prevent them:
1. Synchronization delay (timeouts)
Synchronization usually runs on a schedule, for example, every 10-15 minutes. During this interval, the same item can be purchased both on the website and at the checkout.
-
Solution: for online stores created using the additional Torgsoft Online Market (TOM) option, real-time order receipt via WebSocket is available. Orders are loaded instantly. If the internet connection is lost, the order is automatically redirected to the FTP server and will be loaded in the traditional scheduled way, which guarantees that it will be saved.
2. Duplicate synchronization sessions
Previously, issues occurred when two copies of Torgsoft under the same user simultaneously started scheduled synchronization, which led to duplicate order loading and double reservation.
-
Solution: the developers added a mechanism that blocks the launch of scheduled synchronization if this process is already running in another copy of Torgsoft.
3. Sale «into negative stock»
If selling into negative stock is allowed in the program, the cashier will be able to sell even an item that has already been reserved for an online order.
-
Solution: be sure to activate the «Prohibit sale into negative stock» setting (Settings - Parameters - Accounting). Then, when trying to add a reserved or unavailable item to the receipt, the program will either prohibit this action or display a warning about insufficient quantity.
4. Incorrect order cancellation
If the customer refuses the order, the operator must cancel it correctly in the program. For example, for orders from Prom.ua or Rozetka, there is a «Cancel order» action on the «Remote customer order» form. Thanks to this, the status is automatically sent to the marketplace, and the goods are removed from reserve. If you simply delete the invoice or order in Torgsoft, the system may treat this order on the website as "new" during the next synchronization and load it into the program again, creating a repeated reserve.









Go back to the previous step