Ціноутворення у Trade Control Utility

Це буде велика стаття, багато тексту, багато ілюстрацій, бо сьогодні ми поговоримо про одну з найбільш складних речей - про ціноутворення

Це далеко не перше наше намагання побудувати систему ціноутворення, як простий, зручний та зрозумілий інструмент. Кожен раз, під час виходу нової Trade Control Utility нам доводилось, накопичивши серйозний досвід практичного використання, заново переосмислювати систему ціноутворення. Крок за кроком ми наближались до того, що реалізовано у TCU5. Можливо цей інструментарій ще потребує насичення додатковими функціями та допоміжними інструментами. Але основні загальні принципи побудови системи ціноутворення на даний момент ми вважаємо досить вдалими. Сподіваємось, що ми стали ще ближче до досконалого інструменту для наших користувачів.
Отже, розпочинаємо...
Ціноутворення - штука проста. Беремо закупівельну ціну, тобто ціну, за якою придбали товар у постачальника, збільшуємо на певний відсоток, і маємо ціну продажу.
І тут постають питання. А який відсоток націнки повинен бути? Ми не можемо покласти ціну, нижчу за певний відсоток, бо не зможемо забезпечити необхідну прибутковість. А вона нам конче потрібна для збереження життєдіяльності компанії . Хочеться, щоб відсоток був побільше. Але згори тиснуть споживацький попит та конкуренція. Занадто дорогий товар ніхто не купуватиме.
Отже маємо певні "ножиці", які тиснуть на нас знизу (необхідний прибуток), і тиснуть на нас згори (споживацький попит).
І товарів різних у нас десятки тисяч. І для кожного товару відсоток націнки може бути різним. Бо собівартість різна. І попит у різний час на той самий товар буває різним.
Як із цим шаленим масивом інформації впоратись? Потрібна якась автоматизація, але така, щоб і проста, і прозора, і зрозуміла, і зручна. Для цього потрібно зменшити обсяг даних для керування. Це можна зробити лише одним шляхом - іти від загального до окремого. Щось близьке до розподілу Парето. Виділяємо певну більшість товару із спільним відсотком націнки і встановлюємо цей відсоток. Потім із меншості знову виділяємо певну більшість - і знову встановлюємо загальний відсоток, і так далі. Але треба створити зручні інструменти для роботи по керуванню такими більшостями. Принципи для створення таких інструментів давно відомі, і широко використовуються, наприклад, у програмуванні.

Основна ідея - наслідування та перевизначення

Ми вже маємо довідник товарів, огранізований у певну ієрархію завдяки групам товарів. І часто буває так (не завжди, але досить часто), що товари однієї групи мають однаковий відстоток націнки. Це логічно. Йогурт однієї марки, але з різним наповнювачем має однакову закупівельну ціну, і буде мати однакову ціну роздрібну. Тому можна зберігати відсоток націнки в конкретній групі товару, та розповсюджувати її на підлеглі товари. І товари будуть наслідувати відсоток націнки зі своєї групи. Тепер нам достатньо змінити відсоток націнки у групі, і всі товари будуть використовувати цей новий відсоток націнки.
Сама група теж може бути підгрупою для іншої, верхньої групи, і наслідувати відсоток націнки з верхньої групи. В свою чергу, в налаштуваннях компанії ми можемо встановити єдиний відсоток націнки, який буде наслідуватись групами і товарами у цих групах. На будь якому рівні цей відсоток може бути перевизначений.

Подивимось, як це працює на практиці

