Traceability and Serialization

Updated Dec 13, 2025
DataMagik Automate

Manufacturing & Traceability Guide

Manage serial number series, generate traceable identifiers, and track manufacturing data with full audit capabilities.

Table of Contents

  1. Overview
  2. Understanding Serial Number Series
  3. Creating a Series
  4. Format String Tokens
  5. Base Types & Encoding
  6. Reset Rules
  7. Generating Serial Numbers
  8. Records & Tracking
  9. Script Engine Integration
  10. Best Practices

1. Overview

The Traceability Management system provides enterprise-grade serial number generation and tracking for manufacturing environments. It supports:

  • Configurable Formats — Build serial numbers with date tokens, sequences, and custom prefixes
  • Multiple Base Types — Numeric, alphanumeric, hexadecimal, or alpha-only encoding
  • Automatic Reset — Reset sequences daily, weekly, monthly, yearly, or per shift
  • Global Uniqueness — Enforce company-wide uniqueness across all series
  • Full Audit Trail — Track when, where, and why each serial was generated
  • High Capacity — Support billions of unique identifiers per series

Use Cases:

  • Product serial numbers
  • Batch/lot identifiers
  • Work order numbers
  • Document numbers
  • Asset tags
  • Shipping labels

2. Understanding Serial Number Series

A Series defines how serial numbers are formatted and generated. Each series has:

ComponentDescriptionNameHuman-readable identifierFormat StringTemplate with tokens for building serial numbersBase TypeNumeric, alphanumeric, hex, or alpha encodingReset RuleWhen to reset the sequence counterCurrent ValueThe last sequence number usedIncrementHow much to increase sequence each timeMin LengthMinimum digits/characters for sequence portionGlobalWhether to enforce company-wide uniqueness

3. Creating a Series

Step 1: Open Traceability Management

Navigate to Manufacturing → Traceability.

Step 2: Click "Add Series"

Click the Add Series button in the series panel.

Step 3: Configure the Series

Basic Settings:

