استخراج خودکار اسناد مالی از جیمیل به گوگل شیت با هوش مصنوعی

استخراج خودکار اسناد مالی از جیمیل به گوگل شیت با هوش مصنوعی

12 دقیقه مطالعه · منتشر شده ۱۴۰۵/۴/۲۶

دانلود workflow

فایل JSON آماده import در n8n — credentialها باید در n8n شما تنظیم شوند.

  1. فایل JSON را دانلود کنید.
  2. در n8n: Workflows → Import from File.
  3. Credentialهای هر node را متصل کنید.
  4. workflow را فعال کنید.

شناسه workflow: 11290 · منبع: کاتالوگ Axeto

استخراج اسناد مالی مبتنی بر هوش مصنوعی از جیمیل به گوگل شیت با گاردریل‌های هوشمند

این گردش کار، استخراج و پردازش اسناد مالی (فاکتورها، رسیدها، صورتحساب‌ها) دریافتی از طریق جیمیل را خودکار می‌کند. این گردش کار از OCR مبتنی بر هوش مصنوعی و گاردریل‌های هوشمند برای اطمینان از دقت و ارتباط استفاده می‌کند و آن را برای تیم‌های مالی، فریلنسرها و مدیران عملیات که به دنبال خودکارسازی ثبت داده‌های فاکتور، اعتبارسنجی، دسته‌بندی و ثبت در گوگل شیت هستند، ایده‌آل می‌سازد. این گردش کار همچنین شامل مدیریت خطای قوی و اعلان‌های مدیر است.

این گردش کار و بسیاری موارد دیگر را در کاتالوگ Axeto کاوش کنید: https://axeto.ai/n8n

ساختار گردش کار

گردش کار به بلوک‌های عملکردی زیر تقسیم می‌شود:

1. دریافت و فیلتر ایمیل: جیمیل را برای ایمیل‌های جدید رصد می‌کند، محتوا و پیوست‌های آن‌ها را بازیابی می‌کند و از گاردریل‌های هوش مصنوعی برای فیلتر کردن ارتباطات مرتبط با امور مالی استفاده می‌کند.

2. تأیید محتوای مالی: از یک گاردریل هوش مصنوعی برای تأیید وجود اطلاعات تراکنش مالی در ایمیل استفاده می‌کند.

3. فیلتر کلمات کلیدی مالی: با بررسی موضوع ایمیل‌ها برای کلمات کلیدی خاص مرتبط با امور مالی، انتخاب را بیشتر اصلاح می‌کند.

4. پردازش پیوست و استخراج داده: بر اساس وجود پیوست‌ها، انشعاب می‌یابد. متن را از پیوست‌های PDF با استفاده از OCR یا از متن اصلی ایمیل در صورت عدم وجود پیوست استخراج می‌کند و داده‌ها را در قالب JSON نرمال‌سازی می‌کند.

5. اعتبارسنجی داده: داده‌های JSON استخراج شده توسط هوش مصنوعی را از نظر کامل بودن و دقت تأیید می‌کند.

6. منطق تجاری و دسته‌بندی: دسته‌بندی‌های دفتر کل (GL) و وضعیت‌های تأیید را بر اساس نام فروشنده و مبالغ فاکتور تعیین می‌کند.

7. ثبت وقایع و اعلان‌ها: فاکتورهای تأیید شده را در Google Sheets ثبت می‌کند، هرگونه خطا را به طور جداگانه ثبت می‌کند، ایمیل‌های تأیید را پس از موفقیت ارسال می‌کند و اعلان‌های خطا را به مدیران ارسال می‌کند.

8. ثبت معیارها: معیارهای کلیدی موفقیت مانند زمان پردازش و تعداد ایمیل‌های ارسال شده را ردیابی می‌کند.

---

تحلیل دقیق گره‌ها

۱. دریافت و فیلتر ایمیل

