Show details for Build a Label with a Dynamic QR Code, End to End

Build a Label with a Dynamic QR Code, End to End

Build a product label with its own QR code and batch number on every label - the design in InDesign, the setup in Infigo Invent with a QR barcode, a Number variable and Batch mode, and the MegaEdit product your customers fill from a spreadsheet. Download the finished sample and follow along.

Build a Label with a Dynamic QR Code, End to End

Build a product label with its own QR code and batch number on every label - the design in InDesign, the setup in Infigo Invent with a QR barcode, a Number variable and Batch mode, and the MegaEdit productA product type in Infigo that uses the browser-based MegaEdit editor to let customers personalise templates online. your customers fill from a spreadsheet.

Guide9 min readVideo15-step guideUpdated 20 Oct 2026Sample files

Overview

Download the finished sample and follow along.

This page walks through one complete product: a jar label for a food producer. The customer types their logo, product name and weight once, then imports a spreadsheet with one row per label. Every label gets its own batch number and its own QR code, which opens that batch's web page. The page covers the essential steps in order and links to the detailed guide for each part.

How the pieces fit together

  • InDesign - you design the label: the background artwork and the die line, and a frame for everything that changes, including an empty frame for the QR code.
  • Infigo Invent - the InDesign plugin that turns the frames into fields, makes the QR code from a web address, adds a batch number, and switches on Batch mode for spreadsheets.
  • The .mex fileThe export format produced by the Invent InDesign plugin, containing a product template's structure, resources, variables, form logic, and configuration. - Invent exports your template as a .mex package.
  • A MegaEditInfigo's browser-based product personalisation editor, used to build and configure dynamic templates that end users customise online (text, images, clipart, masks, backgrounds, and more). product - you create the product on your storefront and upload the .mex to it.
  • Your customer - fills in the form once, imports a spreadsheet, and previews every label before ordering.

What you'll build

  • A QR code that reads its web address from a variable.
  • A batch number from a Number variable.
  • Batch mode: one label per spreadsheet row, each with its own batch number and QR code.
  • A logo the customer uploads or picks from your set.
  • A price per label, so an order for many labels is priced automatically.

The build at a glance

Download the sample files

  • The finished template, its artwork, a sample spreadsheet and the exported .mex file are on the Downloads tab at the top of this page. Download the sample pack (.zip).

Go further

Good to know

  • The QR code needs a Text variable to read from - create the web-address variable before you set up the barcode.
  • InDesign doesn't draw the QR code; MegaEdit does. The frame looks empty in InDesign.
  • In Batch mode every variable is Controlled by batch source until you untick it. Untick it on the fields the customer types once.
  • Start the spreadsheet from Download sample: it has a column for each batch field (BatchNumber, ProductUrl), and the mapping step picks those columns for you.
  • The logo frame starts empty in MegaEdit until the customer picks or uploads a logo.
  • When you change the template, export again and use Mex Import on the same product. Untick Update product image and Delete old images to keep your product pictures.
TipStart from the sample pack. Swap the logos and artwork for your own and keep the Invent setup, then try the batch import with the sample spreadsheet.

Before you begin

Downloads

Sample files

Everything you need to rebuild this QR label yourself, or to start your own from it.

QR label sample packZIP fileDownload

What's inside

  • QRLabel.indd - the InDesign template, already set up in Invent (QR barcode from a web address, batch number, logo, Batch mode).
  • Links - the label background and default logo the template uses.
  • Logos - the two logos in the Logos set.
  • labels.csv - a three-label spreadsheet to try the batch import.
  • QRLabel.mex - the exported template, ready to upload to a MegaEdit product.
  • README.txt - what's in the pack and how to use it.

The InDesign template uses Arial, which isn't included as a separate file; the .mex contains the font files Invent packages at export.

