- Patryk Marek
- News
- 0 подобається
- 21 погляди
- 0 коментарі
Клієнт замовляє товар, позначений як доступний, а постачальник відповідає: «остання штука вже продана». Оновлення залишків у PrestaShop з файлу CSV допомагає переносити доступність із зовнішнього зведення до магазину. Щоб це мало сенс, потрібно визначити, що означають числа у файлі, як розпізнавати варіанти і коли дані постачальника вже враховують Ваші замовлення.
Оновлення залишків з CSV Pro для PrestaShop дає змогу імпортувати кількість наявних товарів і комбінацій, симулювати зміни, контролювати ліміти та циклічно завантажувати файли. Нижче показуємо, як організувати цей процес і уникнути помилок, які саме частіше запускання імпорту не виправить.
Повний залишок чи нова поставка? Виберіть правильний режим імпорту
«Встановити залишок» замінює поточну кількість. «Додати до залишку» збільшує її на кількість із файлу. Обидва режими доступні в модулі, але відповідають різним потребам.
| Що містить CSV? | Режим | Приклад результату |
|---|---|---|
| Актуальна кількість, призначена для продажу: 12 штук |
Встановити залишок | У магазині було 5 штук. Після імпорту буде 12. |
| Нова поставка: 12 додаткових штук |
Додати до залишку | У магазині було 5 штук. Після імпорту буде 17. |
Приклад передбачає вимкнене віднімання замовлень і відсутність блокування через ліміти. Якщо щоденний файл постачальника містить повну доступність, використання режиму додавання завищить залишок при наступних імпортах. Натомість встановлення залишку на основі лише нової поставки замінить кількість товару, який уже був у магазині.
У режимі додавання стежте, чи документ уже був оброблений. Модуль має контроль повторного використання назви файлу, але зміна назви не означає нову поставку. Якщо дозволити повторний імпорт тих самих кількостей як окремий запуск, їх можна зарахувати вдруге.
Як підготувати файл CSV для оновлення кількості?
У базовому файлі достатньо двох колонок: ідентифікатор і кількість. Приклад для артикулів товарів:
reference;quantity
MUG-001;12
BAG-002;0
TOW-003;24
У цьому файлі роздільником є крапка з комою, а перший рядок — це заголовок. У модулі виберіть артикул як ідентифікатор, призначте колонку quantity для кількості та встановіть пропуск заголовка. У режимі «встановити залишок», без віднімання замовлень, цільові кількості становитимуть відповідно 12, 0 і 24, якщо це дозволять запобіжники.
Зіставлення колонок дає змогу використати файл з іншою структурою — наприклад, з кодом у третій колонці та залишком у сьомій. Решту колонок можна пропустити. Підказку зіставлення за заголовками варто перевірити на кількох рядках перед збереженням.
Ідентифікатор має означати той самий товар у файлі та в магазині. Код постачальника не стає автоматично артикулом PrestaShop. Модуль підтримує, зокрема, артикул, EAN, а також ID товару або комбінації. Перевірте унікальність кодів і збережіть нулі на їх початку. Файл XLSX експортуйте до CSV, бажано в UTF-8. Кількості підготуйте як цілі числа: модуль відкидає дробову частину, тому 3,7 буде прочитано як 3.
PrestaShop також має стандартний імпортер CSV зі зіставленням полів. Для одноразового оновлення варто перевірити його можливості. Окремий модуль стане у пригоді насамперед тоді, коли Вам потрібні повторювані налаштування, симуляція, запобіжники, історія та автоматичне завантаження файлів.
Товар має розміри або кольори? Оновлюйте залишки комбінацій
П’ять штук товару не говорять, які саме варіанти можна продавати. Футболка може мати загалом п’ять штук, але всі в розмірі L. Внесення загального залишку не поповнить відсутні розміри S і M.
Для товарів із комбінаціями виберіть режим оновлення комбінацій та ідентифікатор конкретного варіанта, наприклад його артикул, EAN або ID комбінації. Модуль перераховує загальний залишок товару на основі залишків його комбінацій. У режимі оновлення товарів він пропускає батьківський товар, що має комбінації, і записує причину у звіті.
Перевірте також ідентифікатори, що повторюються. Якщо кілька варіантів мають спільний код, один рядок не вказує однозначно, якому з них слід призначити кількість. Опція оновлення багатьох збігів потребує свідомого використання; вона не розподіляє автоматично один пул товару між варіантами.
У постачальника є 20 штук, але три вже продано. Що імпортувати?
Фізичний залишок і кількість, доступна для продажу, можуть відрізнятися. Товар, призначений для виконання замовлення, усе ще може лежати на полиці. PrestaShop розрізняє доступну, фізичну та зарезервовану кількість, що пояснює документація з управління залишками.
Модуль може відняти від кількості з CSV товари, замовлені у вибраних статусах. Якщо файл подає 20 штук, а відповідні позиції замовлень охоплюють три, до подальших обчислень потрапить 17. У режимі «встановити залишок» це буде цільова кількість, якщо її не заблокують ліміти.
Увімкніть цю функцію лише тоді, коли файл ще не враховує ці замовлення. Якщо система постачальника вже зменшила доступність з 20 до 17, повторне віднімання трьох штук дасть 14. Це не буде правильною доступністю.
Підберіть статуси під власний процес виконання замовлень. Механізм підсумовує кількості з позицій замовлень, які зараз перебувають у вибраних статусах; це не є повним обліком резервувань в ERP. Він працює також перед додаванням кількості в режимі «додати до залишку», тому при звичайному документі нової поставки перевірте, чи таке віднімання взагалі потрібне.
Нуль, порожня комірка і відсутність товару у файлі — це три різні ситуації
- Кількість 0: у режимі «встановити залишок», при вимкненому відніманні замовлень, означає намір обнулити вказаний товар або варіант. Запис може зупинити налаштований запобіжник.
- Порожня або некоректна кількість: рядок пропускається і описується у звіті. Вона не стає автоматично нулем.
- Відсутність рядка товару: модуль не обнуляє його залишок лише тому, що товар не присутній у CSV.
Це особливо важливо, коли постачальник надсилає лише доступні товари. Позиція, яка зникла з такого файлу, може зберегти попередню кількість у магазині. Якщо Ви хочете передавати вичерпання запасу, узгодьте з постачальником експорт позицій із нулем або окремо підготуйте відсутні нульові рядки. Не припускайте, що відсутність означає вилучення: причиною може бути фільтр або неповний експорт.
Як провести імпорт залишків без вгадування результату?
- Визначте джерело і значення даних. Перевірте дату експорту, повний або частковий обсяг файлу, одиницю виміру та те, чи це кінцеві залишки, чи кількості нової поставки.
- Виберіть магазин і режим. Налаштуйте товари або комбінації, ідентифікатор та «встановити» або «додати». У multistore перевірте, чи магазини спільно використовують залишки.
- Збережіть поточні кількості. Експортуйте залишки та увімкніть запам’ятовування значень до запуску. Перед першим великим імпортом також підготуйте копію бази даних магазину.
- Налаштуйте захист. Модуль надає ліміти відсоткового зростання і падіння, блокування обнулення від вказаної кількості штук, політику від’ємних кількостей та поріг невідповідних рядків. Підберіть їх відповідно до характеру каталогу.
- Запустіть симуляцію. Порівняйте кількості до і після зміни, невідповідні коди, пропущених батьківських товарів із комбінаціями та заблоковані рядки. Симуляція не записує залишки в каталог.
- Виконайте імпорт і перевірте магазин. Перевірте звіт, кілька конкретних варіантів, товар із нульовим залишком і можливість оформлення замовлення. За умови триваючих продажів врахуйте замовлення, створені після імпорту.
Реакцією на порушення лімітів може бути пропуск рядка або зупинка запуску після попереднього аналізу. Блокування великого падіння допомагає виявити підозрілий файл, але також може зупинити правильну інформацію про вичерпання товару. Тому звіт про заблоковані позиції потребує перевірки.
Автоматичне оновлення залишків: як часто запускати CRON?
Частоту імпорту підлаштовуйте під частоту появи нових даних. Якщо постачальник генерує файл раз на день, завантаження його кожні п’ять хвилин не оновить інформацію про його склад. Значення має також час, потрібний для завершення імпорту у Вашому магазині.
Модуль завантажує CSV через HTTP/HTTPS, FTP/FTPS або SFTP, залежно від конфігурації та підтримки протоколів сервером. Профілі постачальників дають змогу зберегти налаштування наступних імпортів. Циклічну роботу запускає зовнішній CRON, який викликає адресу модуля; саме збереження джерела файлу не створює робочого розкладу.
Після налаштування перевірте останній виклик і завершення запуску в історії. Можна увімкнути підсумки електронною поштою. За наявності кількох джерел визначте, які товари оновлює кожне з них: наступне повне зведення в режимі «встановити залишок» може замінити результат попереднього.
Періодичний імпорт відображає отриманий залишок на момент оновлення. Він не резервує товар у постачальника під час покупок клієнта. При спільному складі, що обслуговує багатьох продавців, саме оновлення CSV не дає гарантії, що остання штука все ще буде доступна під час виконання замовлення.
Доступність у магазині та в Google має збігатися
Після зміни залишків перевірте дані, що надсилаються до Google Merchant Center. Google вимагає відповідності доступності в джерелі даних, на сторінці товару та під час покупки. Порівнюйте той самий варіант: доступний розмір L не підтверджує доступність розміру M.
На практиці варто генерувати фід після завершення імпорту кількостей. Оновлення залишків з CSV Pro не керує окремою інтеграцією Merchant Center. Також перевірте, чи магазин дозволяє замовляти товари без запасу — сам запис нуля не визначає всіх правил продажу.
Імпорт залишків до PrestaShop — часті запитання
Чи залишок 0 автоматично блокує додавання до кошика?
Не завжди. Вирішальними є також налаштування замовлення товарів без доступного залишку та налаштування конкретного товару. Модуль оновлює кількість; окремо перевірте поведінку магазину після її обнулення.
Чи можна відновити залишок до імпорту?
Так, якщо модуль зберіг попередні кількості для цього запуску. Функція «Відновити» повторно записує ці значення. Перед використанням порівняйте пізніші замовлення, поставки та ручні коригування: відновлення старого числа може перезаписати їхній вплив. Історія імпортера не є повним обліком складських рухів.
Чи модуль працює зі спільним залишком у multistore?
Він підтримує залишки окремого магазину та групи, що спільно використовує запас. При спільному залишку зміна впливає на доступність у цій групі. Натомість віднімання кількості із замовлень стосується вибраного магазину, тому не слід розглядати його як автоматичну суму замовлень усієї групи.
Чи імпорт запустить сповіщення та інтеграції, що реагують на зміну залишку?
Не слід цього припускати. Пакетний імпорт не викликає hook actionUpdateQuantity і не створює стандартних записів stock_mvt. Якщо інше розширення використовує ці механізми, потрібна окрема перевірка інтеграції. Модуль веде власну історію імпортів.
Оновлення залишків з CSV Pro призначене для кількостей наявних товарів і комбінацій. Воно не створює нових товарів і не оновлює їхні описи чи ціни. Про окремий процес оновлення цін читайте в статті Оновлення цін у PrestaShop з CSV. Щодо залишків почніть з одного перевіреного файлу та симуляції, і лише потім налаштовуйте регулярні імпорти.
Коментарі (0)