Qorstack ReportQorstack Report
Documentation
Open-Source · Self-Hosted · Free

Templates to
PDF & Excel,
on demand.

Upload Word or Excel templates, POST JSON, receive production documents. Self-host the full stack when data must stay inside your network.

Deploy with Docker
MIT LicensedWord + ExcelPDF · DOCX · ExcelREST JSON
Invoice
PDF
Invoice
invoice-2026-001.pdf · 142 KB

Works with any language or framework

Node.js
Python
React
PHP
Go
Java
.NET
Rust
JSONREST API
Node.js
Python
React
PHP
Go
Java
.NET
Rust
JSONREST API
See it in action

From template to production output

Watch the four-step workflow that turns Word or Excel templates and JSON data into PDF, DOCX, Excel, or ZIP output.

qorstack.dev — Create Project
Q
Qorstack Report
01 — Create02 — API Key

New project

Name your project.

Groups your templates, API keys, and generation history.

Project name
e.g. Invoice Service
How it works

From data to PDF in seconds.

Qorstack Report turns JSON data and your templates into pixel-perfect PDFs via a simple REST API.

  • Create a project and get your API key
  • Upload or design a PDF template
  • POST JSON data to the render endpoint
  • Receive a generated PDF instantly
Free during Beta · Unlimited generations
Auto-playing
Template Manager

Manage templates visually,
map variables automatically.

Upload your DOCX or XLSX template and Qorstack Report detects the fields your API payload needs. Fill values visually, test the output, then copy SDK or REST examples that match the same payload.

  • Detect variables, tables, images and codes
  • Configure render payload visually
  • Copy SDK and REST examples
Template Manager UI showing auto variable mapping
Payload Example
{
  "templateKey": "invoice-template",
  "replace": {
    "customer_name": "Acme Co., Ltd.",
    "invoice_no": "INV-2026-001"
  },
  "table": [...],
  "image": { ... }
}
Developer Experience

Current SDK examples, copy-ready.

Install the qorstack-report-sdk, send the same payload your template builder uses: variables, tables, QR codes, barcodes, password protection, and watermark settings.

templateKey + replace + table
1// npm install qorstack-report-sdk
2import { QorstackApi, PdfFromTemplateRequest } from 'qorstack-report-sdk';
3
4const api = new QorstackApi({
5  baseUrl: process.env.QORSTACK_API_URL || 'http://localhost:8080',
6  securityData: {
7    headers: {
8      'X-API-KEY': process.env.QORSTACK_API_KEY || 'YOUR_API_KEY'
9    }
10  }
11});
12
13// Example fetching data for table 1 from your service.
14const table1Data = await mockService.getExamplesAsync();
15const table1Rows = table1Data.map((item, index) => ({
16  item: item.item ?? '',
17  qty: item.qty ?? '',
18  total: item.total ?? ''
19}));
20
21const request: PdfFromTemplateRequest = {
22  templateKey: "invoice-template",
23  fileName: "invoice-2026-001",
24  replace: {
25    customer_name: "Acme Co., Ltd.",
26    invoice_no: "INV-2026-001",
27    total: "2400"
28  },
29  table: [
30    {
31      rows: table1Rows,
32      repeatHeader: true
33    }
34  ]
35};
36
37const response = await api.render.postRenderWordTemplate(request);
38const { downloadUrl } = response.data;
QORSTACK CORP.
Invoice
Bill To
{{customer_name}}
Invoice No.
{{invoice_no}}
Email
contact@acme.example
Issue Date
15 Mar 2026
DescriptionQtyAmount
{{row:item}}——
{{row:item}}——
Subtotal—
VAT 7%—
Total THB—
Generated by Qorstack Report · ready to render
Typography First

Any font,
your way.

Use Google Fonts out of the box, mount a config file, or upload WOFF/WOFF2 directly through the dashboard — fonts render identically in every generated document.

Config file