هدف: این بخش اولیه صندوق ورودی Gmail شما را برای ایمیل‌های دریافتی نظارت می‌کند، محتوای کامل و پیوست‌های آن‌ها را بازیابی کرده و داده‌ها را برای پردازش بعدی مبتنی بر هوش مصنوعی آماده می‌کند.

گره‌ها:

  • جستجو برای فاکتورها (n8n-nodes-base.gmailTrigger)

* عملکرد: صندوق ورودی Gmail را برای ایمیل‌های جدید به طور مداوم نظارت می‌کند.

* پیکربندی: برای بررسی برچسب "INBOX" هر ساعت تنظیم شده است.

* ورودی: ندارد (گره ماشه).

* خروجی: فراداده ایمیل (شناسه‌ها) به گره "دریافت محتوای ایمیل" ارسال می‌شود.

* مشکلات احتمالی: خطاهای احراز هویت Gmail، محدودیت‌های نرخ API، مشکلات اتصال شبکه.

  • دریافت محتوای ایمیل (n8n-nodes-base.gmail)

* عملکرد: محتوای کامل و پیوست‌های ایمیل‌های تازه شناسایی شده را دریافت می‌کند.

* پیکربندی: برای بازیابی تمام جزئیات ایمیل و دانلود پیوست‌ها پیکربندی شده است. برای پردازش یک ایمیل در هر اجرای ماشه تنظیم شده است.

* ورودی: خروجی از "جستجو برای فاکتورها".

* خروجی: شیء JSON جامع حاوی متن ایمیل و داده‌های باینری پیوست.

* مشکلات احتمالی: خطاهای احراز هویت، تایم‌اوت هنگام دانلود پیوست‌های بزرگ.

  • گاردریل: آیا مالی است؟ (@n8n/n8n-nodes-langchain.guardrails)

* عملکرد: از یک مدل هوش مصنوعی مبتنی بر Gemini برای تجزیه و تحلیل محتوای متنی ایمیل و تعیین ارتباط آن با تراکنش‌های مالی استفاده می‌کند.

* پیکربندی: یک اعلان سفارشی دامنه ایمیل‌های مرتبط با امور مالی را تعریف می‌کند. آستانه اطمینان ۰.۸ تنظیم شده است.

* عبارت: ={{ $('Get Email Content').item.json.text }} (محتوای متنی ایمیل را پیوند می‌دهد).

* ورودی: محتوای ایمیل از "دریافت محتوای ایمیل".

* خروجی: یک پرچم بولی که نشان می‌دهد آیا ایمیل مرتبط با امور مالی در نظر گرفته شده است یا خیر.

* مشکلات احتمالی: خرابی سرویس هوش مصنوعی، خطاهای پیکربندی اعلان، خطر طبقه‌بندی نادرست.

  • پیکربندی: تنظیمات کاربر (n8n-nodes-base.set)

* عملکرد: تنظیمات ضروری مخصوص کاربر مانند شناسه Google Sheet و آدرس ایمیل مدیر برای اعلان‌ها را ذخیره می‌کند.

* پیکربندی: نیاز به ورودی دستی شناسه Google Sheet و ایمیل مدیر دارد.

* ورودی: خروجی از گره "گاردریل: آیا مالی است؟".

* خروجی: تنظیمات پیکربندی شده را به پایین دست ارسال می‌کند.

* مشکلات احتمالی: شناسه Google Sheet یا آدرس ایمیل گمشده یا نادرست می‌تواند گره‌های بعدی را مختل کند.

  • IF (گاردریل عبور کرد) (n8n-nodes-base.if)

* عملکرد: گردش کار را بر اساس ارزیابی گاردریل هوش مصنوعی هدایت می‌کند. فقط ایمیل‌های مرتبط با امور مالی ادامه می‌یابند.

* پیکربندی: شرط بررسی می‌کند که آیا پرچم "فعال شده" گاردریل false است (نشان‌دهنده مرتبط بودن ایمیل).

* ورودی: خروجی از گره "پیکربندی: تنظیمات کاربر".

