{"product_id":"approve-supplier-invoices-gmail-gpt-4o-mini-sheets-telegram","title":"Approve Supplier Invoices: Gmail + GPT-4o-mini, Sheets \u0026 Telegram","description":"\u003ch3\u003eAutomatically approve (or flag) supplier invoices from Gmail PDFs—using GPT-4o-mini, Google Sheets, and Telegram\u003c\/h3\u003e\n\u003cp\u003eThis n8n workflow monitors your Gmail inbox for unread invoice emails with PDF attachments, extracts invoice details with \u003cstrong\u003eGPT-4o-mini\u003c\/strong\u003e, verifies vendors and duplicates in \u003cstrong\u003eGoogle Sheets\u003c\/strong\u003e, and routes approvals through \u003cstrong\u003eTelegram\u003c\/strong\u003e—then records results and sends a weekly payment run summary.\u003c\/p\u003e\n\n\u003ch3\u003eWhat this workflow does\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eRuns every minute\u003c\/strong\u003e: triggers when a \u003cstrong\u003enew unread Gmail email\u003c\/strong\u003e with a \u003cstrong\u003ePDF attachment\u003c\/strong\u003e is found.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eExtracts invoice text\u003c\/strong\u003e: pulls text from the PDF attachment.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eUses GPT-4o-mini for structured parsing\u003c\/strong\u003e: sends email context + extracted PDF text to \u003cstrong\u003eOpenAI (GPT-4o-mini)\u003c\/strong\u003e and parses the result into a \u003cstrong\u003efixed invoice JSON schema\u003c\/strong\u003e.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eChecks vendor + duplicates in Google Sheets\u003c\/strong\u003e:\n    \u003cul\u003e\n      \u003cli\u003eLooks up the supplier in the Sheets tab \u003cstrong\u003e“Vendors”\u003c\/strong\u003e.\u003c\/li\u003e\n      \u003cli\u003eChecks the tab \u003cstrong\u003e“Bills”\u003c\/strong\u003e for an existing record with the \u003cstrong\u003esame vendor and invoice number\u003c\/strong\u003e.\u003c\/li\u003e\n    \u003c\/ul\u003e\n  \u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eApplies auto-approval rules\u003c\/strong\u003e: auto-approves only when the vendor is known, it’s not a duplicate, it meets the \u003cstrong\u003econfidence threshold\u003c\/strong\u003e, and it’s under the configured \u003cstrong\u003eauto-approve limit\u003c\/strong\u003e.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eRoutes exceptions via Telegram\u003c\/strong\u003e: flags \u003cstrong\u003eduplicates\u003c\/strong\u003e, \u003cstrong\u003eunknown vendors\u003c\/strong\u003e, and invoices that exceed limits or have low confidence for \u003cstrong\u003eApprove\/Reject\u003c\/strong\u003e via \u003cstrong\u003eTelegram\u003c\/strong\u003e with a \u003cstrong\u003e3-day timeout\u003c\/strong\u003e.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eUpdates records + notifies finance\u003c\/strong\u003e: appends invoice decision and notes to \u003cstrong\u003e“Bills”\u003c\/strong\u003e, marks the Gmail email as read, and notifies finance on \u003cstrong\u003eTelegram\u003c\/strong\u003e for non-approved outcomes.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eWeekly payment run (every Monday 08:00)\u003c\/strong\u003e: reads approved unpaid bills due now or within \u003cstrong\u003e7 days\u003c\/strong\u003e, emails an \u003cstrong\u003eHTML payment run list\u003c\/strong\u003e via Gmail, and updates rows with a \u003cstrong\u003ePaymentRun ID\u003c\/strong\u003e.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eUse cases\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eAP teams want faster invoice triage without losing control of approvals.\u003c\/li\u003e\n  \u003cli\u003eSaaS operators reduce manual checking of vendor lists, invoice numbers, and duplicate detection.\u003c\/li\u003e\n  \u003cli\u003eFinance teams need Telegram-based decision workflows with an explicit timeout for exceptions.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eTechnical details\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003en8n nodes\/integrations\u003c\/strong\u003e: Gmail, OpenAI (GPT-4o-mini), Google Sheets, Telegram\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eLogic components\u003c\/strong\u003e: if, set, code, no op, merge (for routing decisions and JSON schema handling)\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003ePrimary sheets\u003c\/strong\u003e: \u003cstrong\u003eVendors\u003c\/strong\u003e (supplier lookup) and \u003cstrong\u003eBills\u003c\/strong\u003e (decisions, duplicates, PaymentRun updates)\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"N8N Commerce","offers":[{"title":"Default Title","offer_id":45962012917939,"sku":"N8N-19224","price":34.99,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0749\/6279\/6723\/files\/wUDoLZmqDBvMkUloQbmgZ_JUextg4V.png?v=1788599183","url":"https:\/\/buyflowscripts.com\/products\/approve-supplier-invoices-gmail-gpt-4o-mini-sheets-telegram","provider":"N8N Commerce","version":"1.0","type":"link"}