سفارش در یک شیت است، فاکتور در ایمیل دستی، و یادآوری پرداخت در حافظهٔ یک نفر. اتوماسیون مالی با n8n یعنی همین سه کارِ تکراری هر بار با یک قاعده انجام شود: ردیف سفارش ساخته شود، ایمیل فاکتور برود، و اگر موعد گذشت و وضعیت هنوز «پرداختنشده» بود یادآوری فرستاده شود. اکسل را دور نمیریزید. کپی دستی بین شیت و ایمیل را برمیدارید.
در n8n به این مسیر «ورکفلو» و به هر قطعه «نود» میگوییم. این راهنما نصب سرور نیست. اگر فروشگاه یا درگاه شما وبهوک یا API دارد، n8n همان رویداد را میگیرد. اگر ندارد، شیت همان منبع قابل اعتماد است و لازم نیست برای شروع به نرمافزار حسابداری وصل شوید.
۱. اتوماسیون مالی با n8n را از یک فاکتور ایمیلی شروع کنید

ستونهای شیت را قبل از نودها ثابت کنید. ردیف اول عنوان است و در محاسبه نمیآید.
| ستون | نمونه | کاربرد |
|---|---|---|
| سفارش | ۱۰۴۲ | همان شمارهای که در موضوع ایمیل میآید |
| مشتری | مریم احمدی | نام، نه رمز یا شماره کارت |
| ایمیل | mariam@example.com | گیرندهٔ فاکتور و یادآوری |
| مبلغ | 1850000 | عدد، بدون واحد داخل خودِ سلول |
| موعد | 2026-11-15 | متن yyyy-MM-dd |
| وضعیت | پرداختنشده | فقط همین مقدار باید یادآوری بگیرد |
مسیر فاکتور این است. اگر فروشگاه وبهوک دارد، نود اول Webhook است و یک نود Google Sheets ردیف را با عملیات Append مینویسد. اگر وبهوک ندارید، نود اول میتواند فرم n8n یا همان شیت باشد. بعد نود ایمیل موضوع را با شمارهٔ سفارش میسازد و در بدنه نام، مبلغ و موعد را میگذارد. فایل PDF نسازید مگر سرویس جدا برای ساخت PDF داشته باشید. ایمیل HTML برای فاکتور ساده کافی و قابل پیگیری است.
شماره کارت و رمز درگاه را در شیت و در متن ایمیل ننویسید. اگر درگاه رسید پرداخت میفرستد، فقط وضعیت و شناسهٔ پرداخت را ذخیره کنید.
۲. یادآوری را به موعد و وضعیت گره بزنید
ورکفلو دوم را برای یادآوری بسازید، نه اینکه به مسیر فاکتور بچسبانید. خراب شدن یادآوری نباید ساخت فاکتور را متوقف کند. نود اول Schedule Trigger است. منطقهٔ زمانی ورکفلو را در منوی Workflow و سپس Settings روی Asia/Tehran بگذارید. نوع تکرار را Days، فاصله را ۱، ساعت را ۹ و دقیقه را ۰ بگذارید. این یعنی هر روز ساعت ۹ به وقت تهران، نه به وقت پیشفرض سرور.
بعد Google Sheets را با Get Row(s) بگذارید و When Filter Has Multiple Matches را روی Return All Matches. اگر این گزینه روی اولین ردیف بماند، هر روز فقط یک مشتری یادآوری میگیرد و بقیه بیخبر میمانند. سپس IF با دو شرط AND:
- موعد، از نوع Date & Time، با عمل is before or equal to نسبت به
{{ $now }}. - وضعیت دقیقاً برابر
پرداختنشده.
شاخهٔ درست ایمیل یادآوری را میفرستد: شمارهٔ سفارش، مبلغ و اینکه موعد گذشته است. شاخهٔ نادرست ایمیلی ندارد. اگر وضعیت را «پرداخت نشده» با فاصلهٔ اضافه بنویسید، شرط هیچوقت درست نمیشود.
۳. گزارش را از همین ستونها بسازید، نه از فایل جدا