* خروجی: ایمیل‌های مرتبط با امور مالی را به بخش بعدی ارسال می‌کند؛ پردازش را برای دیگران متوقف می‌کند.

* مشکلات احتمالی: خطا در ارزیابی عبارت یا تفسیر نادرست منطقی.

---

۲. فیلتر کلمات کلیدی مالی

هدف: این بخش با بررسی اینکه آیا خط موضوع حاوی اصطلاحات کلیدی مرتبط با امور مالی مانند "فاکتور"، "رسید"، "صورتحساب" یا "تأیید پرداخت" است، انتخاب ایمیل‌ها را بیشتر اصلاح می‌کند.

گره‌ها:

  • فیلتر کلمات کلیدی مالی (n8n-nodes-base.filter)

* عملکرد: ایمیل‌ها را بر اساس وجود کلمات کلیدی خاص مالی در خط موضوع فیلتر می‌کند.

* پیکربندی: از شرط OR برای تطبیق رشته‌هایی که حاوی "Invoice"، "Receipt"، "Bill" یا "Payment Confirmation" در خط موضوع هستند، استفاده می‌کند.

* مثال عبارت: ={{ $('Get Email Content').item.json.subject }}

* ورودی: خروجی از گره "IF (گاردریل عبور کرد)".

* خروجی: ایمیل‌های مطابق با کلمات کلیدی مالی به جلو ارسال می‌شوند.

* مشکلات احتمالی: حساسیت به بزرگی و کوچکی حروف در تطابق کلمات کلیدی، فیلد خط موضوع گمشده در JSON ایمیل.

---

۳. پردازش پیوست و استخراج داده

هدف: این بخش تعیین می‌کند که آیا ایمیل حاوی پیوست است یا خیر. اگر پیوست‌های PDF وجود داشته باشند، با استفاده از OCR متن را استخراج می‌کند؛ در غیر این صورت، داده‌ها را مستقیماً از بدنه ایمیل استخراج می‌کند. هر دو روش با هدف عادی‌سازی داده‌های استخراج شده به یک ساختار JSON یکپارچه انجام می‌شوند.

گره‌ها:

  • بررسی پیوست (n8n-nodes-base.if)

* عملکرد: بررسی می‌کند که آیا ایمیل حاوی پیوست‌های باینری است یا خیر.

* پیکربندی: شرط بررسی می‌کند که آیا تعداد کلیدهای شیء باینری بیشتر از صفر است.

* ورودی: خروجی از گره "فیلتر کلمات کلیدی مالی".

* خروجی: گردش کار را در صورت وجود پیوست‌ها به استخراج PDF هدایت می‌کند، یا در غیر این صورت به استخراج بدنه ایمیل.

* مشکلات احتمالی: ممکن است ویژگی "binary" گمشده یا بدشکل باشد و منجر به منفی کاذب در تشخیص پیوست شود.

  • استخراج داده PDF (n8n-nodes-base.extractFromFile)

* عملکرد: محتوای متنی را از اولین پیوست PDF یافت شده در ایمیل استخراج می‌کند.

* پیکربندی: عملیات روی "PDF" تنظیم شده است. binaryPropertyName به طور پویا به اولین کلید باینری شناسایی شده یا به طور پیش‌فرض به "attachment\_0" تنظیم می‌شود.

* ورودی: داده‌های پیوست باینری از گره "بررسی پیوست".

* خروجی: متن استخراج شده از PDF، آماده برای پردازش هوش مصنوعی.

* مشکلات احتمالی: ناسازگاری با فرمت‌های خاص PDF، خطاهای استخراج، تایم‌اوت با PDFهای بسیار بزرگ.

  • عامل هوش مصنوعی (OCR PDF) (@n8n/n8n-nodes-langchain.lmChatOpenAi)

* عملکرد: متن استخراج شده از پیوست‌های PDF را برای استخراج داده‌های فاکتور ساختاریافته در قالب JSON با استفاده از یک مدل هوش مصنوعی (OpenAI GPT-4o-mini) پردازش می‌کند.

