Payments are experiencing issues due to temporary restrictions in Russia. If your payment does not go through, please submit a support request.Our support team is available 24/7 — we are always here to help with hosting and server issues.We are now accepting requests for dedicated server rental and colocation services in our data center.Reminder: we recommend enabling backups for additional data protection.A new VPS/VDS lineup with NVMe storage and improved performance is now available.Maintenance work on some servers has been completed. All services are operating normally.
Yandex Delivery: calculation, pickup point selection on map, orders, and tracking

MODULE FOR 1C-BITRIX

Yandex Delivery: calculation, pickup point selection on map, orders, and tracking

Yandex Delivery: calculation, pickup point selection on map, orders, and tracking

The module integrates an online store built on the 1C-Bitrix: Site Management platform with the Yandex Delivery service. After installation, a new delivery service appears in the Delivery Services section, featuring two profiles: Courier to Door and Pickup from Pickup Point or Locker. Delivery cost and time estimates are calculated during order checkout with caching support.

Technical details

Published
11 August 2026
Updated
29 October 2026
Version
0.7.14
Installed
100–499 times
Compatible editions
Small Business, Business
Responsive design
No
Composite support
No
Compatible with Sites24
No
Developer
Yandex Delivery: calculation, pickup point selection on map, orders, and tracking

What this solution does

The module integrates an online store built on the 1C-Bitrix: Site Management platform with the Yandex Delivery service. After installation, a new delivery service appears in the Delivery Services section, featuring two profiles: Courier to Door and Pickup from Pickup Point or Locker.

Delivery cost and time estimates are calculated during order checkout with caching support. A markup can be configured as either a percentage or a fixed amount, with automatic rounding enabled.

The Yandex Maps pickup point selection widget loads points within the visible map area for any city in Russia. The interface centers on the buyer's city and supports filtering by operator, point type (pickup point or locker), availability of fitting rooms, and post-payment options. Cost and delivery time are displayed directly in the point card.

Address synchronization for collection warehouses is provided with the Yandex Delivery personal cabinet. Users can select a default warehouse and arrange self-delivery of goods to a Yandex point (drop-off).

Orders automatically generate requests when they reach a specified status. Requests can be confirmed or cancelled, and their status is tracked by a background agent with a tracking link provided within the order. Request statuses are mapped to Bitrix order statuses.

Printable forms include shipping labels and handover acts in PDF format.

Multi-item orders are supported with a cargo space editor allowing specification of weight, dimensions, and product distribution.

The module supports courier pickup requests with the ability to select a specific date and time interval.

The module optionally blocks order completion if the customer has not selected a pickup point. It requires 1C-Bitrix: Site Management editions with the Online Store module in Small Business, Business, or Enterprise versions. The system operates on PHP 8.2 or higher. A valid contract and OAuth token for Yandeks.Dostavka are required. Data exchange occurs directly between the website and the Yandeks.Dostavka API; 1C-Bitrix license keys are not transmitted. When processing delivery, customer personal data is sent to Yandeks.Dostavka LLC only to the extent necessary for delivery. The store and Yandeks.Dostavka LLC act as independent personal data operators.

When needed, General iT can implement “Yandex Delivery: calculation, pickup point selection on map, orders, and tracking”, configure the module and verify it against the current website setup.

UPDATE HISTORY

What’s new

9 releases
0.7.14 (29.10.2026)Latest update

Fixes following feedback on version 0.7.13

• The pickup point map uses the buyer's location instead of the warehouse city. For cities without coordinates in Bitrix, server-side determination via the Yandex Delivery API has been added with city and region verification based on pickup point addresses and caching. If the API is unavailable or the city is ambiguous, a fallback center determination in the map is retained.

• Fixed saving of group access permissions in new Bitrix core versions after the Save and Apply buttons.

• A non-zero markup cannot be saved with the type None: the form explicitly requires selecting a percentage or a fixed amount.

• Own warehouses are excluded from the self-pickup point selection. A check has been added for saving and previously saved settings: an invalid source is not sent for calculation, and a hint to select a real drop-off point is displayed on the warehouses page.

• When changing the checkout city, the previously selected pickup point, its address, and options are reset so the order does not remain tied to a point in the previous city. A standard cart recalculation in the same city preserves the selection.

0.7.13 (05.10.2026)

Fixed: the checkout page went blank after selecting a pickup point

