После физической приёмки поставки на склад Lamoda формируются отчёты, содержащие детальную информацию о расхождениях между заявленными и принятыми товарами.
Этапы приемки поставки
Приёмка товара на ответственное хранение осуществляется в 2 этапа:
| Этап | Статус поставки | Описание |
| 1. Приёмка по количеству |
Received
|
Приёмка по грузовым местам с подписанием транспортной накладной. Пересчёт товаров без проверки качества. |
| 2. Приёмка по качеству |
Closed
|
Поштучная приёмка с проверкой качества. Формируется финальный отчёт с актуализированными данными. |
Получение информации о приемке через API
GET /api/v1/shipments/fulfilment/{code}Возвращает детальную информацию о поставке, включая данные о приёмке.
Пример запроса
curl -X GET "https://api-b2b.lamoda.ru/api/v1/shipments/fulfilment/SHIP-2025-001234" \ -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Пример ответа (поставка в статусе Closed)
{
"id": 12345,
"shipmentId": "SHIP-2025-001234",
"status": "closed",
"createdAt": "2025-01-15T10:00:00+03:00",
"updatedAt": "2025-01-20T16:30:00+03:00",
"itemQuantity": 100,
"priceSum": 250000.00,
"receipt": 97,
"accepted": 95,
"surplus": 2,
"missing": 5,
"damaged": 2,
"unknownSurplus": 0,
"items": [
{
"sku": "SELLER-SKU-001",
"ean": "4600000000001",
"quantity": 50,
"receipt": 48,
"accepted": 47,
"surplus": 0,
"missing": 2,
"damaged": 1,
"datamatrixes": ["010460000000001721..."]
},
{
"sku": "SELLER-SKU-002",
"ean": "4600000000002",
"quantity": 50,
"receipt": 49,
"accepted": 48,
"surplus": 2,
"missing": 3,
"damaged": 1,
"datamatrixes": []
}
]
}
Поля отчета о приемке
Общие поля поставки
| Поле | Тип | Описание |
itemQuantity
|
integer | Заявленное общее количество товаров в поставке |
receipt
|
integer | Принято единиц при приёмке по количеству (статус Received) |
accepted
|
integer | Подтверждено единиц после проверки качества (статус Closed) |
surplus
|
integer | Излишки — товары сверх заявленного количества |
missing
|
integer | Недостача — заявленные, но не полученные товары |
damaged
|
integer | Повреждённые товары (брак) |
unknownSurplus
|
integer | Неизвестные излишки — товары без соответствия в системе |
Поля товара в поставке
| Поле | Тип | Описание |
sku
|
string | Артикул товара (supplier SKU) |
ean
|
string | Штрих-код товара |
quantity
|
integer | Заявленное количество |
receipt
|
integer | Принято на склад |
accepted
|
integer | Прошло контроль качества |
surplus
|
integer | Излишки по данному SKU |
missing
|
integer | Недостача по данному SKU |
damaged
|
integer | Повреждённые единицы |
datamatrixes
|
array | Коды маркировки (для маркированных товаров) |
Типы расхождений
Недостача (Missing)
Товары, заявленные в поставке, но не полученные физически на склад.
Причины недостачи:
- Товар не был отправлен в поставке
- Товар потерян при транспортировке
- Ошибка в количестве при упаковке
Излишки (Surplus)
Товары, полученные сверх заявленного в электронном виде количества.
Оформление излишков: Партнер в течение 7 календарных дней должен предоставить документы на излишки и создать файлы поставки в Lamoda B2B Platform. До оформления излишки недоступны для продажи и не отражаются на стоке.Брак (Damaged)
Товары, не прошедшие контроль качества. Недоступны для продажи.
| Тип брака | Описание | Действия |
| Заводской брак | Дефект производства | Возврат поставщику или утилизация |
| Транспортный брак | Повреждение при перевозке | Претензия к перевозчику |
| Брак упаковки | Нарушение товарного вида | Переупаковка (платно) или возврат |
Документы приёмки (ТОРГ-2)
При наличии расхождений формируется Акт о расхождении по форме ТОРГ-2.
Содержимое ТОРГ-2
- Недостачи — неполученные товары (заявлены, но не доставлены)
- Излишки — товары сверх заявленного количества
- Брак — повреждённые товары
Сроки оформления
| Действие | Срок |
| Передача ТОРГ-2 партнёру (ЭДО) | 30 дней после приёмки, но не позднее 5-го рабочего дня следующего месяца |
| Подписание партнёром | 5 дней после получения |
| Оформление излишков | 7 календарных дней |
Нотификации о приемке
При изменении статуса поставки отправляется нотификация fulfilmentShipmentStatusChanged:
{
"type": "fulfilmentShipmentStatusChanged",
"createdAt": "2025-01-20T16:30:00+03:00",
"data": {
"id": 12345,
"shipmentId": "SHIP-2025-001234",
"status": "closed",
"itemQuantity": 100,
"priceSum": 250000.00,
"receipt": 97,
"accepted": 95,
"surplus": 2,
"missing": 5,
"damaged": 2
}
}
Рекомендация: Настройте вебхук для получения нотификаций в реальном времени. Это позволит оперативно реагировать на расхождения.
Отчет в Личном кабинете
После закрытия поставки (статус Closed) в Личном кабинете B2B Platform доступен детальный отчёт:
- Список поставок — все созданные поставки с фильтрацией и сортировкой
- Карточка поставки — основная информация, перечень товаров, статусы, данные приёмки
- Экспорт в Excel — выгрузка с двумя вкладками:
- Вкладка 1: данные поставки (как в файле загрузки)
- Вкладка 2: данные о приёмке на складе
Получение списка поставок
GET /api/v1/shipments/fulfilmentПараметры фильтрации
| Параметр | Тип | Описание |
status
|
string | Фильтр по статусу: new, confirmed, rejected, received, closed |
createdFrom
|
datetime | Поставки, созданные после указанной даты |
createdTo
|
datetime | Поставки, созданные до указанной даты |
page
|
integer | Номер страницы |
limit
|
integer | Количество на странице |
Пример: получить все закрытые поставки
curl -X GET "https://api-b2b.lamoda.ru/api/v1/shipments/fulfilment?status=closed&limit=50" \ -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Анализ расхождений
Пример алгоритма для автоматического анализа расхождений:
def analyze_shipment_discrepancies(shipment):
"""Анализ расхождений в поставке"""
total_issues = []
for item in shipment['items']:
issues = {
'sku': item['sku'],
'expected': item['quantity'],
'received': item['receipt'],
'accepted': item['accepted']
}
# Проверка недостачи
if item['missing'] > 0:
issues['missing'] = item['missing']
issues['missing_pct'] = (item['missing'] / item['quantity']) * 100
# Проверка брака
if item['damaged'] > 0:
issues['damaged'] = item['damaged']
issues['damaged_pct'] = (item['damaged'] / item['quantity']) * 100
# Проверка излишков
if item['surplus'] > 0:
issues['surplus'] = item['surplus']
if any(k in issues for k in ['missing', 'damaged', 'surplus']):
total_issues.append(issues)
return {
'shipment_id': shipment['shipmentId'],
'status': shipment['status'],
'total_expected': shipment['itemQuantity'],
'total_received': shipment['receipt'],
'total_accepted': shipment['accepted'],
'issues': total_issues,
'has_discrepancies': len(total_issues) > 0
}
Best practices
- Мониторьте статусы — настройте алерты на переход в Received и Closed
- Анализируйте расхождения — отслеживайте паттерны (какие SKU чаще теряются/повреждаются)
- Оформляйте излишки вовремя — 7 дней на документы, иначе товар не попадёт на сток
- Сверяйте ТОРГ-2 — автоматически сравнивайте с данными API
- Храните историю — сохраняйте отчёты для аналитики и претензионной работы
См. также
Помогла эта информация?
Спасибо за отзыв