Asset QR Labels - edmozley/freeitsm GitHub Wiki

QR asset labels

Stick a code on a laptop, scan it with a phone, and you're looking at the asset — with its history, its owner, and the ability to change its status and location while you're stood next to it.

The point isn't the QR code. It's that walking round with a phone becomes a way of doing the asset audit instead of writing it on a pad and typing it up afterwards.


The two halves

Printing — FreeITSM gives each asset a number and a code, and you print them onto label stock.

Scanning — anyone with access scans a label and lands on that asset.

And a third path for companies that don't want FreeITSM picking the numbers: see Using pre-printed tags.

Asset tags

An asset tag is the number you write on kit — LT0001, DT0042. Open any asset and it's the first field on Key info.

Tags are unique per company. Two companies on one install can each run their own LT0001 without colliding; only the QR itself is unique across the whole install. If you type a tag that's already in use, FreeITSM tells you which asset has it rather than just refusing — so you can go and look rather than hunt through a list.

Tags are optional. An asset without one still gets a working QR label; the label just prints no tag where the number would be.

Automatic tags

Switch on Assets → Settings → Asset tags and every new asset gets the next tag in sequence — whether it's added by hand, through the API, from an import, by the inventory agent or by Intune. You choose the shape in one line, with the same tokens as ticket numbering: AST-{#####}, {COMPANY}-LT-{####}, IT{YY}-{######}. The screen shows the next few tags as you type.

  • A tag typed in by hand is always kept.
  • Each company counts on its own unless you choose to count once across them all.
  • A number is never given out twice — not after the asset is deleted, and not if you move the counter. You can move it forward, never back.
  • A tag can still be changed on the asset; the change is in its history, and the label's QR keeps working, because it never contained the tag.

It's off until you switch it on.

Printing labels

One asset: open it and click Print label.

A batch: in the asset list, Ctrl+click or Shift+click to pick several — exactly as you'd select files — then Print labels on the bar that appears. A plain click still just opens an asset, so nothing changes if you never use it.

Either way you get the print page, showing every label exactly as it will print:

  • Pick the design - your default is already chosen - and, if you like, a different label size for this print.
  • Each label carries the QR and the asset tag, plus the fields you choose under Assets → Settings → Asset labels & QR — hostname, serial, model, location, a finance ID from your custom fields — in the order you choose, with an optional header, footer and your logo. The tag is printed as text as well as encoded, because a scuffed or dirty code still has to be readable by a person — which is why asset tags survived the invention of the barcode.
  • Download makes a PDF at the label's exact size. Print it at Actual size - never "Fit to page".

Check the alignment on plain paper first. Printers vary by a millimetre or two, and label stock is expensive to waste. If a sheet prints a little out of line, set the design's printer offset (below).

Label designs (4.8.0)