• If the "Delivery address" property is bound only to courier services (the template does not output it for self-pickup, as is the case, for example, in Aspro templates), selecting a point on the map caused the entire checkout form to disappear from the screen. Now the form remains in place, and the pickup point address is written only to the address field that the template actually outputs.

• The "Delivery address" field, when self-pickup is selected, hides only its own row: adjacent fields and the checkout form no longer hide on any template.

Notifications for the module's admin page

• Notifications after actions in the module's admin section ("order created", "warehouse saved") are passed via session, not via the address bar, and are bound to their specific action: when working in multiple tabs, the message is not lost, does not appear in a neighboring tab, and is not overwritten by the next action.

• The update will automatically copy the fixed checkout script to /bitrix/js/yandekslogistika.delivery/; reinstalling the module is not required.

0.7.12 (23.09.2026)

Fixed issues identified by the Marketplace security automated check

• The pickup point selected by the buyer is now validated on the server before saving the order and before creating the request: the point must exist in Yandex Delivery and pass the store widget filters (operators, point types, fitting room, post-payment, order payment method). It is no longer possible to enter an arbitrary point ID in the order form—the buyer will see an error and select another point.

• Pickup options hidden from the buyer ("Do not show buyer options") are resolved by the server based on "default" settings, not values from the order form: enabling hidden fitting or partial pickup via POST is not allowed. The API link "partial pickup implies fitting" is accounted for: hidden fitting is not enabled via partial pickup, and if fitting is hidden and not enabled by default, partial pickup is also hidden.

• Manual packaging of cargo units from the request card is saved with a signature and verified against the order cart: it is not possible to enter box composition, weight, or dimensions via the checkout form; unsigned values are ignored, and the request is assembled based on the cart. Packaging manually defined prior to the update must be saved again in the request card.

• The pickup point map page opens only with a signed token issued by the server when the delivery tile is displayed during order checkout. The token is bound to the buyer's session: a copied token does not work in another browser. The self-pickup point selection mode (store data) is available only to staff with rights to the module.

• Price calculation by point on the map is performed only for the current buyer's cart (parameters are taken from their session, not from the request address), so it is not possible to calculate costs for arbitrary weight and total amount.

• Request rate limiting for the map and price calculation is tracked per buyer session, by IP, and in the core cache for the site, not within the session. A new setting "Daily API call limit from the Pickup Point widget" ("Connection and Cache", default 20,000) has been added: once exhausted, the widget returns only cached responses and does not consume the store's token quota.

• The update will automatically re-copy the updated checkout script to /bitrix/js/yandekslogistika.delivery/; reinstalling the module is not required.

0.7.11 (21.09.2026)

The 'Select Pickup Point' button opens a map. Previously, if a pickup profile was already selected:

• On checkout templates where the delivery method description is displayed within the tile (a list with toggles), the button only worked before the 'Pickup from Pickup Point / Locker' profile was selected. After selecting the profile, clicking the button was intercepted by the template as a re-selection of the same delivery, and the map did not open. Now, the button opens the map of pickup points in both cases.

• The update will automatically copy the corrected checkout script to /bitrix/js/yandekslogistika.delivery/; reinstalling the module is not required.

The text and styling of the 'Select Pickup Point...' call-to-action can be configured:

• In the module settings ('Checkout' → 'Text for selecting pickup point' and 'CSS style for call-to-action'), you can replace the hint displayed in the pickup tile before a point is selected, as well as its styling. Leaving fields empty retains the original text and the red bold style.

0.7.10 (09.09.2026)

In the Yandex Delivery cabinet, the store order number is now displayed.

• Previously, the "Order Number" column in the cabinet contained a module service key in the format yd-121909-226975, requiring manual matching of the request to the order. Now, the store order number is sent there—the same number seen by the buyer and printed on documents.

• In the module settings ("Business Rules" → "Order Number for Yandex Delivery"), you can choose what to send: the store order number (default), the internal order ID, or the previous service key (if you are already matching requests by that key).

• This setting applies only to new requests; the number in the cabinet for previously created requests remains unchanged.

• The service "Request Identifier" (displayed in the cabinet as "ID in Delivery") is issued by Yandex Delivery itself and cannot be replaced with the order number: tracking, labels, acts, and cancellations rely on it. Both numbers are now displayed side by side in the request card.

The "Create Request" button accurately shows the result

