# What is VeloxFactory?

<div style="text-align: justify;">

VeloxFactory is a web application that lets you manage and render JasperReports templates — via a clean frontend, a powerful REST API, or both. It turns the well-established JasperReports engine into something any application can consume with a single HTTP call.

<div style="border-left: 4px solid #5fc75d; background: #f6fdf6; padding: 10px 16px; margin: 16px 0; border-radius: 0 4px 4px 0;">
🖥️ <strong>Desktop only — by design.</strong> VeloxFactory's views are complex enough that a proper mobile experience requires dedicated work. The application is intentionally optimised for desktop browsers — a minimum resolution of <strong>1600×900</strong> is recommended; anything below that will work, but becomes cumbersome to navigate. A mobile-friendly version is on the roadmap, but not imminent.
</div>

[![report-config.index.png](https://docs.veloxfactory.kiwi-software.dev/uploads/images/gallery/2026-05/scaled-1680-/report-config-index.png)](https://docs.veloxfactory.kiwi-software.dev/uploads/images/gallery/2026-05/report-config-index.png)

---

<h3 id="where-it-fits" style="color: #203671; margin-top: 2.2em;">Where VeloxFactory Fits</h3>

JasperReports is a mature, battle-tested report engine. It produces high-quality PDFs, supports complex layouts, barcodes, images, and dynamic data — and it has been doing so reliably for decades. Integrating it directly requires a JVM on your server and Java code to drive it — which is a natural fit for Java stacks, but an overhead most PHP, Python, or C# teams prefer to avoid.

VeloxFactory sits on top of the JasperReports render engine and exposes its capabilities via a clean REST API and a management frontend. The render engine runs in pure PHP — no JVM process required on your application server. You design your report templates in Jaspersoft Studio as usual, upload them once, and from that point on — rendering is just a POST request.

```http
POST /api/v1/report-config/A5_KanBan/render
Content-Type: application/json
Authorization: Bearer <token>

{
  "outputType": "base64",
  "parameters": { "P_ARTICLE_NUMBER": "4561287-154" },
  "data": [...],
  "createHistoryRecord": true
}
```

That is the entire integration.

---

<h3 id="origin" style="color: #203671; margin-top: 2.2em;">Where It Came From</h3>

VeloxFactory was built by someone with a logistics and IT background who needed a simple, reliable way to generate article labels on demand — from whatever system was running at the time, without caring about the underlying report engine. The original idea was modest: a small API wrapper around JasperReports, nothing more.

It grew. A frontend to manage templates. Connection configs for live SQL data. History records for traceability. Print task dispatching. A permission system. What started as "just get me a label PDF" is now a full suite — and the name stuck, question mark and all.

---

<h3 id="what-it-does" style="color: #203671; margin-top: 2.2em;">What VeloxFactory Does</h3>

At its core, VeloxFactory does four things:

**Manages report templates.** You upload `.jrxml` files, and VeloxFactory analyses them automatically — detecting parameters, data fields, and image resources. Everything is stored, versioned, and ready to render.

**Connects to your data.** VeloxFactory can execute SQL queries against live databases at render time. MySQL, MariaDB, PostgreSQL, and SQL Server are all supported. No live connection needed either — you can deliver data directly in the render request as a JSON array, which makes it equally useful for applications that already have the data in memory.

**Renders on demand.** A single API call produces a PDF. You choose the output format — Base64-encoded inline, a file URL, or silent output for print-only flows. Rendering is synchronous and fast.

**Dispatches print jobs.** Rendered PDFs can be forwarded directly to a print service via WebSocket, creating a traceable `ReportPrintTask` with status tracking. Labels off the printer, not just on the screen.

---

<h3 id="who-its-for" style="color: #203671; margin-top: 2.2em;">Who It Is For</h3>

VeloxFactory is for anyone who needs to generate documents — labels, reports, delivery notes, production sheets, certificates — reliably and programmatically. The typical home is in **logistics, production, and warehousing**, where printing article labels, kanban cards, or shipment documents is a daily operational need and downtime is not an option.

More broadly: if your application needs to produce a PDF from structured data, and you do not want to build and maintain a report engine yourself, VeloxFactory is the answer.

---

<h3 id="deployment" style="color: #203671; margin-top: 2.2em;">Deployment</h3>

VeloxFactory is a standard Laravel application. It runs wherever PHP runs — which is nearly everywhere.

<table style="width: 100%; border-collapse: collapse;">
  <thead>
    <tr style="border-top: 1px solid #e6e8ef; border-bottom: 1px solid #e6e8ef;">
      <th style="text-align: left; padding: 6px 10px;">Scenario</th>
      <th style="text-align: left; padding: 6px 10px;">Works?</th>
    </tr>
  </thead>
  <tbody>
    <tr style="border-bottom: 1px solid #e6e8ef;">
      <td style="padding: 6px 10px;">Cloud VM or VPS</td>
      <td style="padding: 6px 10px;"><span style="color: #349b31; font-weight: 600;">Yes</span></td>
    </tr>
    <tr style="border-bottom: 1px solid #e6e8ef;">
      <td style="padding: 6px 10px;">On-premise server</td>
      <td style="padding: 6px 10px;"><span style="color: #349b31; font-weight: 600;">Yes</span></td>
    </tr>
    <tr style="border-bottom: 1px solid #e6e8ef;">
      <td style="padding: 6px 10px;">Docker container</td>
      <td style="padding: 6px 10px;"><span style="color: #349b31; font-weight: 600;">Yes</span></td>
    </tr>
    <tr style="border-bottom: 1px solid #e6e8ef;">
      <td style="padding: 6px 10px;">Raspberry Pi on the shop floor</td>
      <td style="padding: 6px 10px;"><span style="color: #349b31; font-weight: 600;">Yes</span></td>
    </tr>
    <tr>
      <td style="padding: 6px 10px;">Jaspersoft Server</td>
      <td style="padding: 6px 10px;"><span style="color: #525E5A;">Not needed</span></td>
    </tr>
  </tbody>
</table>

The setup is intentionally slim. PHP, a database for VeloxFactory itself, and the JasperPHP render engine — that is the stack. No application server, no JVM process to manage, no separate Jaspersoft infrastructure. VeloxFactory bundles everything it needs.

<div style="border-left: 4px solid #5fc75d; background: #f6fdf6; padding: 10px 16px; margin: 16px 0; border-radius: 0 4px 4px 0;">
ℹ️ <strong>Want to try it first?</strong> A live demo is available at <a href="https://demo.veloxfactory.kiwi-software.dev" target="_blank">demo.veloxfactory.kiwi-software.dev</a>.
<p style="margin: 6px 0 0 0;"><strong>Login:</strong> <code>demo@velox.factory</code> &nbsp;·&nbsp; <strong>Password:</strong> <code>demo</code></p>
</div>

</div>