Your files never leave your device. All processing happens locally in your browser.
How do I generate GST invoices and shipping labels for all my orders in bulk?
In the GST Invoice + Label Conveyor, enter your seller details and a numbering scheme once, upload your orders CSV, and map the columns. For every order it auto-assigns the next consecutive invoice number, applies CGST + SGST (intra-state) or IGST (inter-state) by comparing each buyer’s state with yours, builds a GST-format tax-invoice PDF and a barcoded shipping label, and bundles everything into a ZIP with a summary CSV — all in your browser, nothing uploaded.
Upload an orders CSV → one GST-format invoice + one 4×6 barcoded label per order, in bulk
Auto consecutive invoice numbers in a single financial-year series (prefix + FY + serial)
CGST + SGST vs IGST chosen automatically per order from the buyer’s state vs the seller’s
Downloads a ZIP: invoices/ + labels/ + a summary CSV (order id, invoice no, taxable, CGST/SGST/IGST, total)
Honest scope: GST-FORMAT docs from your CSV — verify GSTIN, HSN, rates and place of supply per order; no IRN / e-invoice
Bulk GST invoicing turns a spreadsheet of orders into one GST tax invoice per order, each with a unique consecutive number in a single financial-year series, the correct CGST + SGST (intra-state) or IGST (inter-state) split, and a matching shipping label — produced as a batch instead of one at a time.
You set a prefix, the financial year and a start number; each order gets the next consecutive serial in one series, e.g. INV/2627/0001, INV/2627/0002.
GST requires a consecutive serial number — up to sixteen characters, unique for the financial year, and you may use letters, numerals and the “-” and “/” symbols. The tool builds the number as prefix / FY / zero-padded serial (for example INV/2627/0001) and increments it by one for each order in upload order, so you get a single, gap-free series for the year. Use one series per financial year and start a fresh series in April; verify the numbering fits your business before issuing the invoices.
At minimum an order id, a buyer name, a buyer state and an item description and rate. Date, address, GSTIN, HSN, qty, unit, discount, GST rate and weight are optional and auto-mapped.
Upload a CSV with one row per order line. The required columns are the order id (rows sharing an id become one multi-item invoice), the buyer name, the buyer state (the place of supply), and per item a description and a pre-tax rate. Optional columns — order/invoice date, buyer address, buyer GSTIN, HSN/SAC, quantity, unit, discount %, GST rate and parcel weight — are detected automatically from your headers and you can re-map any of them. Missing GST rates fall back to a default you choose, and amounts are parsed robustly (currency symbols and thousands separators are stripped).
No. It produces GST-format tax-invoice PDFs and labels from your CSV. It does not generate IRNs, signed e-invoices or QR codes, and does not file returns.
This is a bulk document generator, not an e-invoicing gateway. It is not connected to the GST portal or the Invoice Registration Portal (IRP): it does NOT generate Invoice Reference Numbers (IRNs), the signed e-invoice QR code, or file GSTR-1 / returns. E-invoicing is mandatory above a turnover threshold (currently ₹5 crore) and the thresholds, mandatory fields and HSN-digit rules change over time, so verify what your business must do per order and use your e-invoicing software / the IRP where applicable. It is not tax or GST advice.
No. The CSV, the GST calculations, the barcodes and every PDF are produced entirely in your browser and the ZIP is built locally — nothing is uploaded.
The tool is 100% client-side. Your entire orders CSV — every buyer name, address, GSTIN, item, price and order id — is parsed on your device, the tax is computed, the Code-128 barcodes are rendered and all the invoice and label PDFs are assembled in memory with papaparse, pdf-lib, jsbarcode and JSZip, then zipped locally. Nothing is uploaded, logged or stored on a server, so it is safe for confidential business and customer data — a real privacy advantage over cloud invoicing tools. Your seller profile is kept only in your browser’s localStorage if you choose to save it, and it works offline once cached.
Detailed Explanation
📖How It Works
GST Invoice + Label Conveyor — Orders CSV to Invoices + Labels in Bulk
The GST Invoice + Label Conveyor is the BULK counterpart to the single-order GST Invoice + Label Workflow: the seller is entered once, an orders CSV is uploaded and its columns mapped, and the tool produces one GST-format tax invoice and one barcoded shipping label per order, entirely in the browser. Rows that share an order id are merged into a single multi-item invoice; each order is assigned the next consecutive invoice number in a single financial-year series; and everything is bundled into a ZIP with a summary CSV. It REUSES gstInvoiceEngine (computeInvoice + buildInvoicePdf) and barcodeLabelEngine (Code-128), with papaparse for the CSV and JSZip for the bundle.
Inputs: seller details + numbering scheme (once) and an orders CSV (uploaded or pasted)
One row per order line; rows sharing an order id become one multi-item invoice
Outputs: a ZIP with a GST-format invoice PDF + a 4×6 Code-128 label per order + a summary CSV
Reuses gstInvoiceEngine (tax compute + invoice PDF) and barcodeLabelEngine (barcode), plus papaparse + JSZip
100% client-side — no server, no CDN, no upload; works offline once cached
⚙️Methodology
Invoice Numbering & Per-Order GST Logic
A GST tax invoice must carry a consecutive serial number (up to sixteen characters, unique for the financial year, using letters, numerals and the “-” and “/” symbols). The tool builds each number as prefix / financial year / zero-padded serial — for example INV/2627/0001 — and increments it by one per order, giving a single gap-free series for the year. For each order it derives the per-item taxable value (quantity × rate − discount) and applies the correct heads by comparing the buyer’s state with the seller’s: CGST + SGST (each half the rate) when they match (intra-state) or IGST (the full rate) when they differ (inter-state), then totals the order, rounds to the nearest rupee and spells the grand total in Indian-numbering words.
Consecutive number = prefix / FY / zero-padded serial, incremented per order (one series per FY)
Buyer state = seller state → intra-state → CGST + SGST, each half the GST rate
Buyer state ≠ seller state → inter-state → IGST at the full GST rate
Taxable value per item = quantity × rate − discount; amounts parsed robustly from the CSV
Missing GST rates fall back to a chosen default; whole-rupee round-off and amount in words per order
⚠️Limitations
Scope & Limitations — Bulk Documents, Not IRNs / E-Invoices
This tool generates GST-FORMAT tax invoices and shipping labels in bulk from the user’s orders CSV. It is not an accounting system and is not connected to the GST portal or the Invoice Registration Portal (IRP): it does NOT generate Invoice Reference Numbers (IRNs), the signed e-invoice QR code, or file GSTR-1 / returns. The user must verify, for EACH order, that the GSTIN, the HSN/SAC codes, the GST rates and the place of supply (intra-state CGST+SGST vs inter-state IGST) are correct, use a single consecutive invoice series per financial year, and follow the current GST rules — e-invoicing / IRN thresholds (currently ₹5 crore turnover), mandatory fields and HSN-digit requirements change over time. It is not tax or GST advice.
Produces bulk GST-format invoices + labels, not IRNs / e-invoices / signed QR codes
Not connected to the GST portal or IRP; does not file returns
User must verify GSTIN, HSN/SAC, GST rates and place of supply PER ORDER
Use one consecutive invoice series per financial year
E-invoicing thresholds and mandatory fields change — follow current rules; not tax advice
🔒Privacy & Security
Privacy — Your Whole Orders Book Never Leaves the Browser
Every step runs on the device: the orders CSV is parsed, the GST computed, the Code-128 barcodes rendered and all of the invoice and label PDFs assembled in the browser’s memory with papaparse, pdf-lib, jsbarcode and JSZip, then zipped locally, with no upload, no server, no CDN and no tracking, and the page works offline once cached. Because an orders book exposes every customer’s name, address and GSTIN along with prices and order ids, this matters — it is safe for confidential business and customer data, a real privacy advantage over cloud invoicing tools that send your whole order book to a server. The seller profile is stored only in the browser’s localStorage when the user chooses to save it.
Orders CSV, GST calculations, barcodes and all PDFs generated in the browser; ZIP built locally
No upload, no server, no CDN, no tracking; works offline once cached
Safe for confidential business and customer data (every buyer’s GSTIN, address, prices)
Seller profile kept only in localStorage when saved
Privacy win over cloud invoicing tools that upload the entire order book
Your orders CSV (upload or paste) + column mapping
CSV / ERP / API import (account required)
Invoice numbering
Auto consecutive series per FY (prefix + FY + serial)
Usually yes (account required)
CGST/SGST vs IGST per order
Auto by buyer state vs seller state
Varies
Shipping label + barcode per order
Yes — 4×6 label with Code-128
Rarely / separate product
Output
ZIP: invoices + labels + summary CSV — free
Often paywalled / branded
IRN / e-invoice
No — GST-format only (honest)
Sometimes (paid, IRP-connected)
Cost / signup
Free, no signup
Usually subscription / account
AnyTool is a privacy-first client-side bulk GST invoice + label conveyor — your entire orders book and customer data never leave the browser. It generates GST-FORMAT tax invoices and matching labels from your orders CSV; it does NOT generate IRNs / e-invoices or file returns, so verify the GSTIN, HSN/SAC codes, GST rates and place of supply (intra-state CGST+SGST vs inter-state IGST) per order and use a single consecutive invoice series per financial year. Not tax advice.