FieldDescriptionExampleSeries NameDescriptive nameProduct Serial NumbersFormat StringTemplate with tokensSN-{YYYY}{JJJ}-{####}

Sequence Settings:

FieldDescriptionDefaultStarting ValueFirst sequence number0Increment ByStep between numbers1Min LengthMinimum sequence digits4

Advanced Settings:

FieldDescriptionBase TypeEncoding system (see Section 5)Reset RuleWhen to reset (see Section 6)Global SeriesCompany-wide uniqueness check

Step 4: Preview and Create

The live preview shows what generated serials will look like. Click Create Series when ready.

4. Format String Tokens

Build your serial number format using these tokens:

Date & Time Tokens

TokenDescriptionExample{YYYY}4-digit year2025{YY}2-digit year25{MM}Month (01-12)06{DD}Day (01-31)15{JJJ}Julian day (001-366)166{WW}Week of year (01-53)24{HH}Hour (00-23)14{NN}Minutes (00-59)30{SS}Seconds (00-59)45

Sequence Tokens

TokenDescriptionExample{SEQUENCE}Sequence number0042{####}Sequence (alias)0042

Context Tokens (Set in Label Designer)

TokenDescription{SHIFT}Current shift (A/B/C){LINE}Production line{PLANT}Plant/facility code{BATCH}Batch identifier{PART}Part number

Format String Examples

Standard Product Serial:

SN-{YYYY}{JJJ}-{####}

Result: SN-2025166-0042

Date-Stamped with Shift:

{YY}{MM}{DD}{SHIFT}-{SEQUENCE}

Result: 250615B-00123

Alphanumeric Compact:

P{YY}{WW}-{####}

Result: P2524-001A (with alphanumeric base type)

Manufacturing Batch:

LOT-{YYYY}{MM}{DD}-{LINE}-{####}

Result: LOT-20250615-L1-0001

5. Base Types & Encoding

Choose how the sequence portion is encoded:

Numeric (Default)

Characters: 0-9

| Capacity (4 digits) | 10,000 | | Example | 000100429999 |

Best for: Standard serial numbers, traditional systems

Alphanumeric (Base36)

Characters: 0-9, A-Z

| Capacity (4 digits) | 1,679,616 | | Example | 000100A1ZZZZ |

Best for: High-volume, compact identifiers

Hexadecimal (Base16)

Characters: 0-9, A-F

| Capacity (4 digits) | 65,536 | | Example | 000100FFFFFF |

Best for: Systems expecting hex values, electronics

Alpha Only (Base26)

Characters: A-Z

| Capacity (4 digits) | 456,976 | | Example | AAAAABCDZZZZ |

Best for: Letter-only requirements, avoiding number confusion

Capacity Comparison

Base Type4 Chars6 Chars8 CharsNumeric10K1M100MAlphanumeric1.7M2.2B2.8THexadecimal65K16.8M4.3BAlpha Only457K309M209B

6. Reset Rules

Control when the sequence counter resets to the starting value.

Never (Default)

The sequence continues indefinitely until capacity is reached.

Use for: Product serials that must always be unique

Daily

Resets at midnight (server time).

Use for: Daily batch numbers, shift logs

Example:

  • Day 1: 000100020003
  • Day 2: 000100020003

Weekly

Resets Monday at midnight.

Use for: Weekly production batches

Monthly

Resets on the 1st of each month.

Use for: Monthly document numbering

Yearly

Resets January 1st.

Use for: Annual document series (invoices, POs)

Per Shift

Resets every 8 hours (3 shifts per day).

Use for: Shift-specific tracking

7. Generating Serial Numbers

From the UI

  1. Select a series in the series panel
  2. Click Generate Serial
  3. Optionally enter Work Order and Part Number
  4. Set quantity (1-100)
  5. Click Generate

Batch Generation

Generate multiple serials at once by setting Quantity > 1:

  • Up to 100 serials per request
  • All serials linked to same Work Order (optional)
  • Returns list of generated serials

From Scripts

function main(context) {
  // Generate single serial
  const serial = manufacturing.generateSerial("Product Serial Numbers");

  // Generate with context
  const batchSerial = manufacturing.generateSerial("Batch Numbers", {
    workOrder: context.workOrderNumber,
    partNumber: context.partNumber,
    metadata: {
      operator: context.operatorId,
      station: context.workstationId,
    },
  });

  // Generate multiple
  const serials = manufacturing.generateSerials("Labels", 10, {
    workOrder: "WO-12345",
  });

  return {
    serial: serial,
    batchSerial: batchSerial,
    labelSerials: serials,
  };
}

8. Records & Tracking

Every generated serial is tracked in the records explorer.

Viewing Records

  1. Select a series to see its records
  2. Or search across all series using the search box

Record Fields

FieldDescriptionSerial NumberThe generated identifierGenerated AtTimestamp of creationWork OrderAssociated work orderPart NumberAssociated part numberStatusCurrent status (generated, printed, in_progress, completed)Context DataAdditional metadata

Status Values

StatusDescriptiongeneratedSerial created but not yet usedprintedLabel printedin_progressItem in productioncompletedProduction finished

Record Details

Click the eye icon on any record to view full details including context data.

9. Script Engine Integration

Manufacturing API

The Script Engine provides full access to traceability functions:

Generate Serial:

// Basic generation
const serial = manufacturing.generateSerial("Series Name");

// With options
const serial = manufacturing.generateSerial("Series Name", {
  workOrder: "WO-12345",
  partNumber: "PART-001",
  metadata: {
    operator: "John Smith",
    line: "Assembly-3",
  },
});

Generate Multiple:

// Generate batch of serials
const serials = manufacturing.generateSerials("Series Name", quantity, options);

Query Records:

// Get records by work order
const records = manufacturing.getRecordsByWorkOrder("WO-12345");

// Get record by serial
const record = manufacturing.getRecordBySerial("SN-2025166-0042");

Update Status:

// Update record status
manufacturing.updateRecordStatus(serialNumber, "completed", {
  completedBy: context.operator,
  completedAt: new Date().toISOString(),
});

Example: Complete Manufacturing Flow

function main(context) {
  const { workOrder, partNumber, quantity } = context;

  // Generate serials for production batch
  const serials = manufacturing.generateSerials("Product Serials", quantity, {
    workOrder: workOrder,
    partNumber: partNumber,
  });

  // Generate labels for each serial
  for (const serial of serials) {
    documents.generate("Product Label", {
      serialNumber: serial,
      partNumber: partNumber,
      date: new Date().toISOString(),
    });
  }

  // Update status to printed
  for (const serial of serials) {
    manufacturing.updateRecordStatus(serial, "printed");
  }

  return {
    success: true,
    serialsGenerated: serials.length,
    serials: serials,
  };
}

10. Best Practices

Format Design

  • Include date elements — Makes serials sortable and debuggable
  • Use Julian day for compactness — {JJJ} instead of {MM}{DD}
  • Match industry standards — Some industries have specific requirements
  • Plan for capacity — Consider future growth when setting min length

Series Organization

  • One series per use case — Don't mix product serials with document numbers
  • Descriptive names — Product Serial - Widget A not Series 1
  • Document purpose — Record what each series is for

Global vs. Local Uniqueness

Use Global when:

  • Serials must be unique across your entire company
  • Multiple series might generate similar formats
  • Regulatory compliance requires absolute uniqueness

Use Local (default) when:

  • Serials are part-specific
  • Different series have clearly different formats
  • Performance is critical (local checks are faster)

Reset Rule Selection

Use CaseRecommended ResetProduct serialsNeverDaily production logsDailyWeekly batch numbersWeeklyInvoice numbersNever or YearlyShift labelsPer Shift

Capacity Planning

  • Calculate annual volume — How many serials per year?
  • Add safety margin — Plan for 3-5x expected volume
  • Consider format lifespan — Will this format last 10+ years?
  • Test with high volumes — Verify performance at scale

Audit Trail

  • Always include Work Order — Links serials to production context
  • Add metadata — Operator, station, shift for compliance
  • Regular exports — Back up traceability data periodically

Screenshots Summary

Please capture the following screenshots to complete this documentation:

  1. Traceability Management main interface - Series panel and records explorer
  2. Series panel - List of configured series with details
  3. Add Series modal - All configuration fields
  4. Available Tokens section - Clickable token buttons
  5. Reset Rule dropdown - All options with descriptions
  6. Generate Serial modal - Work order and quantity fields
  7. Records Explorer - List of generated serials
  8. Record Details modal - Full record with context data
Was this page helpful?