August 5, 2025

Гайд: Собираем ИИ-Финансового директора на n8n за вечер

Хватит тонуть в Excel. Давайте научим машину считать деньги за вас, а вам — присылать результат в Telegram

Цель: Создать систему, которая:

  1. Собирает данные о доходах и расходах.
  2. Считает ежедневный/еженедельный итог.
  3. С помощью GPT-4o анализирует ситуацию и присылает понятный отчет.

Инструменты:

  • n8n: Наш мозг и руки автоматизации.
  • Google Sheets: Наша простая и надежная база данных.
  • Telegram Bot: Наш интерфейс для ввода данных и получения отчетов.
  • OpenAI API: Наш финансовый аналитик с искусственным интеллектом.

Шаг 1. Фундамент — наша база данных в Google Sheets

Не нужно сложных CRM. Начнем с простого.

  1. Создайте новую Google Таблицу. Назовите ее «Финансы Бизнеса».
  2. Создайте 5 столбцов: Date, Type, Amount, Category, Description.
    • Date: Дата операции (будем ставить автоматически).
    • Type: Тип операции. Всего два варианта: Доход или Расход.
    • Amount: Сумма. Просто число.
    • Category: Категория (e.g., Зарплата, Аренда, Клиент X, Реклама).
    • Description: Короткий комментарий для себя.

Все. Фундамент готов.


Шаг 2. Интерфейс — учим Telegram-бота принимать данные

Нам нужен способ быстро и удобно заносить каждую транзакцию. Делаем это через бота.

Workflow #1: «Запись транзакции»

Этот воркфлоу будет срабатывать, когда вы пишете боту сообщение в определенном формате.

Триггер: Telegram Trigger

  • Настройте его на прослушивание сообщений от вашего бота.

Логика: Мы будем писать боту в формате: [тип] [сумма] [категория] [описание]

  • Пример: Расход 5000 Реклама Тест в ВК
  • Пример: Доход 100000 Клиент_Ромашка Оплата по счету 123

Нода 1: IF (Проверка формата)

  • Проверяем, содержит ли сообщение слово «Доход» или «Расход». Если нет — ничего не делаем (или отправляем сообщение «Неверный формат»).

Нода 2: Code (Парсинг сообщения)

  • Эта нода — магия. Она разберет наше сообщение на части. Добавьте ноду Code и вставьте этот JavaScript-код:

Generated javascript

      const text = $input.item.json.message.text;
const parts = text.split(' ');

const type = parts[0]; // "Доход" или "Расход"
const amount = parseFloat(parts[1]); // Сумма
const category = parts[2]; // Категория
const description = parts.slice(3).join(' '); // Все остальное

// Проверяем, что сумма - это число
if (isNaN(amount)) {
  // Если не число, можно вернуть ошибку, чтобы воркфлоу остановился
  return [{ json: { error: "Сумма указана неверно." } }];
}

$input.item.json.parsedData = {
  type: type,
  amount: amount,
  category: category,
  description: description
};

return $input.item;
    

Нода 3: Google Sheets (Append or Update)

  • Подключите ваш Google-аккаунт.
  • Выберите вашу таблицу «Финансы Бизнеса».
  • В поля столбцов вставьте данные из предыдущей ноды Code:
    • Date: {{ new Date().toISOString() }} (текущая дата)
    • Type: {{ $json.parsedData.type }}
    • Amount: {{ $json.parsedData.amount }}
    • Category: {{ $json.parsedData.category }}
    • Description: {{ $json.parsedData.description }}

Нода 4: Telegram (Отправка подтверждения)

  • Отправьте себе сообщение: ✅ Запись добавлена: {{ $json.parsedData.type }} на сумму {{ $json.parsedData.amount }}.

Сохраните и активируйте этот воркфлоу. Теперь вы можете «на ходу» записывать все свои доходы и расходы прямо из Telegram.


Шаг 3. Мозг — ежедневный отчет с аналитикой от ИИ

Это сердце нашей системы. Он будет запускаться раз в день, анализировать данные и присылать отчет.

Workflow #2: «Ежедневный Финансовый Отчет»

Триггер: Cron

  • Установите расписание. Например, 0 9 * * * — каждый день в 9 утра.

Нода 1: Google Sheets (Read)

  • Выберите вашу таблицу.
  • Укажите Operation: Read. Оставьте Range пустым, чтобы прочитать весь лист.

Нода 2: Code (Подсчет и подготовка данных)

  • Здесь мы посчитаем итоги за последние 24 часа и подготовим данные для ИИ.