• Previously, after clicking, a green message "Ready. Requests created: 0; skipped: 0" always appeared—whether the request was successfully created or rejected by Yandex Delivery. A failed creation looked successful, and the reason had to be found in the requests table below on the page.

• Now, counters show the actual result, and rejections are displayed as a red error message with the error text and shipment number. If there are multiple shipments, it shows how many requests were created and exactly which ones failed.

• If an order has no Yandex Delivery shipments, the module states this explicitly instead of showing "Created: 0".

Failed requests are no longer lost silently

• The module automatically creates a request when the order transitions to the status specified in "Business Rules" → "Create request on order status". Previously, if Yandex Delivery rejected the request (e.g., buyer's phone not provided, module not configured, or temporary service error), the order status changed without creating a request, and the manager would only discover this by manually opening the request card.

• Now, each such rejection is logged in the Bitrix Event Log («Settings» → «Tools» → «Event Log»), with the event type «Yandex Delivery: order not created». The record displays the order number, status, shipment number, and the error text from Yandex Delivery.

• A separate record is also created for another silent case: the order has reached the required status, but it contains no shipments with module profiles, so no order will be created.

Orders with multiple items no longer hit the pickup point limit

• The module still declares the order as a single shipment—this keeps delivery costs lower, and for standard orders, nothing changes.

• Previously, if such a shipment did not meet the pickup point restrictions, all pickup points became unavailable for selection: an order with two boxes of 13 kg each could not be delivered, even though each box individually met the restrictions.

• Now, in this case, the module automatically recalculates the order by boxes—one per item—and offers delivery at its actual cost. The price will increase only where delivery would otherwise be impossible.

• The same logic applies when creating an order, so the order is sent to Yandex Delivery in the same box configuration used to calculate delivery for the customer.

• You can still manually specify your own packaging in the order card—it takes precedence over automatic packaging. The «Auto-distribute (1 box = entire cart)» button gathers everything into one box, as the module does by default; the new «One box per item» button distributes the order by items—for orders that do not fit within a single box's pickup point restrictions.

Free delivery is also free on the pickup point map

• The pickup point selection widget considers delivery discounts from «Cart Working Rules» (including «Free delivery from order amount»). Previously, the map showed the Yandex Delivery tariff, but after selecting a point, the cart would reset the cost to zero—the customer would see two different prices.

• When the cost is zero, the point card displays «free» instead of «0 RUB».

• Changes to the module's business rules and cart rules are applied in the widget immediately, without waiting for the price cache to expire.

Live mode by default

• Test mode ("Connection" → "Test mode") is no longer enabled by default: a new installation immediately works with the live Yandex Delivery circuit. For already installed stores, the mode does not change—the saved setting remains in effect.

An order for self-pickup from a pickup point is placed with a mandatory "Delivery Address"

• Previously, when a pickup point was selected, the "Next" button during checkout could respond with "Fill in the required field 'Delivery Address'": the self-pickup field was hidden, and the mandatory check was enabled for most stores. Now, the address of the selected point is automatically recorded in the "Delivery Address"; it is included in the order and documents. When switching to a courier, the pre-filled address is removed.

• The pickup point map opens for the buyer's city without a Yandex Maps key: the city coordinates are now correctly passed to the widget again.

USER EXPERIENCE

Solution reviews

How does this solution work in a real project? Share your experience and help others choose.

Be the first to share your experience

There are no reviews of this solution on git.ru yet. Tell us what worked well and what could be improved.

Verified purchaseAdd a key if you wish. A verified review gets a badge, priority placement and more rating weight.

Open to every clientJust sign in to your account. A key is optional; all reviews are moderated.

YOUR EXPERIENCE MATTERS

Your review

YOUR PROJECT INFRASTRUCTURE

A home for your website

BEFORE YOU ORDER

Let’s go through the details.

Is installation free?
The solution itself is free. Installation, configuration and customisation services are agreed separately. A compatible platform and an appropriate platform licence are required.
How do I check compatibility?
Compare the supported editions and solution version in the technical details with your project. Before installing on a live website, we recommend making a backup and checking the solution in a test environment.
Can you help with implementation?
We can help install the module, check its settings and verify how it works in your project. Compatibility with other customisations and the scope of work are assessed before we begin.

GENERAL iT

Let’s discuss your project

Получатель: ООО «Дженерал Ай Ти Рус»

1C-BITRIX

Install solution

Enter a domain with or without https://. The installer will open in your website control panel in a new tab.

Solution screenshots

Solution screenshot