В головному вікні TCU5 оберемо вкладинку "Файл" і в меню "Налаштування" оберемо "Параметри підприємства". Оберемо розділ "Прайс-лист". Назви колонок прайс-листа
Перша колонка прайс-листа, це завжди роздрібна ціна, і вона, як правило, найбільша. Інші ціни прайс-листа будуть мати певну знижку відносно роздрібної ціни. Ми можемо назвати їх за власним бажанням.
Перейдемо до розділу "Ціноутворення".
Ціноутворення
Спершу встановимо типовий відсоток націнки на закупівельну ціну, який, зазвичай, притаманний для більшості товарів. Наприклад, я поклав 30%. Далі оберемо, як роздрібна ціна буде закруглюватись під час збільшення закупівельної ціни на обраний відсоток націнки. Я обрав закруглення до копійок. Доступні різні варіанти закруглення, і ми, можливо, будемо ці варіанти поповнювати.
З націнкою з'ясували. Переходимо до налаштування знижок у колонках прайсу. Як ми казали раніше, ціни у колонках прайсу мають знижуватись відносно роздрібної ціни. Все досить просто. Для кожної колонки прайсу маємо два параметри - відсоток знижки відносно роздрібної ціни, та принцип закруглення. Прайс-лист може вміщувати до 15 колонок, але зараз для простоти ми працюємо із п'ятьма (чого, зазвичай, цілком достатньо). Тиснемо OK.
У головному вікні TCU5 переходимо до довідника товарів, зліва в нас дерево груп товарів, стаємо на корінь, тобто назву компанії, та за правою кнопкою миши у контекстному меню обираємо пункт "Нова група товарів".
Створення нової групи товарів
Відкриється редактор групи товарів, пропишемо назву групи.
Редактор групи товарів
Звертаємо увагу на розділ "Націнка", та бачимо цікавий прапорець - "Наслідувати націнку з верхньої групи". В даному випадку група коренева, тому ми наслідуємо націнку із налаштувань системи. Поля "Відсоток націнки" та "Закруглення" до редагування не доступні, вони жорстко прив'язані до системних налаштувань.
Це саме стосується і налаштувань прайс-листа. Він повністю наслідується із налаштувань системи.
Створимо для групи "Бакалія" підгруппу. Для цього у головному вікні TCU5 станемо не на кореневу групу, а на нашу групу "Бакалія" і за правою кнопкою тиснемо "Нова група товарів".
Підгрупа товарів
Бачимо, що наша нова підгрупа "Крупи" входить до групи "Бакалія" і так само наслідує націнку та параметри прайс-листа, але вже не з налаштувань системи, а з групи "Бакалія".
Створимо новий товар у групі "Крупи". Для цього можна скористуватись командною "Новий товар" на вкладинці "Створити" у редакторі групи товару.
Новий товар
Новий товар також наслідує націнку та налаштування колонок прайсу від групи, у якій цей товар було створено.
Розглянемо, як цим керувати. Дуже просто. Якщо хочемо змінити відсоток націнки, просто йдем у "Параметри підприємства", і в розділі "Ціноутворення" змінюємо відсоток націнки з 30%, наприклад, до 40%. Всі групи товарів, і всі товари у цих групах по ланцюгу, згори донизу змінять свій відсоток націнки з 30 до 40%. Те саме стосується і знижок у колонках прайсу. І відбудеться це для тих груп і товарів, у яких встановлені прапорці наслідування. Це важливий момент, обов'язково зверніть на це увагу.
Ми можемо у групі товару відірвати наслідування, знявши відповідні прапорці, та визначити параметри націнки та знижок у прайс-листі для цієї групи окремо. Відбудеться вже не наслідування, а перевизначення параметрів. Але підгрупи цієї групи, якщо в них включено режим наслідування будуть наслідувати параметри вже від цієї групи. І зміна, наприклад, відсотку націнки в налаштуваннях підприємства ніяк не вплине на відсоток націнки групи, в цей відсоток націнки перевизначено. В такій групі відсоток націнки стає абсолютно самостійною величиною. Те саме стосується і карток товарів.
Таким чином ми досягли своєї мети. Переважна більшість груп і товарів отримує параметри націнки з єдиного місця - з налаштувань підприємства. Певна частина груп товарів може мати власні параметри націнки.
Як утворювати наслідування параметрів і для яких груп товарів робити перевизначення параметрів - вирішує лише товарознавець. Ми розглянули дуже простий приклад, щоб зрозуміти як працює наслідування та перевизначення. Можливо у вас буде декілька типових відсотків націнки, тому їх треба перевизначити у кореневих групах, а від них ці націнки вже наслідують підгрупи. Важливо слідувати простому принципу - від загального до окремого.

Встановлення цін

