Label Data¶
The LABEL DATA tab supplies the list of records to print. One record produces one label, so a list of 30 packages prints 30 labels.
Once data is loaded, a card at the top of the tab shows how many records you have, with Show to inspect them as JSON and Clear to start over.
There are four sources:
| Source | Use it for |
|---|---|
| Load from Metrc | Pulling packages, plants or plant batches directly. T3+ only |
| Demo Packages | Sample data for exploring label features without touching real records |
| Import from File | Uploading a CSV or JSON file |
| Manual Entry | Typing or pasting label data directly |
Loading From Metrc¶
Choose what to load. The superpackage options attach lab results, history and source harvests to each package, which is what makes potency and testing fields available to your templates, and is also why they are capped lower:

| Data type | Maximum records |
|---|---|
| Active Superpackages | 100 |
| In-Transit Superpackages | 100 |
| Active Packages | 500 |
| In-Transit Packages | 500 |
| Vegetative Plants | 500 |
| Flowering Plants | 500 |
| Active Plant Batches | 500 |
Then pick your records in one of two ways, side by side:
- Search Metrc: a search box scoped to the matching Metrc grid. Selecting a result adds it to your label data. Good for a handful of records.
- Tags: a text box for pasting tags directly, one per line, with a Load button. Good for a list you already have in a spreadsheet.
The Studio opens on Active Superpackages, and returns there whenever you reset.
Other Data Sources¶
Import from File takes a CSV or a JSON array, one row or object per label.
Manual Entry gives you a JSON editor bound directly to the label list, plus an empty label generator, pick a count and get that many blank records. This is how you print a run of identical labels that carry no Metrc data at all: generate the number of labels you want, and let the layout supply everything.
Demo Packages loads realistic sample packages. Use it to explore fields, sizes and layouts before pointing the label at anything real.
Once data is loaded, every field on the record is available to your value templates. For a package, that includes:
{{ package.label }}: the Metrc tag{{ package.item.name }}: the item name{{ package.item.strainName }}: the strain{{ package.quantity }}and{{ package.unitOfMeasureName }}, quantity and unit{{ package.metadata.totalThc }}and{{ package.metadata.totalCbd }}, extracted lab results, when present
Use Insert Field in the Layout Builder rather than typing these from memory, it lists exactly what your loaded data contains, with an example value beside each one.
Default Data, Built-in Data, and Images¶
Three more tabs round this out:
- Default Data holds values shared by every label, such as a facility address, and values used as a fallback when a record does not have its own. These are available to templates the same way record data is. See Default Data.
- Built-in Data lists what T3 provides for free under the
t3.namespace, state warning images, compliance disclosures, and Poison Control Center contact info. For example,{{ t3.images["t3_logo.png"] }}renders the T3 logo. See Built-In Data. - Images is where you upload your own logos and graphics. Uploaded images are referenced as
{{ t3.images["your-file.png"] }}and are offered by name in the Insert Image picker.
Next Steps¶
- Write the values into your layout in Layout Element Values.
- Produce the PDF in Saving and Generating.
- Follow a data-driven label end to end in Adding Data to a Label.