* پیکربندی: یک پیام سیستمی به هوش مصنوعی دستور می‌دهد تا JSON دقیق را برگرداند و تاریخ‌ها و مقادیر عددی را عادی‌سازی کند. فیلدهای مورد انتظار شامل vendor_name, invoice_date, invoice_id, total_amount, tax_amount, currency, items_summary, و vendor_tax_id هستند.

* ورودی: متن استخراج شده از فایل‌های PDF از طریق "استخراج داده PDF".

* خروجی: داده‌های فاکتور JSON تجزیه شده یا پیام خطا در صورت شکست استخراج.

* مشکلات احتمالی: خطاهای پاسخ هوش مصنوعی، شکست تجزیه JSON، استخراج‌های ناقص یا نادرست.

  • عامل هوش مصنوعی (OCR ایمیل) (@n8n/n8n-nodes-langchain.lmChatOpenAi)

* عملکرد: داده‌های فاکتور یا رسید را مستقیماً از متن بدنه ایمیل استخراج می‌کند و خروجی JSON را در همان قالبی که عامل OCR PDF تولید می‌کند، ایجاد می‌کند.

* پیکربندی: از پیام سیستمی مشابه عامل OCR PDF استفاده می‌کند. invoice_id به طور پیش‌فرض "EMAIL-RECEIPT" است اگر در بدنه ایمیل یافت نشود.

* ورودی: محتوای متنی ایمیل از گره "دریافت محتوای ایمیل".

* خروجی: داده‌های فاکتور JSON یا پیام خطا.

* مشکلات احتمالی: مشابه OCR PDF، به علاوه مشکلات احتمالی با قالب‌بندی متن ایمیل.

---

۴. اعتبارسنجی داده

هدف: این بخش داده‌های JSON استخراج شده توسط هوش مصنوعی را اعتبارسنجی می‌کند، وجود فیلدهای مورد نیاز و صحت مقادیر عددی را بررسی می‌کند. هرگونه داده گمشده یا نامعتبر را علامت‌گذاری می‌کند.

گره‌ها:

  • اعتبارسنجی استخراج (n8n-nodes-base.code)

* عملکرد: JSON خروجی هوش مصنوعی را تجزیه می‌کند، خطاها را بررسی می‌کند، وجود فیلدهای ضروری (vendor_name, total_amount, invoice_date) را تأیید می‌کند و اطمینان حاصل می‌کند که total_amount یک عدد معتبر است. نتیجه اعتبارسنجی را برمی‌گرداند.

* پیکربندی: یک بار برای هر مورد اجرا می‌شود. اطلاعات دقیق خطا یا داده‌های اعتبارسنجی شده را برمی‌گرداند.

* ورودی: خروجی از گره‌های عامل هوش مصنوعی ("عامل هوش مصنوعی (OCR PDF)" یا "عامل هوش مصنوعی (OCR ایمیل)").

* خروجی: یک شیء JSON که موفقیت یا شکست را نشان می‌دهد، شامل پیام‌های خطا و مُهر زمانی.

* مشکلات احتمالی: استثناها در طول تجزیه JSON، فرمت‌های غیرمنتظره در پاسخ هوش مصنوعی.

  • بررسی خطاها (n8n-nodes-base.if)

* عملکرد: گردش کار را بر اساس نتیجه اعتبارسنجی منشعب می‌کند. داده‌های معتبر به منطق تجاری ادامه می‌یابند، در حالی که خطاها برای ثبت هدایت می‌شوند.

* پیکربندی: شرط فیلد error_occurred در خروجی اعتبارسنجی را بررسی می‌کند که false باشد.

* ورودی: خروجی از گره "اعتبارسنجی استخراج".

* خروجی: داده‌های معتبر را به بخش بعدی ارسال می‌کند یا خطاها را به بخش ثبت هدایت می‌کند.

