For software platforms, OEMs, and integrators
Label and document printing for your product or ERP, with a designer your team will actually want to use. Design templates in the Qpro+ canvas, call the API with live data, and handle new formats as design edits instead of hardcoded changes.
Free sandbox account · No expiry · First label in about five minutes
Features
The canvas, the template library, and the API are one product. Every feature below works on the same templates, whether a person prints from the browser or a system calls the API.
Design canvas
| Browser-based designer | Design labels and documents in the browser. Nothing to install. |
| Labels and documents | Shipping and pallet labels, placards, packing lists, certificates of analysis, and form-fill PDFs in one library. |
| Precision placement | Smart guides, edge and centre snapping, equal-spacing hints, and X/Y nudging. |
| Any unit, any size | Dimensions in inches, millimetres, or pixels, with rotation in 45° increments. |
| Text, images, and shapes | Multi-line text with wrapping, images, lines, and shapes. |
| Colour and layering | Full type, colour, transparency, and layering when the artwork calls for it. |
| Customer graphics | Upload logos and compliance marks once and reuse them across templates. |
| Right-to-left text | Set text that reads right to left. |
Barcodes and encoding
| 1D barcodes | Code 128, Code 39, EAN, GS1-128, and more. |
| 2D barcodes | GS1 DataMatrix, QR, and QR carrying a GS1 Digital Link. |
| SSCC | Serial shipping container codes for case and pallet hierarchy. |
| Dual marking | Place a 2D code beside the existing UPC or GS1-128 on the same template. |
| RFID encoding | Encode RFID stock as part of the template, on ZPL output. |
Dynamic data
| Live fields | Every template field resolves from your mapped data at print time. |
| Serialization | Counters generated by Qpro+, or serial data you send through the API. |
| Combined fields | Join several values into one string for text or for 1D and 2D barcodes. |
| Conditional fields | If/then rules with a dozen comparison operators. |
| Calculated fields | Add, subtract, multiply, and divide, with fallback values. |
| Pass-through fields | Mark a field so it renders without being stored. Integrate plan. |
| Generated request snippet | Qpro+ writes the request for the fields you mapped. |
Output and printing
| ZPL | Returned to your application, sized to your printer's resolution and printhead width. |
| Vector PDF for documents, laser printers, archive, and email. | |
| SVG | Hosted vector files, one per copy. |
| Markup JSON | The resolved template as data, for checking values or feeding your own renderer. |
| PrintNode delivery | Send ZPL to thermal printers or PDF to office printers through PrintNode. |
| Browser printing | Print from a web page through the browser dialog. |
| No print server | Nothing to install or maintain at each site. |
Change control and history
| Draft and Active states | Work in progress never reaches production until you promote it. |
| Optional approval | Route a change to a reviewer by email before it goes live. |
| Version history | Every revision is kept, with who changed it and when. |
| One-step rollback | Restore an earlier version and the next request prints it. |
| Cloning | Copy a template with its layout and fields. The clone starts as a Draft. |
| Print history and reprint | A record of what printed and when, with reprint from the list. |
| Utilization metrics | See how much each account renders. |
| Users and shared templates | Multiple users work from one shared library. |
API and plans
| One request shape | Seven routes take the same three fields: template name, copies, and data. |
| Key and secret authentication | Two request headers, with separate keys for sandbox and production. |
| OpenAPI and Postman | An OpenAPI 3.1 spec that imports straight into Postman. |
| Tool definitions for AI agents | Ready-made definitions for Claude, OpenAI, Gemini, and Microsoft 365 Copilot. |
| Rate limit | 60 requests a minute per key, raised to your throughput on paid plans. |
| Free sandbox | No expiry and no print cap, with two templates and one user. |
| Per-render pricing | Never priced per printer or per seat. |
| White-label and embedded | Sit behind your product, with your customers contracting with you. Integrate plan. |
Live demo
No account needed. The Qpro+ API resolves your three values into a finished label you can print on any printer. Demo labels carry a SAMPLE watermark.
The same three fields a Qpro+ API call sends. Each key matches a placeholder on the template.
Keep printing
Enter your work email and the demo carries on. We will also send you a free sandbox link, where you design your own templates without the watermark.
Rendered output
Why platforms embed Qpro+
When label and document formats are written into your application, each customer request becomes engineering work: a new retailer layout, an added DataMatrix, a logo change. Qpro+ moves those formats out of your build and into a library your team can edit without a deploy.
Your product sends a template name and the data. A customer-specific label or packing list is built in the canvas, and the next API call uses it.
Billed per render, never per printer, seat, or end-customer license. A customer with 40 printers costs you the same as one with four, and they contract with you.
Draft, send for optional approval, and promote. Every version is kept, and rollback puts the last Active template back into production without waiting on the approval queue.
Already shipping inside another product. A technology leader in global electronics refurbishment diagnostics, equipment, and services embeds Qpro+ in what they deliver to their own customers.
How it works
Place text, images, and any 1D or 2D symbology on the canvas, including GS1-128, DataMatrix, and SSCC. Add RFID encoding where the stock supports it.
Use the field names your system already sends. Qpro+ writes the request snippet for you. On Integrate, mark a field pass-through and it renders without being stored.
One authenticated request returns the finished label as ZPL, PDF, or SVG. Stream it to the printer, attach it to the shipment, or hand it to PrintNode.
A server-side call needs no SDK, and there is no print server to run at your customer's site. The template resolves when the request arrives, so an edit in the canvas shows up on the very next label.
# one call, at the moment the label is needed curl -X POST "https://api.beta.quandosol.com/api/custom-labels/render-zpl" \ -H "Content-Type: application/json" \ -H "X-API-KEY: $QPRO_API_KEY" \ -H "X-API-SECRET: $QPRO_API_SECRET" \ -d '{ "label_name": "FG-PALLET-4x6", "amount": 1, "apiData": { "lot_number": "L25-8814", "pallet_id": "PLT-4471", "piece_qty": "48 CS", "customer_code": "NORTHFIELD" } }' # → { "labels": ["^XA … ^XZ"] }, one ZPL job per copy
Where Qpro+ fits
The same canvas and library serve both. A team that starts by printing from a browser can wire up the API later without rebuilding anything.
Platform & OEM
Qpro+ sits behind your interface. You hold the customer contract, set your own pricing on top, and give each customer their own templates without shipping a new build.
For platform teams →Manufacturing & warehouse
Retailer routing guides and co-packer formats in one place, printed straight from your MRP, ERP, or WMS. A leading plastics manufacturer serving major brands in the US and Mexico runs more than four million labels a year this way.
For operations →GS1 Sunrise 2027. Retailers have committed to scanning 2D codes at point of sale by the end of 2027, so products will carry a DataMatrix or Digital Link QR beside the UPC. In Qpro+ that is a template edit, and no calling system changes.
Start free
A free SANDBOX account doesn't expire except if abandoned. You get 2 templates to create, so you can test features and print on real hardware.