Issue GST e-invoices and e-way bills for Shopify orders via GSP and Google

Go to Workflow
0 views
Built by Rahul Joshi Rahul Joshi
Created on October 26, 2026

Description

Quick overview
This workflow triggers on paid Shopify orders, calculates GST and compliance routing, generates e-invoices (IRN/QR) or e-way bills via a GSP API, renders a PDF invoice with Gotenberg, archives it to Google Drive, emails it via Gmail, logs to Google Sheets, and posts failures to Slack.

How it works
Triggers when a Shopify order is marked as paid.
Loads seller configuration plus HSN and prior status from Google Sheets, then calculates GST splits, document numbers, and whether the order needs an IRN, an e-way bill, or no compliance document.
If an IRN or e-way bill is required, authenticates with your GSP and calls the relevant GSP API, fetching an existing IRN when the portal reports it was already generated.
Parses the GSP response to extract IRN, acknowledgment details, signed QR data, and e-way bill information, and posts an error to Slack when creation fails.
Builds an HTML tax invoice (including QR code via quickchart.io when available) and renders it to PDF using a Gotenberg server.
Saves the PDF to Google Drive, emails it to the customer via Gmail, writes IRN/e-way bill/invoice details back to the Shopify order as metafields and a tag, and upserts the transaction into the Google Sheets GST Register.
Accepts IRN cancellation requests via an n8n form, validates the 24-hour cancellation window against the GST Register, cancels the IRN through the GSP API when allowed, updates the register, and reports the outcome to Slack.

Setup
Create Shopify access-token credentials for the Shopify trigger and a Shopify Admin GraphQL token with write_orders, then replace REPLACE_STORE and set the header-auth credential used to update order metafields/tags.
Add your GSP credentials as an HTTP Custom Auth credential and update the GSP auth/IRN/e-way bill/cancel URLs and seller GSTIN placeholders in the configuration and cancellation requests.
Connect Google Sheets credentials and set the spreadsheet ID, then create the required tabs/columns for “HSN Map” (sku, hsn, gst_rate, uqc, is_service) and “GST Register” (order_id, order_name, doc_no, status, irn, ewb_no, created_at, etc.).
Connect Google Drive and Gmail credentials, set the Drive folder ID for archiving PDFs, and ensure Gmail can send to customers and CC your accounts email.
Connect Slack credentials, set the target channel ID for alerts, and deploy a reachable Gotenberg instance (and update the Gotenberg URL if it is not http://gotenberg:3000).

This workflow was created by Rahul Joshi and shared publicly on the n8n community template library. n8nFind indexes it for discovery — the workflow remains the property of its original creator.

Nodes Used (6)

Code
n8n-nodes-base.code
Gmail
n8n-nodes-base.gmail
Google Drive
n8n-nodes-base.googleDrive
Google Sheets
n8n-nodes-base.googleSheets
HTTP Request
n8n-nodes-base.httpRequest
Slack
n8n-nodes-base.slack