Files
wanderbooks/docs/spec/sources/avery-5160.md
T
swaitsandClaude Opus 5.5 ee7e205f5c
check / check (push) Waiting to run
Fixed assets, fully featured: tags, serials, acquisition links, label sheets, the fixed asset register, and an Assets section in the viewer; fix a flaky verify
- core: asset tags (generated PREFIX-0001 or the human's own; unique ignoring case; never reused by another asset) and serial numbers (rules.md B-24); a journaled link from an asset to the entry that acquired it (posted, unreversed, debiting the cost account); fixed_asset_register(as_of), reconciled to the GL (unposted depreciation, unregistered cost)
- store: asset.tagged, asset.serial_set, asset.acquisition_linked journaled, replayed, projected (schema v9); differs_from now also compares control roles and tag history
- config: [books] asset_tag_prefix, default the company's initials without legal-form words
- import: Avery 5160/8160 label sheets with QR codes (geometry vendored from Avery, docs/spec/sources/avery-5160.md); the register as XLSX and PDF
- mcp: register_asset tags (and links) automatically; books.label_asset, books.asset_labels; asset tools take a tag; books.show asset / assets page / register report; export fixed_asset_register (json, csv, xlsx, pdf) and in the CPA package
- viewer: Assets page (register, reconciliation), asset page (identity, schedule posted vs not, entries, documents), Fixed asset register report, global search by tag/serial/description, journal text, needs-attention items
- fix: verify compared snapshot amounts as strings; a zero total summed in hash-map order could print "0" or "0.00", so agreeing books failed verify at random. Now by value (regression test)
- tests: spec-blind suites for tags, register, prefix, store, MCP; label and register PDF/XLSX tests; viewer tests

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GWVo7x3UHw5kwCUaWxiejX
2026-10-15 12:18:00 -06:00

2.9 KiB

Avery 5160 label sheet geometry

Governs ledger_import::labels (LabelSheet::Avery5160, printable asset-tag sheets). Avery's pages and templates are © Avery Products Corporation, not public domain, so per the vendoring rules (docs/spec/README.md) they are cited, with short quotes only; everything not inside a > blockquote is our description, not Avery's words. Avery's pages are dynamic (Next.js), so the hashes are of the files as fetched at retrieval and a later fetch will differ.

Avery Template 5160 (product template page)

Source: https://www.avery.com/templates/5160
Retrieved: 2026-10-15
SHA-256 of the retrieved file (templates_5160.html, 90,873 bytes): a274842ad34b3cb83e3129306df8b4f4ff51eb520c96cc263d96eff7b15c0a95

1" x 2-5/8"

30 per sheet

The page links Avery's blank downloadable template for 5160 as U-0087-01 (PDF, Word, Illustrator, InDesign).

Blank labels, 1" x 2-5/8" (Presta 94200; lists 5160 as compatible)

Source: https://www.avery.com/blank/labels/94200
Retrieved: 2026-10-15
SHA-256 of the retrieved file (blank_labels_94200.html, 274,099 bytes): c4e7c7eb3428654b1244ed04da5f52ef7668c14d6703f971ea7d0be7daa95b17

Avery's specification table on this page (key and value, transcribed as given):

Key Value
Labels per Sheet 30 labels per sheet
Size 1" x 2-5/8"
Print to the edge No
Sheet Size 8-1/2" x 11"
Margin (Top and Bottom) 0.5"
Margin (Left and Right) 0.1875"
Corner Shape Rounded

The page's compatibleSkus field lists 5160 first.

Avery 5160 blank PDF template (U-0087-01.pdf)

Source: the "PDF" download on https://www.avery.com/templates/5160 (a signed S3 link: https://s3.amazonaws.com/avery.dpp.projects.s3uspdownloadables/US_en/Downloadables/pdf/U-0087-01.pdf, served as Avery5160AddressLabels.pdf)
Retrieved: 2026-10-15
SHA-256 of the retrieved file (U-0087-01.pdf, 675,971 bytes): 486b464c0380d41225f752dc834c5d7e6362364c1454d7ed92a77fc4164d0466

One US Letter page (612 x 792 pt). We read the cell outlines from its content stream (PDF points, origin bottom-left): 30 rounded rectangles, left edges at x = 13.5, 211.5, 409.5 pt; bottom edges at y = 36, 108, ..., 684 pt (step 72); each 72 pt tall with 7.2 pt (0.1") corner radii. The outline is drawn 189.36 pt wide (2.63"); the stated label width is 2-5/8" (189 pt), and we use the stated size.

What wanderbooks uses

Derived from the figures above (1 in = 72 pt):

  • Page: 8.5" x 11" (US Letter), portrait.
  • Label: 2.625" wide x 1" tall; 3 columns x 10 rows = 30 per sheet.
  • Top margin 0.5" (the template's top row spans y = 756..684 pt, i.e. 36 pt below the top edge); bottom margin 0.5" (11 - 0.5 - 10 x 1 = 0.5).
  • Side margin 0.1875" (13.5 pt).
  • Column pitch 2.75" (211.5 - 13.5 = 198 pt), so the horizontal gap is 0.125" (8.5 - 2 x 0.1875 - 3 x 2.625 = 0.25, over two gaps).
  • Row pitch 1" (72 pt): no vertical gap.