CRM в Google Sheets для малого бизнеса
Кейс

CRM в Google Sheets для малого бизнеса

Малый бизнес часто не готов платить 2000-5000 рублей в месяц за CRM. Рассказываем, как построить рабочую систему в Google Таблице с автоматизацией через Apps Script.

Клиент

Небольшая компания по продаже строительных материалов:

  • 5 менеджеров по продажам
  • 50-100 сделок в месяц
  • Без выделенного IT-специалиста

Задача

Заменить Excel-таблицы на систему с:

  • Единой базой клиентов
  • Воронкой продаж
  • Напоминаниями о звонках
  • Простой отчётностью

Решение

Структура таблицы

Лист “Клиенты”

IDНазваниеКонтактТелефонEmailСтатус
1ООО “Строй”Иван+7900…ivan@…Активный

Лист “Сделки”

IDКлиентСуммаСтадияМенеджерДатаСледующий шаг
1ООО “Строй”150000ПереговорыПетров01.02Звонок 05.02

Лист “Задачи”

ДатаЗадачаКлиентМенеджерВыполнено
05.02ЗвонокООО “Строй”Петров

Автоматизация

1. Уникальный ID клиента

function generateClientId() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet()
    .getSheetByName('Клиенты');

  const range = sheet.getRange('A2:A');
  const ids = range.getValues().flat().filter(id => id);

  const newId = ids.length > 0 ? Math.max(...ids) + 1 : 1;

  const activeRow = sheet.getActiveCell().getRow();
  sheet.getRange(activeRow, 1).setValue(newId);
}

2. Напоминания в Telegram

function sendDailyReminders() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet()
    .getSheetByName('Задачи');

  const today = new Date().toDateString();
  const data = sheet.getDataRange().getValues();

  const tasks = data.filter((row, i) => {
    const taskDate = new Date(row[0]).toDateString();
    return taskDate === today && !row[4];
  });

  if (tasks.length > 0) {
    const message = tasks.map(t => `• ${t[1]} (${t[2]})`).join('\n');
    sendTelegramMessage(`📋 Задачи на сегодня:\n\n${message}`);
  }
}

3. Еженедельный отчёт

function weeklyReport() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet()
    .getSheetByName('Сделки');

  const data = sheet.getDataRange().getValues();
  const thisWeek = getWeekNumber(new Date());

  const deals = data.filter(row => {
    const dealWeek = getWeekNumber(new Date(row[5]));
    return dealWeek === thisWeek;
  });

  const total = deals.reduce((sum, row) => sum + row[2], 0);
  const byManager = groupBy(deals, 4);

  const report = `
📊 Отчёт за неделю #${thisWeek}

💰 Всего сделок: ${deals.length}
💵 Общая сумма: ${formatCurrency(total)}

По менеджерам:
${Object.entries(byManager).map(([manager, deals]) =>
  `• ${manager}: ${deals.length} сделок`
).join('\n')}
  `;

  sendTelegramMessage(report);
}

Результаты после 3 месяцев

МетрикаДоПосле
Время на отчёты4 часа/нед30 мин/нед
Потерянные контакты10%/мес0%
Просроченные задачи20%3%
Стоимость0 ₽0 ₽

Ограничения

Не подходит если:

  • Больше 10 менеджеров
  • Сложная воронка продаж
  • Нужна интеграция с телефонией
  • Требуется мобильное приложение

В этих случаях рекомендуем AmoCRM или Bitrix24.

Но даже если начали с таблицы — это нормальный путь. Многие наши клиенты стартовали с CRM в Google Sheets, а потом масштабировали процессы. Если хотите понять, какие задачи в вашем бизнесе стоит автоматизировать в первую очередь — пройдите квиз за 2 минуты. А чтобы увидеть, как автоматизация окупается на реальных примерах — читайте наш разбор.

Читайте также

Нужна помощь?

Разработаем CRM под ваши процессы. Напишите в Telegram.

Не хотите разбираться сами?

Если читали статью и поняли, что руками уже не справляетесь — напишите. Оценим задачу бесплатно и предложим решение.

КМ
Константин
Менеджер проектов · ответит в течение часа

Как автоматизация окупается → Чеклист: 7 процессов для автоматизации →

140+ реализованных проектов
Google Products Expert в команде

Хотите такой же результат?

Расскажите о задаче — предложим решение и покажем релевантные кейсы.

Написать в Telegram

Подписывайтесь — делимся скриптами, кейсами и лайфхаками