До цього моменту ми розглядали принципи організації довідників, але без конкретних товарних залишків на конкретних торгових точках із конкретними цінами. Побачимо, як працює ціноутворення в дії.
Створимо прибуткову накладну, встановимо постачальника та додамо товари.
Прибуткова накладна
Наші товари наслідують відсоток націнки 30% з налаштувань підприємства через групи товарів. Тому, встановивши закупівельну ціну, ми одразу отримуємо роздрібну ціну у прибутковій накладній, за якою цей товар буде продаватись на цій торговій точці. Якщо нам потрібно, ми можемо ввести роздрібну ціну вручну. І відсоток націнки в накладній буде змінено, але він ніяк не вплине на картку товару в довіднику. Відсоток націнки в довіднику несе рекомендаційний характер і не є жорсткою вказівкою (можливо знадобиться режим, щоб оператор не міг змінювати роздрібну ціну у накладній, в подальшому це стане ясно, тоді ми такий режим реалізуємо). Наприклад, ми хочемо, щоб другий товар продавався не по 14,3 грн., а по 15 грн. Тому вручну змінюємо роздрібну ціну, і спостерігаємо, як зміниться відсоток націнки.
Прибуткова накладна
Проведемо накладну і в розділі складських запасів на нашій торговій точці бачимо, які ціни мають оприбутковані товари.
Складські запаси
Як бачимо, система автоматично розрахувала ціни у колонках прайс-листа згідно із відсотком знижки та правилом закруглення відносно роздрібної ціни. Важливим моментом є те, що на другу торгову точку ми такий самий товар можемо оприбуткувати з іншою роздрібною ціною і всі інші ціни у колонках прайсу також будуть іншими. Таким чином, для кожної торгової точки прайс-лист буде індивідуальним.
Що буде, якщо закупівельна ціну у наступній закупці буде іншою? Спробуємо прийняти ті самі товари, але вже з іншою закупівельною ціною.
Розкриємо випадаючий перелік в полі "Закупівельна ціна" і спостерігаємо історію закупівельних цін для цього товару. Прибуткова накладна. Історія закупівельних цін.
Покладемо закупівельну ціну не 10, а, наприклад, 12 грн.
Прибуткова накладна. Нова закупівельна ціна.
Бачимо, що роздрібна ціна також змінилась і стара рівною 15,60 грн., при тому, що зараз актуальна роздрібна ціна дорівнює 13 грн. Що відбудеться із цінами після оприбуткування цього самого товару із новою роздрібною ціною? Проведемо накладну.
Прибуткова накладна. Після проведення.
Ми бачимо, що TCU5 в процесі проведення утворила новий документ пов'язаної переоцінки (розділ "Пов'язані документи" в нижній частині редактора накладної. Відкриємо цю переоцінку за подвійним кліком миши.
Акт пов'язаної переоцінки
Алгоритм прибуткування наступний.
1. TCU бере товар із прибуткової накладної і шукає відповідний складський запис на нашій торговій точці. Якщо не знаходить - просто створює його. Якщо знаходить, порівнює роздрібну ціну складського запису із роздрібною ціною, вказаною в прибутковій накладній.
2. Якщо ціни співпадають, система просто збільшує кількість у скалдському записі на кількість із прибуткової накладної. Якщо роздрібні ціни відрізняються, то ціна складського запису прирівнюється до ціни у прибутковій накладній за допомогою акту пов'язаної переоцінки. І переоцінюється саме кількість на складі, я не кількість у накладній.
Переоцінились товари, які вже знаходились на нашій торговій точці до нової роздрібної ціни.
Реєстр товарів
Якщо ми знову повернемося до розділу складських запасів у головному вікні програми, то ми побачимо, що кількість на складі збільшилась, а роздрібна ціна на весь залишок тепер дорівнює новій роздрібній ціні з прибуткової накладної.
Звернемо також увагу на колонки прайс-листа, їх теж було перераховано відносно нової роздрібної ціни.

Закріпимо деякі моменти

1. Націнку на закупівельну ціну та знижки прайс-листа можна наслідувати в групах товарів і в самих товарах. На будь якому рівні ієрархію наслідування може бути перервано і параметри перевизначено.
2. Щоб система наслідування була ефективною, важливо правильно розподілити ієрархію груп товарів. З досвіду ієрархія повинна вміщувати хоча б три рівні.
3. Роздрібні ціни на товар розраховуються під час введення прибуткової накладної на підставі націнки з картки товару, яка в свою чергу може наслідуватись із групи товару. Роздрібну ціну на товар можна перевизначити прямо в накладній.
4. Якщо на складі вже зберігається подібний товар, його роздрібна ціна буде автоматично приведена до роздрібної ціни з нової прибуткової накладної. Для цього автоматично створюється акт переоцінки під час проведення прибуткової накладної.
5. Ціни в колонках прайс-листа будуть автоматично перераховані згідно з системою знижок з картки товару. Система знижок у колонках прайс-листа в картці товару може наслідуватись із групи товару.
6. На кожну торгову точку той самий товар може бути оприбуткований з іншою роздрібною ціною. Таким чином і прайс-лист на кожній торговій точці буде різним.
7. Якщо потрібно змінити роздрібну ціну для певного товару на певній торговій точці, ми створюємо новий акт переоцінки, додаємо потрібні товари, встановлюємо нові роздрібні ціни і затверджуємо акт переоцінки. Після цього роздрібну ціну буде змінено. Автоматично зміняться і ціни у колонках прайс-листа.
Алгоритм ціноутворення у Trade Control Utility
В наступних статтях ми поговоримо про використання знижок. Відсоткові знижки, знижки на базі колонок прайс-листа, прив'язка покупця до певної колонки прайсу - це тема наступної статті, яка вийде найближчим часом.
Дякую всім за увагу.


Senior Developer
01 березня 2020
An error has occurred. This application may no longer respond until reloaded. An unhandled exception has occurred. See browser dev tools for details.