Step-by-step

  1. Design the label in InDesign

    Start with a finished design. This jar label is 90 x 50 mm with a 2 mm bleed. Put the background artwork and the die line (the cut shape, in a spot colour your printer can use) on a locked Background layer, and the frames customers change on an Editable layer above it: the logo, the product name, the weight, the batch number, an empty square frame for the QR code, and the line under it. The word Batch is part of the background, so the batch-number frame holds just the number.

    Locked background underneath, editable frames on top

    Locked background underneath, editable frames on top
  2. Open the Infigo Invent panel

    Invent works through one panel with five tabs: Resources, Variables, Properties, Setup and Export. If you're new to Invent, start with the business card build.

    The five Invent tabs, next to your design

    The five Invent tabs, next to your design
  3. Add your logos as a Clipart Set

    In Resources, click Add Resource Set, name it Logos and choose Clipart Set. Click Add Images / PDF, add the logos customers can pick from, and click Save.

    Two logos in the Logos set

    Two logos in the Logos set
  4. Add an Image Variable for the logo

    In Variables, click Add Variable, choose Image Variable and name it Logo, with a label and help text. Tick Allow Image Upload and the Logos set, then Save. Select the logo frame, set its Type to Image, and under Mapped choose Variable > Logo. More detail: Configuring image variables to accept clipart, uploaded images or both.

    Upload, or pick from Logos

    Upload, or pick from Logos

    Logo frame mapped to Logo

    Logo frame mapped to Logo
  5. Turn the text frames into form fields

    Select the product name frame. In Properties, tick Enable, click Link to new variable, choose Text Variable, and give it a name, label and help text. Do the same for the weight and the line under the QR code. More detail: Configuring text inputs.

    Properties > Enable

    Properties > Enable

    Name, label and help text

    Name, label and help text
  6. Add a Number Variable for the batch number

    In Variables, click Add Variable and choose Number Variable. Name it BatchNumber, give it a label and help text, and set a Default Value (here 1001). You can also set a minimum, a maximum and a step. Click Save. Then select the batch-number text frame, tick Enable, and under Mapped choose Variable > BatchNumber: a text frame can show a Number Variable. More detail: Number Variables.

    Add Variable > Number Variable

    Add Variable > Number Variable

    BatchNumber, default 1001

    BatchNumber, default 1001

    The batch-number frame shows BatchNumber

    The batch-number frame shows BatchNumber
  7. Add a Text Variable for the web address

    The QR code needs a Text Variable to read from. In Variables, click Add Variable, choose Text Variable, name it ProductUrl, add a label and help text, and type a Default Value (the address the code shows until the customer imports their spreadsheet). Click Save. It isn't linked to a frame: the QR code uses it.

    ProductUrl, with a default address

    ProductUrl, with a default address
  8. Make the QR code

    Select the empty QR frame. In Properties, set the frame Type (top right) to Barcode. On the Barcode sub-tab, set Type to QR, and under Mapped set Type to Variable and choose ProductUrl. Untick HRI (the human-readable text under a barcode) - a QR code doesn't need it. InDesign doesn't draw the code; MegaEdit does. More detail: Barcodes (and other AIDC, like QR) in Invent.

    Barcode > QR > ProductUrl, HRI off

    Barcode > QR > ProductUrl, HRI off
  9. Switch on Batch mode

    In Setup > Mode, set Operation Mode to Batch. Choose the Batch Sources customers can use (here CSVA plain text table format where each row is a record and values are separated by a delimiter, often a comma.), and keep Mapping ticked so they can match their own column names to your variables. Set the Minimum and Maximum Records, and keep Validation and Provide sample download ticked. More detail: Batch mode in Invent.

    Operation Mode: Batch, CSV

    Operation Mode: Batch, CSV
  10. Choose which fields come from the spreadsheet

    In Batch mode every variable has Controlled by batch source, ticked by default: its value then comes from the customer's spreadsheet, one label per row. Keep it ticked on BatchNumber and ProductUrl, so every label gets its own number and QR code. For the fields the customer types once (the logo, product name, weight and the line under the code), click Edit on the variable, untick Controlled by batch source and click Save.

    Untick it on the fields typed once

    Untick it on the fields typed once
  11. Lock the layout and check the form

    For each editable frame, open Properties > General and, under Restrictions, untick Allow Rotation, Allow Movement, Allow Resizing, Allow Z-order Adjustments and Allow Deletion. Then in Variables, click Setup Forms, put the logo first and click Save. More detail: Building a form in Invent for use in MegaEdit.

    General > Restrictions

    General > Restrictions

    Logo first, then the text

    Logo first, then the text
  12. Turn off extra fields

    In Setup > Field, untick Allow adding text fields and Allow adding image fields, so customers can't add their own text or image fields. For the other Setup options, see Invent Problem Solvers.

    Setup > Field: no extra fields

    Setup > Field: no extra fields
  13. Validate and export the .mex file

    In Export, click Set Export File and choose where to save the .mex file. Click Start Validations, then Export, and confirm the Media and Font License Confirmation.

    Start Validations

    Start Validations

    Export the .mex

    Export the .mex
  14. Create the MegaEdit product

    In Catalogue > Products > Product ManagementAn area of Infigo where administrators can create, edit or delete products on a Storefront., click Add new, type the name, set Product type to MegaEdit, use Upload Invent Package to add the .mex, and click Create. Then set the price on Product variants, map it to a category and add a picture. In Batch mode the price is per label: an order for three labels costs three times the price. More detail: Creating a MegaEdit product with Invent template.

    Name, MegaEdit type, Invent package

    Name, MegaEdit type, Invent package

    Price per label on the product variantAn area in the specification of each Infigo Product, generally concerned with the technical elements of the Product.

    Price per label on the product variant

    Mapped to a category

    Mapped to a category
  15. Check it as a customer

    Open the product as a customer. The QR code shows on the label, and the form has only the fields typed once. Download sample gives a spreadsheet with a column for each batch field (BatchNumber and ProductUrl). Import spreadsheet opens Placeholder Mapping, which shows how many records there are and picks a spreadsheet column for each batch field (change any that are wrong). Click Ok: the price now covers every label. In Preview, use Next Record to see each label with its own batch number and QR code. More detail: How to Set Up MegaEdit Batch (CSV) Uploads, Validation and Previews.

    The label in its category

    The label in its category

    Download sample and Import spreadsheet

    Download sample and Import spreadsheet

    Import a spreadsheet: every label gets its own batch number and QR code

    Import a spreadsheet: every label gets its own batch number and QR code

