Skip to content
Updated Sep 26, 2026 by Barča Dvořáková · Owner: analysisactiveentityconfluence-migration Edit on GitHub

Entity: contractSupplier ​

Entity: contractSupplier

Description: A per-tenant catalogue of supplier names referenced by contract.supplierId. Represents only the name of an external energy supplier — not a full legal entity with contact/billing data.

Entity Type: database table

Data Attributes Table ​

Attribute NameDescriptionData TypeDefault ValueRequired (= Nullable)UniqueFormatValidationsIndexExample
idPrimary key of the entity.UUIDGenerated in code (app layer)YesYesUUID v7-Primary Key018ed0b3-c298-7c7a-96d5-8b36f5a7f8d2
tenantIdTenant this supplier name belongs to. Suppliers are per-tenant, not shared across tenants.UUID-YesNoUUID v7Foreign Key: tenant; must existname: idx_contractSupplier_tenantId, type: btree018fa51f-fda1-79f4-8461-2cb8f1cabc10
nameDisplay name of the supplier.string-YesNo-Must not be empty-ČEZ Prodej
createdAtTimestamp of when the record was created. Immutable after insert.timestamp with time zonenow() — set in codeYesNoISO 8601 — YYYY-MM-DDTHH:mm:ss.SSSZCannot be null; cannot be modified after creation-2025-03-16T18:00:00Z
updatedAtTimestamp of the last update to the record. Set on insert (equal to createdAt) and updated on every change.timestamp with time zonenow() — set in codeYesNoISO 8601 — YYYY-MM-DDTHH:mm:ss.SSSZCannot be null-2025-03-16T18:00:00Z
deletedAtTimestamp of soft deletion. Null means the record is active. Once set, this value is immutable and cannot be changed.timestamp with time zone-NoNoISO 8601 — YYYY-MM-DDTHH:mm:ss.SSSZImmutable once set. Active records: WHERE deletedAt IS NULL-2025-06-01T09:00:00Z
createdByIdentifier of the actor who created the record (user ID or system actor).string-YesNotype:actor — e.g. user:uuid or system:migrationNon-empty-system:migration-v1
updatedByIdentifier of the actor who last updated the record (user ID or system actor).string-YesNotype:actor — e.g. user:uuid or system:migrationNon-empty-user:018ed0b3-c298-7c7a-96d5-8b36f5a7f8d2

Audited fields ​

Recorded on created only — this entity has no update or delete endpoint: name.

Excluded: none.

Registered for entityName resolution — resolves to name (architecture 61-audit-log.md §7.4 in the code repo).