Гайд: Собираем ИИ-Финансового директора на n8n за вечер
Хватит тонуть в Excel. Давайте научим машину считать деньги за вас, а вам — присылать результат в Telegram
Цель: Создать систему, которая:
- Собирает данные о доходах и расходах.
- Считает ежедневный/еженедельный итог.
- С помощью GPT-4o анализирует ситуацию и присылает понятный отчет.
- n8n: Наш мозг и руки автоматизации.
- Google Sheets: Наша простая и надежная база данных.
- Telegram Bot: Наш интерфейс для ввода данных и получения отчетов.
- OpenAI API: Наш финансовый аналитик с искусственным интеллектом.
Шаг 1. Фундамент — наша база данных в Google Sheets
Не нужно сложных CRM. Начнем с простого.
- Создайте новую Google Таблицу. Назовите ее «Финансы Бизнеса».
- Создайте 5 столбцов: Date, Type, Amount, Category, Description.
Шаг 2. Интерфейс — учим Telegram-бота принимать данные
Нам нужен способ быстро и удобно заносить каждую транзакцию. Делаем это через бота.
Workflow #1: «Запись транзакции»
Этот воркфлоу будет срабатывать, когда вы пишете боту сообщение в определенном формате.
Логика: Мы будем писать боту в формате: [тип] [сумма] [категория] [описание]
- Проверяем, содержит ли сообщение слово «Доход» или «Расход». Если нет — ничего не делаем (или отправляем сообщение «Неверный формат»).
Нода 2: Code (Парсинг сообщения)
- Эта нода — магия. Она разберет наше сообщение на части. Добавьте ноду Code и вставьте этот 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:
Нода 4: Telegram (Отправка подтверждения)
- Отправьте себе сообщение: ✅ Запись добавлена: {{ $json.parsedData.type }} на сумму {{ $json.parsedData.amount }}.
Сохраните и активируйте этот воркфлоу. Теперь вы можете «на ходу» записывать все свои доходы и расходы прямо из Telegram.
Шаг 3. Мозг — ежедневный отчет с аналитикой от ИИ
Это сердце нашей системы. Он будет запускаться раз в день, анализировать данные и присылать отчет.
Workflow #2: «Ежедневный Финансовый Отчет»
Нода 2: Code (Подсчет и подготовка данных)
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;
Use code with caution.
JavaScriptIGNORE_WHEN_COPYING_END
- Подключите свой OpenAI API ключ.
- Model: gpt-4o (он быстрый и умный).
- В поле Prompt вставьте следующий текст:
Ты — AI-финансовый директор для основателя малого бизнеса. Твоя задача — проанализировать сухие цифры и дать короткую, человеческую сводку. Будь краток, используй эмодзи, подсвечивай главное. Не используй канцелярит. Дай один главный совет или задай один острый вопрос на основе данных.
Вот данные для анализа:
{{ $json.summaryForAI }}
Твой ответ должен быть готов для отправки в Telegram.
Use code with caution.
Нода 4: Telegram (Отправка отчета)
- Отправьте себе сообщение. В поле Text вставьте результат из ноды OpenAI: {{ $last.json.choices[0].message.content }}.
Сохраните и активируйте воркфлоу. На следующее утро в 9:00 вам придет первый отчет от вашего личного ИИ-финдиректора.
Что дальше? Путь к совершенству
Это — мощная база. Вот как ее можно развить:
- Прямая интеграция с банками: Вместо ручного ввода через Telegram, подключите API вашего банка (у многих есть, например, Tinkoff, Monobank) через Webhook ноду в n8n. Каждая транзакция будет попадать в Google Sheets автоматически.
- Анализ по категориям: Добавьте в промпт для OpenAI просьбу анализировать, на какую категорию уходит больше всего денег.
- Умные алерты: Создайте отдельный воркфлоу, который будет срабатывать при добавлении транзакции и проверять, не является ли она аномально большой. Если да — немедленно присылать вам уведомление.
Вы только что собрали систему, за которую консалтинговые компании берут тысячи долларов. Вы заменили хаос системой.
🟢 Нужна помощь в интеграции с вашим банком или в настройке более сложной логики? Это как раз то, что мы разбираем на бесплатных консультациях.
Хватит быть рабом цифр. Пусть цифры работают на вас. Пиши → @chiefgentleman