{"product_id":"n8n-monthly-customer-statement-automation-google-sheets-gmail","title":"n8n Monthly Customer Statement Automation: Google Sheets + Gmail","description":"\u003ch3\u003eAutomate Monthly Customer Statements in n8n—Google Sheets + Gmail\u003c\/h3\u003e\n\u003cp\u003eSend a consolidated, branded monthly account statement to each customer automatically on the \u003cstrong\u003e1st of every month\u003c\/strong\u003e. This n8n workflow reads open invoices from \u003cstrong\u003eGoogle Sheets\u003c\/strong\u003e, generates ageing totals, emails statements through \u003cstrong\u003eGmail\u003c\/strong\u003e, and records a send log back into Sheets to prevent duplicates and handle retries safely.\u003c\/p\u003e\n\n\u003ch3\u003eWhat this workflow does\u003c\/h3\u003e\n\u003cp\u003eThe workflow runs on a schedule at \u003cstrong\u003e09:00 on the 1st day of each month\u003c\/strong\u003e. It then:\u003c\/p\u003e\n\u003cul\u003e\n  \u003cli\u003eLoads configuration values (including \u003cem\u003esheetUrl\u003c\/em\u003e, business details, currency symbol, and optional \u003cem\u003eminBalanceToSend\u003c\/em\u003e) to generate the statements.\u003c\/li\u003e\n  \u003cli\u003eReads invoice rows from the \u003cstrong\u003einvoices\u003c\/strong\u003e tab and prior send history from the \u003cstrong\u003estatement_log\u003c\/strong\u003e tab.\u003c\/li\u003e\n  \u003cli\u003eFilters invoices to exclude closed items, invalid emails, unreadable due dates, non-positive amounts, and duplicate invoice IDs.\u003c\/li\u003e\n  \u003cli\u003eGroups remaining \u003cstrong\u003eopen invoices\u003c\/strong\u003e by \u003cstrong\u003ecustomer email\u003c\/strong\u003e.\u003c\/li\u003e\n  \u003cli\u003eSkips customers already marked as \u003cstrong\u003esent\u003c\/strong\u003e for the current statement period.\u003c\/li\u003e\n  \u003cli\u003eGenerates an \u003cstrong\u003eHTML statement\u003c\/strong\u003e with invoice lines and ageing buckets, then emails \u003cstrong\u003eone message per customer\u003c\/strong\u003e via Gmail.\u003c\/li\u003e\n  \u003cli\u003eAppends a log entry per attempted send to \u003cstrong\u003estatement_log\u003c\/strong\u003e, marking it \u003cstrong\u003esent\u003c\/strong\u003e when a Gmail message ID is returned, otherwise \u003cstrong\u003efailed\u003c\/strong\u003e.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eUse cases\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eSaaS and services teams emailing monthly account statements based on invoice status.\u003c\/li\u003e\n  \u003cli\u003eOperations teams that need ageing totals and consistent customer communication every month.\u003c\/li\u003e\n  \u003cli\u003eBusinesses migrating from manual statement emails to a reliable \u003cstrong\u003en8n automation\u003c\/strong\u003e with duplicate protection.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eTechnical details\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eSchedule Trigger\u003c\/strong\u003e: runs monthly at 09:00 on the 1st.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eGoogle Sheets\u003c\/strong\u003e: reads \u003cem\u003einvoices\u003c\/em\u003e + \u003cem\u003estatement_log\u003c\/em\u003e, appends send results.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eGmail\u003c\/strong\u003e: sends one consolidated statement email per customer and captures message IDs.\u003c\/li\u003e\n  \u003cli\u003eUses n8n nodes including \u003cstrong\u003eSet\u003c\/strong\u003e, \u003cstrong\u003eCode\u003c\/strong\u003e, \u003cstrong\u003eSticky Note\u003c\/strong\u003e, and \u003cstrong\u003eGoogle Sheets\u003c\/strong\u003e for logic and readability.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003cp\u003e\u003cstrong\u003eSetup tip:\u003c\/strong\u003e Ensure your spreadsheet includes an \u003cstrong\u003einvoices\u003c\/strong\u003e sheet, and update \u003cem\u003esheetUrl\u003c\/em\u003e, business name, your name, reply-to email, currency symbol, and \u003cem\u003eminBalanceToSend\u003c\/em\u003e in the Settings step.\u003c\/p\u003e","brand":"N8N Commerce","offers":[{"title":"Default Title","offer_id":45758759338163,"sku":"N8N-17771","price":73.99,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0749\/6279\/6723\/files\/v8PxegALUOwbGdIjdLU3T_TF5X6QID.png?v=1785834909","url":"https:\/\/buyflowscripts.com\/products\/n8n-monthly-customer-statement-automation-google-sheets-gmail","provider":"N8N Commerce","version":"1.0","type":"link"}