Video transcript

Overview video

0:00 QR code label product - overview

0:03 This page builds one complete product: a product label with its own QR code and batch number on every label, filled from a spreadsheet.

0:12 You design the label in InDesign. Invent, the InDesign plugin, turns each frame into a field, makes the QR code from a web address, and switches on Batch mode.

0:23 In your admin area, you create a MegaEdit product and upload the .mex file to it.

0:31 Your customer imports a spreadsheet, and every label gets its own batch number and QR code.

0:38 The Step-by-step tab walks through the whole build, with links to the detailed guide for each part. You can also download the finished sample from the Downloads tab and use it as your starting point.

Step-by-step video

0:00 Build a QR code label product, end to end

0:04 In this video we'll build a product label with a dynamic QR code from start to finish. You design it in InDesign. Invent, the plugin for InDesign, turns parts of the design into fields, adds a QR code, a batch number and Batch mode, and exports a .mex file. You upload that file to a MegaEdit product, and your customer fills it from a spreadsheet.

0:26 The label is 90 by 50 millimetres. The artwork and the die line sit on a locked layer, under the frames the customer changes, including an empty frame for the QR code.

0:38 Add a Clipart Set of logos, and an Image Variable called Logo that allows uploads and the Logos set.

0:46 Link the product name, the weight and the line under the code to Text Variables.

0:51 Add a Number Variable called BatchNumber, with a default value, and map the batch-number frame to it.

0:59 The QR code needs a Text Variable to read from. Add one called ProductUrl, with a default address.

1:07 Set the empty frame's type to Barcode, choose QR, and map it to ProductUrl. Untick the human-readable text. MegaEdit draws the code.

1:17 In Setup, set the Operation Mode to Batch, with CSV files, column mapping, validation and a sample download.

1:25 Every variable now comes from the spreadsheet. Untick that on the fields the customer types once, so only the batch number and the web address change from label to label.

1:36 Lock each frame in place, put the form in order, and turn off extra fields.

1:41 Validate, then export the .mex file and confirm the licence message.

1:48 In Product Management, add a new MegaEdit product and upload the .mex. Then set the price per label, and the category.

1:57 As a customer, import a spreadsheet. Each batch field is matched to a column, the price covers every label, and the preview shows each label with its own batch number and QR code.

2:08 That's the whole build. Download the sample pack from the Downloads tab to see every setting, or use it as the starting point for your own.

Search terms

Guide | Build a Label with a Dynamic QR Code, End to EndLast updated: 20 Oct 2026
Incomplete