Mount fonts via docker volume

Upload via dashboard

WOFF / WOFF2 · instant preview

Inter
Montserrat
Playfair
Space Grotesk
Outfit
+1,495 more
AgPlayfair
AgMontserrat
AgOutfit
AgSpace Grotesk
Thai Fonts
สวัสดีKanit
รายงานNoto Sans
เอกสารPridi
Custom FontsWOFF2
Aa

BrandSans-Regular.woff2

Aa

BrandSans-Bold.woff2

Aa

BrandSerif-Light.woff2

Drop to upload
Current API Coverage

One render API, practical document workflows.

Each example maps to fields supported by the current API: variables, tables, images, QR codes, barcodes, Excel options, PDF password protection, watermarks, and ZIP output.

Invoice PDF

Invoice PDF

Variables, repeating table rows, QR payment, and protected PDF output.

Excel Report

Excel Report

Auto-filter, frozen headers, totals, number formats, and sheet splitting.

Protected Contract

Protected Contract

PDF password permissions, watermark text, and ZIP packaging.

Shipping Label

Shipping Label

Barcode generation with format, size, color, and readable text.

Ticket QR

Ticket QR

QR codes from URLs, payloads, colors, backgrounds, and embedded logos.

Fact-Based Comparison

Honest trade-offs, not marketing claims.

Every approach has trade-offs. Here's an honest, side-by-side look at how different document generation categories stack up.

Feature
PuppeteerHeadless Browsers
Aspose, JasperEnterprise Suites
Carbone.ioConventional APIs
QorstackType-Safe Infrastructure
Template Format
~HTML / CSS
✓Word, XML
✓Word, Excel
✓Word + Excel templates
Code Integration
✕Untyped HTML injection
✓Strongly Typed (Java)
~Untyped JSON / fetch
✓Fully-Typed SDK (qorstack-report-sdk)
Variable Mapping
✕Manual setup
~Manual / SDK checks
✕Guess the JSON keys
✓Variables, tables, images, QR, barcode
Visual Designer
✕Code editor only
✓Desktop App
✓Web Studio
✓Modern Web Dashboard
Live Testing
✕Write scripts & wait
✓Desktop Preview
~Web (JSON Editor)
✓UI forms + copy-ready code
PDF Controls
~Custom code
✓Built-in
~Plan-dependent
✓Password, restrictions, watermark
Font Management
~OS-level config
~Server/OS config
~Docker/OS config
✓Pre-bundled + UI Upload
Price
✓Free (Open Source)
✕Commercial ($1,000+)
✓OSS Core + Cloud API
✓Self-hosted OSS + Pro license

Data as of March 2026. Comparison reflects general category capabilities, not specific product versions.

Qorstack vs Puppeteer

Headless Browsers

Template Format
Qorstack
✓Word + Excel templates
Puppeteer
~HTML / CSS
Code Integration
Qorstack
✓Fully-Typed SDK (qorstack-report-sdk)
Puppeteer
✕Untyped HTML injection
Variable Mapping
Qorstack
✓Variables, tables, images, QR, barcode
Puppeteer
✕Manual setup
Visual Designer
Qorstack
✓Modern Web Dashboard
Puppeteer
✕Code editor only
Live Testing
Qorstack
✓UI forms + copy-ready code
Puppeteer
✕Write scripts & wait
PDF Controls
Qorstack
✓Password, restrictions, watermark
Puppeteer
~Custom code
Font Management
Qorstack
✓Pre-bundled + UI Upload
Puppeteer
~OS-level config
Price
Qorstack
✓Self-hosted OSS + Pro license
Puppeteer
✓Free (Open Source)

Qorstack vs Aspose, Jasper

Enterprise Suites