* مشکلات احتمالی: خطا در ارزیابی عبارت یا وارونگی منطقی.

---

۵. منطق تجاری و دسته‌بندی

هدف: این بخش قوانین خاص شرکت را برای تخصیص دسته‌های دفتر کل (GL) بر اساس نام فروشنده، تعیین وضعیت‌های تأیید بر اساس مقادیر فاکتور و تولید شناسه‌های پرونده منحصر به فرد اعمال می‌کند.

گره‌ها:

  • اعمال قوانین مالی (n8n-nodes-base.code)

* عملکرد: از تطابق کلمات کلیدی در نام فروشندگان برای تخصیص کدهای GL استفاده می‌کند (به عنوان مثال، "Amazon" یا "AWS" به "Software & Hosting" نگاشت می‌شود). همچنین آستانه‌های تأیید را اعمال می‌کند (به عنوان مثال، فاکتورهای بیش از ۵۰۰۰ دلار نیاز به تأیید VP دارند، بیش از ۱۰۰۰ دلار نیاز به تأیید مدیر دارند). یک مُهر زمانی پردازش و یک شناسه پرونده منحصر به فرد اضافه می‌کند.

* پیکربندی: یک بار برای هر مورد اجرا می‌شود. تطابق کلمات کلیدی نسبت به بزرگی و کوچکی حروف حساس نیست.

* ورودی: داده‌های استخراج اعتبارسنجی شده از گره "بررسی خطاها".

* خروجی: داده‌های JSON غنی شده شامل gl_category, approval_status, case_id, و مُهر زمانی processed_at.

* مشکلات احتمالی: تطابق نادرست کلمات کلیدی، خطاهای تجزیه عددی، ناسازگاری مناطق زمانی.

---

۶. ثبت و اعلان‌ها

هدف: این بخش خروجی نهایی را با ثبت فاکتورهای اعتبارسنجی شده در Google Sheets، ارسال ایمیل‌های تأیید، ثبت خطاها در یک برگه جداگانه و اطلاع‌رسانی به مدیران در مورد هرگونه مشکل، مدیریت می‌کند.

گره‌ها:

  • ثبت در برگه فاکتورها (n8n-nodes-base.googleSheets)

* عملکرد: داده‌های فاکتور پردازش شده را به تب "Invoices" در Google Sheet پیکربندی شده اضافه می‌کند.

* پیکربندی: از نگاشت خودکار فیلدهای ورودی JSON به ستون‌های برگه استفاده می‌کند. شناسه Google Sheet از تنظیمات کاربر بازیابی می‌شود.

* ورودی: خروجی از گره "اعمال قوانین مالی".

* خروجی: وضعیت نشان‌دهنده موفقیت یا شکست عملیات ثبت را برمی‌گرداند.

* مشکلات احتمالی: مجوزهای ناکافی برگه، شناسه برگه نامعتبر، محدودیت‌های سهمیه API Google Sheets.

  • ارسال ایمیل تأیید (n8n-nodes-base.gmail)

* عملکرد: یک ایمیل با فرمت HTML به آدرس ایمیل مدیر پیکربندی شده ارسال می‌کند و پردازش موفقیت‌آمیز فاکتور را تأیید می‌کند. ایمیل شامل جزئیاتی مانند فروشنده، مبلغ، دسته GL و وضعیت تأیید است.

* پیکربندی: محتوای ایمیل با استفاده از جایگزین‌های پویا از داده‌های پردازش شده قالب‌بندی شده است.

* ورودی: خروجی از گره "ثبت در برگه فاکتورها".

* خروجی: وضعیت نشان‌دهنده اینکه آیا ایمیل با موفقیت ارسال شده است.

* مشکلات احتمالی: خطاهای احراز هویت Gmail، آدرس ایمیل گیرنده نامعتبر.

  • ثبت خطا در برگه (n8n-nodes-base.googleSheets)