Generated javascript

      const items = $input.all();
const now = new Date();
const yesterday = new Date(now.getTime() - 24 * 60 * 60 * 1000);

let totalIncome = 0;
let totalExpense = 0;
let totalBalance = 0; // Считаем общий баланс для прогноза
const lastDayTransactions = [];

for (const item of items) {
  const transactionDate = new Date(item.json.Date);
  const amount = parseFloat(item.json.Amount);
  
  // Считаем общий баланс
  if (item.json.Type === 'Доход') {
    totalBalance += amount;
  } else {
    totalBalance -= amount;
  }

  // Считаем итоги за последние 24 часа
  if (transactionDate >= yesterday) {
    if (item.json.Type === 'Доход') {
      totalIncome += amount;
    } else {
      totalExpense += amount;
    }
    lastDayTransactions.push(`${item.json.Type}: ${amount} (${item.json.Category})`);
  }
}

// Прогноз кассового разрыва (упрощенный)
const expensesOver30Days = items
  .filter(item => item.json.Type === 'Расход' && new Date(item.json.Date) >= new Date(now.getTime() - 30 * 24 * 60 * 60 * 1000))
  .reduce((sum, item) => sum + parseFloat(item.json.Amount), 0);
  
const averageDailyBurn = expensesOver30Days / 30;
const daysToZero = averageDailyBurn > 0 ? Math.floor(totalBalance / averageDailyBurn) : Infinity;

// Формируем текст для OpenAI
const summaryForAI = `
Финансовые итоги за последние 24 часа:
Доходы: ${totalIncome.toFixed(2)}
Расходы: ${totalExpense.toFixed(2)}
Ключевые транзакции за сутки: ${lastDayTransactions.join(', ') || 'не было'}

Общая ситуация:
Текущий общий баланс на счетах: ${totalBalance.toFixed(2)}
Среднесуточный расход за последний месяц: ${averageDailyBurn.toFixed(2)}
Прогноз дней до кассового разрыва при текущих темпах: ${daysToZero === Infinity ? 'бесконечность (расходов нет)' : daysToZero}
`;

$input.item.json.summaryForAI = summaryForAI;

return $input.item;
    

IGNORE_WHEN_COPYING_START

content_copy

download

Use code with caution.

JavaScriptIGNORE_WHEN_COPYING_END

Нода 3: OpenAI Chat Model

  • Подключите свой OpenAI API ключ.
  • Model: gpt-4o (он быстрый и умный).
  • В поле Prompt вставьте следующий текст:

Generated code

      Ты — AI-финансовый директор для основателя малого бизнеса. Твоя задача — проанализировать сухие цифры и дать короткую, человеческую сводку. Будь краток, используй эмодзи, подсвечивай главное. Не используй канцелярит. Дай один главный совет или задай один острый вопрос на основе данных.

Вот данные для анализа:
{{ $json.summaryForAI }}

Твой ответ должен быть готов для отправки в Telegram.
    

IGNORE_WHEN_COPYING_START

content_copy

download

Use code with caution.

IGNORE_WHEN_COPYING_END

Нода 4: Telegram (Отправка отчета)

  • Отправьте себе сообщение. В поле Text вставьте результат из ноды OpenAI: {{ $last.json.choices[0].message.content }}.

Сохраните и активируйте воркфлоу. На следующее утро в 9:00 вам придет первый отчет от вашего личного ИИ-финдиректора.


Что дальше? Путь к совершенству

Это — мощная база. Вот как ее можно развить:

  1. Прямая интеграция с банками: Вместо ручного ввода через Telegram, подключите API вашего банка (у многих есть, например, Tinkoff, Monobank) через Webhook ноду в n8n. Каждая транзакция будет попадать в Google Sheets автоматически.
  2. Анализ по категориям: Добавьте в промпт для OpenAI просьбу анализировать, на какую категорию уходит больше всего денег.
  3. Умные алерты: Создайте отдельный воркфлоу, который будет срабатывать при добавлении транзакции и проверять, не является ли она аномально большой. Если да — немедленно присылать вам уведомление.

Вы только что собрали систему, за которую консалтинговые компании берут тысячи долларов. Вы заменили хаос системой.

🟢 Нужна помощь в интеграции с вашим банком или в настройке более сложной логики? Это как раз то, что мы разбираем на бесплатных консультациях.

Хватит быть рабом цифр. Пусть цифры работают на вас. Пиши → @chiefgentleman