برای جمع مبلغِ پرداختشده در هفت روز گذشته، ورکفلو سوم لازم نیست پیچیده باشد. همان شیت را با فیلتر تاریخ بخوانید و با نود Summarize جمع بزنید. جمعِ کلِ تاریخچه، فروش این هفته نیست. تاریخ را هنگام خواندن محدود کنید. اگر ستون موعد به شکل روز/ماه محلی باشد، مقایسه غلط میشود. شکل امن همان yyyy-MM-dd است.
خروجی را ایمیل کوتاه کنید: شروع بازه، پایان بازه، جمع پرداختشده و تعداد ردیف پرداختنشده. PDF و اکسل را وقتی اضافه کنید که گیرنده واقعاً فایل میخواهد. برای دیدن عدد هفته، جدول داخل ایمیل کافی است.
۴. سه ردیف آزمایشی، سه نتیجهٔ جدا
یک ردیف با وضعیت پرداختشده نباید یادآوری بگیرد. یک ردیف پرداختنشده با موعد دیروز باید یادآوری بگیرد. یک ردیف پرداختنشده با موعد ماه بعد نباید یادآوری بگیرد. اگر هر سه ایمیل رفتند، شرط وضعیت یا تاریخ باز است. اگر هیچکدام نرفت، یا ورکفلو منتشر نشده یا خواندن شیت فقط ردیف اول را برگردانده و همان ردیف هم شرط را رد کرده است.
هر دو ورکفلو را جدا ذخیره و منتشر کنید. دکمه در نسخههای جدید Publish است و در نسخههای قدیمیتر Active. اجرای دستی فقط ساخت را نشان میدهد. یادآوری ساعت ۹، بعد از انتشار و فقط وقتی n8n روشن باشد انجام میشود. محیط اختصاصی کیاران همین روشنماندن را از لپتاپ جدا میکند. جزئیات سرویس در صفحهٔ n8n است.
جمعبندی
فاکتور را ایمیل HTML کنید و ردیفش را در شیت بنویسید. یادآوری را ورکفلو جدا کنید: هر روز ساعت ۹، فقط ردیفِ پرداختنشده که موعدش گذشته. جمع هفته را از همان ستون مبلغ بگیرید، نه از یک فایل اکسل که کسی دستی ساخته است.
پرسشهای متداول
آیا n8n جای نرمافزار حسابداری را میگیرد؟
نه. n8n کار تکراری بین ابزارها را انجام میدهد. دفتر رسمی، اظهارنامه و سند حسابداری همچنان در نرمافزار حسابداری میماند. اگر آن نرمافزار API دارد، میشود رویداد را از آنجا گرفت. اگر ندارد، شیت منبع این ورکفلو است.
باید برای فاکتور PDF بسازم؟
نه برای شروع. ایمیل با مبلغ، شماره و موعد برای مشتری کوچک روشنتر از پیوستی است که ساخته شدنش خودش یک سرویس جدا میخواهد.
چرا فقط یکی از بدهکارها یادآوری میگیرد؟
اغلب Get Row(s) هنوز اولین ردیف مطابق را برمیگرداند. When Filter Has Multiple Matches را روی Return All Matches بگذارید و وضعیت را دقیقاً پرداختنشده چک کنید.
یادآوری ساعت ۹ نباید به لپتاپ روشن وابسته باشد
فاکتور و یادآوری فقط وقتی میرسند که n8n در همان ساعت بالا باشد. پلن پایه آلمان کیاران ۷ روز بدون پرداخت است. محیط اختصاصی و مدیریتشده میگیرید و این دو ورکفلو را آنجا منتشر میکنید.
گفتوگو و دیدگاهها
تجربه و پرسش خود را با دیگر خوانندگان در میان بگذارید.