For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
  • Getting Started
    • Introduction
    • Getting Started
    • Tia — Operations Assistant
    • Architecture
    • Security Architecture
  • Onboarding & Plans
    • Onboarding Overview
    • Plans & Subscriptions
    • Tia Credits
  • Tenancy & Governance
    • Roles & Members
    • Audit Log
    • Notifications
    • Economic Operators
  • Authoring Studios
    • Content Studio
    • Theme Studio
    • Advanced Studio (Track B)
  • Product Module
    • Products
    • Custom Fields
    • Global Search
    • Identifiers
    • Product Import
    • Bulk Editing
    • Bulk Updates
    • Resolver & GS1 Digital Link
    • GS1 Digital Link Contract
  • Localisations
    • Overview
    • Market Packs
    • Multilingual Content
  • Domains & Custom Hostnames
    • Domain Architecture
    • Resolver Domain Flow
    • Custom Hostname Setup
    • DNS Setup Guide
    • Resolver & Passport Rendering
    • Custom Hostname Lifecycle
    • Troubleshooting
  • Passports
    • Overview
    • Passport Operations
    • Lifecycle States
    • Controlled Update & Break-Glass
    • Content & Templates
    • Themes & Presentation
    • Consumer Experience
    • Publication Lifecycle
    • Brand Setup & Readiness
    • Drafts
  • Passport Intelligence
    • Passport Intelligence
    • Intelligence Overview
    • Scan Visibility
    • Trust Signals
    • Engagement Insights
    • Investigation Timelines
    • Data & Privacy
    • Roadmap
  • Minting
    • Overview
    • Lifecycle
    • Architecture
    • Limits & Performance
    • Token Preview
    • Exports & Print Jobs
    • Carrier Output Profiles
    • Bring-Your-Own Serials
    • Security
    • FAQ
  • API Reference
    • API Credentials Guide
    • API: Credentials
    • API: Products
    • API: Identifiers
    • API: Import
    • API: Batches
    • API: Attachments
    • API: Bulk Updates
    • API: Minting
    • API: Resolver
    • API: Search
On this page
  • What It Does
  • Who It’s For
  • How It Works
  • Immutable Product ID
  • Identifier Types
  • Active vs Retired
  • Where to Edit
  • Identifier History
  • Constraints
  • Limits & Notes
  • FAQ
  • Related docs
Product Module

Product Identifiers in TieBack

Was this page helpful?
Previous

Product Import

Next
Built with

This page explains how tieback models product identifiers for Digital Product Passport and resolver workflows. tieback supports SKU as the operational product key and standards-based identifiers such as GTIN (including EAN/UPC variants) for interoperability. Identifiers are validated, versioned, and used to resolve products consistently across markets.

What It Does

tieback

provides a governed identifier system for every product. Each product has an immutable system ID and supports multiple mutable identifiers (SKU, GTIN, EAN, UPC) with full change history.

Who It’s For

Brand administrators managing product catalogues, supply chain teams scanning barcodes, and API integrators resolving product identifiers.

How It Works

Immutable Product ID

Every product receives a system-assigned UUID (TieBack Product ID) at creation. This ID never changes and serves as the permanent system-of-record identifier. All other identifiers are mutable aliases that point to this UUID.

Identifier Types

TypeCached on ProductNotes
SKUYesCase-insensitive uniqueness per brand
GTINYesDigits-only normalisation (8/12/13/14 digits)
EANNo (alias only)Digits-only normalisation
UPCNo (alias only)Digits-only normalisation

Active vs Retired

At any time, a product can have one active identifier per type. When an identifier is changed:

  • The previous value is retired (marked inactive) with a timestamp.
  • The new value becomes active.
  • No data is ever deleted — the full history is preserved.

This means old printed codes remain resolvable even after identifier changes. See Resolver & GS1 Digital Link for details.

Where to Edit

Identifiers are edited exclusively in Product Detail (Core Fields section). They cannot be changed via bulk edit, by design, because every change creates an auditable history entry.

Identifier History

Product Detail displays a full history of all identifier changes, partitioned into:

  • SKU History — every SKU value the product has used, with status and timestamps.
  • Barcode History — every GTIN, EAN, and UPC value, with type, status, and timestamps.

History is ordered with active identifiers first, then most recently retired.

Constraints

  • One active per type per product — only one SKU, one GTIN, one EAN, and one UPC can be active at a time.
  • No concurrent reuse — an active identifier value cannot be shared across products within the same brand and type.
  • Digits-only — GTIN, EAN, and UPC values are normalised to digits only on all write paths.
  • Immutable type — an identifier’s type cannot change after creation.

Limits & Notes

  • Identifier edits are not available in bulk workflows; use Product Detail.
  • Locked fields can protect identifiers from being overwritten during CSV imports.
  • The identifier audit trail records who made each change and when.

FAQ

What happens if I change a SKU or GTIN?

The old value is retired and the new value becomes active. Both are preserved in the identifier history. Previously printed codes using the old value will still resolve via the public resolver.

Can two products share the same GTIN?

No. Within a brand, only one product can have a given GTIN (or SKU, EAN, UPC) as its active identifier at any time.

Are EAN and UPC stored differently to GTIN?

EAN and UPC are stored as alias-only identifiers (no cached column on the product record). Functionally they behave the same: full history, active/retired status, and resolver support.

Related docs

  • Resolver & GS1 Digital Link
  • Products
  • API Credentials Guide
  • API: Identifiers