> ## Documentation Index
> Fetch the complete documentation index at: https://mintlify.com/lopiv2/invenicum/llms.txt
> Use this file to discover all available pages before exploring further.

# QR Code Labels

> Generate, print, and scan QR code labels for instant item access

## Overview

Invenicum can generate QR code labels for any inventory item, enabling instant mobile access to item details, edit forms, and action menus. Perfect for warehouse management, equipment tracking, and physical asset organization.

<CardGroup cols={2}>
  <Card title="One-Scan Access" icon="mobile-screen">
    Open item details instantly by scanning with any QR reader
  </Card>

  <Card title="Customizable Labels" icon="ruler-combined">
    Set label dimensions to match your printer and label stock
  </Card>

  <Card title="Print-Ready PDFs" icon="print">
    Generate professional labels with item name and barcode
  </Card>

  <Card title="Barcode Integration" icon="barcode">
    Labels include both QR codes and traditional barcodes if available
  </Card>
</CardGroup>

## How It Works

### Generating Labels

QR code labels are generated server-side as PDF files, ready for printing on standard label stock.

<Steps>
  <Step title="Open Item Details">
    Navigate to any inventory item in your system.
  </Step>

  <Step title="Click 'Print Label'">
    Look for the label/print icon in the item actions menu.
  </Step>

  <Step title="Configure Dimensions">
    Set label size in millimeters:

    * **Width**: Default 50mm (typical for 2" labels)
    * **Height**: Default 30mm (typical for 1.2" labels)

    Common sizes:

    * Shipping labels: 101.6mm × 152.4mm (4" × 6")
    * Asset tags: 50mm × 30mm (2" × 1.2")
    * File folder labels: 66mm × 17mm
  </Step>

  <Step title="Generate PDF">
    Click "Generate" to create the label. A print dialog will open automatically.
  </Step>

  <Step title="Print or Save">
    Send to your label printer or save the PDF for batch printing later.
  </Step>
</Steps>

**Technical Implementation** (lib/data/services/asset\_print\_service.dart:12):

```dart theme={null}
AssetPrintService.printAssetLabel(
  assetId,
  width: 50.0,  // mm
  height: 30.0  // mm
)
// GET /items/{assetId}/print-label?width=50&height=30
// Returns: PDF binary (response type: bytes)
```

### Label Contents

Each label includes:

1. **Item Name**: Large, readable text
2. **QR Code**: Encodes a deep link to the item's detail page
3. **Barcode**: If the item has a barcode field populated, it's included as a secondary identifier
4. **Container/Type Info**: Small text showing organizational context

<Note>
  The QR code links directly to `https://your-invenicum-instance.com/items/{itemId}`, allowing anyone with the Invenicum app to access the item.
</Note>

### Scanning Labels

Use any QR code scanner app or the built-in scanner in Invenicum:

1. **Open Scanner**: In the Invenicum app, tap the scan icon
2. **Point at QR Code**: Camera focuses automatically
3. **Instant Access**: Item detail page opens immediately

**What You Can Do After Scanning:**

* View full item details
* Edit quantity or custom fields
* Create a loan record
* View price history
* Print another label

<Tip>
  Enable camera permissions for the Invenicum app to use the integrated scanner. Alternatively, use your device's native camera—the QR code will open in your browser.
</Tip>

## Use Cases

<CardGroup cols={2}>
  <Card title="Warehouse Bin Labels" icon="warehouse">
    Label shelves and bins so pickers can instantly see contents and quantities.
  </Card>

  <Card title="Equipment Check-out" icon="hand-holding-box">
    Scan items during loan creation to auto-populate forms—no typing required.
  </Card>

  <Card title="Asset Audits" icon="clipboard-check">
    Walk through facilities scanning items to verify inventory matches records.
  </Card>

  <Card title="Maintenance Logs" icon="screwdriver-wrench">
    Link physical equipment to digital maintenance histories via QR codes.
  </Card>
</CardGroup>

## Label Printer Compatibility

Invenicum's PDF labels work with:

* **Thermal Label Printers**: Zebra, Brother QL series, Dymo LabelWriter
* **Inkjet/Laser Printers**: Using adhesive label sheets (Avery, etc.)
* **Industrial Printers**: Any device accepting PDF input

<Warning>
  Thermal printers may require specific drivers or settings. Test with a single label before printing in bulk. Some printers need labels to be sent as images, not PDFs—consult your printer's documentation.
</Warning>

### Recommended Label Stock

For best results:

* **Material**: Polyester or vinyl for durability (paper works for indoor use)
* **Adhesive**: Permanent for fixed assets, removable for temporary tracking
* **Finish**: Matte reduces glare when scanning
* **Size**: Match your printer's supported dimensions

**Popular Options:**

* **Avery 6572**: 2" × 1.25" polyester asset tags (50.8mm × 31.75mm)
* **Zebra Z-Select 4000D**: Direct thermal labels (50mm × 25mm)
* **Brother DK-1201**: Address labels (29mm × 90mm)

## Advanced Features

### Batch Label Generation

For printing labels for multiple items at once:

<Steps>
  <Step title="Select Items">
    In the item list view, use checkboxes to select multiple items.
  </Step>

  <Step title="Click 'Print Labels'">
    Choose "Batch Print Labels" from the bulk actions menu.
  </Step>

  <Step title="Configure Layout">
    Set labels per page and dimensions.
  </Step>

  <Step title="Generate Multi-Page PDF">
    System generates a PDF with all labels laid out for your label sheet.
  </Step>
</Steps>

<Note>
  Batch printing is optimized for Avery-style label sheets where multiple labels fit on a single page.
</Note>

### Custom QR Code Destinations

By default, QR codes link to item detail pages. Advanced users can customize the destination URL:

1. Go to Settings → Label Configuration
2. Set a custom URL template: `https://custom-app.com/items/{itemId}`
3. New labels will encode the custom URL

**Use Cases for Custom URLs:**

* Link to external asset management systems
* Direct to custom web forms for check-in/check-out
* Integrate with third-party maintenance platforms

### Barcode vs. QR Code

**When to use QR codes:**

* Need to encode URLs or complex data
* Scanning with smartphones
* Small label sizes (QR codes are more space-efficient)

**When to use traditional barcodes:**

* Compatibility with legacy scanners
* Point-of-sale integrations
* Retail inventory with existing UPC/EAN codes

<Tip>
  Invenicum includes **both** on each label when a barcode exists, giving you maximum flexibility.
</Tip>

## Troubleshooting

### QR Code Won't Scan

**Problem**: Camera app or scanner doesn't recognize the code

**Solutions**:

1. Ensure adequate lighting—avoid glare and shadows
2. Clean the label surface (smudges reduce contrast)
3. Hold device 4-8 inches from label
4. Try a different QR scanner app
5. Increase QR code size by using larger label dimensions

### Labels Print Incorrectly

**Problem**: Labels are cropped, oversized, or misaligned

**Solutions**:

1. Verify label dimensions match your label stock exactly
2. Check printer page setup—disable "fit to page"
3. Use printer's native resolution (300 DPI for thermal printers)
4. Update printer drivers
5. Test with PDF viewer's print settings instead of browser print

### PDF Won't Download

**Problem**: Clicking "Generate Label" does nothing

**Solutions**:

1. Check browser's popup blocker settings
2. Ensure stable internet connection (PDF is generated server-side)
3. Try a different browser (Chrome/Firefox recommended)
4. Check browser console for API errors

## Best Practices

<CardGroup cols={2}>
  <Card title="Label Placement" icon="location-dot">
    Apply labels to flat, clean surfaces. Avoid curves where QR codes might distort.
  </Card>

  <Card title="Regular Replacement" icon="clock-rotate-left">
    Replace faded or damaged labels quarterly to ensure scannability.
  </Card>

  <Card title="Redundant Labels" icon="copy">
    Print duplicate labels for critical assets—apply to multiple sides.
  </Card>

  <Card title="Test Before Bulk Printing" icon="vial">
    Always print 1-2 test labels to verify size and quality.
  </Card>
</CardGroup>

## Security Considerations

QR codes expose item URLs publicly. Consider:

* **Access Control**: Ensure Invenicum requires authentication before showing item details
* **Sensitive Data**: Avoid including confidential info in item names (visible on labels)
* **Network Security**: Use HTTPS to prevent QR code URL interception
* **URL Expiry**: For high-security environments, implement time-limited QR codes

<Warning>
  Publicly accessible QR codes can leak information about your inventory structure. Implement proper authentication and authorization in Invenicum to protect sensitive data.
</Warning>

## API Reference

See the API documentation for:

* Asset Print Service - QR and barcode label generation API
* Print Label Endpoint - PDF generation for printing