* عملکرد: اطلاعات دقیق خطا (مُهر زمانی، نوع خطا، پیام، خط موضوع ایمیل اصلی، شناسه اجرای گردش کار) را به یک برگه اختصاصی "Error Logs" اضافه می‌کند.

* پیکربندی: نگاشت صریح فیلدهای JSON خطا. شناسه Google Sheet از تنظیمات کاربر بازیابی می‌شود.

* ورودی: داده‌های خطا که از گره "اعتبارسنجی استخراج" یا شاخه شکست "بررسی خطاها" نشأت می‌گیرند.

* خروجی: وضعیت نشان‌دهنده موفقیت یا شکست عملیات ثبت خطای خطا.

* مشکلات احتمالی: مشابه "ثبت در برگه فاکتورها".

  • ارسال اعلان خطا (n8n-nodes-base.gmail)

* عملکرد: یک ایمیل اعلان خطا به مدیر ارسال می‌کند که شامل پیام خطای خاص و خط موضوع ایمیل اصلی است.

* پیکربندی: محتوای ایمیل HTML با جزئیات مربوط به خطا قالب‌بندی شده است.

* ورودی: خروجی از گره "ثبت خطا در برگه".

* خروجی: وضعیت نشان‌دهنده اینکه آیا ایمیل اعلان خطا با موفقیت ارسال شده است.

* مشکلات احتمالی: مشابه "ارسال ایمیل تأیید".

---

۷. ثبت معیارها

هدف: این بخش معیارهای کلیدی موفقیت گردش کار را ردیابی می‌کند، از جمله فروشنده، مبلغ، شناسه پرونده، مُهر زمانی، دسته GL، وضعیت تأیید، وضعیت ارسال ایمیل و زمان پردازش.

گره‌ها:

  • ثبت معیارهای موفقیت (n8n-nodes-base.googleSheets)

* عملکرد: معیارهای مربوط به پردازش موفقیت‌آمیز فاکتور را به یک تب "Metrics" تعیین شده در Google Sheet اضافه می‌کند.

* پیکربندی: فیلدهای مربوطه را از مسیر پردازش موفق به ستون‌های برگه نگاشت می‌کند. شامل فیلدهایی مانند vendor_name, total_amount, case_id, processed_at, gl_category, approval_status, و confirmation_email_sent است.

* ورودی: خروجی از گره "ارسال ایمیل تأیید" (برای مسیرهای موفق).

* خروجی: وضعیت عملیات ثبت معیارها.

* مشکلات احتمالی: مجوزهای برگه، شناسه برگه نامعتبر، محدودیت‌های سهمیه API.

Nodeهای استفاده‌شده

سوالات متداول

این گردش کار چگونه اسناد مالی را از جیمیل استخراج می‌کند؟

این گردش کار با نظارت بر صندوق ورودی جیمیل، محتوای ایمیل‌ها و پیوست‌های آن‌ها را بازیابی می‌کند. سپس با استفاده از OCR و هوش مصنوعی، اطلاعات مالی را استخراج و پردازش می‌کند.

منظور از "گاردریل‌های هوشمند" در این گردش کار چیست؟

گاردریل‌های هوشمند از مدل‌های هوش مصنوعی برای تأیید ارتباط ایمیل با امور مالی، اعتبارسنجی داده‌های استخراج شده و اطمینان از دقت و کامل بودن اطلاعات استفاده می‌کنند.

داده‌های استخراج شده به کجا منتقل می‌شوند؟

داده‌های استخراج شده و تأیید شده، پس از پردازش و دسته‌بندی، در یک Google Sheet مشخص ثبت می‌شوند.

آیا این گردش کار برای مدیریت رسیدها نیز کاربرد دارد؟

بله، این گردش کار برای پردازش و ثبت خودکار انواع اسناد مالی از جمله فاکتورها و رسیدها طراحی شده است.

workflowهای مرتبط

این workflow در کاتالوگ Axeto.ai بایگانی شده است. لایسنس اصلی متعلق به سازنده workflow است.