Using Glide's Construct URL to send data to a Netlify-hosted HTML file that generates PDF invoices - all on the Free plans

Hi Glide community,

I’m building a mobile inventory management and billing app using Glide’s Free plan — and I’ve been working on a workaround that lets me generate professional PDF invoices without needing a Glide Pro subscription or any external PDF generation tools.

Here’s the idea I’m implementing:

:puzzle_piece: Workflow Overview:

  • Inventory is managed in Glide (phones tracked by IMEI number, brand, model, color, storage, etc.)

  • Sales are submitted through a billing form and approved by the admin

  • Upon approval, we generate a Construct URL that passes relevant data (customer name, phone details, total price, etc.) as query parameters

  • The URL opens a Netlify-hosted HTML file (static, no backend) that:

    1. Detects which shop the sale belongs to based on a location parameter
    2. Selects a corresponding invoice layout (with logo, header, GST info, etc.)
    3. Inserts the values dynamically in layout
    4. Generates a formatted PDF invoice and auto-downloads it
    5. Then redirects to about:blank (reduce bandwith as Netify provides 100GB/Month free)
    

:compass: Why I’m posting this:

I’ve made good progress with ChatGPT’s help — including HTML, and the Construct URL logic — but I have some open questions and would love insight from Glide power users:

:face_with_monocle: My key questions:

1. Has anyone here implemented something similar before — and what kind of issues should I watch out for?

2. Is this method of generating dynamic PDF invoices using Construct URL and query params sustainable, especially with the 2048-character limit?

3. Is it possible to use this approach long-term without needing Glide Pro or Netlify paid plans?

4. Can someone help me review or improve the HTML code that generates the invoice? I’m not a developer and would appreciate any eyes on that.

5. Are there better approaches on the Free plan to generate PDFs or links that stay usable and shareable?

:hammer_and_wrench: Future use case:

  • Instead of printing bills, I can now simply send the customer a Glide-generated link that auto-downloads their invoice

  • The link never expires, making it easy to access again later (From lets say bill no.)

  • I can even generate QR codes in Glide that embed the invoice URL — so my staff can scan and retrieve invoices on demand and send the link to the customer

  • I’m really excited about this idea and just want to know if I’m heading in the right direction or if I’m missing something important.

Thanks in advance for your time and tips!

Shubh Naredi
shubhnaredi@gmail.com
+918788731189
(No-code enthusiast trying to do a lot with a little)

I can recall people having this problem before, and the limit is different based on the browser.

Can’t say I’m qualified to speak on other questions since I almost always use either DocsAutomator or PDFMonkey.

You’re absolutely right that the 2048-character limit has been a challenge in earlier approaches. But I’ve taken a different route that completely avoids that issue. :smiling_face_with_sunglasses:

Instead of embedding the entire HTML structure or styling inside the URL (which is what caused bloated URLs in the past), I’ve separated concerns:

The PDF layout, formatting, and logic (HTML/CSS) is fully defined and stored in the hosted web app (on Netlify in my case). :laptop:

The Construct URL column in Glide only sends lightweight dynamic values as query parameters — like name, brand, price, IMEI, etc. :light_bulb:

The web app then dynamically inserts those values into the predefined template and generates the PDF. :rocket:

So the only thing going through the URL is clean query data — not markup or style definitions. This keeps the link short and sustainable across browsers, even when sending multiple values. :100:

In fact, this decoupling makes the system very scalable. I can use the same Netlify setup across different shops by just checking the location parameter and switching between multiple invoice templates. :globe_showing_americas:

Hope that clarifies how this method bypasses the older limitations! :tada:

So what would be your concern? I think you’re answering the 2nd question yourself already.

1 Like

Exactly