Domain Model
Vendor
Fields
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
| id | string.uuid | Yes | — | Id |
| createdAt | string.date-time | Yes | — | Created at |
| updatedAt | string.date-time | Yes | — | Updated at |
| legalName | string | Yes | — | Legal name |
| displayName | string | Yes | — | Display name |
| vendorTypes | string[] | Yes | — | Vendor types |
| status | enum(active, inactive, suspended) | Yes | — | Status |
| paymentTerms | enum(net_15, net_30, net_45, net_60, net_90, due_on_receipt, custom) | No | — | Payment terms |
| supplierCode | string | No | — | Supplier code |
| creditLimit | string | No | — | Credit limit |
| insuranceCertExpiry | string.date-time | No | — | Insurance cert expiry |
| w9OnFile | boolean | Yes | — | W9on file |
| licenseNumber | string | No | — | License number |
| licenseExpiry | string.date-time | No | — | License expiry |
| productLines | string[] | No | — | Product lines |
| defaultLeadTimeDays | integer | No | — | Default lead time days |
| rating | integer | No | — | Rating |
| billingPreferences | object | No | — | Billing preferences |
| taxProfile | object | No | — | Tax profile |
| ownerUserId | string | No | — | ID of the associated owner user |
| parentVendorId | unknown | No | — | ID of the associated parent vendor |
| notesSummary | string | No | — | Notes summary |
| website | unknown | No | — | Website |
| primaryContactEmail | unknown | No | — | Primary contact email |
| primaryContactPhone | unknown | No | — | Primary contact phone |
| physicalAddress | unknown | No | — | Physical address |
| mailingAddress | unknown | No | — | Mailing address |
| billingAddress | unknown | No | — | Billing address |
| accountNumber | unknown | No | — | Account number |
| logoS3Key | unknown | No | — | Logo s3key |
| workspaceId | string | Yes | — | ID of the associated workspace |
| visibilityMode | unknown | Yes | — | Visibility mode |
Create Schema
Fields accepted when creating a new record:
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
| legalName | string | Yes | — | Legal name |
| displayName | string | Yes | — | Display name |
| vendorTypes | string[] | Yes | — | Vendor types |
| status | enum(active, inactive, suspended) | Yes | "active" | Status |
| paymentTerms | enum(net_15, net_30, net_45, net_60, net_90, due_on_receipt, custom) | No | — | Payment terms |
| supplierCode | string | No | — | Supplier code |
| creditLimit | string | No | — | Credit limit |
| insuranceCertExpiry | string.date-time | No | — | Insurance cert expiry |
| w9OnFile | boolean | Yes | false | W9on file |
| licenseNumber | string | No | — | License number |
| licenseExpiry | string.date-time | No | — | License expiry |
| productLines | string[] | No | — | Product lines |
| defaultLeadTimeDays | integer | No | — | Default lead time days |
| rating | integer | No | — | Rating |
| billingPreferences | object | No | — | Billing preferences |
| taxProfile | object | No | — | Tax profile |
| ownerUserId | string | No | — | ID of the associated owner user |
| parentVendorId | unknown | No | — | ID of the associated parent vendor |
| notesSummary | string | No | — | Notes summary |
| website | unknown | No | — | Website |
| primaryContactEmail | unknown | No | — | Primary contact email |
| primaryContactPhone | unknown | No | — | Primary contact phone |
| physicalAddress | unknown | No | — | Physical address |
| mailingAddress | unknown | No | — | Mailing address |
| billingAddress | unknown | No | — | Billing address |
| accountNumber | unknown | No | — | Account number |
| workspaceId | string | No | — | ID of the associated workspace |
| visibilityMode | unknown | No | — | Visibility mode |
Update Schema
All fields are optional when updating:
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
| legalName | string | No | — | Legal name |
| displayName | string | No | — | Display name |
| vendorTypes | string[] | No | — | Vendor types |
| status | enum(active, inactive, suspended) | No | — | Status |
| paymentTerms | enum(net_15, net_30, net_45, net_60, net_90, due_on_receipt, custom) | No | — | Payment terms |
| supplierCode | string | No | — | Supplier code |
| creditLimit | string | No | — | Credit limit |
| insuranceCertExpiry | string.date-time | No | — | Insurance cert expiry |
| w9OnFile | boolean | No | — | W9on file |
| licenseNumber | string | No | — | License number |
| licenseExpiry | string.date-time | No | — | License expiry |
| productLines | string[] | No | — | Product lines |
| defaultLeadTimeDays | integer | No | — | Default lead time days |
| rating | integer | No | — | Rating |
| billingPreferences | object | No | — | Billing preferences |
| taxProfile | object | No | — | Tax profile |
| ownerUserId | string | No | — | ID of the associated owner user |
| parentVendorId | unknown | No | — | ID of the associated parent vendor |
| notesSummary | string | No | — | Notes summary |
| website | unknown | No | — | Website |
| primaryContactEmail | unknown | No | — | Primary contact email |
| primaryContactPhone | unknown | No | — | Primary contact phone |
| physicalAddress | unknown | No | — | Physical address |
| mailingAddress | unknown | No | — | Mailing address |
| billingAddress | unknown | No | — | Billing address |
| accountNumber | unknown | No | — | Account number |