Ліди під контролем.
Звіт — у Google Sheets.
Реєстр звернень, статуси угод і зведення для команди. Дані вводяться в одному місці, а формули показують окремо продажі, відкриті та втрачені угоди.

Одна таблиця
для щоденної роботи
Невеликій команді потрібно бачити, які звернення ще в роботі, хто за них відповідає і які канали принесли виграні угоди. Якщо статуси вводити довільним текстом, а звіт вести окремо, підсумки швидко розходяться.
У цьому прикладі реєстр і дашборд працюють разом: кожен лід має стабільний ID, статус зі словника та відповідального. Вхідні дані відокремлено від розрахунків.
Від нового звернення до підсумку
- Додати лідУ вкладці «Ліди» заповнити ID, канал, відповідального, статус, суму й дати. Для відкритого ліда вказати наступний контакт.
- Перевірити рядокКонтрольні формули позначають пропуски, дублі ID та некоректні значення. До KPI потрапляють лише валідні записи.
- Оновити статусПри переході у «Виграно» або «Програно» додати дату закриття й прибрати наступний контакт.
- Переглянути оглядФормули показують зміни у статусах, виграних сумах, каналах, відповідальних і прострочених контактах.
Угоди та дохід
мають різний зміст
Показники рахуються за явними правилами. Сума відкритих угод показує потенціал, а не вже отриманий дохід.
| Показник | Як рахується |
|---|---|
| Валідні ліди | Кількість рядків із контрольним статусом «Готово». |
| Сума виграних угод | Сума amount_uah лише для валідних лідів зі статусом «Виграно». |
| Відкритий потенціал | Сума валідних лідів зі статусами «Новий», «У роботі» та «Пропозиція». |
| Частка виграних | Виграні / усі валідні ліди. Це не частка виграних серед закритих. |
| Прострочені контакти | Валідний відкритий лід, у якого дата наступного контакту раніше дати звіту. |
Сума виграних угод у моделі не підтверджує банківські надходження чи бухгалтерський дохід. Потенціал відкритих угод не є прогнозом продажів.
CSV без повторного множення лідів
Apps Script додає меню для імпорту CSV: попередня перевірка показує нові, оновлені та незмінені записи. Перед застосуванням файл і поточний реєстр перевіряються повторно.
| Контроль | Поведінка |
|---|---|
| Стабільний ID | Новий ID додається, наявний оновлюється. Ідентичний повтор залишає запис без змін. |
| Новіша версія | Зміна наявного запису потребує новішого updated_at; created_at зберігається. |
| Помилка у пакеті | Невірна дата, статус, сума чи повтор ID скасовують увесь імпорт до запису. |
| Межі таблиці | Максимум 500 лідів. Поля A:J — введення; K:M — контрольні та розрахункові формули. |
Apps Script установлено й перевірено в нативній Google-таблиці. Контрольний імпорт збільшив реєстр до 61 ліда та суму виграних угод до 284 500 грн. Повторний запуск зберіг результат. Для публічного демо відновлено початкові 60 лідів.
Що входить у вихідний код
Code.gs, початкові 60 лідів, demo-import.csv для додавання й оновлення, Node.js-тести та інструкція. Скрипт працює лише з поточною таблицею. Під час імпорту слід утриматися від одночасних ручних змін.
Перевірено на конкретних сценаріях
25 / 25 локальних перевірок імпорту та формул пройдено.
- Імпорт додає новий запис і оновлює наявний ID.
- Повторний імпорт залишає той самий результат.
- Дублікати та застарілі оновлення зупиняють увесь пакет.
- Відкриті та закриті ліди мають узгоджені дати.
- Нульова сума відрізняється від пропущеної.
- Зміна статусу та додавання рядка перераховують формули.
Контрольний імпорт: один новий лід та одна виграна угода
У тестовому CSV лід L-0001 переходить зі статусу «Новий» у «Виграно», а L-0061 додається до реєстру. Повторний імпорт того самого файлу зберігає результат.
| Показник | Початкові дані | Після імпорту | Повторний імпорт |
|---|---|---|---|
| Валідні ліди | 60 | 61 | 61 |
| Виграні угоди | 15 | 16 | 16 |
| Сума виграних, грн | 280 000 | 284 500 | 284 500 |
| Відкритий потенціал, грн | 562 500 | 576 000 | 576 000 |
| Прострочені контакти на 12.10.2026 | 14 | 13 | 13 |
Логіку імпорту перевірено в Node.js, формули книги — у Artifact Tool. У Google Sheets звірено KPI та випадаючі списки, перевірено виключення некоректних записів із показників і двічі виконано контрольний імпорт через Apps Script. Публічна таблиця повернута до початкового стану: 60 лідів, 280 000 грн виграних угод і 14 прострочених контактів.
Переглянути логіку та спробувати
Реєстр, словники та зведення з формулами.
ZIP / КОД ТА ПРИКЛАДИСкрипт і тестовий CSVApps Script, інструкція та файли для перевірки імпорту.
Навички: структура Google Sheets, формули зведення, довідники, перевірка введення, стабільні ключі, CSV-імпорт та Apps Script. Зовнішню CRM і рекламні API до цього демо не підключено. Створено з допомогою Codex; логіку відкрито для перевірки.