Skip to main content

Data Model, Numbering & Field Reference

Canonical fields, IDs, numbering, and attachments.

C
Written by Catalin Fetean
Updated over 2 weeks ago

Audience: Product, Legal, Developers
Outcomes: Consistent schemas, predictable IDs

Core fields (reference)

Field

Type

Required

Example

title

string

“Design SOW”

description

string

short scope

contractType

string

service_agreement, msa, nda

currency

ISO-4217

USD

amount/value

integer/decimal

150000 (minor)

terms

object

payment / delivery

paymentTerms

object

deposit, milestones

parties

array

emails or user IDs

signers

array

signer objects

references

array

PO #, quote #

effectiveAt / expiresAt

timestamp

UTC ISO-8601

number

string (auto)

NXT-<ts>-<rand>

Identifiers & numbering

  • Internal ID: ct_<id>

  • Human number (default): NXT-<timestamp>-<random> (overrideable policy)

  • Always attach a business reference (PO, Opportunity ID) for reconciliation

Attachments

  • Appendices/exhibits stored separately; version-pinned into the contract bundle at signature

Edge cases

  • Zero-decimal currencies (e.g., JPY) ⇒ store/display without /100

  • Contract currency vs. settlement currency (crypto) ⇒ store conversion rate used

QA checklist

  • Number is immutable post-issuance

  • Exhibit hash present in bundle metadata

  • API rejects non-ISO currency codes

Runbook: “Wrong contract number sequence”

  • Fix policy in Admin for future numbers; do not change existing numbers

Did this answer your question?