(#229, the first part of the label designer.) Assets → Settings → Asset labels & QR → Label designs keeps several designs. Each is a layout on a label size, with a font. Print label uses the one marked Default; you can pick another on the print page.

Layout Looks like
Standard The label as it has always looked: header, QR (with your logo in the middle if you have one), the tag and fields beside it, footer
Logo left, details middle, QR right For tape: your logo large on the left, the header and fields in the middle with their names above them, the QR code on the right
Small The QR code and the asset tag - for 12 mm tape and small kit
Large For tall labels: your logo across the top, the header, the QR code, then the fields

Every layout draws from the header, footer, fields, field names and logo set further down the same tab, so changing those changes every design - until you save it in the label designer. Long values shrink to fit their line, down to a smallest size, and are then cut off with "...", so nothing ever prints outside the label.

The first time labels are printed after upgrading, each company's Standard design is made from its current settings on the 65-per-sheet size and becomes its default - so nothing changes until you choose.

The label designer (4.8.0)

Design, beside each design in the list, opens it in the label designer: a full-screen editor that works like PowerPoint, with a ribbon along the top, a toolbox on the left, the label in the middle with rulers in millimetres, and the selected item's properties on the right.

  • Add things by dragging them from the toolbox onto the label, or by clicking one (or using the Insert tab) to drop it in the middle: Text (your own words, which can include fields such as {hostname}), a Field (one value from the asset, with or without its name), a Field list (several values, one per line, the tag first and larger - the classic label), the QR code, your Logo, a Line and a Box. Each field also has its own entry under Fields in the toolbox.
  • Move and resize with the mouse. Items snap to the label's edges and centre and to each other's edges and centres, with pink guide lines while you drag, and to a half-millimetre grid. Hold Alt to place freely, Shift while resizing a corner to keep proportions, and Shift while dragging to move in a straight line. A QR code is always square.
  • Select by clicking, add to the selection with Shift+click, or drag across empty label to pick several. Arrange aligns one item to the label, or several to each other, spaces three or more out evenly, changes which is in front, and rotates a quarter turn.
  • The keyboard: arrow keys nudge by 0.5 mm (Shift: 2 mm), Delete, Ctrl+Z / Ctrl+Y undo and redo everything, Ctrl+C / X / V / D copy, cut, paste and duplicate - also from one design to another - Ctrl+A selects all, Ctrl+S saves. Right-click for a menu.
  • The properties pane has the exact position and size in mm, and for text the size, bold and italic, alignment across and down, colour, and what happens when a value is too long: shrink to fit (down to the smallest size you set, then cut off), wrap onto more lines, or cut off with ....
  • Preview with (on the Label tab, or in the pane when nothing is selected) draws the label with a real asset's values, or with Sample with long values - a made-up asset with very long names - so you see whether a long model name fits before printing 200 labels. The label is drawn by the same code that prints it. Choosing an asset here never creates a code for it.
  • Label tab: the label size (or your own size), the font, the grid and snapping, zoom (also Ctrl+mouse wheel).

Saving keeps exactly what you laid out. A design made from a ready-made layout follows the header, footer and fields further down the tab until you save it in the designer; from then on it is your own design and those settings no longer change it. Its size is changed in the designer, so the print page shows it fixed. If somebody else saved the same design while you had it open, Save says so instead of overwriting their work.

On a narrow screen the toolbox is hidden (the Insert tab does the same) and the properties sit under the label; the designer is best used on a computer.

Barcodes (Code 128) for hand scanners that read only barcodes are the next part of #229.

Label sizes

Kind Sizes How it prints
Tape or roll Brother TZe 12, 18, 24, 36 mm; Brother DK 62 x 29 and 90 x 29 mm; Dymo 89 x 36 and 54 x 25 mm; or your own size One label per page, each page exactly the label's size. Print the PDF through the label printer's own driver at Actual size, with the matching tape or label chosen in the driver
Sheet The four A4 sheets FreeITSM has always offered (65, 40, 24 and 12 per sheet), laid out to Avery's published positions Labels in rows and columns on A4 pages. A printer offset of up to 10 mm right and down moves every label if your printer prints a little out of line

Tape printers print in solid black (4.9.0)

A tape or roll printer cannot print grey. Its driver turns grey into a pattern of dots, and at label sizes that is hard to read: grey field names come out as smudges and a grey logo comes out speckled. So a design has a Black-only printer tick box (Edit on the design):

  • Ticked, every piece of text, line and box prints in solid black, and the logo is cut to pure black and white. The preview shows it that way too, so you see what will print.
  • Unticked, colours and the logo print as they are - for A4 sheets on a colour printer.

A design starts ticked on a tape or roll size and unticked on an A4 sheet. Designs made before 4.9.0 follow the same rule until you change the tick box.

Field names printed above their values are now in the text's own colour and never smaller than 5 pt.

If text still looks rough: print the PDF from a desktop PDF reader (Adobe Acrobat Reader, SumatraPDF) or Chrome rather than Firefox. Firefox's built-in PDF viewer prints at about 150 dots per inch, which softens small text before it reaches the printer.

Fonts, and names in any language

Labels use Noto Sans, a free font bundled with FreeITSM that covers Western and Eastern European languages, Greek, Cyrillic and Vietnamese. Any character it does not have - Chinese, Arabic, Hindi - is drawn by the computer's own fonts, so a name in any language prints, with Arabic joined and right to left and Indian scripts combined correctly.

Label fonts on the same tab uploads a font - TTF, OTF, WOFF or WOFF2, up to 20 MB - for your brand, or so a language looks the same on every computer. Choose it on a design. You confirm you may use the font in documents you print, because some commercial fonts do not allow it. A font a design uses cannot be deleted until no design uses it.

The text on a label is drawn by your browser, exactly as the print page shows it, and put into the PDF at 600 dots per inch - twice what most label printers print. The QR code is drawn as sharp vector squares. What prints is what you saw.

The codes are generated inside your own install — nothing about your estate is sent to an outside QR service.

Scanning a label

Point any phone camera at the code. No app.

You'll land on a page built for a phone, showing what the thing is, who has it, its serial, warranty and when it was last seen — and letting you change its status and location on the spot. Anything heavier links through to the full record.

You need to be signed in. If you're not, the page says so; sign in and scan again. The label is in your hand, so that's the shortest way back.

A label for a company you can't access simply isn't recognised — the same answer you'd get from a code that doesn't exist, so a label can't be used to find out what exists elsewhere on the install.

Scanning a lot of labels — the built-in scanner

The phone camera above is the easiest way to look one thing up. It's the wrong tool for a stocktake: updating forty assets means leaving FreeITSM, opening the camera, tapping the banner, editing, and repeating the whole dance forty times.

Assets → Scan keeps the camera on screen, so the loop is scan, done, scan again. Two modes, because what a scan should mean depends on the job:

Mode What a scan does
Look up Opens that asset. The single-asset case.
Stocktake Choose a status and/or location once, up front; then every asset you scan is updated as you go, with a running count and a list of what you've done.

Things worth knowing:

  • An asset already set the way you're setting it is counted as seen and left alone. A stocktake shouldn't fill five hundred asset histories with changes that changed nothing.
  • Resting the camera on one label doesn't count it five times. Each asset counts once per session, so the number at the top is one you can trust.
  • Undo last puts the most recent one back, for the inevitable wrong laptop.
  • It reads FreeITSM's own labels and the manufacturer's barcode already on most kit — so an asset you haven't tagged yet is still findable by its serial.
  • You can type a tag, serial or hostname when a label is damaged or the camera is blocked.
  • A torch toggle appears on phones that expose it, which matters on a dim shelf.
  • A scan gives a short buzz and blip, because in a store room you're looking at the kit, not the screen.
  • Decoding happens entirely on your phone. No image goes anywhere.

⚠️ The camera needs an https address. Browsers refuse camera access on a plain http:// one — a browser rule, not a FreeITSM one. There the page says so and typing still works. It's the same address the labels point at, so if your labels work, the scanner will.

Every edit made this way goes through the same code path as a desktop edit, so asset history and the warranty calendar are updated exactly as they always were. A phone edit is not a lesser edit.

Using a professional printing company

Durable labels — polyester or anodised aluminium — outlast anything you'll print in the office, and matter far more than the encoding once a laptop has been knocked about for three years.

There's no single standard for asset labels, but there is a standard process, and FreeITSM produces what it needs:

  1. Select your assets and open the print sheet.
  2. Click CSV for a printer. You get one row per label — asset tag, hostname, serial, and the QR's URL as plain text.
  3. Send that to the print house. They'll merge it into their own template (the trade calls this variable data printing) and send you a proof.

The QR contains an ordinary web address, which every print system can encode and every phone can read — so you're not asking them to do anything unusual.

Using pre-printed tags

Plenty of companies buy a box of sequentially numbered tags rather than printing their own. Then the job is the other way round: the sticker exists, and the database needs to agree with it.

Assets → Assign tags is built for that, and for doing it quickly:

  1. Scan the asset — point a barcode scanner at the manufacturer's serial sticker, which is already on virtually every piece of kit. (You can type a hostname or an existing tag instead.)
  2. Check the asset it found — it's shown before you go any further.
  3. Scan or type the tag going on it, and save. It resets straight to step 1 for the next one.

A barcode scanner is just a keyboard that types and presses Enter, so there's nothing to install or pair. A running list of what you've tagged builds up as you go, and a tag that's already in use is refused without losing your place, so you can put a different one on and carry on.

Matching is exact — no near-misses — because the one genuinely bad outcome here is putting a tag on the wrong machine.

Good to know

  • Codes are minted when you first print, not when the asset is created. An install with 4,000 auto-discovered machines isn't carrying 4,000 codes for labels nobody will print.
  • A tag change is recorded in the asset's history, like any other field.
  • Re-printing gives the same code. A label that's fallen off can be replaced without invalidating anything.
  • Company scoping applies throughout — the list you print from, the CSV, and the scan itself.

See also