Tables
105 tables
An undoable action on an inventory item: what changed (previous and new value), who did it, and whether it was undone.
Files json/ActionHistory.json csv/ActionHistory.csv · primary key Id · scoped by e.Item.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
ActionDescription | string | no | | |
ActionType | enum | no | | PropertyValueChange PropertyNameChange ItemNameChange ItemDescriptionChange ParentItemChange CategoryChange CalculationChange PropertyAdd PropertyDelete PropertyDataTypeChange |
AdditionalData | string | no | | |
CreatedAt | datetime | no | | |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
IsUndone | boolean | no | | |
ItemId | integer | no | Items.Id | |
ItemSyncId | guid | yes | | SyncId of the Items row that ItemId points at. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
NewValue | string | no | | |
PreviousValue | string | no | | |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
UndoneAt | datetime | yes | | |
UndoneByActionId | integer | yes | | |
UndoneByActionSyncId | guid | yes | | |
UserId | string | yes | | |
UserSyncId | guid | yes | | |
A user account (sign-in identity) and the organization it belongs to.
Files json/AspNetUsers.json csv/AspNetUsers.csv · primary key Id · scoped by e.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | string | no | | Primary key, unique within this table. |
AccessFailedCount | integer | no | | |
Email | stringmax 256 | yes | | |
EmailConfirmed | boolean | no | | |
FirstName | string | no | | |
IsActive | boolean | no | | |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
LastName | string | no | | |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
LockoutEnabled | boolean | no | | |
LockoutEnd | datetime | yes | | |
NormalizedEmail | stringmax 256 | yes | | |
NormalizedUserName | stringmax 256 | yes | | |
OrganizationId | integer | no | Organizations.Id | |
PhoneNumber | string | yes | | |
PhoneNumberConfirmed | boolean | no | | |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
TwoFactorEnabled | boolean | no | | |
UserName | stringmax 256 | yes | | |
ViewedChangelog | boolean | no | | Whether the user has viewed the changelog for the current version. |
Represents an instantiated bundle in inventory.
Files json/Bundles.json csv/Bundles.csv · primary key Id · scoped by e.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
ActiveTransferId | integer | yes | | |
ActiveTransferSyncId | guid | yes | | |
BundleTemplateId | integer | no | BundleTemplates.Id | |
BundleTemplateSyncId | guid | yes | | SyncId of the BundleTemplates row that BundleTemplateId points at. |
CreatedBy | string | no | | |
CreatedDate | datetime | no | | |
DeletedBy | string | yes | | |
DeletedDate | datetime | yes | | |
Description | string | yes | | |
IsActive | boolean | no | | |
IsDeleted | boolean | no | | Soft delete: true means the row was deleted (kept for sync and history). |
IsInTransit | boolean | no | | |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
LocationId | integer | no | Locations.Id | |
LocationSyncId | guid | yes | | SyncId of the Locations row that LocationId points at. |
Name | string | no | | |
OrganizationId | integer | no | Organizations.Id | |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
One line of a bundle template: name, quantity and optional item template; lines can nest.
Files json/BundleTemplateItems.json csv/BundleTemplateItems.csv · primary key Id · scoped by e.BundleTemplate.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
BundleTemplateId | integer | no | BundleTemplates.Id | |
BundleTemplateSyncId | guid | yes | | SyncId of the BundleTemplates row that BundleTemplateId points at. |
CategoryId | integer | yes | ItemCategories.Id | |
CategorySyncId | guid | yes | | SyncId of the ItemCategories row that CategoryId points at. |
Description | string | yes | | |
HasCalculatedProperties | boolean | no | | |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
ItemTemplateId | integer | yes | ItemTemplates.Id | |
ItemTemplateSyncId | guid | yes | | SyncId of the ItemTemplates row that ItemTemplateId points at. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
Name | string | no | | |
ParentTemplateItemId | integer | yes | BundleTemplateItems.Id | |
ParentTemplateItemSyncId | guid | yes | | SyncId of the BundleTemplateItems row that ParentTemplateItemId points at. |
Quantity | integer | no | | |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
A reusable recipe for a bundle: the item templates and quantities it is built from.
Files json/BundleTemplates.json csv/BundleTemplates.csv · primary key Id · scoped by e.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
CreatedAt | datetime | no | | |
CreatedBy | string | yes | | |
Description | string | yes | | |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
Name | string | no | | |
OrganizationId | integer | no | Organizations.Id | |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
UpdatedAt | datetime | yes | | |
UpdatedBy | string | yes | | |
VendorId | integer | yes | Vendors.Id | |
VendorPartNumber | stringmax 100 | yes | | |
VendorSyncId | guid | yes | | SyncId of the Vendors row that VendorId points at. |
WholesalePrice | decimal | yes | | |
A link between two items that a calculated property relies on, so a change to the referenced item recalculates the dependent one.
Files json/CalculationDependencies.json csv/CalculationDependencies.csv · primary key Id · scoped by e.DependentItem.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | guid | no | | Primary key, unique within this table. |
CreatedAt | datetime | no | | |
DependentItemId | integer | no | Items.Id | The item that has the property depending on another item's property ie, the child in a parent-child relationship or the parent in a child-parent relationship |
DependentItemSyncId | guid | yes | | SyncId of the Items row that DependentItemId points at. |
Generation | integer | no | | Generation/depth level in the hierarchy (1-based) 1 = direct parent/child, 2 = grandparent/grandchild, etc. |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
PropertyReferenceId | guid | no | CalculationPropertyReferences.Id | |
ReferencedItemId | integer | no | Items.Id | The item that is being depended on ie, the parent in a parent-child relationship or the child in a child-parent relationship |
ReferencedItemSyncId | guid | yes | | SyncId of the Items row that ReferencedItemId points at. |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
UpdatedAt | datetime | yes | | |
A property that a property calculation reads, or writes, as part of its formula.
Files json/CalculationPropertyReferences.json csv/CalculationPropertyReferences.csv · primary key Id · scoped by (e.PropertyCalculation.Property != null && (e.PropertyCalculation.Property.Item != null && e.PropertyCalculation.Property.Item.OrganizationId == org) || (e.PropertyCalculation.Property.BundleTemplateItem != null && e.PropertyCalculation.Property.BundleTemplateItem.BundleTemplate.OrganizationId == org) || (e.PropertyCalculation.Property.KitItem != null && e.PropertyCalculation.Property.KitItem.Kit.OrganizationId == org)) || (e.PropertyCalculation.TemplateProperty != null && e.PropertyCalculation.TemplateProperty.ItemTemplate.OrganizationId == org)
| Column | Type | Empty? | References | Description |
Id | guid | no | | Primary key, unique within this table. |
Direction | enum | no | | Self Parent Child |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
OrderIndex | integer | no | | |
PropertyCalculationId | integer | no | PropertyCalculations.Id | |
PropertyCalculationSyncId | guid | yes | | SyncId of the PropertyCalculations row that PropertyCalculationId points at. |
ReferencedPropertyId | integer | yes | ItemProperties.Id | |
ReferencedPropertySyncId | guid | yes | | SyncId of the ItemProperties row that ReferencedPropertyId points at. |
ReferencedTemplatePropertyId | integer | yes | ItemTemplateProperties.Id | |
ReferencedTemplatePropertySyncId | guid | yes | | SyncId of the ItemTemplateProperties row that ReferencedTemplatePropertyId points at. |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
A property that every item in a category carries (name, data type, default and validation).
Files json/CategoryProperties.json csv/CategoryProperties.csv · primary key Id · scoped by e.Category.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
CategoryId | integer | no | ItemCategories.Id | |
CategorySyncId | guid | yes | | SyncId of the ItemCategories row that CategoryId points at. |
DataType | enum | no | | Text Number Date Boolean Dropdown MultiSelect |
DefaultValue | string | yes | | |
DisplayOrder | integer | no | | |
IsDeleted | boolean | no | | Soft delete: true means the row was deleted (kept for sync and history). |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
IsRequired | boolean | no | | |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
Options | string | yes | | |
OverridesParentProperty | boolean | no | | |
PropertyName | stringmax 100 | no | | |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
ValidationPattern | string | yes | | |
A custom charge (fee or other line) on a job, with price, discount and cost.
Files json/CustomCharges.json csv/CustomCharges.csv · primary key Id · scoped by e.Job.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
Cost | decimal | no | | |
CreatedBy | string | yes | | |
CreatedDate | datetime | no | | |
Description | stringmax 500 | yes | | |
DiscountAmount | decimal | no | | |
DiscountPercent | decimal | no | | Discount |
IsDeleted | boolean | no | | Soft delete: true means the row was deleted (kept for sync and history). |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
JobId | integer | no | Jobs.Id | |
JobSyncId | guid | yes | | SyncId of the Jobs row that JobId points at. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
ModifiedBy | string | yes | | |
ModifiedDate | datetime | yes | | |
Name | stringmax 200 | no | | Charge Name |
Price | decimal | no | | |
SortOrder | integer | no | | |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
An address of a customer (a service site, or the mailing address).
Files json/CustomerAddresses.json csv/CustomerAddresses.csv · primary key Id · scoped by e.Customer.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
Address | stringmax 200 | yes | | |
Address2 | stringmax 200 | yes | | Address Line 2 |
City | stringmax 100 | yes | | |
Country | stringmax 100 | yes | | |
CreatedBy | string | yes | | |
CreatedDate | datetime | no | | |
CustomerId | integer | no | Customers.Id | |
CustomerSyncId | guid | yes | | SyncId of the Customers row that CustomerId points at. |
IsActive | boolean | no | | |
IsMailingAddress | boolean | no | | |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
ModifiedBy | string | yes | | |
ModifiedDate | datetime | yes | | |
Name | stringmax 100 | no | | Address Name |
Notes | stringmax 500 | yes | | |
PostalCode | stringmax 20 | yes | | ZIP/Postal Code |
State | stringmax 50 | yes | | State/Province |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
A customer of the organization: contact details, billing information and notes.
Files json/Customers.json csv/Customers.csv · primary key Id · scoped by e.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
Address | stringmax 200 | yes | | |
Address2 | stringmax 200 | yes | | Address Line 2 |
City | stringmax 100 | yes | | |
CompanyName | stringmax 200 | yes | | |
Country | stringmax 100 | yes | | |
CreatedBy | string | yes | | |
CreatedDate | datetime | no | | |
CreditLimit | decimal | no | | |
CurrentBalance | decimal | no | | |
CustomerStatus | enum | no | | None Preferred Difficult |
CustomerType | enum | no | | EndCustomer Installer Distributor Commercial |
DeletedBy | string | yes | | |
DeletedDate | datetime | yes | | |
Email | stringmax 256 | yes | | |
IsActive | boolean | no | | |
IsDeleted | boolean | no | | Soft delete: true means the row was deleted (kept for sync and history). |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
IsTaxExempt | boolean | yes | | Tax Exempt |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
MobilePhone | stringmax 20 | yes | | |
ModifiedBy | string | yes | | |
ModifiedDate | datetime | yes | | |
Name | stringmax 200 | no | | Customer Name |
Notes | string | yes | | |
OrganizationId | integer | no | Organizations.Id | |
PaymentTerms | enum | no | | DueOnReceipt Net15 Net30 Net45 Net60 COD Prepaid |
Phone | stringmax 20 | yes | | |
PostalCode | stringmax 20 | yes | | ZIP/Postal Code |
PriceTier | enum | no | | Standard Silver Gold Platinum Custom |
PrimaryContact | stringmax 100 | yes | | |
State | stringmax 50 | yes | | State/Province |
StoreCreditBalance | decimal | no | | |
StoreCreditNotes | string | yes | | |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
TaxId | stringmax 50 | yes | | |
WarningNotes | stringmax 1000 | yes | | |
A custom role: a named set of permissions an organization defines for its users.
Files json/CustomRoles.json csv/CustomRoles.csv · primary key Id · scoped by e.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
CreatedAt | datetime | no | | |
CreatedById | string | yes | AspNetUsers.Id | |
CreatedBySyncId | guid | yes | | SyncId of the AspNetUsers row that CreatedById points at. |
Description | string | no | | |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
Name | string | no | | |
OrganizationId | integer | no | Organizations.Id | |
PermissionsJson | string | no | | |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
UpdatedAt | datetime | yes | | |
An individual checklist item within a section
Files json/EstimatePreInspectionTemplateItems.json csv/EstimatePreInspectionTemplateItems.csv · primary key Id · scoped by e.Section.Template.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
CustomStatusOptionsOverride | string | yes | | Custom status options when StatusFieldTypeOverride = Custom. |
DisplayOrder | integer | no | | |
HasItemNotes | boolean | no | | |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
ItemText | stringmax 500 | no | | |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
SectionId | integer | no | EstimatePreInspectionTemplateSections.Id | |
SectionSyncId | guid | yes | | SyncId of the EstimatePreInspectionTemplateSections row that SectionId points at. |
StatusFieldTypeOverride | enum | yes | | Override the template's status field type for this specific item.CheckboxOnly PassFail PassNeedsAttentionFail PassNeedsAttentionFailNA Custom |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
Template for pre-inspection checklists that can be used during job estimates
Files json/EstimatePreInspectionTemplates.json csv/EstimatePreInspectionTemplates.csv · primary key Id · scoped by e.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
CreatedBy | string | yes | | |
CreatedDate | datetime | no | | |
CustomStatusOptions | string | yes | | JSON array of custom status options when StatusFieldType = Custom e.g., ["Good", "Fair", "Poor"] |
Description | stringmax 500 | yes | | |
IsActive | boolean | no | | |
IsDefault | boolean | no | | |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
ModifiedBy | string | yes | | |
ModifiedDate | datetime | yes | | |
Name | stringmax 200 | no | | Template Name |
OrganizationId | integer | no | Organizations.Id | |
StatusFieldType | enum | no | | CheckboxOnly PassFail PassNeedsAttentionFail PassNeedsAttentionFailNA Custom |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
A section/grouping within a pre-inspection template
Files json/EstimatePreInspectionTemplateSections.json csv/EstimatePreInspectionTemplateSections.csv · primary key Id · scoped by e.Template.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
DisplayOrder | integer | no | | |
HasSectionNotes | boolean | no | | |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
Name | stringmax 200 | no | | Section Name |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
TemplateId | integer | no | EstimatePreInspectionTemplates.Id | |
TemplateSyncId | guid | yes | | SyncId of the EstimatePreInspectionTemplates row that TemplateId points at. |
Represents a global variable that can be used in calculations across all items and templates.
Files json/GlobalVariables.json csv/GlobalVariables.csv · primary key Id · scoped by e.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
CreatedAt | datetime | no | | |
Description | stringmax 500 | yes | | |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
Name | stringmax 100 | no | | |
OrganizationId | integer | no | Organizations.Id | |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
UpdatedAt | datetime | yes | | |
Value | decimal | no | | The numeric value of the global variable. |
One CSV import run: the file, its vendor and template, status and row counts.
Files json/ImportJobs.json csv/ImportJobs.csv · primary key Id · scoped by e.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
BarcodeColumnsJson | string | yes | | |
CategoryColumnsJson | string | yes | | |
CategoryMappingJson | string | yes | | |
ColumnMappingJson | string | yes | | |
CompletedAt | datetime | yes | | |
CreatedAt | datetime | no | | |
CreatedBy | stringmax 100 | no | | |
CsvContent | string | yes | | |
DeletedAt | datetime | yes | | |
DeletedBy | string | yes | | |
DualPriceConfigJson | string | yes | | |
DuplicateResolutionJson | string | yes | | |
ErrorLog | stringmax 2000 | yes | | |
FailedRows | integer | no | | |
FileName | stringmax 200 | no | | |
FileSize | integer | no | | |
ImportTemplateId | integer | yes | ImportTemplates.Id | |
ImportTemplateSyncId | guid | yes | | SyncId of the ImportTemplates row that ImportTemplateId points at. |
IsDeleted | boolean | no | | Soft delete: true means the row was deleted (kept for sync and history). |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
OrganizationId | integer | no | Organizations.Id | |
PendingTemplateName | stringmax 200 | yes | | |
PrimaryBarcodeColumn | stringmax 200 | yes | | |
ProcessedRows | integer | no | | |
SplitColumnsConfigJson | string | yes | | |
SplitColumnsJson | string | yes | | |
StartedAt | datetime | yes | | |
Status | enum | no | | Pending Processing Completed Failed PartiallyCompleted Cancelled |
SuccessfulRows | integer | no | | |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
TemplateAssignmentJson | string | yes | | |
TemplateColumnsJson | string | yes | | |
TotalRows | integer | no | | |
VendorId | integer | yes | Vendors.Id | |
VendorSyncId | guid | yes | | SyncId of the Vendors row that VendorId points at. |
A saved CSV column mapping for importing a vendor's price list or catalog.
Files json/ImportTemplates.json csv/ImportTemplates.csv · primary key Id · scoped by e.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
ColumnMappingJson | string | no | | |
CreatedAt | datetime | no | | |
CreatedBy | stringmax 100 | no | | |
DefaultCategoryId | integer | yes | ItemCategories.Id | |
Description | stringmax 500 | yes | | |
GlobalTransformationsJson | string | yes | | |
IsActive | boolean | no | | |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
ItemOverridesJson | string | yes | | |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
MatchingField | stringmax 50 | yes | | |
Name | stringmax 100 | no | | |
NameTransformationsJson | string | yes | | |
OrganizationId | integer | no | Organizations.Id | |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
UpdateExistingItems | boolean | no | | |
UpdatedAt | datetime | no | | |
UpdatedBy | stringmax 100 | yes | | |
VendorId | integer | no | Vendors.Id | |
One line of an invoice: description, type, quantity, unit price and discount.
Files json/InvoiceLineItems.json csv/InvoiceLineItems.csv · primary key Id · scoped by e.Invoice.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
ConfigurationSummary | stringmax 1000 | yes | | Configuration |
CustomChargeSyncId | guid | yes | | |
Description | stringmax 500 | no | | |
DiscountAmount | decimal | no | | |
DiscountPercent | decimal | no | | Discount % |
InvoiceId | integer | no | Invoices.Id | |
InvoiceSyncId | guid | yes | | SyncId of the Invoices row that InvoiceId points at. |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
ItemType | enum | no | | Material Labor Service Other |
JobItemId | integer | yes | | |
JobItemSyncId | guid | yes | | |
LaborItemSyncId | guid | yes | | |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
Notes | stringmax 1000 | yes | | Line Note |
OriginalUnitPrice | decimal | yes | | |
Quantity | decimal | no | | |
SalesOrderItemId | integer | yes | | |
SalesOrderItemSyncId | guid | yes | | |
SortOrder | integer | no | | |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
UnitOfMeasure | stringmax 50 | yes | | |
UnitPrice | decimal | no | | |
A note on an invoice.
Files json/InvoiceNotes.json csv/InvoiceNotes.csv · primary key Id · scoped by e.Invoice.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
CreatedBy | string | yes | | |
CreatedDate | datetime | no | | |
InvoiceId | integer | no | Invoices.Id | |
InvoiceSyncId | guid | yes | | SyncId of the Invoices row that InvoiceId points at. |
IsInternal | boolean | no | | Hide from Customer |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
ModifiedBy | string | yes | | |
ModifiedDate | datetime | yes | | |
NoteText | string | no | | Note |
NoteType | enum | no | | General Payment Internal CustomerCommunication BillingAdjustment |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
Represents a payment record for an invoice.
Files json/InvoicePayments.json csv/InvoicePayments.csv · primary key Id · scoped by e.Invoice.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
Amount | decimal | no | | |
CreatedBy | stringmax 100 | yes | | |
CreatedDate | datetime | no | | |
FeeStatus | enum | no | | Whether InvoicePayment.ProcessorFee can be trusted yet.NotApplicable Pending Known Revised |
InvoiceId | integer | no | Invoices.Id | |
InvoiceSyncId | guid | yes | | SyncId of the Invoices row that InvoiceId points at. |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
ModifiedBy | stringmax 100 | yes | | |
ModifiedDate | datetime | yes | | |
Notes | stringmax 500 | yes | | |
PaymentDate | datetime | no | | |
PaymentMethod | stringmax 50 | yes | | |
Processor | enum | no | | Which processor took this payment, or PaymentProcessor.None for cash, cheque and anything else keyed in by hand.None Square Stripe |
ProcessorFee | decimal | yes | | What the processor kept, in the same currency as InvoicePayment.Amount. |
ProcessorTransactionId | stringmax 100 | yes | | The processor's own id for the payment (Stripe PaymentIntent, Square Payment). |
ReferenceNumber | stringmax 100 | yes | | |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
An invoice to a customer: number, dates, status, tax, discounts and amount paid.
Files json/Invoices.json csv/Invoices.csv · primary key Id · scoped by e.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
AmountPaid | decimal | no | | |
ConsolidatedIntoInvoiceId | integer | yes | Invoices.Id | If this invoice was consolidated into another invoice, this references the combined invoice |
ConsolidatedIntoInvoiceSyncId | guid | yes | | SyncId of the Invoices row that ConsolidatedIntoInvoiceId points at. |
CreatedBy | string | yes | | |
CreatedDate | datetime | no | | |
CustomerAddressId | integer | yes | CustomerAddresses.Id | Service Address |
CustomerAddressSyncId | guid | yes | | SyncId of the CustomerAddresses row that CustomerAddressId points at. |
CustomerId | integer | yes | Customers.Id | Customer |
CustomerSyncId | guid | yes | | SyncId of the Customers row that CustomerId points at. |
Description | stringmax 2000 | yes | | |
DueDate | datetime | no | | |
EmailedAt | datetime | yes | | Invoice Emailed At |
EmailedTo | stringmax 200 | yes | | Invoice Emailed To |
InvoiceDate | datetime | no | | |
InvoiceNumber | stringmax 50 | no | | |
InvoiceSequenceNumber | integer | yes | | Sequence number for multiple invoices on same sales order or job (1, 2, 3, etc.) For supplemental invoices: 1 = original, 2 = first supplement, 3 = second supplement NULL for standalone invoices only |
IsConsolidatedInvoice | boolean | no | | Quick flag to identify consolidated invoices (avoids parsing SourceInvoiceIds) |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
IsStandalone | boolean | no | | Is Standalone Invoice |
JobDiscountFactor | decimal | no | | Job-level discount factor FROZEN at finalize time. 1 = none/legacy. |
JobDiscountNote | stringmax 500 | yes | | |
JobDiscountPercent | decimal | yes | | Frozen percent for the discount row label ("Discount (10%)"); null for $-type or none. |
JobId | integer | yes | Jobs.Id | Job |
JobSyncId | guid | yes | | SyncId of the Jobs row that JobId points at. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
ModifiedBy | string | yes | | |
ModifiedDate | datetime | yes | | |
Notes | string | yes | | |
OrganizationId | integer | no | Organizations.Id | |
PaidDate | datetime | yes | | |
PaymentInstructions | string | yes | | |
PaymentLinkCreatedAt | datetime | yes | | Payment Link Created |
PaymentLinkId | stringmax 200 | yes | | |
PaymentLinkUrl | stringmax 500 | yes | | |
SalesOrderId | integer | yes | SalesOrders.Id | Sales Order |
SalesOrderSyncId | guid | yes | | SyncId of the SalesOrders row that SalesOrderId points at. |
SentDate | datetime | yes | | |
SourceInvoiceIds | stringmax 4000 | yes | | For consolidated invoices: JSON array of source invoice IDs that were combined Example: "[123, 456, 789]" |
SourceInvoiceSyncIds | stringmax 4000 | yes | | |
Status | enum | no | | Draft Sent Viewed PartiallyPaid Paid Overdue Cancelled Outstanding Consolidated |
StoreCreditApplied | decimal | no | | |
Subtotal | decimal | no | | |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
TaxAmountOverride | decimal | yes | | Pre-computed tax amount for consolidated invoices with mixed tax rates. |
TaxRate | decimal | no | | |
TaxableSubtotal | decimal | yes | | Taxable portion of the subtotal. |
Terms | stringmax 500 | yes | | Payment Terms |
Represents a barcode associated with a specific inventory item.
Files json/ItemBarcodes.json csv/ItemBarcodes.csv · primary key Id · scoped by e.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
BarcodeValue | stringmax 100 | no | | |
CreatedAt | datetime | no | | |
DeletedAt | datetime | yes | | |
IsDeleted | boolean | no | | Soft delete: true means the row was deleted (kept for sync and history). |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
IsPrimary | boolean | no | | Indicates if this is the primary/default barcode for the item |
ItemId | integer | no | Items.Id | |
ItemSyncId | guid | yes | | SyncId of the Items row that ItemId points at. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
OrganizationId | integer | no | Organizations.Id | |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
Type | stringmax 50 | no | | Flexible barcode type - user can define any type. |
UpdatedAt | datetime | yes | | |
Represents a catalog entry for standard inventory items.
Files json/ItemCatalog.json csv/ItemCatalog.csv · primary key Id · scoped by e.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
Barcode | string | yes | | |
CategoryId | integer | yes | ItemCategories.Id | |
CreatedAt | datetime | no | | |
Description | string | yes | | |
Name | stringmax 100 | no | | Item Name |
OrganizationId | integer | no | Organizations.Id | |
UpdatedAt | datetime | yes | | |
Represents a property for an item catalog entry.
Files json/ItemCatalogProperty.json csv/ItemCatalogProperty.csv · primary key Id · scoped by e.ItemCatalog.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
ItemCatalogId | integer | no | ItemCatalog.Id | |
PropertyName | stringmax 100 | no | | |
PropertyValue | string | no | | |
A category that items and templates are classified by (categories can be nested).
Files json/ItemCategories.json csv/ItemCategories.csv · primary key Id · scoped by e.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
CreatedAt | datetime | no | | |
Description | string | yes | | |
IsDeleted | boolean | no | | Soft delete: true means the row was deleted (kept for sync and history). |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
IsSystemCategory | boolean | no | | |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
Name | stringmax 100 | no | | |
OrganizationId | integer | no | Organizations.Id | |
ParentCategoryId | integer | yes | ItemCategories.Id | |
ParentCategorySyncId | guid | yes | | SyncId of the ItemCategories row that ParentCategoryId points at. |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
TemplateBuilderId | integer | yes | TemplateBuilders.Id | |
TemplateBuilderSyncId | guid | yes | | SyncId of the TemplateBuilders row that TemplateBuilderId points at. |
UpdatedAt | datetime | yes | | |
Junction table for many-to-many relationship between Item and ItemCategory.
Files json/ItemCategoryAssignments.json csv/ItemCategoryAssignments.csv · primary key Id · scoped by e.Item.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
CategoryId | integer | no | ItemCategories.Id | |
CategorySyncId | guid | yes | | SyncId of the ItemCategories row that CategoryId points at. |
IsDeleted | boolean | no | | Soft delete: true means the row was deleted (kept for sync and history). |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
ItemId | integer | no | Items.Id | |
ItemSyncId | guid | yes | | SyncId of the Items row that ItemId points at. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
A history entry for an inventory item: a move, property change or other change.
Files json/ItemChangeLogs.json csv/ItemChangeLogs.csv · primary key Id · scoped by e.Item != null && e.Item.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
ChangeType | enum | no | | Created Updated Deleted LocationChanged ParentChanged PropertyChanged |
ChangedAt | datetime | no | | |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
ItemId | integer | no | Items.Id | |
ItemSyncId | guid | yes | | SyncId of the Items row that ItemId points at. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
NewLocationId | integer | yes | | |
NewLocationSyncId | guid | yes | | |
NewParentId | integer | yes | | |
NewParentSyncId | guid | yes | | |
NewValues | string | yes | | |
OldLocationId | integer | yes | | |
OldLocationSyncId | guid | yes | | |
OldParentId | integer | yes | | |
OldParentSyncId | guid | yes | | |
OldValues | string | yes | | |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
UserId | string | yes | AspNetUsers.Id | |
UserSyncId | guid | yes | | SyncId of the AspNetUsers row that UserId points at. |
A property value on an item, bundle line or kit line (name, value and data type).
Files json/ItemProperties.json csv/ItemProperties.csv · primary key Id · scoped by (e.Item != null && e.Item.OrganizationId == org) || (e.BundleTemplateItem != null && e.BundleTemplateItem.BundleTemplate.OrganizationId == org) || (e.KitItem != null && e.KitItem.Kit.OrganizationId == org)
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
BundleTemplateItemId | integer | yes | BundleTemplateItems.Id | |
BundleTemplateItemSyncId | guid | yes | | SyncId of the BundleTemplateItems row that BundleTemplateItemId points at. |
DataType | enum | no | | Text Number Date Boolean Dropdown MultiSelect |
IsLocalProperty | boolean | no | | |
IsOverwritten | boolean | no | | |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
ItemId | integer | yes | Items.Id | |
ItemSyncId | guid | yes | | SyncId of the Items row that ItemId points at. |
KitItemId | integer | yes | KitItems.Id | |
KitItemSyncId | guid | yes | | SyncId of the KitItems row that KitItemId points at. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
Options | string | yes | | |
PropertyName | string | no | | |
PropertyValue | string | no | | |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
An inventory item: one physical unit or stock line, where it is, and what it was made from.
Files json/Items.json csv/Items.csv · primary key Id · scoped by e.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
ActiveTransferId | integer | yes | | |
ActiveTransferSyncId | guid | yes | | |
AutoGeneratedName | stringmax 500 | yes | | |
BundleId | integer | yes | Bundles.Id | |
BundleSyncId | guid | yes | | SyncId of the Bundles row that BundleId points at. |
CreatedAt | datetime | no | | |
Description | string | yes | | |
DirectCategoryIds | string | yes | | |
DirectCategorySyncIds | string | yes | | |
HasCalculatedProperties | boolean | no | | |
IsDeleted | boolean | no | | Soft delete: true means the row was deleted (kept for sync and history). |
IsInTransit | boolean | no | | |
IsNameOverwritten | boolean | no | | |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
LastMovedAt | datetime | yes | | |
LastMovedBy | stringmax 100 | yes | | |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
LocationId | integer | yes | Locations.Id | |
LocationSyncId | guid | yes | | SyncId of the Locations row that LocationId points at. |
MoveHistory | string | yes | | |
Name | string | no | | |
OrganizationId | integer | no | Organizations.Id | |
ParentItemId | integer | yes | Items.Id | |
ParentItemSyncId | guid | yes | | SyncId of the Items row that ParentItemId points at. |
ReceivedItemId | integer | yes | ReceivedItems.Id | |
SourcePurchaseOrderId | integer | yes | PurchaseOrders.Id | |
SourcePurchaseOrderSyncId | guid | yes | | SyncId of the PurchaseOrders row that SourcePurchaseOrderId points at. |
SourceShipmentId | integer | yes | PurchaseOrderShipments.Id | |
SourceShipmentSyncId | guid | yes | | SyncId of the PurchaseOrderShipments row that SourceShipmentId points at. |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
TemplateId | integer | yes | ItemTemplates.Id | |
TemplateSyncId | guid | yes | | SyncId of the ItemTemplates row that TemplateId points at. |
UnitsConsumed | integer | no | | |
UpdatedAt | datetime | yes | | |
A minimum-stock rule for an item template, optionally per location, used for low-stock alerts.
Files json/ItemStockThresholds.json csv/ItemStockThresholds.csv · primary key Id · scoped by e.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
CreatedAt | datetime | no | | |
CreatedBy | stringmax 100 | no | | |
IsActive | boolean | no | | |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
ItemTemplateId | integer | no | ItemTemplates.Id | |
ItemTemplateSyncId | guid | yes | | SyncId of the ItemTemplates row that ItemTemplateId points at. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
LocationId | integer | yes | Locations.Id | |
LocationSyncId | guid | yes | | SyncId of the Locations row that LocationId points at. |
MinimumStock | integer | no | | |
OrganizationId | integer | no | Organizations.Id | |
ReorderQuantity | integer | yes | | |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
UpdatedAt | datetime | no | | |
UpdatedBy | stringmax 100 | no | | |
Represents a barcode associated with an item template.
Files json/ItemTemplateBarcodes.json csv/ItemTemplateBarcodes.csv · primary key Id · scoped by e.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
BarcodeValue | stringmax 100 | no | | |
CreatedAt | datetime | no | | |
DeletedAt | datetime | yes | | |
IsDeleted | boolean | no | | Soft delete: true means the row was deleted (kept for sync and history). |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
IsPrimary | boolean | no | | Indicates if this is the primary/default barcode for the template |
ItemTemplateId | integer | no | ItemTemplates.Id | |
ItemTemplateSyncId | guid | yes | | SyncId of the ItemTemplates row that ItemTemplateId points at. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
OrganizationId | integer | no | Organizations.Id | |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
Type | stringmax 50 | no | | Flexible barcode type - user can define any type. |
UpdatedAt | datetime | yes | | |
Junction table for many-to-many relationship between ItemTemplate and ItemCategory.
Files json/ItemTemplateCategoryAssignments.json csv/ItemTemplateCategoryAssignments.csv · primary key Id · scoped by e.ItemTemplate.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
CategoryId | integer | no | ItemCategories.Id | |
CategorySyncId | guid | yes | | SyncId of the ItemCategories row that CategoryId points at. |
IsDeleted | boolean | no | | Soft delete: true means the row was deleted (kept for sync and history). |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
ItemTemplateId | integer | no | ItemTemplates.Id | |
ItemTemplateSyncId | guid | yes | | SyncId of the ItemTemplates row that ItemTemplateId points at. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
One option step ("Add-on" group) shown when adding a configurable item to a job: e.g. a garage door's "Color", "Panel", "Windows", "Premium Hardware".
Files json/ItemTemplateModifierGroups.json csv/ItemTemplateModifierGroups.csv · primary key Id · scoped by e.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
DisplayOrder | integer | no | | |
IsDeleted | boolean | no | | Soft delete: true means the row was deleted (kept for sync and history). |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
ItemTemplateId | integer | no | ItemTemplates.Id | |
ItemTemplateSyncId | guid | yes | | SyncId of the ItemTemplates row that ItemTemplateId points at. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
MaxTotalQuantity | integer | yes | | |
Name | stringmax 100 | no | | |
OrganizationId | integer | no | Organizations.Id | |
SelectionMode | enum | no | | ChooseOne ChooseOneOptional ChooseManyWithQuantity |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
One choice within an ItemTemplateModifierGroup, e.g. Color -> "Weathered Grey" (+25% of base) or Windows -> "Clear Window Short, Pan" (+$28.25 per lite).
Files json/ItemTemplateModifierOptions.json csv/ItemTemplateModifierOptions.csv · primary key Id · scoped by e.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
DisplayOrder | integer | no | | |
IsDefault | boolean | no | | |
IsDeleted | boolean | no | | Soft delete: true means the row was deleted (kept for sync and history). |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
ModifierGroupId | integer | no | ItemTemplateModifierGroups.Id | |
ModifierGroupSyncId | guid | yes | | SyncId of the ItemTemplateModifierGroups row that ModifierGroupId points at. |
Name | stringmax 150 | no | | |
OrganizationId | integer | no | Organizations.Id | |
PriceType | enum | no | | Fixed PercentOfBase |
PriceValue | decimal | no | | |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
One quantity price break for an item template (Bulk Pricing).
Files json/ItemTemplatePriceTiers.json csv/ItemTemplatePriceTiers.csv · primary key Id · scoped by e.ItemTemplate.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
IsDeleted | boolean | no | | Soft delete: true means the row was deleted (kept for sync and history). |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
ItemTemplateId | integer | no | ItemTemplates.Id | |
ItemTemplateSyncId | guid | yes | | SyncId of the ItemTemplates row that ItemTemplateId points at. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
MinQuantity | integer | no | | |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
UnitPrice | decimal | no | | |
Represents a property for an item template.
Files json/ItemTemplateProperties.json csv/ItemTemplateProperties.csv · primary key Id · scoped by e.ItemTemplate.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
DataType | enum | no | | Text Number Date Boolean Dropdown MultiSelect |
IsLocalProperty | boolean | no | | |
IsOverwritten | boolean | no | | |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
ItemTemplateId | integer | no | ItemTemplates.Id | |
ItemTemplateSyncId | guid | yes | | SyncId of the ItemTemplates row that ItemTemplateId points at. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
Options | string | yes | | |
PropertyName | stringmax 100 | no | | |
PropertyValue | string | no | | |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
Represents a template for creating inventory items
Files json/ItemTemplates.json csv/ItemTemplates.csv · primary key Id · scoped by e.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
AutoGeneratedName | stringmax 500 | yes | | |
CategoryId | integer | yes | ItemCategories.Id | |
CategorySyncId | guid | yes | | SyncId of the ItemCategories row that CategoryId points at. |
CreatedAt | datetime | no | | |
Description | string | yes | | |
DirectCategoryIds | string | yes | | |
DirectCategorySyncIds | string | yes | | |
ImportJobId | integer | yes | ImportJobs.Id | |
IsDeleted | boolean | no | | Soft delete: true means the row was deleted (kept for sync and history). |
IsDraft | boolean | no | | |
IsMiscItem | boolean | no | | |
IsNameOverwritten | boolean | no | | |
IsParentTemplate | boolean | no | | |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
Name | stringmax 100 | no | | |
OrganizationId | integer | no | Organizations.Id | |
ParentTemplateId | integer | yes | ItemTemplates.Id | |
ParentTemplateSyncId | guid | yes | | SyncId of the ItemTemplates row that ParentTemplateId points at. |
SellByUnits | boolean | no | | |
SubUnitParentTemplateSyncId | guid | yes | | |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
TemplateBuilderId | integer | yes | TemplateBuilders.Id | |
TemplateBuilderSyncId | guid | yes | | SyncId of the TemplateBuilders row that TemplateBuilderId points at. |
UnitName | stringmax 50 | yes | | |
UnitsPerParent | integer | yes | | |
UpdatedAt | datetime | yes | | |
A link between two similar item templates (type of similarity, score and notes).
Files json/ItemTemplateSimilarities.json csv/ItemTemplateSimilarities.csv · primary key Id · scoped by e.ItemTemplate.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
CreatedBy | stringmax 450 | no | | |
CreatedDate | datetime | no | | |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
ItemTemplateId | integer | no | ItemTemplates.Id | |
ItemTemplateSyncId | guid | yes | | SyncId of the ItemTemplates row that ItemTemplateId points at. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
Notes | stringmax 500 | yes | | |
SimilarItemTemplateId | integer | no | ItemTemplates.Id | |
SimilarItemTemplateSyncId | guid | yes | | SyncId of the ItemTemplates row that SimilarItemTemplateId points at. |
SimilarityScore | decimal | no | | |
SimilarityType | stringmax 50 | no | | |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
UpdatedBy | stringmax 450 | yes | | |
UpdatedDate | datetime | yes | | |
A user assigned to work a scheduled job.
Files json/JobAssignments.json csv/JobAssignments.csv · primary key Id · scoped by e.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
CreatedAt | datetime | no | | |
CreatedBy | stringmax 256 | yes | | |
IsDeleted | boolean | no | | Soft delete: true means the row was deleted (kept for sync and history). |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
JobId | integer | no | Jobs.Id | |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
Notes | stringmax 200 | yes | | |
OrganizationId | integer | no | | |
ScheduleGroupId | integer | yes | ScheduleGroups.Id | |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
UserId | string | no | AspNetUsers.Id | |
Custom charge within an estimate option
Files json/JobEstimateOptionCharges.json csv/JobEstimateOptionCharges.csv · primary key Id · scoped by e.EstimateOption.Job.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
Cost | decimal | no | | |
Description | stringmax 500 | yes | | |
DisplayOrder | integer | no | | |
EstimateOptionId | integer | no | JobEstimateOptions.Id | |
EstimateOptionSyncId | guid | yes | | SyncId of the JobEstimateOptions row that EstimateOptionId points at. |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
Name | stringmax 200 | no | | Charge Name |
Price | decimal | no | | |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
Labor item within an estimate option
Files json/JobEstimateOptionLabors.json csv/JobEstimateOptionLabors.csv · primary key Id · scoped by e.EstimateOption.Job.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
CustomerRate | decimal | no | | |
Description | stringmax 200 | no | | |
DisplayOrder | integer | no | | |
EmployeeCostRate | decimal | no | | |
EstimateOptionId | integer | no | JobEstimateOptions.Id | |
EstimateOptionSyncId | guid | yes | | SyncId of the JobEstimateOptions row that EstimateOptionId points at. |
EstimatedHours | decimal | no | | |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
LaborRateId | integer | yes | LaborRates.Id | Labor Rate |
LaborRateSyncId | guid | yes | | SyncId of the LaborRates row that LaborRateId points at. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
Notes | stringmax 500 | yes | | |
OverheadFactor | decimal | no | | |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
Material item within an estimate option
Files json/JobEstimateOptionMaterials.json csv/JobEstimateOptionMaterials.csv · primary key Id · scoped by e.EstimateOption.Job.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
Description | stringmax 200 | no | | |
DiscountPercent | decimal | no | | Discount % |
DisplayOrder | integer | no | | |
EstimateOptionId | integer | no | JobEstimateOptions.Id | |
EstimateOptionSyncId | guid | yes | | SyncId of the JobEstimateOptions row that EstimateOptionId points at. |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
ItemTemplateId | integer | yes | ItemTemplates.Id | Item Template |
ItemTemplateSyncId | guid | yes | | SyncId of the ItemTemplates row that ItemTemplateId points at. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
Notes | stringmax 500 | yes | | |
Quantity | integer | no | | |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
UnitCost | decimal | no | | |
UnitPrice | decimal | no | | |
Represents an option in a job estimate (e.g., "Basic Package", "Premium Package").
Files json/JobEstimateOptions.json csv/JobEstimateOptions.csv · primary key Id · scoped by e.Job.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
CreatedDate | datetime | no | | |
Description | stringmax 500 | yes | | |
DisplayOrder | integer | no | | |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
IsRecommended | boolean | no | | |
IsSelected | boolean | no | | |
JobId | integer | no | Jobs.Id | |
JobSyncId | guid | yes | | SyncId of the Jobs row that JobId points at. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
Name | stringmax 100 | no | | Option Name |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
A completed item response in a job's pre-inspection checklist
Files json/JobEstimatePreInspectionItems.json csv/JobEstimatePreInspectionItems.csv · primary key Id · scoped by e.JobInspection.Job.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
CompletedById | string | yes | AspNetUsers.Id | Completed By |
CompletedBySyncId | guid | yes | | SyncId of the AspNetUsers row that CompletedById points at. |
CompletedDate | datetime | yes | | |
DisplayOrder | integer | no | | |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
ItemText | stringmax 500 | no | | |
JobInspectionId | integer | no | JobEstimatePreInspections.Id | |
JobInspectionSyncId | guid | yes | | SyncId of the JobEstimatePreInspections row that JobInspectionId points at. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
Notes | string | yes | | |
SectionName | stringmax 200 | yes | | |
SectionNotes | string | yes | | Section-level notes (stored on first item of section for simplicity) |
StatusValue | stringmax 100 | yes | | The selected status value - "Pass", "Fail", "true", "false", etc. |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
TemplateItemId | integer | yes | EstimatePreInspectionTemplateItems.Id | Reference to the template item (null if ad-hoc item added during inspection) |
TemplateItemSyncId | guid | yes | | SyncId of the EstimatePreInspectionTemplateItems row that TemplateItemId points at. |
TemplateSectionId | integer | yes | EstimatePreInspectionTemplateSections.Id | Reference to the section (for ordering and grouping) |
TemplateSectionSyncId | guid | yes | | SyncId of the EstimatePreInspectionTemplateSections row that TemplateSectionId points at. |
A completed pre-inspection checklist for a specific job
Files json/JobEstimatePreInspections.json csv/JobEstimatePreInspections.csv · primary key Id · scoped by e.Job.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
CompletedDate | datetime | yes | | |
CreatedBy | string | yes | | |
CreatedDate | datetime | no | | |
CustomTitle | stringmax 200 | yes | | User can override the title for this specific job's checklist |
IncludeInPdf | boolean | no | | |
InspectedById | string | yes | AspNetUsers.Id | Inspected By |
InspectedBySyncId | guid | yes | | SyncId of the AspNetUsers row that InspectedById points at. |
InspectedDate | datetime | yes | | |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
JobId | integer | no | Jobs.Id | |
JobSyncId | guid | yes | | SyncId of the Jobs row that JobId points at. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
LockedDate | datetime | yes | | When the job started - checklist becomes read-only after this |
ModifiedBy | string | yes | | |
ModifiedDate | datetime | yes | | |
Status | enum | no | | NotStarted InProgress Completed |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
TemplateId | integer | no | EstimatePreInspectionTemplates.Id | |
TemplateSyncId | guid | yes | | SyncId of the EstimatePreInspectionTemplates row that TemplateId points at. |
Snapshot of a pre-inspection checklist state for audit purposes
Files json/JobEstimatePreInspectionSnapshots.json csv/JobEstimatePreInspectionSnapshots.csv · primary key Id · scoped by e.JobInspection.Job.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
CreatedBy | string | yes | | |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
JobInspectionId | integer | no | JobEstimatePreInspections.Id | |
JobInspectionSyncId | guid | yes | | SyncId of the JobEstimatePreInspections row that JobInspectionId points at. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
Notes | stringmax 500 | yes | | |
SnapshotData | string | no | | JSON serialization of the full checklist state at time of snapshot |
SnapshotDate | datetime | no | | |
SnapshotType | enum | no | | SentToCustomer PreEdit JobStarted ManualSave |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
A configured add-on choice on a job line — SNAPSHOT semantics, like JobItem.UnitPrice.
Files json/JobItemModifierSelections.json csv/JobItemModifierSelections.csv · primary key Id · scoped by e.JobItem.Job.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
GroupName | stringmax 100 | no | | |
IsDeleted | boolean | no | | Soft delete: true means the row was deleted (kept for sync and history). |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
JobItemId | integer | no | JobItems.Id | |
JobItemSyncId | guid | yes | | SyncId of the JobItems row that JobItemId points at. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
ModifierOptionId | integer | yes | ItemTemplateModifierOptions.Id | |
ModifierOptionSyncId | guid | yes | | SyncId of the ItemTemplateModifierOptions row that ModifierOptionId points at. |
OptionName | stringmax 150 | no | | |
Quantity | integer | no | | |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
UnitUpcharge | decimal | no | | |
A material line on a job: the item or template, quantity, price, discount and cost.
Files json/JobItems.json csv/JobItems.csv · primary key Id · scoped by e.Job.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
ActualItemId | integer | yes | Items.Id | Actual Item |
ActualItemSyncId | guid | yes | | SyncId of the Items row that ActualItemId points at. |
DeliveredQuantity | integer | no | | |
DiscountAmount | decimal | no | | |
DiscountPercent | decimal | no | | Discount |
IsDeleted | boolean | no | | Soft delete: true means the row was deleted (kept for sync and history). |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
IsPriceOverridden | boolean | no | | |
ItemTemplateId | integer | no | ItemTemplates.Id | Item Template |
ItemTemplateSyncId | guid | yes | | SyncId of the ItemTemplates row that ItemTemplateId points at. |
JobId | integer | no | Jobs.Id | |
JobSyncId | guid | yes | | SyncId of the Jobs row that JobId points at. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
Notes | stringmax 500 | yes | | |
PreferredItemIds | string | yes | | |
PreferredItemSyncIds | string | yes | | |
PreferredSourceLocationIds | string | yes | | |
PreferredSourceLocationSyncIds | string | yes | | |
Quantity | integer | no | | |
ReservedDate | datetime | yes | | |
Status | enum | no | | Planned Reserved Used Returned Cancelled |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
UnitCost | decimal | no | | |
UnitPrice | decimal | no | | |
UsedDate | datetime | yes | | |
A job (work order): customer, address, status, schedule, estimate and totals.
Files json/Jobs.json csv/Jobs.csv · primary key Id · scoped by e.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
ActualLaborCost | decimal | no | | |
ActualMaterialCost | decimal | no | | |
CompletedDate | datetime | yes | | |
CreatedBy | string | yes | | |
CreatedDate | datetime | no | | |
CustomChargesTotal | decimal | no | | |
CustomerAddressId | integer | yes | CustomerAddresses.Id | Service Address |
CustomerAddressSyncId | guid | yes | | SyncId of the CustomerAddresses row that CustomerAddressId points at. |
CustomerId | integer | no | Customers.Id | Customer |
CustomerSyncId | guid | yes | | SyncId of the Customers row that CustomerId points at. |
Description | stringmax 500 | yes | | |
DiscountAmount | decimal | yes | | Job Discount ($) |
DiscountNote | stringmax 500 | yes | | |
DiscountPercent | decimal | yes | | Job Discount (%) |
DownPaymentAmount | decimal | yes | | Down Payment |
DownPaymentAppliedUtc | datetime | yes | | Set when the down payment transferred to an invoice (exactly once). |
DownPaymentDate | datetime | yes | | |
DownPaymentMethod | stringmax 50 | yes | | |
DownPaymentNote | stringmax 500 | yes | | |
EmailedAt | datetime | yes | | Invoice Emailed At |
EmailedTo | stringmax 200 | yes | | Invoice Emailed To |
EstimatedLaborCost | decimal | no | | |
EstimatedMaterialCost | decimal | no | | |
HasMultipleOptions | boolean | no | | |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
JobNumber | stringmax 50 | no | | |
JobSiteLocationId | integer | yes | Locations.Id | Job Site Location |
JobSiteLocationSyncId | guid | yes | | SyncId of the Locations row that JobSiteLocationId points at. |
JobStatusDefinitionId | integer | yes | JobStatusDefinitions.Id | Custom Status |
JobStatusDefinitionSyncId | guid | yes | | SyncId of the JobStatusDefinitions row that JobStatusDefinitionId points at. |
JobType | stringmax 100 | no | | |
LaborPrice | decimal | no | | |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
MaterialPrice | decimal | no | | |
ModifiedBy | string | yes | | |
ModifiedDate | datetime | yes | | |
Notes | string | yes | | |
OrganizationId | integer | no | Organizations.Id | |
PaymentLinkCreatedAt | datetime | yes | | Payment Link Created |
PaymentLinkId | stringmax 200 | yes | | |
PaymentLinkUrl | stringmax 500 | yes | | |
PaymentStatus | stringmax 50 | yes | | |
ScheduledDate | datetime | yes | | |
ScheduledDurationMinutes | integer | yes | | Planned length of the scheduled visit in minutes. |
SelectedOptionId | integer | yes | JobEstimateOptions.Id | Selected Option |
SelectedOptionSyncId | guid | yes | | SyncId of the JobEstimateOptions row that SelectedOptionId points at. |
StartDate | datetime | yes | | |
Status | enum | no | | Draft Estimated Scheduled InProgress Completed Invoiced Paid Cancelled Outstanding InspectionInProgress AwaitingOptionSelection |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
TaxCustomCharges | boolean | no | | |
TaxLabor | boolean | no | | |
TaxMaterials | boolean | no | | |
TaxRate | decimal | no | | Tax Rate (%) |
A job status the organization defines (name, color, order and allowed transitions).
Files json/JobStatusDefinitions.json csv/JobStatusDefinitions.csv · primary key Id · scoped by e.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
AllowedTransitionSyncIds | string | yes | | |
AllowedTransitionsJson | string | yes | | Can Transition To |
AllowsInvoicing | boolean | no | | |
ColorHex | stringmax 7 | yes | | Color |
CountsAsActive | boolean | no | | |
CountsAsCompleted | boolean | no | | |
CreatedBy | string | yes | | |
CreatedDate | datetime | no | | |
Description | stringmax 200 | yes | | |
DisplayOrder | integer | no | | |
IsDeleted | boolean | no | | Soft delete: true means the row was deleted (kept for sync and history). |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
IsSystemStatus | boolean | no | | |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
ModifiedBy | string | yes | | |
ModifiedDate | datetime | yes | | |
Name | stringmax 50 | no | | Status Name |
OrganizationId | integer | no | Organizations.Id | |
RequiresCompletionFields | boolean | no | | |
RequiresScheduleDate | boolean | no | | |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
SystemStatusType | enum | yes | | Draft Estimated Scheduled InProgress Completed Invoiced Paid Cancelled Outstanding InspectionInProgress AwaitingOptionSelection |
An entry on a job's timeline: a note, status change, photo, signature or other update.
Files json/JobUpdates.json csv/JobUpdates.csv · primary key Id · scoped by e.Job.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
AttachmentName | stringmax 200 | yes | | |
AttachmentUrl | stringmax 500 | yes | | |
CreatedBy | stringmax 100 | no | | |
CreatedByName | stringmax 100 | yes | | |
CreatedDate | datetime | no | | |
Description | stringmax 2000 | no | | |
IsInternal | boolean | no | | Internal Note |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
JobId | integer | no | Jobs.Id | |
JobSyncId | guid | yes | | SyncId of the Jobs row that JobId points at. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
NewStatus | enum | yes | | Draft Estimated Scheduled InProgress Completed Invoiced Paid Cancelled Outstanding InspectionInProgress AwaitingOptionSelection |
OldStatus | enum | yes | | Draft Estimated Scheduled InProgress Completed Invoiced Paid Cancelled Outstanding InspectionInProgress AwaitingOptionSelection |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
UpdateType | enum | no | | GeneralNote ProgressUpdate Issue CustomerRequest ChangeOrder Delay MaterialNote CompletionNote StatusChange ScheduleChange Payment Return Photo Signature TextMessage |
One line of a kit (a planned set of items for a transfer); lines can nest.
Files json/KitItems.json csv/KitItems.csv · primary key Id · scoped by e.Kit.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
CategoryId | integer | yes | ItemCategories.Id | |
CategorySyncId | guid | yes | | SyncId of the ItemCategories row that CategoryId points at. |
Description | string | yes | | |
HasCalculatedProperties | boolean | no | | |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
ItemTemplateId | integer | yes | ItemTemplates.Id | |
ItemTemplateSyncId | guid | yes | | SyncId of the ItemTemplates row that ItemTemplateId points at. |
KitId | integer | no | Kits.Id | |
KitSyncId | guid | yes | | SyncId of the Kits row that KitId points at. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
Name | string | no | | |
ParentKitItemId | integer | yes | KitItems.Id | |
ParentKitItemSyncId | guid | yes | | SyncId of the KitItems row that ParentKitItemId points at. |
Quantity | integer | no | | |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
A kit: a named set of items planned to move together in transfers.
Files json/Kits.json csv/Kits.csv · primary key Id · scoped by e.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
CreatedAt | datetime | no | | |
Description | string | yes | | |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
Name | string | no | | Kit Name |
OrganizationId | integer | no | Organizations.Id | |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
UpdatedAt | datetime | yes | | |
A labor line on a job: task, labor rate, hours, customer rate, discount and employee cost.
Files json/LaborItems.json csv/LaborItems.csv · primary key Id · scoped by e.Job.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
ActualHours | decimal | no | | |
CustomerPriceOverride | decimal | yes | | |
CustomerRate | decimal | no | | |
Description | stringmax 200 | no | | |
DiscountAmount | decimal | no | | |
DiscountPercent | decimal | no | | Discount |
EmployeeCost | decimal | no | | |
EstimatedHours | decimal | no | | |
IsDeleted | boolean | no | | Soft delete: true means the row was deleted (kept for sync and history). |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
JobId | integer | no | Jobs.Id | |
JobSyncId | guid | yes | | SyncId of the Jobs row that JobId points at. |
LaborRateId | integer | yes | LaborRates.Id | Labor Rate |
LaborRateSyncId | guid | yes | | SyncId of the LaborRates row that LaborRateId points at. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
Notes | string | yes | | |
OverheadFactor | decimal | no | | |
Status | enum | no | | Planned Scheduled InProgress Completed Cancelled |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
TaskTemplateId | integer | yes | TaskTemplates.Id | Task Template |
TaskTemplateSyncId | guid | yes | | SyncId of the TaskTemplates row that TaskTemplateId points at. |
TechnicianId | string | yes | AspNetUsers.Id | Technician |
WorkDate | datetime | yes | | |
A labor rate: the hourly rate charged for a kind of work, and its employee cost and overhead.
Files json/LaborRates.json csv/LaborRates.csv · primary key Id · scoped by e.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
CreatedBy | string | yes | | |
CreatedDate | datetime | no | | |
Description | stringmax 500 | yes | | |
EmployeeCost | decimal | yes | | |
HourlyRate | decimal | no | | |
IsActive | boolean | no | | |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
ModifiedBy | string | yes | | |
ModifiedDate | datetime | yes | | |
Name | stringmax 100 | no | | Rate Name |
OrganizationId | integer | no | Organizations.Id | |
OverheadFactor | decimal | no | | |
RateType | enum | no | | Standard Emergency Weekend AfterHours SkillLevel Custom Flat |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
A place that holds inventory (warehouse, truck, bin, job site); locations can be nested.
Files json/Locations.json csv/Locations.csv · primary key Id · scoped by e.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
Address | string | yes | | |
CreatedAt | datetime | no | | |
IsDeleted | boolean | no | | Soft delete: true means the row was deleted (kept for sync and history). |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
IsSystemLocation | boolean | no | | |
JobId | integer | yes | | |
JobSyncId | guid | yes | | |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
LocationTypeId | integer | no | LocationTypes.Id | |
LocationTypeSyncId | guid | yes | | SyncId of the LocationTypes row that LocationTypeId points at. |
Name | string | no | | |
OrganizationId | integer | no | Organizations.Id | |
ParentLocationId | integer | yes | Locations.Id | |
ParentLocationSyncId | guid | yes | | SyncId of the Locations row that ParentLocationId points at. |
Status | enum | no | | Active Inactive Maintenance Temporary |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
UpdatedAt | datetime | yes | | |
One item moved in a location transfer.
Files json/LocationTransferItems.json csv/LocationTransferItems.csv · primary key Id · scoped by e.Transfer.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
DestinationLocationId | integer | yes | Locations.Id | |
DestinationLocationSyncId | guid | yes | | SyncId of the Locations row that DestinationLocationId points at. |
DestinationWaypointId | integer | yes | TransferWaypoints.Id | |
DestinationWaypointSyncId | guid | yes | | SyncId of the TransferWaypoints row that DestinationWaypointId points at. |
FailedAt | datetime | yes | | |
FailedById | string | yes | AspNetUsers.Id | |
FailedBySyncId | guid | yes | | SyncId of the AspNetUsers row that FailedById points at. |
FailureReason | string | yes | | |
GroupedItemIds | string | yes | | |
GroupedItemSyncIds | string | yes | | |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
ItemId | integer | yes | Items.Id | |
ItemSyncId | guid | yes | | SyncId of the Items row that ItemId points at. |
ItemTemplateId | integer | yes | ItemTemplates.Id | |
ItemTemplateSyncId | guid | yes | | SyncId of the ItemTemplates row that ItemTemplateId points at. |
JobItemId | integer | yes | JobItems.Id | |
JobItemSyncId | guid | yes | | SyncId of the JobItems row that JobItemId points at. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
LocationTransferLogId | integer | no | LocationTransferLogs.Id | |
Notes | string | yes | | |
Quantity | integer | no | | |
QuantityDelivered | integer | yes | | |
QuantityPicked | integer | yes | | |
QuantityReturned | integer | no | | |
SalesOrderItemId | integer | yes | SalesOrderItems.Id | |
SalesOrderItemSyncId | guid | yes | | SyncId of the SalesOrderItems row that SalesOrderItemId points at. |
Scanned | boolean | no | | |
ScannedAt | datetime | yes | | |
ScannedById | string | yes | AspNetUsers.Id | |
ScannedBySyncId | guid | yes | | SyncId of the AspNetUsers row that ScannedById points at. |
Status | enum | no | | Pending InTransit Delivered Failed Returned |
SubUnitDrawsJson | string | yes | | |
SubUnitShortfallUnits | integer | no | | |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
TransferSyncId | guid | yes | | |
A transfer of items between locations: source, destination, status and dates.
Files json/LocationTransferLogs.json csv/LocationTransferLogs.csv · primary key Id · scoped by e.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
CompletedById | string | yes | AspNetUsers.Id | |
CompletedBySyncId | guid | yes | | SyncId of the AspNetUsers row that CompletedById points at. |
CreatedAt | datetime | no | | |
CurrentWaypointId | integer | yes | TransferWaypoints.Id | ID of the current waypoint in the journey, if using waypoints |
CurrentWaypointSyncId | guid | yes | | SyncId of the TransferWaypoints row that CurrentWaypointId points at. |
DestinationLocationId | integer | yes | Locations.Id | |
DestinationLocationSyncId | guid | yes | | SyncId of the Locations row that DestinationLocationId points at. |
HasWaypoints | boolean | no | | Waypoint support for intermediate locations in the transfer journey |
InitiatedById | string | yes | AspNetUsers.Id | |
InitiatedBySyncId | guid | yes | | SyncId of the AspNetUsers row that InitiatedById points at. |
IsJobTransfer | boolean | no | | |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
IsSalesOrderTransfer | boolean | no | | |
JobId | integer | yes | Jobs.Id | |
JobSyncId | guid | yes | | SyncId of the Jobs row that JobId points at. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
Notes | string | yes | | |
OrganizationId | integer | no | Organizations.Id | |
RequiresApproval | boolean | no | | |
SalesOrderId | integer | yes | SalesOrders.Id | |
SalesOrderSyncId | guid | yes | | SyncId of the SalesOrders row that SalesOrderId points at. |
SourceLocationId | integer | yes | Locations.Id | |
SourceLocationSyncId | guid | yes | | SyncId of the Locations row that SourceLocationId points at. |
Status | enum | no | | Draft Pending InTransit AtWaypoint InTransitToWaypoint InTransitToDestination Completed Cancelled Failed |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
TransferDate | datetime | no | | |
TransportVehicleId | integer | yes | Locations.Id | Optional transport vehicle used for this transfer |
TransportVehicleSyncId | guid | yes | | SyncId of the Locations row that TransportVehicleId points at. |
UpdatedAt | datetime | yes | | |
A kind of location (e.g. warehouse, truck, shelf) the organization defines.
Files json/LocationTypes.json csv/LocationTypes.csv · primary key Id · scoped by e.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
ConsumesInventory | boolean | no | | |
CreatedAt | datetime | no | | |
Description | string | yes | | |
IsJobSite | boolean | no | | |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
IsSystemType | boolean | no | | |
IsTransportVehicle | boolean | no | | |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
Name | stringmax 100 | no | | |
OrganizationId | integer | no | Organizations.Id | |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
UpdatedAt | datetime | yes | | |
A record that a user dismissed a notification.
Files json/NotificationDismissals.json csv/NotificationDismissals.csv · primary key Id · scoped by e.Notification.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
DismissedDate | datetime | no | | |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
NotificationId | integer | no | Notifications.Id | |
NotificationSyncId | guid | yes | | SyncId of the Notifications row that NotificationId points at. |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
UserId | string | yes | AspNetUsers.Id | |
UserSyncId | guid | yes | | SyncId of the AspNetUsers row that UserId points at. |
An in-app notification for the organization or one user.
Files json/Notifications.json csv/Notifications.csv · primary key Id · scoped by e.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
CreatedDate | datetime | no | | |
DismissedByUserId | string | yes | AspNetUsers.Id | |
DismissedDate | datetime | yes | | |
ExpiresDate | datetime | yes | | |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
LinkUrl | stringmax 500 | yes | | |
Message | stringmax 500 | yes | | |
OrganizationId | integer | no | Organizations.Id | |
Priority | integer | no | | |
RelatedInvoiceId | integer | yes | | |
RelatedInvoiceSyncId | guid | yes | | |
RelatedJobId | integer | yes | | |
RelatedJobSyncId | guid | yes | | |
RelatedPurchaseOrderId | integer | yes | | |
RelatedPurchaseOrderSyncId | guid | yes | | |
RelatedTransferId | integer | yes | | |
RelatedTransferSyncId | guid | yes | | |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
Title | stringmax 200 | no | | |
Type | enum | no | | General TransferInProgress JobInProgress PaymentDue PaymentOverdue LowStock TransferApprovalNeeded JobScheduled SystemAlert ShipmentDeliveryToday |
UserId | string | yes | AspNetUsers.Id | |
UserSyncId | guid | yes | | SyncId of the AspNetUsers row that UserId points at. |
A job type the organization defines (e.g. install, repair, maintenance).
Files json/OrganizationJobTypes.json csv/OrganizationJobTypes.csv · primary key Id · scoped by e.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
CreatedBy | string | yes | | |
CreatedDate | datetime | no | | |
Description | stringmax 500 | yes | | |
DisplayOrder | integer | no | | |
IsActive | boolean | no | | |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
ModifiedBy | string | yes | | |
ModifiedDate | datetime | yes | | |
Name | stringmax 100 | no | | Job Type Name |
OrganizationId | integer | no | Organizations.Id | |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
Per-organization activation record for an optional module (see Flex.Modules.ModuleCatalog).
Files json/OrganizationModules.json csv/OrganizationModules.csv · primary key Id · scoped by e.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
ActivatedBy | stringmax 256 | yes | | |
ActivatedUtc | datetime | yes | | UTC timestamp. |
BillingProvider | stringmax 50 | no | | Provider key: "sandbox", "square", "stripe", "manual". |
BillingReference | stringmax 200 | yes | | Provider-side subscription/order id, if any. |
CreatedDate | datetime | no | | |
DeactivatedBy | stringmax 256 | yes | | |
DeactivatedUtc | datetime | yes | | UTC timestamp. |
IsDeleted | boolean | no | | Soft delete: true means the row was deleted (kept for sync and history). |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
ModifiedDate | datetime | yes | | |
ModuleKey | stringmax 50 | no | | Key from ModuleKeys / ModuleCatalog. |
MonthlyPrice | decimal | no | | Monthly price agreed at activation. |
NextBillingUtc | datetime | yes | | UTC timestamp. |
Notes | stringmax 500 | yes | | Free-form notes (e.g. "comped for pilot", "invoice #123"). |
OrganizationId | integer | no | Organizations.Id | |
Status | enum | no | | Active Inactive PendingPayment PastDue |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
The organization (company account) that owns all of this data.
Files json/Organizations.json csv/Organizations.csv · primary key Id · scoped by e.Id == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
BillingCustomerId | string | yes | | |
BillingEmail | string | yes | | |
BillingProvider | string | yes | | "stripe" once a subscription exists; null while trial/comped/manual. |
BillingStatus | enum | no | | Trial Active PastDue Suspended Comped |
BillingSubscriptionId | string | yes | | |
IncludedSeats | integer | no | | Seats (active users) covered by the base plan; extra active users are billed per seat. |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
LogoContentType | string | yes | | |
LogoPath | string | yes | | |
Name | string | no | | |
PastDueSinceUtc | datetime | yes | | UTC timestamp. |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
TrialEndsUtc | datetime | yes | | UTC timestamp. |
The organization's settings: company details, invoicing, tax and feature options.
Files json/OrganizationSettings.json csv/OrganizationSettings.csv · primary key Id · scoped by e.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
AllowNegativeInventory | boolean | no | | |
AllowPartialPayments | boolean | no | | |
BlockedStates | stringmax 500 | yes | | |
CounterSalesMode | boolean | no | | |
CreatedBy | string | yes | | |
CreatedDate | datetime | no | | |
DefaultDepositPercentage | decimal | yes | | |
DefaultPaymentInstructions | string | yes | | |
DefaultPaymentTerms | stringmax 500 | yes | | |
DefaultTaxRate | decimal | no | | Default Tax Rate (%) |
DeviceLeaseDays | integer | no | | Days a field device may stay unsynced before it locks to read-only; enforced by the mobile app (Phase 3). |
EmailReplyToAddress | stringmax 256 | yes | | Reply-To Email Address |
Industry | stringmax 50 | yes | | |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
JobsDisplayName | stringmax 50 | no | | |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
ModifiedBy | string | yes | | |
ModifiedDate | datetime | yes | | |
OperationMode | enum | no | | ServiceProvider Distributor Hybrid |
OrganizationId | integer | no | Organizations.Id | |
PaymentProcessingEnabled | boolean | no | | Enable Payment Processing |
PaymentProcessor | enum | no | | None Square Stripe |
PaymentReceiptEmailTemplate | string | yes | | |
RequireDepositOnOrders | boolean | no | | |
RequireTwoFactor | boolean | no | | When true, every browser sign-in (web host and desktop installs) must use an authenticator app: a user without one is held on the setup page until they enrol, and cannot turn it off. |
SalesOrdersDisplayName | stringmax 50 | no | | |
SendPaymentReceipts | boolean | no | | |
SetupCompletedUtc | datetime | yes | | UTC timestamp. |
ShowJobsMenu | boolean | no | | |
ShowSalesOrdersMenu | boolean | no | | |
SquareApplicationId | stringmax 200 | yes | | |
SquareEnvironment | enum | no | | Sandbox Production |
SquareLocationId | stringmax 200 | yes | | |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
TaxCustomCharges | boolean | no | | |
TaxLabor | boolean | no | | |
TaxMaterials | boolean | no | | |
UpdatedBy | string | yes | | |
UpdatedDate | datetime | yes | | |
One outbound SMS to a customer, org-scoped and synced (table "OutboundTextMessages").
Files json/OutboundTextMessages.json csv/OutboundTextMessages.csv · primary key Id · scoped by e.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
Body | stringmax 1600 | no | | Message text. |
CustomerId | integer | yes | Customers.Id | |
CustomerSyncId | guid | yes | | SyncId of the Customers row that CustomerId points at. |
DeliveredUtc | datetime | yes | | Server-authoritative. |
Error | stringmax 500 | yes | | Provider/relay failure text when Status is Failed (server-authoritative). |
IsDeleted | boolean | no | | Soft delete: true means the row was deleted (kept for sync and history). |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
JobId | integer | yes | Jobs.Id | |
JobSyncId | guid | yes | | SyncId of the Jobs row that JobId points at. |
Kind | enum | no | | OnMyWay |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
ModifiedDate | datetime | yes | | |
OrganizationId | integer | no | Organizations.Id | |
ProviderMessageId | stringmax 100 | yes | | Provider-side message id once accepted (server-authoritative). |
RequestedById | stringmax 450 | yes | | AspNetUsers.Id of the requesting user (string PK, preserved across devices). |
RequestedBySyncId | guid | yes | | SyncId of the requesting user, carried for cross-device FK resolution. |
RequestedUtc | datetime | no | | UTC timestamp. |
SentUtc | datetime | yes | | Server-authoritative. |
Status | enum | no | | Queued Sent Delivered Failed |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
ToNumber | stringmax 20 | no | | Destination in E.164 form ("+17065551212"); see Flex.Messaging.PhoneNumbers. |
Represents a payment transaction processed through Square or other payment processors
Files json/Payments.json csv/Payments.csv · primary key Id · scoped by e.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
Amount | decimal | no | | |
CreatedAt | datetime | no | | |
Currency | stringmax 3 | no | | |
CustomerEmail | stringmax 200 | yes | | |
CustomerId | integer | no | Customers.Id | |
CustomerPhone | stringmax 20 | yes | | |
CustomerSyncId | guid | yes | | SyncId of the Customers row that CustomerId points at. |
ErrorMessage | stringmax 2000 | yes | | |
FailedAt | datetime | yes | | |
InvoiceId | integer | yes | Invoices.Id | |
InvoiceSyncId | guid | yes | | SyncId of the Invoices row that InvoiceId points at. |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
IsRefund | boolean | no | | |
JobId | integer | yes | Jobs.Id | |
JobSyncId | guid | yes | | SyncId of the Jobs row that JobId points at. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
Notes | stringmax 1000 | yes | | |
OrganizationId | integer | no | Organizations.Id | |
ProcessedById | stringmax 450 | yes | AspNetUsers.Id | |
ProcessedBySyncId | guid | yes | | SyncId of the AspNetUsers row that ProcessedById points at. |
RefundedPaymentId | integer | yes | Payments.Id | |
RefundedPaymentSyncId | guid | yes | | SyncId of the Payments row that RefundedPaymentId points at. |
SalesOrderId | integer | yes | SalesOrders.Id | |
SalesOrderSyncId | guid | yes | | SyncId of the SalesOrders row that SalesOrderId points at. |
SquareOrderId | stringmax 200 | yes | | |
SquarePaymentId | stringmax 200 | no | | |
SquareReceiptUrl | stringmax 500 | yes | | |
Status | enum | no | | Pending Completed Failed Refunded PartiallyRefunded Cancelled |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
Type | enum | no | | FullPayment Deposit BalancePayment PartialPayment Refund |
A saved mapping from a CSV column name to an item property, used by imports.
Files json/PresetProperties.json csv/PresetProperties.csv · primary key Id · scoped by e.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
CreatedAt | datetime | no | | |
CreatedBy | stringmax 100 | no | | |
CsvColumnName | stringmax 200 | no | | |
DataType | stringmax 20 | no | | |
IsActive | boolean | no | | |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
OrganizationId | integer | no | Organizations.Id | |
PropertyName | stringmax 100 | no | | |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
UpdatedAt | datetime | yes | | |
UpdatedBy | stringmax 100 | yes | | |
An arithmetic formula applied to ONE tier of a price tier group (Bulk Pricing).
Files json/PriceTierGroupCalculations.json csv/PriceTierGroupCalculations.csv · primary key Id · scoped by e.PriceTierGroup.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
Formula | stringmax 300 | no | | |
IsDeleted | boolean | no | | Soft delete: true means the row was deleted (kept for sync and history). |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
MinQuantity | integer | no | | |
PriceTierGroupId | integer | no | PriceTierGroups.Id | |
PriceTierGroupSyncId | guid | yes | | SyncId of the PriceTierGroups row that PriceTierGroupId points at. |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
Membership of an item template in a price tier group.
Files json/PriceTierGroupMembers.json csv/PriceTierGroupMembers.csv · primary key Id · scoped by e.PriceTierGroup.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
IsDeleted | boolean | no | | Soft delete: true means the row was deleted (kept for sync and history). |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
ItemTemplateId | integer | no | ItemTemplates.Id | |
ItemTemplateSyncId | guid | yes | | SyncId of the ItemTemplates row that ItemTemplateId points at. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
PriceTierGroupId | integer | no | PriceTierGroups.Id | |
PriceTierGroupSyncId | guid | yes | | SyncId of the PriceTierGroups row that PriceTierGroupId points at. |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
A "like items" group for quantity tier pricing (Bulk Pricing).
Files json/PriceTierGroups.json csv/PriceTierGroups.csv · primary key Id · scoped by e.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
CreatedAt | datetime | no | | |
IsDeleted | boolean | no | | Soft delete: true means the row was deleted (kept for sync and history). |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
Name | stringmax 200 | no | | |
OrganizationId | integer | no | Organizations.Id | |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
UpdatedAt | datetime | yes | | |
A formula that calculates a property value from other properties, variables and reference tables.
Files json/PropertyCalculations.json csv/PropertyCalculations.csv · primary key Id · scoped by (e.Property != null && (e.Property.Item != null && e.Property.Item.OrganizationId == org) || (e.Property.BundleTemplateItem != null && e.Property.BundleTemplateItem.BundleTemplate.OrganizationId == org) || (e.Property.KitItem != null && e.Property.KitItem.Kit.OrganizationId == org)) || (e.TemplateProperty != null && e.TemplateProperty.ItemTemplate.OrganizationId == org)
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
CreatedAt | datetime | no | | |
Expression | string | no | | |
IsEnabled | boolean | no | | |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
ItemCatalogPropertyId | integer | yes | ItemCatalogProperty.Id | |
ItemPropertyId | integer | yes | ItemProperties.Id | |
ItemPropertySyncId | guid | yes | | SyncId of the ItemProperties row that ItemPropertyId points at. |
ItemTemplatePropertyId | integer | yes | ItemTemplateProperties.Id | |
ItemTemplatePropertySyncId | guid | yes | | SyncId of the ItemTemplateProperties row that ItemTemplatePropertyId points at. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
Name | string | no | | |
Priority | integer | no | | |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
UpdatedAt | datetime | yes | | |
One line of a purchase order: item or bundle template, quantities ordered, shipped and received, and unit price.
Files json/PurchaseOrderItems.json csv/PurchaseOrderItems.csv · primary key Id · scoped by e.PurchaseOrder.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
BundleTemplateId | integer | yes | BundleTemplates.Id | |
BundleTemplateSyncId | guid | yes | | SyncId of the BundleTemplates row that BundleTemplateId points at. |
CreatedAt | datetime | no | | |
Description | stringmax 500 | no | | |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
ItemTemplateId | integer | yes | ItemTemplates.Id | |
ItemTemplateSyncId | guid | yes | | SyncId of the ItemTemplates row that ItemTemplateId points at. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
LineTotal | decimal | yes | | |
Notes | string | yes | | |
PurchaseOrderId | integer | no | PurchaseOrders.Id | |
PurchaseOrderSyncId | guid | yes | | SyncId of the PurchaseOrders row that PurchaseOrderId points at. |
QuantityOrdered | integer | no | | |
QuantityReceived | integer | no | | |
QuantityShipped | integer | no | | |
ReceivedDate | datetime | yes | | |
ShipmentId | integer | yes | PurchaseOrderShipments.Id | |
ShipmentSyncId | guid | yes | | SyncId of the PurchaseOrderShipments row that ShipmentId points at. |
Status | enum | no | | Pending Shipped Delivered Received Cancelled |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
UnitPrice | decimal | yes | | |
UpdatedAt | datetime | yes | | |
VendorPartNumber | stringmax 100 | yes | | |
A purchase order to a vendor: number, status, dates, destination and totals.
Files json/PurchaseOrders.json csv/PurchaseOrders.csv · primary key Id · scoped by e.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
CreatedAt | datetime | no | | |
CreatedById | string | yes | AspNetUsers.Id | |
CreatedBySyncId | guid | yes | | SyncId of the AspNetUsers row that CreatedById points at. |
Currency | stringmax 3 | no | | |
DeletedAt | datetime | yes | | |
DeletedById | string | yes | AspNetUsers.Id | |
DeletedBySyncId | guid | yes | | SyncId of the AspNetUsers row that DeletedById points at. |
ExpectedDeliveryDate | datetime | yes | | |
ExternalOrderNumber | stringmax 50 | yes | | |
IsDeleted | boolean | no | | Soft delete: true means the row was deleted (kept for sync and history). |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
Notes | string | yes | | |
OrderDate | datetime | no | | |
OrderNumber | stringmax 50 | no | | |
OrganizationId | integer | no | Organizations.Id | |
ReceivedById | string | yes | AspNetUsers.Id | |
ReceivedBySyncId | guid | yes | | SyncId of the AspNetUsers row that ReceivedById points at. |
ReceivedDate | datetime | yes | | |
ReceivingLocationId | integer | no | Locations.Id | |
ReceivingLocationSyncId | guid | yes | | SyncId of the Locations row that ReceivingLocationId points at. |
Status | enum | no | | Draft Ordered Shipped PartialShipped Delivered PartialReceived Received Cancelled |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
TotalCost | decimal | yes | | |
UpdatedAt | datetime | yes | | |
UpdatedById | string | yes | AspNetUsers.Id | |
UpdatedBySyncId | guid | yes | | SyncId of the AspNetUsers row that UpdatedById points at. |
VendorContactEmail | stringmax 100 | yes | | |
VendorContactPhone | stringmax 20 | yes | | |
VendorId | integer | yes | Vendors.Id | |
VendorName | stringmax 200 | yes | | |
VendorSyncId | guid | yes | | SyncId of the Vendors row that VendorId points at. |
A shipment against a purchase order: shipping company, tracking, dates, status and cost.
Files json/PurchaseOrderShipments.json csv/PurchaseOrderShipments.csv · primary key Id · scoped by e.PurchaseOrder.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
ActualDeliveryDate | datetime | yes | | |
CreatedAt | datetime | no | | |
CreatedById | string | yes | AspNetUsers.Id | |
CreatedBySyncId | guid | yes | | SyncId of the AspNetUsers row that CreatedById points at. |
DeletedAt | datetime | yes | | |
DeletedById | string | yes | AspNetUsers.Id | |
DeletedBySyncId | guid | yes | | SyncId of the AspNetUsers row that DeletedById points at. |
EstimatedDeliveryDate | datetime | yes | | |
IsDeleted | boolean | no | | Soft delete: true means the row was deleted (kept for sync and history). |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
LastStatusCheckDate | datetime | yes | | |
LastStatusUpdate | stringmax 200 | yes | | |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
Notes | string | yes | | |
PurchaseOrderId | integer | no | PurchaseOrders.Id | |
PurchaseOrderSyncId | guid | yes | | SyncId of the PurchaseOrders row that PurchaseOrderId points at. |
ShipDate | datetime | yes | | |
ShippingCompany | stringmax 100 | yes | | |
ShippingCost | decimal | yes | | |
ShippingCostAllocationMethod | enum | no | | How shipping costs are allocated among items when receivedByItemCost ByItemCount ByWeight BySize |
Status | enum | no | | Ordered Pending Shipped InTransit OutForDelivery Delivered Cancelled Returned |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
TrackingNumber | stringmax 100 | yes | | |
TrackingUrl | stringmax 500 | yes | | |
UpdatedAt | datetime | yes | | |
Weight | decimal | yes | | |
A quantity of one purchase-order line received into a location during a receiving session.
Files json/ReceivedItems.json csv/ReceivedItems.csv · primary key Id · scoped by e.ReceivingSession.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
CreatedBundleId | integer | yes | Bundles.Id | |
CreatedBundleSyncId | guid | yes | | SyncId of the Bundles row that CreatedBundleId points at. |
DestinationLocationId | integer | no | Locations.Id | |
DestinationLocationSyncId | guid | yes | | SyncId of the Locations row that DestinationLocationId points at. |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
Notes | string | yes | | |
PassedQualityCheck | boolean | yes | | |
PurchaseOrderItemId | integer | no | PurchaseOrderItems.Id | |
PurchaseOrderItemSyncId | guid | yes | | SyncId of the PurchaseOrderItems row that PurchaseOrderItemId points at. |
QualityNotes | string | yes | | |
QuantityReceived | integer | no | | |
ReceivedAt | datetime | no | | |
ReceivingSessionId | integer | no | ReceivingSessions.Id | |
ReceivingSessionSyncId | guid | yes | | SyncId of the ReceivingSessions row that ReceivingSessionId points at. |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
One receiving pass against a purchase order: who received what, when.
Files json/ReceivingSessions.json csv/ReceivingSessions.csv · primary key Id · scoped by e.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
CompletedAt | datetime | yes | | |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
Notes | string | yes | | |
OrganizationId | integer | no | Organizations.Id | |
PurchaseOrderId | integer | no | PurchaseOrders.Id | |
PurchaseOrderSyncId | guid | yes | | SyncId of the PurchaseOrders row that PurchaseOrderId points at. |
ReceivedById | string | yes | AspNetUsers.Id | |
ReceivedBySyncId | guid | yes | | SyncId of the AspNetUsers row that ReceivedById points at. |
StartedAt | datetime | no | | |
Status | enum | no | | InProgress Completed Cancelled PartiallyCompleted |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
A reference value (type, key, value and effective dates) that calculations look up.
Files json/ReferenceTables.json csv/ReferenceTables.csv · primary key Id · scoped by e.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
EffectiveDate | datetime | no | | |
ExpiryDate | datetime | yes | | |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
Key | string | no | | |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
OrganizationId | integer | no | Organizations.Id | |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
Type | string | no | | |
Value | decimal | no | | |
One line of a sales order: item template, quantity ordered, picked and shipped, and price.
Files json/SalesOrderItems.json csv/SalesOrderItems.csv · primary key Id · scoped by e.SalesOrder.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
Description | stringmax 500 | no | | |
DiscountAmount | decimal | no | | |
DiscountPercent | decimal | no | | |
IsDeleted | boolean | no | | Soft delete: true means the row was deleted (kept for sync and history). |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
ItemId | integer | yes | Items.Id | |
ItemSyncId | guid | yes | | SyncId of the Items row that ItemId points at. |
ItemTemplateId | integer | yes | ItemTemplates.Id | |
ItemTemplateSyncId | guid | yes | | SyncId of the ItemTemplates row that ItemTemplateId points at. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
LineTotal | decimal | no | | |
Notes | string | yes | | |
PreferredItemIds | string | yes | | |
PreferredItemSyncIds | string | yes | | |
PreferredSourceLocationIds | string | yes | | |
PreferredSourceLocationSyncIds | string | yes | | |
QuantityBackordered | decimal | no | | |
QuantityOrdered | decimal | no | | |
QuantityPicked | decimal | no | | |
QuantityShipped | decimal | no | | |
SalesOrderId | integer | no | SalesOrders.Id | |
SalesOrderSyncId | guid | yes | | SyncId of the SalesOrders row that SalesOrderId points at. |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
UnitCost | decimal | no | | |
UnitPrice | decimal | no | | |
A sales order to a customer: number, dates, status, payment and fulfillment, and totals.
Files json/SalesOrders.json csv/SalesOrders.csv · primary key Id · scoped by e.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
ActualDeliveryDate | datetime | yes | | |
AmountPaid | decimal | no | | |
CreatedById | string | yes | AspNetUsers.Id | |
CreatedBySyncId | guid | yes | | SyncId of the AspNetUsers row that CreatedById points at. |
CreatedDate | datetime | no | | |
CustomerId | integer | no | Customers.Id | |
CustomerPONumber | stringmax 100 | yes | | |
CustomerSyncId | guid | yes | | SyncId of the Customers row that CustomerId points at. |
DeliveryAddressId | integer | yes | CustomerAddresses.Id | |
DeliveryAddressSyncId | guid | yes | | SyncId of the CustomerAddresses row that DeliveryAddressId points at. |
EmailedAt | datetime | yes | | Invoice Emailed At |
EmailedTo | stringmax 200 | yes | | Invoice Emailed To |
FulfillmentStatus | stringmax 50 | yes | | Tracks the aggregate status of all transfers associated with this Sales Order. |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
Notes | string | yes | | |
OrderDate | datetime | no | | |
OrderNumber | stringmax 50 | no | | |
OrganizationId | integer | no | Organizations.Id | |
PaymentLinkCreatedAt | datetime | yes | | Payment Link Created |
PaymentLinkId | stringmax 200 | yes | | |
PaymentLinkUrl | stringmax 500 | yes | | |
PaymentStatus | stringmax 50 | yes | | |
PaymentTerms | stringmax 100 | yes | | |
RequestedDeliveryDate | datetime | yes | | |
ShippingCost | decimal | no | | |
Status | stringmax 50 | no | | |
StoreCreditApplied | decimal | no | | |
SubTotal | decimal | no | | |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
TaxAmount | decimal | no | | |
TaxRate | decimal | no | | |
TotalAmount | decimal | no | | |
UpdatedById | string | yes | AspNetUsers.Id | |
UpdatedBySyncId | guid | yes | | SyncId of the AspNetUsers row that UpdatedById points at. |
UpdatedDate | datetime | yes | | |
A shipment of a sales order: carrier, tracking, dates and cost.
Files json/SalesOrderShipments.json csv/SalesOrderShipments.csv · primary key Id · scoped by e.SalesOrder.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
ActualDeliveryDate | datetime | yes | | |
Carrier | stringmax 100 | yes | | |
CreatedById | string | yes | AspNetUsers.Id | |
CreatedBySyncId | guid | yes | | SyncId of the AspNetUsers row that CreatedById points at. |
CreatedDate | datetime | no | | |
EstimatedDeliveryDate | datetime | yes | | |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
Notes | string | yes | | |
SalesOrderId | integer | no | SalesOrders.Id | |
SalesOrderSyncId | guid | yes | | SyncId of the SalesOrders row that SalesOrderId points at. |
ShipDate | datetime | yes | | |
ShippingCost | decimal | yes | | |
ShippingMethod | stringmax 50 | yes | | |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
TrackingNumber | stringmax 100 | yes | | |
TransferId | integer | yes | LocationTransferLogs.Id | |
TransferSyncId | guid | yes | | SyncId of the LocationTransferLogs row that TransferId points at. |
Weight | decimal | yes | | |
A location a sales order is picked from, in priority order.
Files json/SalesOrderSourceLocations.json csv/SalesOrderSourceLocations.csv · primary key Id · scoped by e.SalesOrder.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
CreatedDate | datetime | no | | |
IsFullyPicked | boolean | no | | Whether this location has been fully picked |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
LocationId | integer | no | Locations.Id | |
LocationSyncId | guid | yes | | SyncId of the Locations row that LocationId points at. |
Notes | string | yes | | Notes about this source location selection |
Priority | integer | no | | Priority order for picking (1 = highest priority) |
SalesOrderId | integer | no | SalesOrders.Id | |
SalesOrderSyncId | guid | yes | | SyncId of the SalesOrders row that SalesOrderId points at. |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
A link between a sales order and a location transfer that picks or ships it.
Files json/SalesOrderTransfers.json csv/SalesOrderTransfers.csv · primary key Id · scoped by e.SalesOrder.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
CreatedDate | datetime | no | | |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
Notes | string | yes | | |
SalesOrderId | integer | no | SalesOrders.Id | |
SalesOrderSyncId | guid | yes | | SyncId of the SalesOrders row that SalesOrderId points at. |
ShippedWithoutTracking | boolean | no | | Indicates the user chose to ship without tracking information. |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
TransferId | integer | no | LocationTransferLogs.Id | |
TransferSyncId | guid | yes | | SyncId of the LocationTransferLogs row that TransferId points at. |
TransferType | stringmax 50 | no | | |
An entry on a sales order's timeline (note, status change or other update).
Files json/SalesOrderUpdates.json csv/SalesOrderUpdates.csv · primary key Id · scoped by e.SalesOrder.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
CreatedBy | stringmax 100 | no | | |
CreatedByName | stringmax 100 | yes | | |
CreatedDate | datetime | no | | |
Description | stringmax 2000 | no | | |
IsInternal | boolean | no | | Internal Note |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
NewStatus | stringmax 50 | yes | | |
OldStatus | stringmax 50 | yes | | |
SalesOrderId | integer | no | SalesOrders.Id | |
SalesOrderSyncId | guid | yes | | SyncId of the SalesOrders row that SalesOrderId points at. |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
UpdateType | enum | no | | GeneralNote StatusChange PaymentUpdate FulfillmentUpdate ShipmentUpdate Return Cancellation |
Junction: a user belongs to a ScheduleGroup.
Files json/ScheduleGroupMembers.json csv/ScheduleGroupMembers.csv · primary key Id · scoped by e.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
CreatedAt | datetime | no | | |
DisplayOrder | integer | no | | |
IsDeleted | boolean | no | | Soft delete: true means the row was deleted (kept for sync and history). |
IsLead | boolean | no | | Crew lead / foreman flag — shown first on the board. |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
OrganizationId | integer | no | | |
ScheduleGroupId | integer | no | ScheduleGroups.Id | |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
UserId | string | no | AspNetUsers.Id | |
An organizational grouping of users for scheduling (division, crew, team).
Files json/ScheduleGroups.json csv/ScheduleGroups.csv · primary key Id · scoped by e.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
ColorHex | stringmax 7 | yes | | Hex color (e.g. "#2e7d32") used for calendar/board rendering. |
CreatedAt | datetime | no | | |
Description | stringmax 500 | yes | | |
DisplayOrder | integer | no | | |
IsDeleted | boolean | no | | Soft delete: true means the row was deleted (kept for sync and history). |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
Name | stringmax 100 | no | | |
OrganizationId | integer | no | Organizations.Id | |
ParentGroupId | integer | yes | ScheduleGroups.Id | |
ParentGroupSyncId | guid | yes | | SyncId of the ScheduleGroups row that ParentGroupId points at. |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
UpdatedAt | datetime | yes | | |
A low-stock alert raised when an item template falls below its threshold.
Files json/StockAlerts.json csv/StockAlerts.csv · primary key Id · scoped by e.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
AcknowledgedAt | datetime | yes | | |
AcknowledgedBy | stringmax 100 | yes | | |
CreatedAt | datetime | no | | |
CurrentStock | integer | no | | |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
ItemTemplateId | integer | no | ItemTemplates.Id | |
ItemTemplateSyncId | guid | yes | | SyncId of the ItemTemplates row that ItemTemplateId points at. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
LocationId | integer | yes | Locations.Id | |
LocationSyncId | guid | yes | | SyncId of the Locations row that LocationId points at. |
Notes | stringmax 500 | yes | | |
OrganizationId | integer | no | Organizations.Id | |
Status | enum | no | | Active Acknowledged Resolved Dismissed |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
ThresholdLevel | integer | no | | |
An item template a task template uses, with its quantity and whether it is optional.
Files json/TaskTemplateItems.json csv/TaskTemplateItems.csv · primary key Id · scoped by e.TaskTemplate.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
IsOptional | boolean | no | | |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
ItemTemplateId | integer | no | ItemTemplates.Id | |
ItemTemplateSyncId | guid | yes | | SyncId of the ItemTemplates row that ItemTemplateId points at. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
Notes | stringmax 500 | yes | | |
Quantity | decimal | no | | |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
TaskTemplateId | integer | no | TaskTemplates.Id | |
TaskTemplateSyncId | guid | yes | | SyncId of the TaskTemplates row that TaskTemplateId points at. |
A labor rate a task template uses, with the number of workers and whether it is the lead.
Files json/TaskTemplateLaborRates.json csv/TaskTemplateLaborRates.csv · primary key Id · scoped by e.TaskTemplate.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
IsLead | boolean | no | | Is Lead Worker |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
LaborRateId | integer | no | LaborRates.Id | |
LaborRateSyncId | guid | yes | | SyncId of the LaborRates row that LaborRateId points at. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
Notes | stringmax 500 | yes | | |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
TaskTemplateId | integer | no | TaskTemplates.Id | |
TaskTemplateSyncId | guid | yes | | SyncId of the TaskTemplates row that TaskTemplateId points at. |
WorkerCount | integer | no | | Number of Workers |
A reusable task (set of labor and materials) that can be added to jobs.
Files json/TaskTemplates.json csv/TaskTemplates.csv · primary key Id · scoped by e.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
Category | stringmax 100 | yes | | |
CreatedBy | string | yes | | |
CreatedDate | datetime | no | | |
DefaultLaborRateId | integer | yes | LaborRates.Id | Default Labor Rate |
DefaultLaborRateSyncId | guid | yes | | SyncId of the LaborRates row that DefaultLaborRateId points at. |
Description | stringmax 1000 | yes | | |
EstimatedHoursMax | decimal | no | | Estimated Hours (Max) |
EstimatedHoursMin | decimal | no | | Estimated Hours (Min) |
Instructions | string | yes | | |
IsActive | boolean | no | | |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
ModifiedBy | string | yes | | |
ModifiedDate | datetime | yes | | |
Name | stringmax 200 | no | | Task Name |
OrganizationId | integer | no | Organizations.Id | |
SafetyNotes | string | yes | | |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
Junction table: Links a Template Builder to categories applied to ALL generated items.
Files json/TemplateBuilderGlobalCategories.json csv/TemplateBuilderGlobalCategories.csv · primary key Id · scoped by e.TemplateBuilder.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
CategoryId | integer | no | ItemCategories.Id | |
CategorySyncId | guid | no | | SyncId of the ItemCategories row that CategoryId points at. |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
TemplateBuilderId | integer | no | TemplateBuilders.Id | |
TemplateBuilderSyncId | guid | no | | SyncId of the TemplateBuilders row that TemplateBuilderId points at. |
A property definition within a Template Builder.
Files json/TemplateBuilderProperties.json csv/TemplateBuilderProperties.csv · primary key Id · scoped by e.TemplateBuilder.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
CreatedAt | datetime | no | | |
DataType | enum | no | | Text Number Date Boolean Dropdown MultiSelect |
DefaultValue | stringmax 255 | yes | | |
DeletedAt | datetime | yes | | |
DisplayOrder | integer | no | | |
ExcludeFromCombinations | boolean | no | | |
ExcludeFromName | boolean | no | | |
IsDeleted | boolean | no | | Soft delete: true means the row was deleted (kept for sync and history). |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
PropertyName | stringmax 255 | no | | |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
TemplateBuilderId | integer | no | TemplateBuilders.Id | |
TemplateBuilderSyncId | guid | yes | | SyncId of the TemplateBuilders row that TemplateBuilderId points at. |
Junction table: Links a property option to categories.
Files json/TemplateBuilderPropertyOptionCategories.json csv/TemplateBuilderPropertyOptionCategories.csv · primary key Id · scoped by e.TemplateBuilderPropertyOption.TemplateBuilderProperty.TemplateBuilder.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
CategoryId | integer | no | ItemCategories.Id | |
CategorySyncId | guid | no | | SyncId of the ItemCategories row that CategoryId points at. |
IsDeleted | boolean | no | | Soft delete: true means the row was deleted (kept for sync and history). |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
TemplateBuilderPropertyOptionId | integer | no | TemplateBuilderPropertyOptions.Id | |
TemplateBuilderPropertyOptionSyncId | guid | no | | SyncId of the TemplateBuilderPropertyOptions row that TemplateBuilderPropertyOptionId points at. |
An option value for a Template Builder property.
Files json/TemplateBuilderPropertyOptions.json csv/TemplateBuilderPropertyOptions.csv · primary key Id · scoped by e.TemplateBuilderProperty.TemplateBuilder.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
CreatedAt | datetime | no | | |
DisplayOrder | integer | no | | |
IsHidden | boolean | no | | |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
TemplateBuilderPropertyId | integer | no | TemplateBuilderProperties.Id | |
TemplateBuilderPropertySyncId | guid | yes | | SyncId of the TemplateBuilderProperties row that TemplateBuilderPropertyId points at. |
Value | stringmax 255 | no | | |
Template Builder - defines a schema with property options that generates ItemTemplate combinations.
Files json/TemplateBuilders.json csv/TemplateBuilders.csv · primary key Id · scoped by e.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
AdminOnlyCost | boolean | no | | |
AdminOnlyPrice | boolean | no | | |
CategoryId | integer | yes | ItemCategories.Id | |
CategorySyncId | guid | yes | | SyncId of the ItemCategories row that CategoryId points at. |
CreatedAt | datetime | no | | |
DeletedAt | datetime | yes | | |
Description | stringmax 1000 | yes | | |
IsDeleted | boolean | no | | Soft delete: true means the row was deleted (kept for sync and history). |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
LastUsedCost | decimal | yes | | |
LastUsedPrice | decimal | yes | | |
Name | stringmax 255 | no | | |
OrganizationId | integer | no | Organizations.Id | |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
UpdatedAt | datetime | yes | | |
An approval request for a location transfer, and its decision.
Files json/TransferApprovals.json csv/TransferApprovals.csv · primary key Id · scoped by e.Transfer.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
ApprovalDate | datetime | yes | | |
ApproverId | string | yes | AspNetUsers.Id | |
CreatedAt | datetime | no | | |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
LocationTransferLogId | integer | no | LocationTransferLogs.Id | |
RejectionReason | string | yes | | |
RequestedDate | datetime | no | | |
RequesterId | string | no | AspNetUsers.Id | |
Status | enum | no | | Pending Approved Rejected |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
TransferSyncId | guid | yes | | |
TransferValue | decimal | no | | |
UpdatedAt | datetime | yes | | |
A reusable transfer plan: source, destination, waypoints and what is moved.
Files json/TransferTemplates.json csv/TransferTemplates.csv · primary key Id · scoped by e.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
BundleTemplateId | integer | yes | BundleTemplates.Id | |
BundleTemplateSyncId | guid | yes | | SyncId of the BundleTemplates row that BundleTemplateId points at. |
CreatedAt | datetime | no | | |
Description | string | yes | | |
DestinationLocationId | integer | yes | Locations.Id | |
DestinationLocationSyncId | guid | yes | | SyncId of the Locations row that DestinationLocationId points at. |
HasWaypoints | boolean | no | | |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
ItemFilters | string | yes | | |
KitId | integer | yes | Kits.Id | |
KitSyncId | guid | yes | | SyncId of the Kits row that KitId points at. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
Name | stringmax 100 | no | | |
OrganizationId | integer | no | Organizations.Id | |
SourceLocationId | integer | yes | Locations.Id | |
SourceLocationSyncId | guid | yes | | SyncId of the Locations row that SourceLocationId points at. |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
TemplateType | enum | no | | Bundle Kit |
UpdatedAt | datetime | yes | | |
Represents a predefined waypoint in a transfer template
Files json/TransferTemplateWaypoints.json csv/TransferTemplateWaypoints.csv · primary key Id · scoped by e.TransferTemplate.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
EstimatedTimeMinutes | integer | yes | | Estimated time to reach this waypoint (in minutes) from previous point |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
LocationId | integer | no | Locations.Id | |
LocationSyncId | guid | yes | | SyncId of the Locations row that LocationId points at. |
Notes | string | yes | | Additional notes about this waypoint |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
TransferTemplateId | integer | no | TransferTemplates.Id | |
TransferTemplateSyncId | guid | yes | | SyncId of the TransferTemplates row that TransferTemplateId points at. |
WaypointOrder | integer | no | | The order of this waypoint in the transfer template (1-based) |
Represents an intermediate location in a transfer journey between source and destination
Files json/TransferWaypoints.json csv/TransferWaypoints.csv · primary key Id · scoped by e.Transfer.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
ActualArrivalTime | datetime | yes | | Actual time items arrived at this waypoint |
DepartureTime | datetime | yes | | When items departed from this waypoint |
EstimatedArrivalTime | datetime | yes | | Expected time of arrival at this waypoint |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
LocationId | integer | no | Locations.Id | |
LocationSyncId | guid | yes | | SyncId of the Locations row that LocationId points at. |
LocationTransferLogId | integer | no | LocationTransferLogs.Id | |
Notes | string | yes | | Additional notes about this waypoint |
Status | enum | no | | Current status of this waypoint in the journeyPending Arrived Departed Skipped Cancelled |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
TransferSyncId | guid | yes | | |
WaypointOrder | integer | no | | The order of this waypoint in the transfer journey (1-based) |
A vendor's offer for a bundle template: part number, price and order quantities.
Files json/VendorBundleTemplates.json csv/VendorBundleTemplates.csv · primary key Id · scoped by e.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
BundleTemplateId | integer | no | BundleTemplates.Id | |
BundleTemplateSyncId | guid | yes | | SyncId of the BundleTemplates row that BundleTemplateId points at. |
CreatedAt | datetime | no | | |
IsActive | boolean | no | | |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
MinimumOrderQuantity | integer | yes | | |
OrderMultiple | integer | yes | | |
OrganizationId | integer | no | Organizations.Id | |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
UpdatedAt | datetime | yes | | |
VendorDescription | stringmax 500 | yes | | |
VendorId | integer | no | Vendors.Id | |
VendorPartNumber | stringmax 100 | yes | | |
VendorPrice | decimal | yes | | |
VendorSyncId | guid | yes | | SyncId of the Vendors row that VendorId points at. |
VendorUrl | stringmax 500 | yes | | |
A vendor (supplier) the organization buys from.
Files json/Vendors.json csv/Vendors.csv · primary key Id · scoped by e.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
ContactEmail | stringmax 100 | yes | | |
ContactName | stringmax 100 | yes | | |
ContactPhone | stringmax 20 | yes | | |
CreatedAt | datetime | no | | |
CreatedBy | stringmax 100 | yes | | |
DefaultShippingCompany | stringmax 100 | yes | | |
Description | stringmax 500 | yes | | |
IsActive | boolean | no | | |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
Name | stringmax 100 | no | | |
OrganizationId | integer | no | Organizations.Id | |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
UpdatedAt | datetime | no | | |
UpdatedBy | stringmax 100 | yes | | |
Website | stringmax 500 | yes | | |
Audit log for Square webhook events
Files json/WebhookLogs.json csv/WebhookLogs.csv · primary key Id · scoped by e.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
ErrorMessage | stringmax 2000 | yes | | |
EventId | stringmax 200 | no | | |
HttpMethod | stringmax 50 | yes | | |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
OrganizationId | integer | yes | Organizations.Id | |
PaymentId | integer | yes | Payments.Id | |
ProcessedAt | datetime | yes | | |
ProcessedSuccessfully | boolean | no | | |
RawPayload | string | no | | |
ReceivedAt | datetime | no | | |
RetryCount | integer | yes | | |
SquarePaymentId | stringmax 200 | yes | | |
StatusCode | integer | yes | | |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
WebhookType | stringmax 100 | no | | |
An outbound webhook subscription for an organization.
Files json/WebhookSubscriptions.json csv/WebhookSubscriptions.csv · primary key Id · scoped by e.OrganizationId == org
| Column | Type | Empty? | References | Description |
Id | integer | no | | Primary key, unique within this table. |
ConsecutiveFailureCount | integer | no | | Consecutive failed deliveries; reset to 0 on any success. |
CreatedAt | datetime | no | | |
CreatedByUserId | stringmax 450 | yes | | Identity user id of the creator; nullable for cross-device resolution. |
EventsCsv | stringmax 1024 | no | | Comma-joined event names this subscription wants (see WebhookEvents). |
IsActive | boolean | no | | Inactive subscriptions are skipped. |
IsDeleted | boolean | no | | Soft delete flag (mirrors the sync convention of other pull-only tables). |
IsPendingSync | boolean | no | | True if this record has local changes that haven't been pushed to the server. |
LastDeliveryUtc | datetime | yes | | UTC of the most recent delivery attempt (success or failure), when any. |
LastSyncedUtc | datetime | yes | | UTC timestamp of when this record was last successfully synced. |
OrganizationId | integer | no | Organizations.Id | Tenant scope. |
SyncId | guid | no | | Globally unique identifier for this record across all devices. |
SyncVersion | integer | no | | Increments each time the record is modified locally. |
Url | stringmax 2048 | no | | Destination URL. |