Template Format
Qorstack
✓Word + Excel templates
Aspose, Jasper
✓Word, XML
Code Integration
Qorstack
✓Fully-Typed SDK (qorstack-report-sdk)
Aspose, Jasper
✓Strongly Typed (Java)
Variable Mapping
Qorstack
✓Variables, tables, images, QR, barcode
Aspose, Jasper
~Manual / SDK checks
Visual Designer
Qorstack
✓Modern Web Dashboard
Aspose, Jasper
✓Desktop App
Live Testing
Qorstack
✓UI forms + copy-ready code
Aspose, Jasper
✓Desktop Preview
PDF Controls
Qorstack
✓Password, restrictions, watermark
Aspose, Jasper
✓Built-in
Font Management
Qorstack
✓Pre-bundled + UI Upload
Aspose, Jasper
~Server/OS config
Price
Qorstack
✓Self-hosted OSS + Pro license
Aspose, Jasper
✕Commercial ($1,000+)

Qorstack vs Carbone.io

Conventional APIs

Template Format
Qorstack
✓Word + Excel templates
Carbone.io
✓Word, Excel
Code Integration
Qorstack
✓Fully-Typed SDK (qorstack-report-sdk)
Carbone.io
~Untyped JSON / fetch
Variable Mapping
Qorstack
✓Variables, tables, images, QR, barcode
Carbone.io
✕Guess the JSON keys
Visual Designer
Qorstack
✓Modern Web Dashboard
Carbone.io
✓Web Studio
Live Testing
Qorstack
✓UI forms + copy-ready code
Carbone.io
~Web (JSON Editor)
PDF Controls
Qorstack
✓Password, restrictions, watermark
Carbone.io
~Plan-dependent
Font Management
Qorstack
✓Pre-bundled + UI Upload
Carbone.io
~Docker/OS config
Price
Qorstack
✓Self-hosted OSS + Pro license
Carbone.io
✓OSS Core + Cloud API

Pro License

One-time. Lifetime. No subscriptions.

Self-host with full Pro features — pay once, own it forever. Price increases as early seats fill.

20 seats left at this price
$149$499

Early Bird · one-time · lifetime license · per instance

Price increases to $299 after this batch

0 sold20 seats total

Template versioning

10 versions per template

PDF Password Protection

Encrypt PDF output

PDF Watermark

Brand your documents

Project Members

Team collaboration

Lifetime license

One-time · no subscription

All future Pro updates

Free upgrades included

Get Pro License — $149

Reply within 24 h · License delivered via email

Price Ladder

0

Early Bird

1–20 seats

$149

current

0

Founding Member

21–50 seats

$299

0

Standard

51+ · unlimited

$499

Your price is locked in permanently at the rate when you purchase.

Just want to support the OSS project?

No Pro features needed — any support keeps the free tier alive.

Star on GitHubBuy me a coffee

Wall of Fame

People who made this possible

Thank you for believing in this project early.

Founder

S

Satang Budsai

Creator & Maintainer

qorstack

Enterprise

Your company here

Be the first Enterprise supporter

Get License

Supporters

Be the first supporter

Your name appears here

Wall updated every 24–48 h · qorstack@gmail.com

FAQ

Common Questions

Can't find an answer? Email us

Open Source · Self-Hosted

Deploy in minutes.
Own it forever.

MIT licensed core. Full control over your data and infrastructure. Upgrade to Pro when your team is ready — no subscriptions, ever.

Self-Host for FreeGet Pro License
MIT License
No vendor lock-in
Docker ready
Lifetime Pro
terminal
bash
$git clone https://github.com/qorstack/qorstack-report
$cd qorstack-report
$docker compose up -d
·Starting services...
✓postgres ready
✓minio ready
✓gotenberg ready
✓qorstack-api ready :8080
✓qorstack-web ready :3000
·✓ Open http://localhost:3000
$
Qorstack ReportQorstack Report

© 2026 Qorstack Report.
Built for the developer era.

Product

Company

  • GitHub

Legal

© 2026 Qorstack Report. All rights reserved.

Made withfor developers