Data dictionary

Every table in your export,
column by column.

Settings → Export All Data gives you everything your organization has in Flex as JSON and CSV. This page describes each file in that zip: what every column holds, its type, whether it can be empty, and which table it points at. The same description ships inside every export as data-dictionary.json.

108 tables 1985 columns JSON + CSV Generated from the live data model
Reading the export

Conventions

  • Each table is exported twice: json/<Table>.json (an array of row objects, column name -> value) and csv/<Table>.csv (UTF-8 with BOM, header row, RFC 4180 quoting). Both carry the columns listed here, in this order.
  • Ids: every row has a numeric primary key (usually Id) that is unique within its table. Most rows also have a SyncId, a GUID that stays the same on every device and on the server.
  • References: a column with "references" holds the key of a row in another table (Table.Column). The target may be in a table that is not exported (see excludedTables) or belong to a built-in default.
  • Types: integer, decimal (exact, e.g. money), number (floating point), boolean, string, guid, datetime (ISO-8601), date, time, binary (base64), enum.
  • Times are ISO-8601. Columns named *Utc and CreatedAt / UpdatedAt are UTC; for other datetime columns see the column's description.
  • Enums are written by name (e.g. Status = Delivered); "enumValues" lists the names. A "flags" enum can hold several names separated by ", ".
  • Soft-deleted rows are included; IsDeleted = true marks them.
  • nullable = false means every row has a value; maxLength is the longest string the column accepts (absent = unlimited).
  • Left out on purpose: passwords, sign-in and API credentials, payment-processor tokens, webhook secrets, request logs (excludedTables / excludedColumns). Photos and signatures are included as files under attachments/<SyncId>.<ext> (not rows); JobUpdates rows of type Photo/Signature reference them by SyncId.
flex-export-{org}-{date}.zip
json/<Table>.json     # array of row objects
csv/<Table>.csv       # same rows, one file per table
manifest.json         # row counts, scoping, exclusions
data-dictionary.json  # this page, machine-readable
README.txt

Export format version 1, dictionary format version 1. Scoped by under each table shows how its rows are tied to your organization (directly by OrganizationId, or through the row that owns it). The live API offers the same data: API reference · Developers.

Tables

108 tables

ActionHistory

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
ActionDescriptionstringno
ActionTypeenumnoPropertyValueChange PropertyNameChange ItemNameChange ItemDescriptionChange ParentItemChange CategoryChange CalculationChange PropertyAdd PropertyDelete PropertyDataTypeChange
AdditionalDatastringno
CreatedAtdatetimeno
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
IsUndonebooleanno
ItemIdintegernoItems.Id
ItemSyncIdguidyesSyncId of the Items row that ItemId points at.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
NewValuestringno
PreviousValuestringno
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
UndoneAtdatetimeyes
UndoneByActionIdintegeryes
UndoneByActionSyncIdguidyes
UserIdstringyes
UserSyncIdguidyes

AspNetUsers

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

ColumnTypeEmpty?ReferencesDescription
IdstringnoPrimary key, unique within this table.
AccessFailedCountintegernoFailed sign-in attempts since the last successful sign-in (reset on success).
Emailstringmax 256yesUser's email address.
EmailConfirmedbooleannoTrue once the user has confirmed their email address.
FirstNamestringnoUser's first name.
IsActivebooleannoFalse when the account is deactivated and can no longer sign in.
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
LastNamestringnoUser's last name.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
LockoutEnabledbooleannoTrue when the account can be locked out after repeated failed sign-ins.
LockoutEnddatetimeyesWhen a sign-in lockout ends (UTC); null or in the past when the account is not locked out.
NormalizedEmailstringmax 256yesEmail in upper case, used for case-insensitive look-ups.
NormalizedUserNamestringmax 256yesUserName in upper case, used for case-insensitive look-ups.
OrganizationIdintegernoOrganizations.IdOrganization the user belongs to.
PhoneNumberstringyesUser's phone number, if recorded.
PhoneNumberConfirmedbooleannoTrue once the user has confirmed their phone number.
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
TwoFactorEnabledbooleannoTrue when the user signs in with a second factor (authenticator app).
UserNamestringmax 256yesSign-in name of the user (usually the same as the email address).
ViewedChangelogbooleannoWhether the user has viewed the changelog for the current version.

AutomationRules

One organization's automation rule: "when AutomationRule.TriggerEvent fires and AutomationRule.ConditionsJson holds, run AutomationRule.ActionType." Configured at Settings → Integrations → Automations and executed only by the web host's AutomationRunnerService.

Files json/AutomationRules.json csv/AutomationRules.csv · primary key Id · scoped by e.OrganizationId == org

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
ActionParamsJsonstringyesAction-specific configuration as JSON.
ActionTypeenumnoWhat to do when the rule fires.SendNotificationEmail CreateInvoiceFromJob DraftPurchaseOrderForLowStock AssignJob MarkInvoiceSent SetJobStatus QueueOnMyWayText
ConditionsJsonstringyesOptional condition set evaluated against the event payload ({ "all": [ { "field", "op", "value" } ] }).
ConsecutiveFailureCountintegernoConsecutive failed runs; reset to 0 on any success.
CreatedAtdatetimeno
CreatedByUserIdstringmax 450yesIdentity user id the rule runs as (actor attribution; resolved at run time).
IsActivebooleannoInactive rules never fire.
IsDeletedbooleannoSoft delete flag.
LastTriggeredUtcdatetimeyesUTC of the most recent time this rule enqueued a run.
Namestringmax 200noOwner-facing name, e.g. "Invoice completed jobs".
OrganizationIdintegernoOrganizations.IdTenant scope.
TriggerCountintegernoHow many runs this rule has enqueued (lifetime).
TriggerEventstringmax 64noThe event that fires this rule; one of WebhookEvents.
UpdatedBystringmax 256yes
UpdatedUtcdatetimenoUTC timestamp.

Bundles

Represents an instantiated bundle in inventory.

Files json/Bundles.json csv/Bundles.csv · primary key Id · scoped by e.OrganizationId == org

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
ActiveTransferIdintegeryesTransfer the bundle is currently travelling on; null when not in transit.
ActiveTransferSyncIdguidyesSyncId of the transfer in ActiveTransferId.
BundleTemplateIdintegernoBundleTemplates.IdBundle template this bundle was built from.
BundleTemplateSyncIdguidyesSyncId of the BundleTemplates row that BundleTemplateId points at.
CreatedBystringnoEmail (or user name) of the user who created the row.
CreatedDatedatetimenoWhen the row was created (UTC).
DeletedBystringyesEmail (or user name) of the user who deleted the bundle.
DeletedDatedatetimeyesWhen the bundle was deleted (UTC); null unless IsDeleted is true.
DescriptionstringyesFree-text description of the bundle.
IsActivebooleannoFalse once the bundle has been broken up into its items.
IsDeletedbooleannoSoft delete: true means the row was deleted (kept for sync and history).
IsInTransitbooleannoTrue while the bundle is moving between locations on a transfer.
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
LocationIdintegernoLocations.IdLocation where the bundle currently is.
LocationSyncIdguidyesSyncId of the Locations row that LocationId points at.
NamestringnoBundle name.
OrganizationIdintegernoOrganizations.IdOrganization (tenant) this row belongs to.
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.

BundleTemplateItems

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
BundleTemplateIdintegernoBundleTemplates.Id
BundleTemplateSyncIdguidyesSyncId of the BundleTemplates row that BundleTemplateId points at.
CategoryIdintegeryesItemCategories.Id
CategorySyncIdguidyesSyncId of the ItemCategories row that CategoryId points at.
Descriptionstringyes
HasCalculatedPropertiesbooleanno
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
ItemTemplateIdintegeryesItemTemplates.Id
ItemTemplateSyncIdguidyesSyncId of the ItemTemplates row that ItemTemplateId points at.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
Namestringno
ParentTemplateItemIdintegeryesBundleTemplateItems.Id
ParentTemplateItemSyncIdguidyesSyncId of the BundleTemplateItems row that ParentTemplateItemId points at.
Quantityintegerno
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.

BundleTemplates

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
CreatedAtdatetimenoWhen the row was created (UTC).
CreatedBystringyesEmail (or user name) of the user who created the row.
DescriptionstringyesFree-text description of the bundle template.
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
NamestringnoBundle template name.
OrganizationIdintegernoOrganizations.IdOrganization (tenant) this row belongs to.
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
UpdatedAtdatetimeyesWhen the row was last changed (UTC); null when never changed after creation.
UpdatedBystringyesEmail (or user name) of the user who last changed the row.
VendorIdintegeryesVendors.IdVendor the bundle is usually bought from; null when none.
VendorPartNumberstringmax 100yesThe vendor's part number for the bundle.
VendorSyncIdguidyesSyncId of the Vendors row that VendorId points at.
WholesalePricedecimalyesPrice paid for the whole bundle, in the organization's currency; null when not set.

CalculationDependencies

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

ColumnTypeEmpty?ReferencesDescription
IdguidnoPrimary key, unique within this table.
CreatedAtdatetimeno
DependentItemIdintegernoItems.IdThe 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
DependentItemSyncIdguidyesSyncId of the Items row that DependentItemId points at.
GenerationintegernoGeneration/depth level in the hierarchy (1-based) 1 = direct parent/child, 2 = grandparent/grandchild, etc.
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
PropertyReferenceIdguidnoCalculationPropertyReferences.Id
ReferencedItemIdintegernoItems.IdThe item that is being depended on ie, the parent in a parent-child relationship or the child in a child-parent relationship
ReferencedItemSyncIdguidyesSyncId of the Items row that ReferencedItemId points at.
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
UpdatedAtdatetimeyes

CalculationPropertyReferences

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)

ColumnTypeEmpty?ReferencesDescription
IdguidnoPrimary key, unique within this table.
DirectionenumnoSelf Parent Child
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
OrderIndexintegerno
PropertyCalculationIdintegernoPropertyCalculations.Id
PropertyCalculationSyncIdguidyesSyncId of the PropertyCalculations row that PropertyCalculationId points at.
ReferencedPropertyIdintegeryesItemProperties.Id
ReferencedPropertySyncIdguidyesSyncId of the ItemProperties row that ReferencedPropertyId points at.
ReferencedTemplatePropertyIdintegeryesItemTemplateProperties.Id
ReferencedTemplatePropertySyncIdguidyesSyncId of the ItemTemplateProperties row that ReferencedTemplatePropertyId points at.
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.

CategoryProperties

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
CategoryIdintegernoItemCategories.Id
CategorySyncIdguidyesSyncId of the ItemCategories row that CategoryId points at.
DataTypeenumnoText Number Date Boolean Dropdown MultiSelect
DefaultValuestringyes
DisplayOrderintegerno
IsDeletedbooleannoSoft delete: true means the row was deleted (kept for sync and history).
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
IsRequiredbooleanno
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
Optionsstringyes
OverridesParentPropertybooleanno
PropertyNamestringmax 100no
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
ValidationPatternstringyes

CustomCharges

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
CostdecimalnoWhat the charge costs the organization, in the organization's currency (for profit reporting).
CreatedBystringyesEmail (or user name) of the user who created the row.
CreatedDatedatetimenoWhen the row was created (UTC).
Descriptionstringmax 500yesOptional longer description of the charge, up to 500 characters.
DiscountAmountdecimalnoFlat discount taken off the charge after the percentage discount, in the organization's currency.
DiscountPercentdecimalnoLine discount as a percentage (0-100), applied before the flat discount.
IsDeletedbooleannoSoft delete: true means the row was deleted (kept for sync and history).
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
JobIdintegernoJobs.IdJob the charge is on.
JobSyncIdguidyesSyncId of the Jobs row that JobId points at.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
ModifiedBystringyesEmail (or user name) of the user who last changed the row.
ModifiedDatedatetimeyesWhen the row was last changed (UTC); null when never changed after creation.
Namestringmax 200noName of the charge shown on the job and invoice, up to 200 characters.
PricedecimalnoPrice charged to the customer before discounts, in the organization's currency.
SortOrderintegernoDisplay order of the charge on the job (lowest first).
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.

CustomerAddresses

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
Addressstringmax 200yesStreet address, line 1.
Address2stringmax 200yesStreet address, line 2 (suite, unit).
Citystringmax 100yesCity.
Countrystringmax 100yesCountry.
CreatedBystringyesEmail (or user name) of the user who created the row.
CreatedDatedatetimenoWhen the row was created (UTC).
CustomerIdintegernoCustomers.IdCustomer this address belongs to.
CustomerSyncIdguidyesSyncId of the Customers row that CustomerId points at.
IsActivebooleannoFalse when the address has been retired and is no longer offered for new jobs or orders.
IsMailingAddressbooleannoTrue when this is the customer's mailing address.
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
ModifiedBystringyesEmail (or user name) of the user who last changed the row.
ModifiedDatedatetimeyesWhen the row was last changed (UTC); null when never changed after creation.
Namestringmax 100noLabel for the address, for example 'Main Office' or 'Rental Property 1'.
Notesstringmax 500yesNotes about the site (gate codes, parking, access), up to 500 characters.
PostalCodestringmax 20yesZIP or postal code.
Statestringmax 50yesState or province.
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.

Customers

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
Addressstringmax 200yesPrimary (billing) street address, line 1.
Address2stringmax 200yesPrimary address, line 2 (suite, unit).
Citystringmax 100yesCity of the primary address.
CompanyNamestringmax 200yesCompany or trading name when the customer is a business.
Countrystringmax 100yesCountry of the primary address.
CreatedBystringyesEmail (or user name) of the user who created the row.
CreatedDatedatetimenoWhen the row was created (UTC).
CreditLimitdecimalnoCredit limit, in the organization's currency (0 = none set).
CurrentBalancedecimalnoOutstanding balance the customer owes, in the organization's currency.
CustomerStatusenumnoStaff flag for the customer: none, preferred or difficult.None Preferred Difficult
CustomerTypeenumnoKind of customer (end customer, installer/contractor, distributor or commercial).EndCustomer Installer Distributor Commercial
DeletedBystringyesEmail (or user name) of the user who deleted the customer.
DeletedDatedatetimeyesWhen the customer was deleted (UTC); null unless IsDeleted is true.
Emailstringmax 256yesCustomer's contact email address.
IsActivebooleannoFalse when the customer has been deactivated (kept for history, hidden from pickers).
IsDeletedbooleannoSoft delete: true means the row was deleted (kept for sync and history).
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
IsTaxExemptbooleanyesTrue when the customer is tax exempt; null when not recorded.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
MobilePhonestringmax 20yesMobile phone number, as entered (used for customer text messages).
ModifiedBystringyesEmail (or user name) of the user who last changed the row.
ModifiedDatedatetimeyesWhen the row was last changed (UTC); null when never changed after creation.
Namestringmax 200noCustomer display name (a person or business).
NotesstringyesFree-form internal notes about the customer.
OrganizationIdintegernoOrganizations.IdOrganization (tenant) this row belongs to.
PaymentTermsenumnoDefault payment terms for this customer's invoices (due on receipt, Net 15/30/45/60, COD or prepaid).DueOnReceipt Net15 Net30 Net45 Net60 COD Prepaid
Phonestringmax 20yesMain phone number, as entered.
PostalCodestringmax 20yesZIP or postal code of the primary address.
PriceTierenumnoPrice tier used to price jobs and orders for this customer.Standard Silver Gold Platinum Custom
PrimaryContactstringmax 100yesName of the main contact person, when different from the customer name.
Statestringmax 50yesState or province of the primary address.
StoreCreditBalancedecimalnoStore credit available to the customer, in the organization's currency.
StoreCreditNotesstringyesNotes explaining the customer's store credit.
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
TaxIdstringmax 50yesCustomer's tax identification number, if recorded.
WarningNotesstringmax 1000yesWarning shown to staff whenever the customer is selected (for example 'Pays late').

CustomRoles

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
CreatedAtdatetimeno
CreatedByIdstringyesAspNetUsers.Id
CreatedBySyncIdguidyesSyncId of the AspNetUsers row that CreatedById points at.
Descriptionstringno
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
Namestringno
OrganizationIdintegernoOrganizations.Id
PermissionsJsonstringno
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
UpdatedAtdatetimeyes

EstimatePreInspectionTemplateItems

An individual checklist item within a section

Files json/EstimatePreInspectionTemplateItems.json csv/EstimatePreInspectionTemplateItems.csv · primary key Id · scoped by e.Section.Template.OrganizationId == org

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
CustomStatusOptionsOverridestringyesCustom status options when StatusFieldTypeOverride = Custom.
DisplayOrderintegerno
HasItemNotesbooleanno
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
ItemTextstringmax 500no
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
SectionIdintegernoEstimatePreInspectionTemplateSections.Id
SectionSyncIdguidyesSyncId of the EstimatePreInspectionTemplateSections row that SectionId points at.
StatusFieldTypeOverrideenumyesOverride the template's status field type for this specific item.CheckboxOnly PassFail PassNeedsAttentionFail PassNeedsAttentionFailNA Custom
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.

EstimatePreInspectionTemplates

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
CreatedBystringyes
CreatedDatedatetimeno
CustomStatusOptionsstringyesJSON array of custom status options when StatusFieldType = Custom e.g., ["Good", "Fair", "Poor"]
Descriptionstringmax 500yes
IsActivebooleanno
IsDefaultbooleanno
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
ModifiedBystringyes
ModifiedDatedatetimeyes
Namestringmax 200noTemplate Name
OrganizationIdintegernoOrganizations.Id
StatusFieldTypeenumnoCheckboxOnly PassFail PassNeedsAttentionFail PassNeedsAttentionFailNA Custom
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.

EstimatePreInspectionTemplateSections

A section/grouping within a pre-inspection template

Files json/EstimatePreInspectionTemplateSections.json csv/EstimatePreInspectionTemplateSections.csv · primary key Id · scoped by e.Template.OrganizationId == org

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
DisplayOrderintegerno
HasSectionNotesbooleanno
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
Namestringmax 200noSection Name
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
TemplateIdintegernoEstimatePreInspectionTemplates.Id
TemplateSyncIdguidyesSyncId of the EstimatePreInspectionTemplates row that TemplateId points at.

GlobalVariables

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
CreatedAtdatetimeno
Descriptionstringmax 500yes
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
Namestringmax 100no
OrganizationIdintegernoOrganizations.Id
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
UpdatedAtdatetimeyes
ValuedecimalnoThe numeric value of the global variable.

HeaderSynonyms

Maps CSV header synonyms to standard property mappings.

Files json/HeaderSynonyms.json csv/HeaderSynonyms.csv · primary key Id · scoped by e.OrganizationId == org

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
BarcodeTypestringmax 50yesFor Barcode mappings, the barcode type (SKU, UPC, etc.).
CreatedAtdatetimeno
IsActivebooleannoWhether this synonym is active.
IsBuiltInbooleannoWhether this is a built-in (system) synonym or user-created.
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
MappingTypeenumnoThe target mapping type.Property Category Barcode Skip
OrganizationIdintegeryesOrganizations.IdOrganization ID for org-specific synonyms.
PriorityintegernoPriority for matching (lower = higher priority).
PropertyNamestringmax 100yesFor Property mappings, the property name to map to.
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
Synonymstringmax 100noThe CSV header value (synonym) that should trigger this mapping.
UpdatedAtdatetimeyes

ImportJobs

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
BarcodeColumnsJsonstringyes
CategoryColumnsJsonstringyes
CategoryMappingJsonstringyes
ColumnMappingJsonstringyes
CompletedAtdatetimeyes
CreatedAtdatetimeno
CreatedBystringmax 100no
CsvContentstringyes
DeletedAtdatetimeyes
DeletedBystringyes
DualPriceConfigJsonstringyes
DuplicateResolutionJsonstringyes
ErrorLogstringmax 2000yes
FailedRowsintegerno
FileNamestringmax 200no
FileSizeintegerno
ImportTemplateIdintegeryesImportTemplates.Id
ImportTemplateSyncIdguidyesSyncId of the ImportTemplates row that ImportTemplateId points at.
IsDeletedbooleannoSoft delete: true means the row was deleted (kept for sync and history).
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
OrganizationIdintegernoOrganizations.Id
PendingTemplateNamestringmax 200yes
PrimaryBarcodeColumnstringmax 200yes
ProcessedRowsintegerno
SplitColumnsConfigJsonstringyes
SplitColumnsJsonstringyes
StartedAtdatetimeyes
StatusenumnoPending Processing Completed Failed PartiallyCompleted Cancelled
SuccessfulRowsintegerno
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
TemplateAssignmentJsonstringyes
TemplateColumnsJsonstringyes
TotalRowsintegerno
VendorIdintegeryesVendors.Id
VendorSyncIdguidyesSyncId of the Vendors row that VendorId points at.

ImportTemplates

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
ColumnMappingJsonstringno
CreatedAtdatetimeno
CreatedBystringmax 100no
DefaultCategoryIdintegeryesItemCategories.Id
Descriptionstringmax 500yes
GlobalTransformationsJsonstringyes
IsActivebooleanno
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
ItemOverridesJsonstringyes
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
MatchingFieldstringmax 50yes
Namestringmax 100no
NameTransformationsJsonstringyes
OrganizationIdintegernoOrganizations.Id
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
UpdateExistingItemsbooleanno
UpdatedAtdatetimeno
UpdatedBystringmax 100yes
VendorIdintegernoVendors.Id

InvoiceLineItems

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
ConfigurationSummarystringmax 1000yesText describing the line's configured add-ons, recorded when the invoice was finalized; null when none.
CustomChargeSyncIdguidyesSyncId of the job custom charge this invoice line was billed from; null otherwise.
Descriptionstringmax 500noLine description printed on the invoice, up to 500 characters.
DiscountAmountdecimalnoFlat line discount recorded when the invoice was finalized, in the organization's currency.
DiscountPercentdecimalnoLine discount percentage (0-100) recorded when the invoice was finalized.
InvoiceIdintegernoInvoices.IdInvoice the line is on.
InvoiceSyncIdguidyesSyncId of the Invoices row that InvoiceId points at.
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
ItemTypeenumnoKind of line: material, labor, service or other.Material Labor Service Other
JobItemIdintegeryesJob material line this invoice line was billed from; null otherwise.
JobItemSyncIdguidyesSyncId of the job material line in JobItemId.
LaborItemSyncIdguidyesSyncId of the job labor line this invoice line was billed from; null otherwise.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
Notesstringmax 1000yesNote printed under the line, up to 1000 characters.
OriginalUnitPricedecimalyesPrice per unit before line discounts, recorded when the invoice was finalized; null on older lines.
QuantitydecimalnoQuantity billed (decimal, for example hours for a labor line).
SalesOrderItemIdintegeryesSales order line this invoice line was billed from; null otherwise.
SalesOrderItemSyncIdguidyesSyncId of the sales order line in SalesOrderItemId.
SortOrderintegernoDisplay order of the line on the invoice (lowest first).
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
UnitOfMeasurestringmax 50yesUnit the quantity is measured in (for example 'hr' or 'ea'); null when none.
UnitPricedecimalnoPrice per unit after line discounts, in the organization's currency; the line total is Quantity x UnitPrice.

InvoiceNotes

A note on an invoice.

Files json/InvoiceNotes.json csv/InvoiceNotes.csv · primary key Id · scoped by e.Invoice.OrganizationId == org

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
CreatedBystringyesEmail (or user name) of the user who created the row.
CreatedDatedatetimenoWhen the row was created (UTC).
InvoiceIdintegernoInvoices.IdInvoice the note is on.
InvoiceSyncIdguidyesSyncId of the Invoices row that InvoiceId points at.
IsInternalbooleannoHide from Customer
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
ModifiedBystringyesEmail (or user name) of the user who last changed the row.
ModifiedDatedatetimeyesWhen the row was last changed (UTC); null when never changed after creation.
NoteTextstringnoNote
NoteTypeenumnoKind of note: general, payment, internal, customer communication or billing adjustment.General Payment Internal CustomerCommunication BillingAdjustment
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.

InvoicePayments

Represents a payment record for an invoice.

Files json/InvoicePayments.json csv/InvoicePayments.csv · primary key Id · scoped by e.Invoice.OrganizationId == org

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
AmountdecimalnoAmount paid (gross, before any processor fee), in the organization's currency.
CreatedBystringmax 100yesEmail (or user name) of the user who created the row.
CreatedDatedatetimenoWhen the row was created (UTC).
FeeStatusenumnoWhether InvoicePayment.ProcessorFee can be trusted yet.NotApplicable Pending Known Revised
InvoiceIdintegernoInvoices.IdInvoice the payment is applied to.
InvoiceSyncIdguidyesSyncId of the Invoices row that InvoiceId points at.
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
ModifiedBystringmax 100yesEmail (or user name) of the user who last changed the row.
ModifiedDatedatetimeyesWhen the row was last changed (UTC); null when never changed after creation.
Notesstringmax 500yesNotes about the payment, up to 500 characters.
PaymentDatedatetimenoDate the payment was received, as entered.
PaymentMethodstringmax 50yesHow the customer paid (for example Cash, Card or Check).
ProcessorenumnoWhich processor took this payment, or PaymentProcessor.None for cash, cheque and anything else keyed in by hand.None Square Stripe
ProcessorFeedecimalyesWhat the processor kept, in the same currency as InvoicePayment.Amount.
ProcessorTransactionIdstringmax 100yesThe processor's own id for the payment (Stripe PaymentIntent, Square Payment).
ReferenceNumberstringmax 100yesCheck number or transaction reference, if recorded.
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.

Invoices

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
AmountPaiddecimalnoTotal of the payments applied to the invoice, in the organization's currency.
ConsolidatedIntoInvoiceIdintegeryesInvoices.IdThe combined invoice this invoice was consolidated into; null when it has not been consolidated.
ConsolidatedIntoInvoiceSyncIdguidyesSyncId of the Invoices row that ConsolidatedIntoInvoiceId points at.
CreatedBystringyesEmail (or user name) of the user who created the row.
CreatedDatedatetimenoWhen the row was created (UTC).
CustomerAddressIdintegeryesCustomerAddresses.IdCustomer address (service site) the invoice is for; null when none.
CustomerAddressSyncIdguidyesSyncId of the CustomerAddresses row that CustomerAddressId points at.
CustomerIdintegeryesCustomers.IdCustomer billed.
CustomerSyncIdguidyesSyncId of the Customers row that CustomerId points at.
Descriptionstringmax 2000yesOptional description of the invoice, up to 2000 characters.
DueDatedatetimenoDate payment is due (date only; the time part is midnight).
EmailedAtdatetimeyesWhen the payment-link email was last sent to the customer (UTC); null when never sent.
EmailedTostringmax 200yesEmail address the payment-link email was last sent to.
InvoiceDatedatetimenoDate the invoice was issued (date only; the time part is midnight).
InvoiceNumberstringmax 50noInvoice number shown to the customer, for example INV-1042.
InvoiceSequenceNumberintegeryesPosition of this invoice among the invoices of the same job or sales order: 1 = the original, 2 = the first supplemental invoice, and so on; null for a standalone invoice.
IsConsolidatedInvoicebooleannoTrue for an invoice that combines several other invoices (listed in SourceInvoiceIds).
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
IsStandalonebooleannoTrue for an invoice created on its own rather than from a job or sales order.
JobDiscountFactordecimalnoMultiplier the job-level discount applied to the lines, recorded when the invoice was finalized (0.9 = 10% off; 1 = no job discount or an older invoice).
JobDiscountNotestringmax 500yesNote explaining the job-level discount, printed with the discount row.
JobDiscountPercentdecimalyesJob-level discount percentage shown on the discount row (for example 10), recorded when the invoice was finalized; null for a fixed-amount or no discount.
JobIdintegeryesJobs.IdJob the invoice bills; null when not from a job.
JobSyncIdguidyesSyncId of the Jobs row that JobId points at.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
ModifiedBystringyesEmail (or user name) of the user who last changed the row.
ModifiedDatedatetimeyesWhen the row was last changed (UTC); null when never changed after creation.
NotesstringyesNotes printed on the invoice for the customer.
OrganizationIdintegernoOrganizations.IdOrganization (tenant) this row belongs to.
PaidDatedatetimeyesWhen the invoice was paid in full (UTC); null until paid.
PaymentInstructionsstringyesPayment instructions printed on the invoice.
PaymentLinkCreatedAtdatetimeyesWhen the online payment link was created (UTC); null when none.
PaymentLinkIdstringmax 200yesId of the online payment link created for this invoice at the payment processor; null when none.
PaymentLinkUrlstringmax 500yesURL of the online payment link the customer opens to pay; null when none.
SalesOrderIdintegeryesSalesOrders.IdSales order the invoice bills; null when not from a sales order.
SalesOrderSyncIdguidyesSyncId of the SalesOrders row that SalesOrderId points at.
SentDatedatetimeyesWhen the invoice was first sent to the customer (UTC); null if never sent.
SourceInvoiceIdsstringmax 4000yesFor a consolidated invoice, JSON array of the ids of the invoices it combines, for example [123, 456, 789].
SourceInvoiceSyncIdsstringmax 4000yesFor a consolidated invoice, JSON array of the SyncIds of the invoices it combines.
StatusenumnoInvoice status: draft, sent, viewed, partially paid, paid, overdue, cancelled, outstanding or consolidated.Draft Sent Viewed PartiallyPaid Paid Overdue Cancelled Outstanding Consolidated
StoreCreditApplieddecimalnoStore credit applied to the invoice, in the organization's currency.
SubtotaldecimalnoSum of the invoice lines (less any job discount) before tax, in the organization's currency.
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
TaxAmountOverridedecimalyesPre-computed tax amount for consolidated invoices with mixed tax rates.
TaxRatedecimalnoTax rate as a percentage, for example 8.25.
TaxableSubtotaldecimalyesTaxable portion of the subtotal.
Termsstringmax 500yesPayment terms text printed on the invoice, for example 'Due on Receipt'.

ItemBarcodes

Represents a barcode associated with a specific inventory item.

Files json/ItemBarcodes.json csv/ItemBarcodes.csv · primary key Id · scoped by e.OrganizationId == org

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
BarcodeValuestringmax 100noEncoded barcode value.
CreatedAtdatetimenoWhen the row was created (UTC).
DeletedAtdatetimeyesWhen the barcode was removed (UTC); null unless IsDeleted is true.
IsDeletedbooleannoSoft delete: true means the row was deleted (kept for sync and history).
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
IsPrimarybooleannoIndicates if this is the primary/default barcode for the item
ItemIdintegernoItems.IdInventory item the barcode is attached to.
ItemSyncIdguidyesSyncId of the Items row that ItemId points at.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
OrganizationIdintegernoOrganizations.IdOrganization (tenant) this row belongs to.
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
Typestringmax 50noFlexible barcode type - user can define any type.
UpdatedAtdatetimeyesWhen the row was last changed (UTC); null when never changed after creation.

ItemCatalog

Represents a catalog entry for standard inventory items.

Files json/ItemCatalog.json csv/ItemCatalog.csv · primary key Id · scoped by e.OrganizationId == org

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
Barcodestringyes
CategoryIdintegeryesItemCategories.Id
CreatedAtdatetimeno
Descriptionstringyes
Namestringmax 100noItem Name
OrganizationIdintegernoOrganizations.Id
UpdatedAtdatetimeyes

ItemCatalogProperty

Represents a property for an item catalog entry.

Files json/ItemCatalogProperty.json csv/ItemCatalogProperty.csv · primary key Id · scoped by e.ItemCatalog.OrganizationId == org

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
ItemCatalogIdintegernoItemCatalog.Id
PropertyNamestringmax 100no
PropertyValuestringno

ItemCategories

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
CreatedAtdatetimenoWhen the row was created (UTC).
DescriptionstringyesFree-text description of the category.
IsDeletedbooleannoSoft delete: true means the row was deleted (kept for sync and history).
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
IsSystemCategorybooleannoTrue for a built-in category that is not edited or listed like user categories.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
Namestringmax 100noCategory name, up to 100 characters.
OrganizationIdintegernoOrganizations.IdOrganization (tenant) this row belongs to.
ParentCategoryIdintegeryesItemCategories.IdParent category this category is nested under; null for a top-level category.
ParentCategorySyncIdguidyesSyncId of the ItemCategories row that ParentCategoryId points at.
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
TemplateBuilderIdintegeryesTemplateBuilders.IdTemplate builder that created this category automatically; null for a category created by hand.
TemplateBuilderSyncIdguidyesSyncId of the TemplateBuilders row that TemplateBuilderId points at.
UpdatedAtdatetimeyesWhen the row was last changed (UTC); null when never changed after creation.

ItemCategoryAssignments

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
CategoryIdintegernoItemCategories.Id
CategorySyncIdguidyesSyncId of the ItemCategories row that CategoryId points at.
IsDeletedbooleannoSoft delete: true means the row was deleted (kept for sync and history).
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
ItemIdintegernoItems.Id
ItemSyncIdguidyesSyncId of the Items row that ItemId points at.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.

ItemChangeLogs

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
ChangeTypeenumnoCreated Updated Deleted LocationChanged ParentChanged PropertyChanged
ChangedAtdatetimeno
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
ItemIdintegernoItems.Id
ItemSyncIdguidyesSyncId of the Items row that ItemId points at.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
NewLocationIdintegeryes
NewLocationSyncIdguidyes
NewParentIdintegeryes
NewParentSyncIdguidyes
NewValuesstringyes
OldLocationIdintegeryes
OldLocationSyncIdguidyes
OldParentIdintegeryes
OldParentSyncIdguidyes
OldValuesstringyes
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
UserIdstringyesAspNetUsers.Id
UserSyncIdguidyesSyncId of the AspNetUsers row that UserId points at.

ItemProperties

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)

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
BundleTemplateItemIdintegeryesBundleTemplateItems.IdBundle template line the property belongs to; null otherwise.
BundleTemplateItemSyncIdguidyesSyncId of the BundleTemplateItems row that BundleTemplateItemId points at.
DataTypeenumnoKind of value the property holds (text, number, date, boolean, dropdown or multi-select).Text Number Date Boolean Dropdown MultiSelect
IsLocalPropertybooleannoTrue for a property added to this item by hand rather than copied from its template.
IsOverwrittenbooleannoTrue when the value was set by hand on this item, so template updates no longer change it.
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
ItemIdintegeryesItems.IdInventory item the property belongs to; null when it belongs to a bundle or kit line instead.
ItemSyncIdguidyesSyncId of the Items row that ItemId points at.
KitItemIdintegeryesKitItems.IdKit line the property belongs to; null otherwise.
KitItemSyncIdguidyesSyncId of the KitItems row that KitItemId points at.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
OptionsstringyesComma-separated list of allowed values for dropdown and multi-select properties.
PropertyNamestringnoProperty name, for example 'Unit Price', 'Cost' or 'Color'.
PropertyValuestringnoProperty value, stored as text whatever the data type.
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.

Items

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
ActiveTransferIdintegeryesTransfer the item is currently travelling on; null when not in transit.
ActiveTransferSyncIdguidyesSyncId of the transfer in ActiveTransferId.
AutoGeneratedNamestringmax 500yesName generated from the template, kept even after the item is renamed.
BundleIdintegeryesBundles.IdBundle this item belongs to; null when it is not part of a bundle.
BundleSyncIdguidyesSyncId of the Bundles row that BundleId points at.
CreatedAtdatetimenoWhen the row was created (UTC).
DescriptionstringyesFree-text description of the item.
DirectCategoryIdsstringyesJSON array of category ids assigned to the item directly rather than inherited from its template, for example [1,2].
DirectCategorySyncIdsstringyesJSON array of the SyncIds of the categories in DirectCategoryIds.
HasCalculatedPropertiesbooleannoTrue when one or more of the item's properties are calculated from other values.
IsDeletedbooleannoSoft delete: true means the row was deleted (kept for sync and history).
IsInTransitbooleannoTrue while the item is moving between locations on a transfer.
IsNameOverwrittenbooleannoTrue when a user renamed the item, so template name changes no longer update it.
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
LastMovedAtdatetimeyesWhen the item was last moved (UTC).
LastMovedBystringmax 100yesEmail (or user name) of the user who last moved the item.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
LocationIdintegeryesLocations.IdLocation where the item currently is; null when it has no location.
LocationSyncIdguidyesSyncId of the Locations row that LocationId points at.
MoveHistorystringyesJSON array of the item's past moves (from/to location, who and when).
NamestringnoDisplay name of the item (usually generated from its template).
OrganizationIdintegernoOrganizations.IdOrganization (tenant) this row belongs to.
ParentItemIdintegeryesItems.IdItem this item is a component of (for example a panel that belongs to a door); null when standalone.
ParentItemSyncIdguidyesSyncId of the Items row that ParentItemId points at.
ReceivedItemIdintegeryesReceivedItems.IdThe ReceivedItems row whose CreatedItems include this row; null when none.
SourcePurchaseOrderIdintegeryesPurchaseOrders.IdPurchase order the item was received from; null when it did not come from a purchase order.
SourcePurchaseOrderSyncIdguidyesSyncId of the PurchaseOrders row that SourcePurchaseOrderId points at.
SourceShipmentIdintegeryesPurchaseOrderShipments.IdPurchase order shipment the item was received from (used to share out shipping cost).
SourceShipmentSyncIdguidyesSyncId of the PurchaseOrderShipments row that SourceShipmentId points at.
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
TemplateIdintegeryesItemTemplates.IdItem template (catalog product) this item was created from; null when it has none.
TemplateSyncIdguidyesSyncId of the ItemTemplates row that TemplateId points at.
UnitsConsumedintegernoFor items sold by sub-units, how many units have already been drawn from this unit (0 = unopened).
UpdatedAtdatetimeyesWhen the row was last changed (UTC); null when never changed after creation.

ItemStockThresholds

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
CreatedAtdatetimeno
CreatedBystringmax 100no
IsActivebooleanno
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
ItemTemplateIdintegernoItemTemplates.Id
ItemTemplateSyncIdguidyesSyncId of the ItemTemplates row that ItemTemplateId points at.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
LocationIdintegeryesLocations.Id
LocationSyncIdguidyesSyncId of the Locations row that LocationId points at.
MinimumStockintegerno
OrganizationIdintegernoOrganizations.Id
ReorderQuantityintegeryes
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
UpdatedAtdatetimeno
UpdatedBystringmax 100no

ItemTemplateBarcodes

Represents a barcode associated with an item template.

Files json/ItemTemplateBarcodes.json csv/ItemTemplateBarcodes.csv · primary key Id · scoped by e.OrganizationId == org

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
BarcodeValuestringmax 100noEncoded barcode value.
CreatedAtdatetimenoWhen the row was created (UTC).
DeletedAtdatetimeyesWhen the barcode was removed (UTC); null unless IsDeleted is true.
IsDeletedbooleannoSoft delete: true means the row was deleted (kept for sync and history).
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
IsPrimarybooleannoIndicates if this is the primary/default barcode for the template
ItemTemplateIdintegernoItemTemplates.IdItem template (product) the barcode is attached to.
ItemTemplateSyncIdguidyesSyncId of the ItemTemplates row that ItemTemplateId points at.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
OrganizationIdintegernoOrganizations.IdOrganization (tenant) this row belongs to.
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
Typestringmax 50noFlexible barcode type - user can define any type.
UpdatedAtdatetimeyesWhen the row was last changed (UTC); null when never changed after creation.

ItemTemplateCategoryAssignments

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
CategoryIdintegernoItemCategories.Id
CategorySyncIdguidyesSyncId of the ItemCategories row that CategoryId points at.
IsDeletedbooleannoSoft delete: true means the row was deleted (kept for sync and history).
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
ItemTemplateIdintegernoItemTemplates.Id
ItemTemplateSyncIdguidyesSyncId of the ItemTemplates row that ItemTemplateId points at.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.

ItemTemplateModifierGroups

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
DisplayOrderintegerno
IsDeletedbooleannoSoft delete: true means the row was deleted (kept for sync and history).
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
ItemTemplateIdintegernoItemTemplates.Id
ItemTemplateSyncIdguidyesSyncId of the ItemTemplates row that ItemTemplateId points at.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
MaxTotalQuantityintegeryes
Namestringmax 100no
OrganizationIdintegernoOrganizations.Id
SelectionModeenumnoChooseOne ChooseOneOptional ChooseManyWithQuantity
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.

ItemTemplateModifierOptions

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
DisplayOrderintegerno
IsDefaultbooleanno
IsDeletedbooleannoSoft delete: true means the row was deleted (kept for sync and history).
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
ModifierGroupIdintegernoItemTemplateModifierGroups.Id
ModifierGroupSyncIdguidyesSyncId of the ItemTemplateModifierGroups row that ModifierGroupId points at.
Namestringmax 150no
OrganizationIdintegernoOrganizations.Id
PriceTypeenumnoFixed PercentOfBase
PriceValuedecimalno
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.

ItemTemplatePriceTiers

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
IsDeletedbooleannoSoft delete: true means the row was deleted (kept for sync and history).
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
ItemTemplateIdintegernoItemTemplates.IdItem template (product) the price break belongs to.
ItemTemplateSyncIdguidyesSyncId of the ItemTemplates row that ItemTemplateId points at.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
MinQuantityintegernoSmallest quantity at which UnitPrice applies.
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
UnitPricedecimalnoPrice per unit at or above MinQuantity, in the organization's currency.

ItemTemplateProperties

Represents a property for an item template.

Files json/ItemTemplateProperties.json csv/ItemTemplateProperties.csv · primary key Id · scoped by e.ItemTemplate.OrganizationId == org

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
DataTypeenumnoKind of value the property holds (text, number, date, boolean, dropdown or multi-select).Text Number Date Boolean Dropdown MultiSelect
IsLocalPropertybooleannoTrue for a property added to this template by hand rather than by its template builder.
IsOverwrittenbooleannoTrue when the value was set by hand, so template builder updates no longer change it.
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
ItemTemplateIdintegernoItemTemplates.IdItem template the property belongs to.
ItemTemplateSyncIdguidyesSyncId of the ItemTemplates row that ItemTemplateId points at.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
OptionsstringyesComma-separated list of allowed values for dropdown and multi-select properties.
PropertyNamestringmax 100noProperty name, for example 'Unit Price', 'Cost' or 'Color'.
PropertyValuestringnoProperty value, stored as text whatever the data type.
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.

ItemTemplates

Represents a template for creating inventory items

Files json/ItemTemplates.json csv/ItemTemplates.csv · primary key Id · scoped by e.OrganizationId == org

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
AutoGeneratedNamestringmax 500yesName generated by the template builder, kept even after the template is renamed.
CategoryIdintegeryesItemCategories.IdLegacy single category of the template (categories are now assigned through the template-category links).
CategorySyncIdguidyesSyncId of the ItemCategories row that CategoryId points at.
CreatedAtdatetimenoWhen the row was created (UTC).
DescriptionstringyesFree-text description of the product.
DirectCategoryIdsstringyesJSON array of category ids assigned to the template directly (not by its template builder), for example [1,2,3].
DirectCategorySyncIdsstringyesJSON array of the SyncIds of the categories in DirectCategoryIds.
ImportJobIdintegeryesImportJobs.IdCSV import that created this template; null when it was not imported.
IsDeletedbooleannoSoft delete: true means the row was deleted (kept for sync and history).
IsDraftbooleannoTrue for a template created automatically that has not been finalized yet.
IsMiscItembooleannoTrue for a miscellaneous item: added to jobs with a per-job price and notes, and never tracked as stock.
IsNameOverwrittenbooleannoTrue when a user renamed the template, so template builder name changes no longer update it.
IsParentTemplatebooleannoTrue for a parent (grouping) template whose variants are its child templates; a parent carries no stock and cannot be added to jobs.
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
Namestringmax 100noProduct name shown in the catalog, up to 100 characters.
OrganizationIdintegernoOrganizations.IdOrganization (tenant) this row belongs to.
ParentTemplateIdintegeryesItemTemplates.IdParent template this template is grouped under as a variant; null when not grouped.
ParentTemplateSyncIdguidyesSyncId of the ItemTemplates row that ParentTemplateId points at.
PreferredVendorSyncIdguidyesSyncId of the vendor this item is normally reordered from (no int FK); null when none is set.
SellByUnitsbooleannoTrue when the product is sold in smaller units (for example a gallon sold by the ounce) instead of whole units.
SubUnitParentTemplateSyncIdguidyesOn a hidden sub-unit template, the SyncId of the whole-unit template it sells units of; null otherwise.
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
TemplateBuilderIdintegeryesTemplateBuilders.IdTemplate builder that generated this template; null when created by hand.
TemplateBuilderSyncIdguidyesSyncId of the TemplateBuilders row that TemplateBuilderId points at.
UnitNamestringmax 50yesName of the sub-unit when SellByUnits is true (for example 'oz').
UnitsPerParentintegeryesNumber of sub-units in one whole unit when SellByUnits is true (for example 128 ounces per gallon).
UpdatedAtdatetimeyesWhen the row was last changed (UTC); null when never changed after creation.
VendorPartNumberstringmax 100yesThe preferred vendor's own part / catalogue number for this item, max 100 characters.

ItemTemplateSimilarities

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
CreatedBystringmax 450no
CreatedDatedatetimeno
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
ItemTemplateIdintegernoItemTemplates.Id
ItemTemplateSyncIdguidyesSyncId of the ItemTemplates row that ItemTemplateId points at.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
Notesstringmax 500yes
SimilarItemTemplateIdintegernoItemTemplates.Id
SimilarItemTemplateSyncIdguidyesSyncId of the ItemTemplates row that SimilarItemTemplateId points at.
SimilarityScoredecimalno
SimilarityTypestringmax 50no
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
UpdatedBystringmax 450yes
UpdatedDatedatetimeyes

JobAssignments

A user assigned to work a scheduled job.

Files json/JobAssignments.json csv/JobAssignments.csv · primary key Id · scoped by e.OrganizationId == org

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
CreatedAtdatetimenoWhen the row was created (UTC).
CreatedBystringmax 256yesEmail (or user name) of the user who made the assignment.
IsDeletedbooleannoSoft delete: true means the row was deleted (kept for sync and history).
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
JobIdintegernoJobs.IdJob the user is assigned to.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
Notesstringmax 200yesNote attached to the assignment, up to 200 characters.
OrganizationIdintegernoOrganization (tenant) this row belongs to.
ScheduleGroupIdintegeryesScheduleGroups.IdSchedule group (division or crew) the user was assigned under; null when none.
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
UserIdstringnoAspNetUsers.IdUser assigned to work the job.

JobEstimateOptionCharges

Custom charge within an estimate option

Files json/JobEstimateOptionCharges.json csv/JobEstimateOptionCharges.csv · primary key Id · scoped by e.EstimateOption.Job.OrganizationId == org

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
Costdecimalno
Descriptionstringmax 500yes
DisplayOrderintegerno
EstimateOptionIdintegernoJobEstimateOptions.Id
EstimateOptionSyncIdguidyesSyncId of the JobEstimateOptions row that EstimateOptionId points at.
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
Namestringmax 200noCharge Name
Pricedecimalno
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.

JobEstimateOptionLabors

Labor item within an estimate option

Files json/JobEstimateOptionLabors.json csv/JobEstimateOptionLabors.csv · primary key Id · scoped by e.EstimateOption.Job.OrganizationId == org

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
CustomerRatedecimalno
Descriptionstringmax 200no
DisplayOrderintegerno
EmployeeCostRatedecimalno
EstimateOptionIdintegernoJobEstimateOptions.Id
EstimateOptionSyncIdguidyesSyncId of the JobEstimateOptions row that EstimateOptionId points at.
EstimatedHoursdecimalno
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
LaborRateIdintegeryesLaborRates.IdLabor Rate
LaborRateSyncIdguidyesSyncId of the LaborRates row that LaborRateId points at.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
Notesstringmax 500yes
OverheadFactordecimalno
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.

JobEstimateOptionMaterials

Material item within an estimate option

Files json/JobEstimateOptionMaterials.json csv/JobEstimateOptionMaterials.csv · primary key Id · scoped by e.EstimateOption.Job.OrganizationId == org

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
Descriptionstringmax 200no
DiscountPercentdecimalnoDiscount %
DisplayOrderintegerno
EstimateOptionIdintegernoJobEstimateOptions.Id
EstimateOptionSyncIdguidyesSyncId of the JobEstimateOptions row that EstimateOptionId points at.
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
ItemTemplateIdintegeryesItemTemplates.IdItem Template
ItemTemplateSyncIdguidyesSyncId of the ItemTemplates row that ItemTemplateId points at.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
Notesstringmax 500yes
Quantityintegerno
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
UnitCostdecimalno
UnitPricedecimalno

JobEstimateOptions

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
CreatedDatedatetimenoWhen the row was created (UTC).
Descriptionstringmax 500yesDescription of the option shown to the customer.
DisplayOrderintegernoDisplay order of the option (lowest first).
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
IsRecommendedbooleannoTrue for the option the organization recommends.
IsSelectedbooleannoTrue for the option the customer chose.
JobIdintegernoJobs.IdJob the estimate option belongs to.
JobSyncIdguidyesSyncId of the Jobs row that JobId points at.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
Namestringmax 100noOption Name
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.

JobEstimatePreInspectionItems

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
CompletedByIdstringyesAspNetUsers.IdCompleted By
CompletedBySyncIdguidyesSyncId of the AspNetUsers row that CompletedById points at.
CompletedDatedatetimeyes
DisplayOrderintegerno
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
ItemTextstringmax 500no
JobInspectionIdintegernoJobEstimatePreInspections.Id
JobInspectionSyncIdguidyesSyncId of the JobEstimatePreInspections row that JobInspectionId points at.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
Notesstringyes
SectionNamestringmax 200yes
SectionNotesstringyesSection-level notes (stored on first item of section for simplicity)
StatusValuestringmax 100yesThe selected status value - "Pass", "Fail", "true", "false", etc.
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
TemplateItemIdintegeryesEstimatePreInspectionTemplateItems.IdReference to the template item (null if ad-hoc item added during inspection)
TemplateItemSyncIdguidyesSyncId of the EstimatePreInspectionTemplateItems row that TemplateItemId points at.
TemplateSectionIdintegeryesEstimatePreInspectionTemplateSections.IdReference to the section (for ordering and grouping)
TemplateSectionSyncIdguidyesSyncId of the EstimatePreInspectionTemplateSections row that TemplateSectionId points at.

JobEstimatePreInspections

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
CompletedDatedatetimeyes
CreatedBystringyes
CreatedDatedatetimeno
CustomTitlestringmax 200yesUser can override the title for this specific job's checklist
IncludeInPdfbooleanno
InspectedByIdstringyesAspNetUsers.IdInspected By
InspectedBySyncIdguidyesSyncId of the AspNetUsers row that InspectedById points at.
InspectedDatedatetimeyes
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
JobIdintegernoJobs.Id
JobSyncIdguidyesSyncId of the Jobs row that JobId points at.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
LockedDatedatetimeyesWhen the job started - checklist becomes read-only after this
ModifiedBystringyes
ModifiedDatedatetimeyes
StatusenumnoNotStarted InProgress Completed
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
TemplateIdintegernoEstimatePreInspectionTemplates.Id
TemplateSyncIdguidyesSyncId of the EstimatePreInspectionTemplates row that TemplateId points at.

JobEstimatePreInspectionSnapshots

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
CreatedBystringyes
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
JobInspectionIdintegernoJobEstimatePreInspections.Id
JobInspectionSyncIdguidyesSyncId of the JobEstimatePreInspections row that JobInspectionId points at.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
Notesstringmax 500yes
SnapshotDatastringnoJSON serialization of the full checklist state at time of snapshot
SnapshotDatedatetimeno
SnapshotTypeenumnoSentToCustomer PreEdit JobStarted ManualSave
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.

JobItemModifierSelections

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
GroupNamestringmax 100no
IsDeletedbooleannoSoft delete: true means the row was deleted (kept for sync and history).
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
JobItemIdintegernoJobItems.Id
JobItemSyncIdguidyesSyncId of the JobItems row that JobItemId points at.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
ModifierOptionIdintegeryesItemTemplateModifierOptions.Id
ModifierOptionSyncIdguidyesSyncId of the ItemTemplateModifierOptions row that ModifierOptionId points at.
OptionNamestringmax 150no
Quantityintegerno
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
UnitUpchargedecimalno

JobItems

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
ActualItemIdintegeryesItems.IdInventory item used to fulfil the line, once known.
ActualItemSyncIdguidyesSyncId of the Items row that ActualItemId points at.
DeliveredQuantityintegernoQuantity already delivered to or used at the job.
DiscountAmountdecimalnoFlat discount taken off the line total after the percentage discount, in the organization's currency.
DiscountPercentdecimalnoLine discount as a percentage (0-100), applied before the flat discount.
IsDeletedbooleannoSoft delete: true means the row was deleted (kept for sync and history).
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
IsPriceOverriddenbooleannoTrue when the unit price was set by hand, so price-tier repricing leaves it alone.
ItemTemplateIdintegernoItemTemplates.IdProduct (item template) on the line.
ItemTemplateSyncIdguidyesSyncId of the ItemTemplates row that ItemTemplateId points at.
JobIdintegernoJobs.IdJob the material line is on.
JobSyncIdguidyesSyncId of the Jobs row that JobId points at.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
Notesstringmax 500yesNotes on the line, up to 500 characters.
PreferredItemIdsstringyesJSON array of the specific inventory item ids to use for this line (for unique items); null for standard stock.
PreferredItemSyncIdsstringyesJSON array of the SyncIds of the items in PreferredItemIds.
PreferredSourceLocationIdsstringyesJSON array of location ids to take the stock from first, for example [3,7]; null for no preference.
PreferredSourceLocationSyncIdsstringyesJSON array of the SyncIds of the locations in PreferredSourceLocationIds.
QuantityintegernoQuantity of the product on the job (whole units, or sub-units for a sub-unit product).
ReservedDatedatetimeyesWhen stock was reserved for the line (UTC); null when not reserved.
StatusenumnoFulfilment state of the line: planned, reserved, used (delivered), returned or cancelled.Planned Reserved Used Returned Cancelled
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
UnitCostdecimalnoCost of one unit to the organization, in the organization's currency.
UnitPricedecimalnoCustomer price for one unit before line discounts, in the organization's currency.
UsedDatedatetimeyesWhen the line was delivered or used (UTC); null until then.

Jobs

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
ActualLaborCostdecimalnoCost of the labor actually worked on the job, in the organization's currency.
ActualMaterialCostdecimalnoCost of the materials actually delivered to the job, in the organization's currency.
CompletedDatedatetimeyesWhen the job was completed (UTC); null until completed.
CreatedBystringyesEmail (or user name) of the user who created the row.
CreatedDatedatetimenoWhen the row was created (UTC).
CustomChargesTotaldecimalnoCustomer price of the custom charges after line discounts, before the job discount and tax.
CustomerAddressIdintegeryesCustomerAddresses.IdCustomer address (service site) where the work is done; null when none selected.
CustomerAddressSyncIdguidyesSyncId of the CustomerAddresses row that CustomerAddressId points at.
CustomerIdintegernoCustomers.IdCustomer the job is for.
CustomerSyncIdguidyesSyncId of the Customers row that CustomerId points at.
Descriptionstringmax 500yesShort description of the work, up to 500 characters.
DiscountAmountdecimalyesJob-level discount as a fixed amount in the organization's currency; null when a percentage or no discount applies.
DiscountNotestringmax 500yesNote explaining the job-level discount, shown on the invoice.
DiscountPercentdecimalyesJob-level discount as a percentage (0-100) applied to every line; null when a fixed amount or no discount applies.
DownPaymentAmountdecimalyesMoney collected before any invoice existed, in the organization's currency; null when none.
DownPaymentAppliedUtcdatetimeyesSet when the down payment transferred to an invoice (exactly once).
DownPaymentDatedatetimeyesDate the down payment was taken, as entered.
DownPaymentMethodstringmax 50yesHow the down payment was paid (for example Cash, Card or Check).
DownPaymentNotestringmax 500yesNote about the down payment.
EmailedAtdatetimeyesWhen the payment-link email was last sent to the customer (UTC); null when never sent.
EmailedTostringmax 200yesEmail address the payment-link email was last sent to.
EstimatedLaborCostdecimalnoEstimated cost of the job's labor to the organization, in the organization's currency.
EstimatedMaterialCostdecimalnoEstimated cost of the job's materials to the organization (quantity x unit cost), in the organization's currency.
HasMultipleOptionsbooleannoTrue when the estimate offers the customer several options to choose from.
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
JobNumberstringmax 50noJob number shown to staff and customers, for example J-2026-0042.
JobSiteLocationIdintegeryesLocations.IdInventory location that represents this job's site (where materials are delivered).
JobSiteLocationSyncIdguidyesSyncId of the Locations row that JobSiteLocationId points at.
JobStatusDefinitionIdintegeryesJobStatusDefinitions.IdThe organization's custom status definition the job is in, when custom statuses are used.
JobStatusDefinitionSyncIdguidyesSyncId of the JobStatusDefinitions row that JobStatusDefinitionId points at.
JobTypestringmax 100noFree-text job category, for example 'Installation' or 'Repair'.
LaborPricedecimalnoCustomer price of the labor lines after line discounts, before the job discount and tax.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
MaterialPricedecimalnoCustomer price of the material lines after line discounts, before the job discount and tax.
ModifiedBystringyesEmail (or user name) of the user who last changed the row.
ModifiedDatedatetimeyesWhen the row was last changed (UTC); null when never changed after creation.
NotesstringyesInternal notes typed on the job (separate from the job timeline).
OrganizationIdintegernoOrganizations.IdOrganization (tenant) this row belongs to.
PaymentLinkCreatedAtdatetimeyesWhen the online payment link was created (UTC); null when none.
PaymentLinkIdstringmax 200yesId of the online payment link created for this job at the payment processor; null when none.
PaymentLinkUrlstringmax 500yesURL of the online payment link the customer opens to pay; null when none.
PaymentStatusstringmax 50yesPayment state, separate from the workflow status: Unpaid, Partial, Paid, Overpaid or Refunded.
ScheduledDatedatetimeyesScheduled start in the organization's local time (no time zone); null when unscheduled.
ScheduledDurationMinutesintegeryesPlanned length of the scheduled visit in minutes.
SelectedOptionIdintegeryesJobEstimateOptions.IdEstimate option the customer chose, for a multi-option estimate.
SelectedOptionSyncIdguidyesSyncId of the JobEstimateOptions row that SelectedOptionId points at.
StartDatedatetimeyesWhen work actually started (UTC); null until the job is in progress.
StatusenumnoWorkflow status of the job (draft, estimated, scheduled, in progress, completed, invoiced, paid, cancelled, and so on).Draft Estimated Scheduled InProgress Completed Invoiced Paid Cancelled Outstanding InspectionInProgress AwaitingOptionSelection
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
TaxCustomChargesbooleannoTrue when tax applies to the job's custom charges (copied from the organization settings when the job is created).
TaxLaborbooleannoTrue when tax applies to the job's labor (copied from the organization settings when the job is created).
TaxMaterialsbooleannoTrue when tax applies to the job's materials (copied from the organization settings when the job is created).
TaxRatedecimalnoTax rate as a percentage (for example 8.25), copied from the organization settings when the job is created.

JobStatusDefinitions

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
AllowedTransitionSyncIdsstringyesJSON array of the SyncIds of the statuses a job may move to from this one.
AllowedTransitionsJsonstringyesCan Transition To
AllowsInvoicingbooleannoTrue when a job in this status can be invoiced.
ColorHexstringmax 7yesColor
CountsAsActivebooleannoTrue when jobs in this status count as active work.
CountsAsCompletedbooleannoTrue when jobs in this status count as completed.
CreatedBystringyesEmail (or user name) of the user who created the row.
CreatedDatedatetimenoWhen the row was created (UTC).
Descriptionstringmax 200yesDescription of the status.
DisplayOrderintegernoDisplay order of the status (lowest first).
IsDeletedbooleannoSoft delete: true means the row was deleted (kept for sync and history).
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
IsSystemStatusbooleannoTrue for a built-in status that maps to one of the standard job statuses.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
ModifiedBystringyesEmail (or user name) of the user who last changed the row.
ModifiedDatedatetimeyesWhen the row was last changed (UTC); null when never changed after creation.
Namestringmax 50noStatus Name
OrganizationIdintegernoOrganizations.IdOrganization (tenant) this row belongs to.
RequiresCompletionFieldsbooleannoTrue when completion details must be filled in before a job enters this status.
RequiresScheduleDatebooleannoTrue when a job needs a scheduled date to enter this status.
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
SystemStatusTypeenumyesStandard job status this definition stands for; null for a purely custom status.Draft Estimated Scheduled InProgress Completed Invoiced Paid Cancelled Outstanding InspectionInProgress AwaitingOptionSelection

JobUpdates

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
AttachmentNamestringmax 200yesOriginal file name of the attachment.
AttachmentUrlstringmax 500yesPath or link of the attached file (photo, signature or document); null when there is none.
CreatedBystringmax 100noEmail (or user name) of the user who wrote the entry.
CreatedByNamestringmax 100yesDisplay name of the user who wrote the entry.
CreatedDatedatetimenoWhen the entry was written (UTC).
Descriptionstringmax 2000noText of the entry, up to 2000 characters.
IsInternalbooleannoTrue for a staff-only entry that is not shown to the customer.
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
JobIdintegernoJobs.IdJob the timeline entry belongs to.
JobSyncIdguidyesSyncId of the Jobs row that JobId points at.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
NewStatusenumyesFor a status change, the job's new status; otherwise null.Draft Estimated Scheduled InProgress Completed Invoiced Paid Cancelled Outstanding InspectionInProgress AwaitingOptionSelection
OldStatusenumyesFor a status change, the job's previous status; otherwise null.Draft Estimated Scheduled InProgress Completed Invoiced Paid Cancelled Outstanding InspectionInProgress AwaitingOptionSelection
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
UpdateTypeenumnoKind of entry (general note, progress update, issue, status change, photo, signature, text message, and so on).GeneralNote ProgressUpdate Issue CustomerRequest ChangeOrder Delay MaterialNote CompletionNote StatusChange ScheduleChange Payment Return Photo Signature TextMessage

KitItems

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
CategoryIdintegeryesItemCategories.Id
CategorySyncIdguidyesSyncId of the ItemCategories row that CategoryId points at.
Descriptionstringyes
HasCalculatedPropertiesbooleanno
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
ItemTemplateIdintegeryesItemTemplates.Id
ItemTemplateSyncIdguidyesSyncId of the ItemTemplates row that ItemTemplateId points at.
KitIdintegernoKits.Id
KitSyncIdguidyesSyncId of the Kits row that KitId points at.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
Namestringno
ParentKitItemIdintegeryesKitItems.Id
ParentKitItemSyncIdguidyesSyncId of the KitItems row that ParentKitItemId points at.
Quantityintegerno
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.

Kits

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
CreatedAtdatetimeno
Descriptionstringyes
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
NamestringnoKit Name
OrganizationIdintegernoOrganizations.Id
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
UpdatedAtdatetimeyes

LaborItems

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
ActualHoursdecimalnoHours actually worked (decimal); 0 until logged.
CustomerPriceOverridedecimalyesFixed customer price for the whole line that replaces hours x rate; null to price by the hour.
CustomerRatedecimalnoHourly rate billed to the customer, in the organization's currency.
Descriptionstringmax 200noWhat the work is, up to 200 characters.
DiscountAmountdecimalnoFlat discount taken off the line total after the percentage discount, in the organization's currency.
DiscountPercentdecimalnoLine discount as a percentage (0-100), applied before the flat discount.
EmployeeCostdecimalnoHourly cost of the employee to the organization, in the organization's currency.
EstimatedHoursdecimalnoHours quoted for the work (decimal, for example 1.5).
IsDeletedbooleannoSoft delete: true means the row was deleted (kept for sync and history).
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
JobIdintegernoJobs.IdJob the labor line is on.
JobSyncIdguidyesSyncId of the Jobs row that JobId points at.
LaborRateIdintegeryesLaborRates.IdLabor rate the line was priced from; null when priced by hand.
LaborRateSyncIdguidyesSyncId of the LaborRates row that LaborRateId points at.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
NotesstringyesNotes on the labor line.
OverheadFactordecimalnoMultiplier applied to the employee cost to cover overhead (1 = none).
StatusenumnoState of the labor line: planned, scheduled, in progress, completed or cancelled.Planned Scheduled InProgress Completed Cancelled
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
TaskTemplateIdintegeryesTaskTemplates.IdTask template the line was created from; null when typed by hand.
TaskTemplateSyncIdguidyesSyncId of the TaskTemplates row that TaskTemplateId points at.
TechnicianIdstringyesAspNetUsers.IdUser (technician) the work is booked to; null when unassigned.
WorkDatedatetimeyesDate the work is planned for or was done, as entered.

LaborRates

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
CreatedBystringyesEmail (or user name) of the user who created the row.
CreatedDatedatetimenoWhen the row was created (UTC).
Descriptionstringmax 500yesDescription of the rate.
EmployeeCostdecimalyesHourly cost of the employee to the organization, in the organization's currency; null when unknown.
HourlyRatedecimalnoHourly rate charged to the customer, in the organization's currency.
IsActivebooleannoFalse when the rate is retired and no longer offered.
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
ModifiedBystringyesEmail (or user name) of the user who last changed the row.
ModifiedDatedatetimeyesWhen the row was last changed (UTC); null when never changed after creation.
Namestringmax 100noRate Name
OrganizationIdintegernoOrganizations.IdOrganization (tenant) this row belongs to.
OverheadFactordecimalnoMultiplier applied to the employee cost to cover overhead (1 = none).
RateTypeenumnoKind of rate (standard, emergency, weekend, after hours, skill level, custom or flat).Standard Emergency Weekend AfterHours SkillLevel Custom Flat
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.

Locations

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
AddressstringyesStreet address of the location, as entered.
CreatedAtdatetimenoWhen the row was created (UTC).
IsDeletedbooleannoSoft delete: true means the row was deleted (kept for sync and history).
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
IsSystemLocationbooleannoTrue for a built-in location created by the app (such as 'No Location').
JobIdintegeryesJob this location is the job site for; null for other locations.
JobSyncIdguidyesSyncId of the job in JobId.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
LocationTypeIdintegernoLocationTypes.IdKind of location (warehouse, vehicle, job site, and so on).
LocationTypeSyncIdguidyesSyncId of the LocationTypes row that LocationTypeId points at.
NamestringnoLocation name (for example 'Main Warehouse' or 'Truck 3').
OrganizationIdintegernoOrganizations.IdOrganization (tenant) this row belongs to.
ParentLocationIdintegeryesLocations.IdLocation this one sits inside (for example the warehouse a shelf is in); null for a top-level location.
ParentLocationSyncIdguidyesSyncId of the Locations row that ParentLocationId points at.
StatusenumnoLocation status: active, inactive, maintenance or temporary.Active Inactive Maintenance Temporary
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
UpdatedAtdatetimeyesWhen the row was last changed (UTC); null when never changed after creation.

LocationTransferItems

One item moved in a location transfer.

Files json/LocationTransferItems.json csv/LocationTransferItems.csv · primary key Id · scoped by e.Transfer.OrganizationId == org

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
DestinationLocationIdintegeryesLocations.IdDestination of this line when it differs from the transfer's; null otherwise.
DestinationLocationSyncIdguidyesSyncId of the Locations row that DestinationLocationId points at.
DestinationWaypointIdintegeryesTransferWaypoints.IdWaypoint this line is delivered to; null for the final destination.
DestinationWaypointSyncIdguidyesSyncId of the TransferWaypoints row that DestinationWaypointId points at.
FailedAtdatetimeyesWhen the line was marked failed (UTC).
FailedByIdstringyesAspNetUsers.IdUser who marked the line failed.
FailedBySyncIdguidyesSyncId of the AspNetUsers row that FailedById points at.
FailureReasonstringyesWhy the line failed; null unless it failed.
GroupedItemIdsstringyesComma-separated ids of all inventory items grouped on this line, for example '123,124,125'.
GroupedItemSyncIdsstringyesComma-separated SyncIds of the items in GroupedItemIds.
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
ItemIdintegeryesItems.IdInventory item moved; null for a line with no stock behind it (miscellaneous items, stock shortfalls, sub-units).
ItemSyncIdguidyesSyncId of the Items row that ItemId points at.
ItemTemplateIdintegeryesItemTemplates.IdProduct (item template) the line is for.
ItemTemplateSyncIdguidyesSyncId of the ItemTemplates row that ItemTemplateId points at.
JobItemIdintegeryesJobItems.IdJob material line this transfer line supplies; null otherwise.
JobItemSyncIdguidyesSyncId of the JobItems row that JobItemId points at.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
LocationTransferLogIdintegernoLocationTransferLogs.IdTransfer the line belongs to.
NotesstringyesNotes on the line.
QuantityintegernoUnits on the line.
QuantityDeliveredintegeryesUnits delivered to the destination; null until delivery.
QuantityPickedintegeryesUnits picked (scanned) so far; null before picking starts.
QuantityReturnedintegernoUnits returned from a line with no stock behind it (value adjustment only).
SalesOrderItemIdintegeryesSalesOrderItems.IdSales order line this transfer line fulfils; null otherwise.
SalesOrderItemSyncIdguidyesSyncId of the SalesOrderItems row that SalesOrderItemId points at.
ScannedbooleannoTrue when the item was scanned during the transfer.
ScannedAtdatetimeyesWhen the item was scanned (UTC).
ScannedByIdstringyesAspNetUsers.IdUser who scanned the item.
ScannedBySyncIdguidyesSyncId of the AspNetUsers row that ScannedById points at.
StatusenumnoState of the line: pending, in transit, delivered, failed or returned.Pending InTransit Delivered Failed Returned
SubUnitDrawsJsonstringyesFor a sub-unit line, JSON list of the stock rows the units were drawn from, as [{"i":"<item SyncId>","u":10}].
SubUnitShortfallUnitsintegernoFor a sub-unit line, units not backed by stock (outstanding, net of returns).
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
TransferSyncIdguidyesSyncId of the transfer in LocationTransferLogId.

LocationTransferLogs

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
CompletedByIdstringyesAspNetUsers.IdUser who completed (received) the transfer; null until completed.
CompletedBySyncIdguidyesSyncId of the AspNetUsers row that CompletedById points at.
CreatedAtdatetimenoWhen the row was created (UTC).
CurrentWaypointIdintegeryesTransferWaypoints.IdWaypoint the transfer is currently at or heading to; null when the transfer has no waypoints.
CurrentWaypointSyncIdguidyesSyncId of the TransferWaypoints row that CurrentWaypointId points at.
DestinationLocationIdintegeryesLocations.IdLocation the stock goes to; null when the items are being removed from inventory.
DestinationLocationSyncIdguidyesSyncId of the Locations row that DestinationLocationId points at.
HasWaypointsbooleannoTrue when the transfer stops at intermediate locations (waypoints) on the way to its destination.
InitiatedByIdstringyesAspNetUsers.IdUser who created the transfer; null when unknown on this device.
InitiatedBySyncIdguidyesSyncId of the AspNetUsers row that InitiatedById points at.
IsJobTransferbooleannoTrue for a transfer made for a job.
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
IsSalesOrderTransferbooleannoTrue for a transfer that fulfils a sales order.
JobIdintegeryesJobs.IdJob this transfer supplies; null for other transfers.
JobSyncIdguidyesSyncId of the Jobs row that JobId points at.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
NotesstringyesFree-text notes on the transfer.
OrganizationIdintegernoOrganizations.IdOrganization (tenant) this row belongs to.
RequiresApprovalbooleannoTrue when the transfer needed approval before it could go ahead.
SalesOrderIdintegeryesSalesOrders.IdSales order this transfer fulfils; null for other transfers.
SalesOrderSyncIdguidyesSyncId of the SalesOrders row that SalesOrderId points at.
SourceLocationIdintegeryesLocations.IdLocation the stock leaves; null when the items had no location.
SourceLocationSyncIdguidyesSyncId of the Locations row that SourceLocationId points at.
StatusenumnoTransfer status: draft, pending, in transit (including at or between waypoints), completed, cancelled or failed.Draft Pending InTransit AtWaypoint InTransitToWaypoint InTransitToDestination Completed Cancelled Failed
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
TransferDatedatetimenoWhen the transfer was started (UTC).
TransportVehicleIdintegeryesLocations.IdVehicle (a location of a transport-vehicle type) carrying the transfer; null when none.
TransportVehicleSyncIdguidyesSyncId of the Locations row that TransportVehicleId points at.
UpdatedAtdatetimeyesWhen the row was last changed (UTC); null when never changed after creation.

LocationTypes

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
ConsumesInventorybooleannoTrue when stock delivered to locations of this type is used up (removed from on-hand inventory).
CreatedAtdatetimenoWhen the row was created (UTC).
DescriptionstringyesFree-text description of the location type.
IsJobSitebooleannoTrue when locations of this type are job sites.
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
IsSystemTypebooleannoTrue for a built-in type that cannot be deleted.
IsTransportVehiclebooleannoTrue when locations of this type are vehicles that carry stock between locations.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
Namestringmax 100noLocation type name, up to 100 characters.
OrganizationIdintegernoOrganizations.IdOrganization that owns the type (built-in system types carry a placeholder organization).
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
UpdatedAtdatetimeyesWhen the row was last changed (UTC); null when never changed after creation.

NotificationDismissals

A record that a user dismissed a notification.

Files json/NotificationDismissals.json csv/NotificationDismissals.csv · primary key Id · scoped by e.Notification.OrganizationId == org

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
DismissedDatedatetimeno
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
NotificationIdintegernoNotifications.Id
NotificationSyncIdguidyesSyncId of the Notifications row that NotificationId points at.
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
UserIdstringyesAspNetUsers.Id
UserSyncIdguidyesSyncId of the AspNetUsers row that UserId points at.

Notifications

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
CreatedDatedatetimeno
DismissedByUserIdstringyesAspNetUsers.Id
DismissedDatedatetimeyes
ExpiresDatedatetimeyes
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
LinkUrlstringmax 500yes
Messagestringmax 500yes
OrganizationIdintegernoOrganizations.Id
Priorityintegerno
RelatedInvoiceIdintegeryes
RelatedInvoiceSyncIdguidyes
RelatedJobIdintegeryes
RelatedJobSyncIdguidyes
RelatedPurchaseOrderIdintegeryes
RelatedPurchaseOrderSyncIdguidyes
RelatedTransferIdintegeryes
RelatedTransferSyncIdguidyes
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
Titlestringmax 200no
TypeenumnoGeneral TransferInProgress JobInProgress PaymentDue PaymentOverdue LowStock TransferApprovalNeeded JobScheduled SystemAlert ShipmentDeliveryToday
UserIdstringyesAspNetUsers.Id
UserSyncIdguidyesSyncId of the AspNetUsers row that UserId points at.

OrganizationAdminRemovalRequests

A request to demote or deactivate an Organization Admin.

Files json/OrganizationAdminRemovalRequests.json csv/OrganizationAdminRemovalRequests.csv · primary key Id · scoped by e.OrganizationId == org

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
ActionenumnoDemote Deactivate
CreatedUtcdatetimenoUTC timestamp.
EffectiveUtcdatetimenoOrganizationAdminRemovalRequest.CreatedUtc + 14 days: after this the target can no longer contest and the change is applied.
NewRolestringmax 64yesFor AdminRemovalAction.Demote: Manager or User.
OrganizationIdintegernoOrganizations.Id
Reasonstringmax 500yesOptional note from the requester, shown to the target.
RequestedByEmailstringmax 256no
RequestedByUserIdstringmax 450noThe Organization Admin who asked (AspNetUsers.Id); equals the target for a self-removal.
ResolutionNotestringmax 500yesWhy a request lapsed or was superseded, e.g. "The requester is no longer an active Organization Admin."
ResolvedByEmailstringmax 256yesWho closed it (target, requester, System Admin); null when the notice period ran out.
ResolvedUtcdatetimeyesWhen the request left AdminRemovalStatus.Pending.
StatusenumnoPending Approved Contested Cancelled Applied
TargetEmailstringmax 256no
TargetUserIdstringmax 450noThe Organization Admin being removed (AspNetUsers.Id).

OrganizationJobTypes

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
CreatedBystringyes
CreatedDatedatetimeno
Descriptionstringmax 500yes
DisplayOrderintegerno
IsActivebooleanno
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
ModifiedBystringyes
ModifiedDatedatetimeyes
Namestringmax 100noJob Type Name
OrganizationIdintegernoOrganizations.Id
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.

OrganizationModules

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
ActivatedBystringmax 256yes
ActivatedUtcdatetimeyesUTC timestamp.
BillingProviderstringmax 50noProvider key: "sandbox", "square", "stripe", "manual".
BillingReferencestringmax 200yesProvider-side subscription/order id, if any.
CreatedDatedatetimeno
DeactivatedBystringmax 256yes
DeactivatedUtcdatetimeyesUTC timestamp.
IsDeletedbooleannoSoft delete: true means the row was deleted (kept for sync and history).
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
ModifiedDatedatetimeyes
ModuleKeystringmax 50noKey from ModuleKeys / ModuleCatalog.
MonthlyPricedecimalnoMonthly price agreed at activation.
NextBillingUtcdatetimeyesUTC timestamp.
Notesstringmax 500yesFree-form notes (e.g. "comped for pilot", "invoice #123").
OrganizationIdintegernoOrganizations.Id
StatusenumnoActive Inactive PendingPayment PastDue
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.

Organizations

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
BillingCustomerIdstringyesThe billing provider's customer id for the organization; null when not subscribed.
BillingEmailstringyesEmail address billing messages are sent to.
BillingProviderstringyes"stripe" once a subscription exists; null while trial/comped/manual.
BillingStatusenumnoSubscription state: trial, active, past due, suspended or comped.Trial Active PastDue Suspended Comped
BillingSubscriptionIdstringyesThe billing provider's subscription id; null when not subscribed.
IncludedSeatsintegernoSeats (active users) covered by the base plan; extra active users are billed per seat.
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
LogoContentTypestringyesMedia type of the logo image, for example image/png.
LogoPathstringyesStored path of the organization's logo image; null when none.
NamestringnoOrganization (company) name.
PastDueSinceUtcdatetimeyesUTC timestamp.
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
TrialEndsUtcdatetimeyesUTC timestamp.

OrganizationSettings

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
AllowNegativeInventorybooleannoTrue lets out-of-stock items be added to jobs, letting stock go negative instead of blocking the job.
AllowPartialPaymentsbooleannoPayment setting: whether customers may pay part of a balance.
BlockedStatesstringmax 500yesComma-separated US state codes left out of the state pickers, for example 'AK,HI'.
CounterSalesModebooleannoTrue for the simplified counter-sales flow (stock is used when a line is added; no transfers); false for the full transfer workflow.
CreatedBystringyesEmail (or user name) of the user who created the row.
CreatedDatedatetimenoWhen the row was created (UTC).
DefaultDepositPercentagedecimalyesPayment setting: default deposit as a percentage of the order total (0-100).
DefaultPaymentInstructionsstringyesPayment instructions printed on new invoices by default.
DefaultPaymentTermsstringmax 500yesPayment terms text used on new invoices by default, for example 'Due on Receipt'.
DefaultTaxRatedecimalnoTax rate (percentage, for example 8.25) copied to new jobs and invoices.
DeviceLeaseDaysintegernoDays a field device may stay unsynced before it locks to read-only; enforced by the mobile app (Phase 3).
EmailReplyToAddressstringmax 256yesReply-To address on emails sent to customers (invoices, orders); null to use the default.
Industrystringmax 50yesIndustry the organization chose (for example 'field-service' or 'retail'), which decides the recommended modules; null = general.
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
JobsDisplayNamestringmax 50noName the app uses for jobs in menus and titles (default 'Jobs').
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
ModifiedBystringyesOlder last-changed-by field; see UpdatedBy.
ModifiedDatedatetimeyesOlder last-changed timestamp (UTC); see UpdatedDate.
OperationModeenumnoHow the business works: service provider (jobs), distributor (sales orders) or hybrid (both).ServiceProvider Distributor Hybrid
OrganizationIdintegernoOrganizations.IdOrganization (tenant) this row belongs to.
PaymentProcessingEnabledbooleannoTrue when online card payments are turned on.
PaymentProcessorenumnoCard payment processor in use: None, Square or Stripe.None Square Stripe
PaymentReceiptEmailTemplatestringyesPayment setting: text of the payment receipt email.
RequireDepositOnOrdersbooleannoPayment setting: whether orders require a deposit.
RequireTwoFactorbooleannoWhen true, every user of the organization must sign in with an authenticator code in every Flex app (web, desktop, phone and office; API keys and MCP are unaffected), and the setting is changed only in the web app: a user without an authenticator is held on the web app's setup page until they enrol…
SalesOrdersDisplayNamestringmax 50noName the app uses for sales orders in menus and titles (default 'Sales Orders').
SendPaymentReceiptsbooleannoPayment setting: whether customers are emailed a receipt for payments.
SetupCompletedUtcdatetimeyesWhen the first-run setup checklist was completed or dismissed (UTC); null while it is still shown.
ShowJobsMenubooleannoTrue to show the Jobs menu.
ShowSalesOrdersMenubooleannoTrue to show the Sales Orders menu.
SquareApplicationIdstringmax 200yesSquare application id used for card payments.
SquareEnvironmentenumnoSquare environment: sandbox (testing) or production.Sandbox Production
SquareLocationIdstringmax 200yesSquare location id payments are taken under.
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
TaxCustomChargesbooleannoDefault for new jobs: tax applies to custom charges.
TaxLaborbooleannoDefault for new jobs: tax applies to labor.
TaxMaterialsbooleannoDefault for new jobs: tax applies to materials.
UpdatedBystringyesEmail (or user name) of the user who last changed the row.
UpdatedDatedatetimeyesWhen the settings were last changed (UTC).

OutboundTextMessages

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
Bodystringmax 1600noMessage text.
CustomerIdintegeryesCustomers.Id
CustomerSyncIdguidyesSyncId of the Customers row that CustomerId points at.
DeliveredUtcdatetimeyesServer-authoritative.
Errorstringmax 500yesProvider/relay failure text when Status is Failed (server-authoritative).
IsDeletedbooleannoSoft delete: true means the row was deleted (kept for sync and history).
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
JobIdintegeryesJobs.Id
JobSyncIdguidyesSyncId of the Jobs row that JobId points at.
KindenumnoOnMyWay
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
ModifiedDatedatetimeyes
OrganizationIdintegernoOrganizations.Id
ProviderMessageIdstringmax 100yesProvider-side message id once accepted (server-authoritative).
RequestedByIdstringmax 450yesAspNetUsers.Id of the requesting user (string PK, preserved across devices).
RequestedBySyncIdguidyesSyncId of the requesting user, carried for cross-device FK resolution.
RequestedUtcdatetimenoUTC timestamp.
SentUtcdatetimeyesServer-authoritative.
StatusenumnoQueued Sent Delivered Failed
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
ToNumberstringmax 20noDestination in E.164 form ("+17065551212"); see Flex.Messaging.PhoneNumbers.

Payments

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
AmountdecimalnoAmount of the payment (or refund), in Currency.
CreatedAtdatetimenoWhen the row was created (UTC).
Currencystringmax 3noISO 4217 currency code of the amount, for example USD.
CustomerEmailstringmax 200yesEmail address the customer gave with the payment.
CustomerIdintegernoCustomers.IdCustomer who paid.
CustomerPhonestringmax 20yesPhone number the customer gave with the payment.
CustomerSyncIdguidyesSyncId of the Customers row that CustomerId points at.
ErrorMessagestringmax 2000yesError reported by the payment processor when the payment failed.
FailedAtdatetimeyesWhen the payment failed (UTC); null unless it failed.
InvoiceIdintegeryesInvoices.IdInvoice being paid; null when the payment is for a job or sales order instead.
InvoiceSyncIdguidyesSyncId of the Invoices row that InvoiceId points at.
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
IsRefundbooleannoTrue when this row is a refund of an earlier payment.
JobIdintegeryesJobs.IdJob being paid; null when the payment is for an invoice or sales order instead.
JobSyncIdguidyesSyncId of the Jobs row that JobId points at.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
Notesstringmax 1000yesNotes about the payment, up to 1000 characters.
OrganizationIdintegernoOrganizations.IdOrganization (tenant) this row belongs to.
ProcessedByIdstringmax 450yesAspNetUsers.IdUser who took the payment; null when unknown on this device.
ProcessedBySyncIdguidyesSyncId of the AspNetUsers row that ProcessedById points at.
RefundedPaymentIdintegeryesPayments.IdFor a refund, the payment that was refunded; null otherwise.
RefundedPaymentSyncIdguidyesSyncId of the Payments row that RefundedPaymentId points at.
SalesOrderIdintegeryesSalesOrders.IdSales order being paid; null when the payment is for an invoice or job instead.
SalesOrderSyncIdguidyesSyncId of the SalesOrders row that SalesOrderId points at.
SquareOrderIdstringmax 200yesThe payment processor's order id for this payment, when it has one.
SquarePaymentIdstringmax 200noThe payment processor's id for this payment.
SquareReceiptUrlstringmax 500yesLink to the payment processor's receipt for this payment.
StatusenumnoProcessing state: pending, completed, failed, refunded, partially refunded or cancelled.Pending Completed Failed Refunded PartiallyRefunded Cancelled
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
TypeenumnoWhat the payment was for: full payment, deposit, balance payment, partial payment or refund.FullPayment Deposit BalancePayment PartialPayment Refund

PresetProperties

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
CreatedAtdatetimeno
CreatedBystringmax 100no
CsvColumnNamestringmax 200no
DataTypestringmax 20no
IsActivebooleanno
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
OrganizationIdintegernoOrganizations.Id
PropertyNamestringmax 100no
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
UpdatedAtdatetimeyes
UpdatedBystringmax 100yes

PriceTierGroupCalculations

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
Formulastringmax 300no
IsDeletedbooleannoSoft delete: true means the row was deleted (kept for sync and history).
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
MinQuantityintegerno
PriceTierGroupIdintegernoPriceTierGroups.Id
PriceTierGroupSyncIdguidyesSyncId of the PriceTierGroups row that PriceTierGroupId points at.
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.

PriceTierGroupMembers

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
IsDeletedbooleannoSoft delete: true means the row was deleted (kept for sync and history).
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
ItemTemplateIdintegernoItemTemplates.Id
ItemTemplateSyncIdguidyesSyncId of the ItemTemplates row that ItemTemplateId points at.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
PriceTierGroupIdintegernoPriceTierGroups.Id
PriceTierGroupSyncIdguidyesSyncId of the PriceTierGroups row that PriceTierGroupId points at.
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.

PriceTierGroups

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
CreatedAtdatetimeno
IsDeletedbooleannoSoft delete: true means the row was deleted (kept for sync and history).
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
Namestringmax 200no
OrganizationIdintegernoOrganizations.Id
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
UpdatedAtdatetimeyes

PropertyCalculations

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)

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
CreatedAtdatetimeno
Expressionstringno
IsEnabledbooleanno
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
ItemCatalogPropertyIdintegeryesItemCatalogProperty.IdThe ItemCatalogProperty row whose Calculations include this row; null when none.
ItemPropertyIdintegeryesItemProperties.Id
ItemPropertySyncIdguidyesSyncId of the ItemProperties row that ItemPropertyId points at.
ItemTemplatePropertyIdintegeryesItemTemplateProperties.Id
ItemTemplatePropertySyncIdguidyesSyncId of the ItemTemplateProperties row that ItemTemplatePropertyId points at.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
Namestringno
Priorityintegerno
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
UpdatedAtdatetimeyes

PurchaseOrderItems

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
BundleTemplateIdintegeryesBundleTemplates.IdBundle template ordered; null for a product line.
BundleTemplateSyncIdguidyesSyncId of the BundleTemplates row that BundleTemplateId points at.
CreatedAtdatetimenoWhen the row was created (UTC).
Descriptionstringmax 500noLine description as entered on the order, up to 500 characters.
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
ItemTemplateIdintegeryesItemTemplates.IdProduct (item template) ordered; null for a bundle line.
ItemTemplateSyncIdguidyesSyncId of the ItemTemplates row that ItemTemplateId points at.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
LineTotaldecimalyesLine total in the order's currency; null when not calculated.
NotesstringyesNotes on the line.
PurchaseOrderIdintegernoPurchaseOrders.IdPurchase order the line is on.
PurchaseOrderSyncIdguidyesSyncId of the PurchaseOrders row that PurchaseOrderId points at.
QuantityOrderedintegernoUnits ordered.
QuantityReceivedintegernoUnits received into stock so far.
QuantityShippedintegernoUnits the vendor has shipped, as recorded on the order.
ReceivedDatedatetimeyesWhen the line was received (UTC); null until received.
ShipmentIdintegeryesPurchaseOrderShipments.IdShipment the line travels on; null when not assigned to a shipment.
ShipmentSyncIdguidyesSyncId of the PurchaseOrderShipments row that ShipmentId points at.
StatusenumnoReceiving state of the line: pending, shipped, delivered, received or cancelled.Pending Shipped Delivered Received Cancelled
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
UnitPricedecimalyesPrice per unit in the order's currency (becomes each received item's cost); null when not priced.
UpdatedAtdatetimeyesWhen the row was last changed (UTC); null when never changed after creation.
VendorPartNumberstringmax 100yesThe vendor's part number for the line.

PurchaseOrders

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
CreatedAtdatetimenoWhen the row was created (UTC).
CreatedByIdstringyesAspNetUsers.IdUser who created the order; null when unknown on this device.
CreatedBySyncIdguidyesSyncId of the AspNetUsers row that CreatedById points at.
Currencystringmax 3noISO 4217 currency code of the prices on the order, for example USD.
DeletedAtdatetimeyesWhen the order was deleted (UTC); null unless IsDeleted is true.
DeletedByIdstringyesAspNetUsers.IdUser who deleted the order.
DeletedBySyncIdguidyesSyncId of the AspNetUsers row that DeletedById points at.
ExpectedDeliveryDatedatetimeyesExpected delivery date as entered: the organization's local calendar date; null when unknown.
ExternalOrderNumberstringmax 50yesThe vendor's own order or confirmation number.
IsDeletedbooleannoSoft delete: true means the row was deleted (kept for sync and history).
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
NotesstringyesFree-text notes on the order.
OrderDatedatetimenoOrder date as entered: the organization's local calendar date (no time zone).
OrderNumberstringmax 50noThe organization's purchase order number (entered or generated).
OrganizationIdintegernoOrganizations.IdOrganization (tenant) this row belongs to.
ReceivedByIdstringyesAspNetUsers.IdUser who received the order; null until received.
ReceivedBySyncIdguidyesSyncId of the AspNetUsers row that ReceivedById points at.
ReceivedDatedatetimeyesWhen the order was fully received (UTC); null until then.
ReceivingLocationIdintegernoLocations.IdLocation where the order's stock is received by default.
ReceivingLocationSyncIdguidyesSyncId of the Locations row that ReceivingLocationId points at.
StatusenumnoOrder status: draft, ordered, shipped, partially shipped, delivered, partially received, received or cancelled.Draft Ordered Shipped PartialShipped Delivered PartialReceived Received Cancelled
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
TotalCostdecimalyesOrder total in Currency; null when not calculated.
UpdatedAtdatetimeyesWhen the row was last changed (UTC); null when never changed after creation.
UpdatedByIdstringyesAspNetUsers.IdUser who last changed the order.
UpdatedBySyncIdguidyesSyncId of the AspNetUsers row that UpdatedById points at.
VendorContactEmailstringmax 100yesVendor contact email for this order.
VendorContactPhonestringmax 20yesVendor contact phone for this order.
VendorIdintegeryesVendors.IdVendor the order is placed with; null for a one-off vendor typed on the order.
VendorNamestringmax 200yesName of a one-off vendor that is not in the vendor list.
VendorSyncIdguidyesSyncId of the Vendors row that VendorId points at.

PurchaseOrderShipments

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
ActualDeliveryDatedatetimeyesWhen the shipment was delivered.
CreatedAtdatetimenoWhen the row was created (UTC).
CreatedByIdstringyesAspNetUsers.IdUser who recorded the shipment.
CreatedBySyncIdguidyesSyncId of the AspNetUsers row that CreatedById points at.
DeletedAtdatetimeyesWhen the shipment was deleted (UTC); null unless IsDeleted is true.
DeletedByIdstringyesAspNetUsers.IdUser who deleted the shipment.
DeletedBySyncIdguidyesSyncId of the AspNetUsers row that DeletedById points at.
EstimatedDeliveryDatedatetimeyesExpected delivery date, as entered.
IsDeletedbooleannoSoft delete: true means the row was deleted (kept for sync and history).
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
LastStatusCheckDatedatetimeyesWhen the tracking status was last checked.
LastStatusUpdatestringmax 200yesLatest tracking status text recorded for the shipment.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
NotesstringyesNotes on the shipment.
PurchaseOrderIdintegernoPurchaseOrders.IdPurchase order the shipment belongs to.
PurchaseOrderSyncIdguidyesSyncId of the PurchaseOrders row that PurchaseOrderId points at.
ShipDatedatetimeyesWhen the shipment left the vendor.
ShippingCompanystringmax 100yesCarrier, for example UPS, FedEx or USPS.
ShippingCostdecimalyesShipping charged for the shipment, in the order's currency; shared out over the received items.
ShippingCostAllocationMethodenumnoHow the shipment's shipping cost is shared out over its items when they are received.ByItemCost ByItemCount ByWeight BySize
StatusenumnoShipment status: ordered, pending, shipped, in transit, out for delivery, delivered, cancelled or returned.Ordered Pending Shipped InTransit OutForDelivery Delivered Cancelled Returned
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
TrackingNumberstringmax 100yesCarrier tracking number.
TrackingUrlstringmax 500yesFull tracking link for the shipment.
UpdatedAtdatetimeyesWhen the row was last changed (UTC); null when never changed after creation.
WeightdecimalyesShipment weight, as entered.

ReceivedItems

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
CreatedBundleIdintegeryesBundles.IdBundle created by this receipt, for a bundle line; null otherwise.
CreatedBundleSyncIdguidyesSyncId of the Bundles row that CreatedBundleId points at.
DestinationLocationIdintegernoLocations.IdLocation the received stock was put in.
DestinationLocationSyncIdguidyesSyncId of the Locations row that DestinationLocationId points at.
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
NotesstringyesNotes on the receipt.
PassedQualityCheckbooleanyesResult of the quality check: true passed, false failed, null not checked.
PurchaseOrderItemIdintegernoPurchaseOrderItems.IdPurchase order line that was received.
PurchaseOrderItemSyncIdguidyesSyncId of the PurchaseOrderItems row that PurchaseOrderItemId points at.
QualityNotesstringyesNotes from the quality check.
QuantityReceivedintegernoUnits received.
ReceivedAtdatetimenoWhen the stock was received (UTC).
ReceivingSessionIdintegernoReceivingSessions.IdReceiving session this receipt belongs to.
ReceivingSessionSyncIdguidyesSyncId of the ReceivingSessions row that ReceivingSessionId points at.
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.

ReceivingSessions

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
CompletedAtdatetimeyesWhen receiving finished (UTC); null while in progress.
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
NotesstringyesNotes on the session.
OrganizationIdintegernoOrganizations.IdOrganization (tenant) this row belongs to.
PurchaseOrderIdintegernoPurchaseOrders.IdPurchase order being received.
PurchaseOrderSyncIdguidyesSyncId of the PurchaseOrders row that PurchaseOrderId points at.
ReceivedByIdstringyesAspNetUsers.IdUser who did the receiving.
ReceivedBySyncIdguidyesSyncId of the AspNetUsers row that ReceivedById points at.
StartedAtdatetimenoWhen receiving started (UTC).
StatusenumnoSession state: in progress, completed, cancelled or partially completed.InProgress Completed Cancelled PartiallyCompleted
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.

ReferenceTables

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
EffectiveDatedatetimeno
ExpiryDatedatetimeyes
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
Keystringno
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
OrganizationIdintegernoOrganizations.Id
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
Typestringno
Valuedecimalno

ReminderTasks

A dated reminder / to-do that shows on the scheduling calendar alongside jobs but is not a job (no customer, items or workflow).

Files json/ReminderTasks.json csv/ReminderTasks.csv · primary key Id · scoped by e.OrganizationId == org

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
AssignedToIdstringyesAspNetUsers.IdOptional single assignee — the raw AspNetUsers id (string), stored as-is and universal across devices.
ColorHexstringmax 7yesHex color (e.g. "#2e7d32") used for calendar rendering; null falls back to a default.
CompletedAtdatetimeyesWhen the reminder was marked done (UTC); null while outstanding.
CreatedAtdatetimenoWhen the row was created (UTC).
DurationMinutesintegernoLength of the reminder in minutes (used to compute the calendar end); default 60.
IsAllDaybooleannoTrue when the reminder occupies the whole day (start time ignored on the calendar).
IsCompletedbooleannoTrue once the reminder has been marked done.
IsDeletedbooleannoSoft delete: true means the row was deleted (kept for sync and history).
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
Notesstringmax 2000yesOptional free-text notes, up to 2000 characters.
OrganizationIdintegernoOrganizations.IdOrganization (tenant) this row belongs to.
ScheduledStartdatetimenoScheduled start in the organization's local time (wall-clock, no time zone / Kind Unspecified), the same convention as Job.ScheduledDate.
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
Titlestringmax 200noShort label shown on the calendar (required).
UpdatedAtdatetimeyesWhen the row was last changed (UTC); null when never changed after creation.

SalesOrderItems

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
Descriptionstringmax 500noLine description (the product name when the line was added), up to 500 characters.
DiscountAmountdecimalnoFlat discount on the line, in the organization's currency.
DiscountPercentdecimalnoLine discount as a percentage (0-100).
IsDeletedbooleannoSoft delete: true means the row was deleted (kept for sync and history).
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
ItemIdintegeryesItems.IdSpecific inventory item on the line, when one was chosen.
ItemSyncIdguidyesSyncId of the Items row that ItemId points at.
ItemTemplateIdintegeryesItemTemplates.IdProduct (item template) ordered; null for a free-text line.
ItemTemplateSyncIdguidyesSyncId of the ItemTemplates row that ItemTemplateId points at.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
LineTotaldecimalnoLine total, in the organization's currency.
NotesstringyesNotes on the line.
PreferredItemIdsstringyesJSON array of the specific inventory item ids to use for this line (for unique items); null for standard stock.
PreferredItemSyncIdsstringyesJSON array of the SyncIds of the items in PreferredItemIds.
PreferredSourceLocationIdsstringyesJSON array of location ids to take the stock from first, for example [3,7]; null for no preference.
PreferredSourceLocationSyncIdsstringyesJSON array of the SyncIds of the locations in PreferredSourceLocationIds.
QuantityBackordereddecimalnoQuantity on backorder.
QuantityOrdereddecimalnoQuantity ordered.
QuantityPickeddecimalnoQuantity picked (scanned) so far.
QuantityShippeddecimalnoQuantity shipped so far.
SalesOrderIdintegernoSalesOrders.IdSales order the line is on.
SalesOrderSyncIdguidyesSyncId of the SalesOrders row that SalesOrderId points at.
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
UnitCostdecimalnoCost per unit to the organization, in the organization's currency (0 when unknown).
UnitPricedecimalnoPrice per unit, in the organization's currency.

SalesOrders

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
ActualDeliveryDatedatetimeyesWhen the order was delivered; null until delivered.
AmountPaiddecimalnoAmount paid so far, in the organization's currency.
CreatedByIdstringyesAspNetUsers.IdUser who created the order; null when unknown on this device.
CreatedBySyncIdguidyesSyncId of the AspNetUsers row that CreatedById points at.
CreatedDatedatetimenoWhen the row was created (UTC).
CustomerIdintegernoCustomers.IdCustomer the order is for.
CustomerPONumberstringmax 100yesThe customer's own purchase order reference.
CustomerSyncIdguidyesSyncId of the Customers row that CustomerId points at.
DeliveryAddressIdintegeryesCustomerAddresses.IdCustomer address the order is delivered to; null when none.
DeliveryAddressSyncIdguidyesSyncId of the CustomerAddresses row that DeliveryAddressId points at.
EmailedAtdatetimeyesWhen the payment-link email was last sent to the customer (UTC); null when never sent.
EmailedTostringmax 200yesEmail address the payment-link email was last sent to.
FulfillmentStatusstringmax 50yesTracks the aggregate status of all transfers associated with this Sales Order.
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
NotesstringyesFree-text notes on the order.
OrderDatedatetimenoOrder date as entered: the organization's local calendar date (no time zone).
OrderNumberstringmax 50noOrder number assigned by the app, for example SO26090007.
OrganizationIdintegernoOrganizations.IdOrganization (tenant) this row belongs to.
PaymentLinkCreatedAtdatetimeyesWhen the online payment link was created (UTC); null when none.
PaymentLinkIdstringmax 200yesId of the online payment link created for this order at the payment processor; null when none.
PaymentLinkUrlstringmax 500yesURL of the online payment link the customer opens to pay; null when none.
PaymentStatusstringmax 50yesPayment status: Pending, Partial, Paid, Overdue, Refunded, Invoiced or Cancelled.
PaymentTermsstringmax 100yesPayment terms text, for example 'Net 30'.
RequestedDeliveryDatedatetimeyesDelivery date the customer asked for, as a local calendar date; null when none.
ShippingCostdecimalnoShipping charged on the order, in the organization's currency.
Statusstringmax 50noOrder status: Pending, Picking, Packed, Shipped, Delivered, Complete or Cancelled.
StoreCreditApplieddecimalnoStore credit applied to the order, in the organization's currency.
SubTotaldecimalnoSum of the line totals, in the organization's currency.
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
TaxAmountdecimalnoTax charged on the order, in the organization's currency.
TaxRatedecimalnoTax rate as a percentage, for example 8.25 (0 for a tax-exempt customer).
TotalAmountdecimalnoOrder total (subtotal + tax + shipping), in the organization's currency.
UpdatedByIdstringyesAspNetUsers.IdUser who last changed the order.
UpdatedBySyncIdguidyesSyncId of the AspNetUsers row that UpdatedById points at.
UpdatedDatedatetimeyesWhen the row was last changed (UTC); null when never changed after creation.

SalesOrderShipments

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
ActualDeliveryDatedatetimeyesWhen the shipment was delivered.
Carrierstringmax 100yesCarrier, for example UPS or FedEx.
CreatedByIdstringyesAspNetUsers.IdUser who recorded the shipment.
CreatedBySyncIdguidyesSyncId of the AspNetUsers row that CreatedById points at.
CreatedDatedatetimenoWhen the row was created (UTC).
EstimatedDeliveryDatedatetimeyesExpected delivery date, as entered.
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
NotesstringyesNotes on the shipment.
SalesOrderIdintegernoSalesOrders.IdSales order the shipment belongs to.
SalesOrderSyncIdguidyesSyncId of the SalesOrders row that SalesOrderId points at.
ShipDatedatetimeyesWhen the shipment was sent.
ShippingCostdecimalyesShipping cost, in the organization's currency.
ShippingMethodstringmax 50yesShipping service or method, for example 'Ground'.
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
TrackingNumberstringmax 100yesCarrier tracking number.
TransferIdintegeryesLocationTransferLogs.IdTransfer that moved the shipped stock; null when none.
TransferSyncIdguidyesSyncId of the LocationTransferLogs row that TransferId points at.
WeightdecimalyesShipment weight, as entered.

SalesOrderSourceLocations

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
CreatedDatedatetimeno
IsFullyPickedbooleannoWhether this location has been fully picked
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
LocationIdintegernoLocations.Id
LocationSyncIdguidyesSyncId of the Locations row that LocationId points at.
NotesstringyesNotes about this source location selection
PriorityintegernoPriority order for picking (1 = highest priority)
SalesOrderIdintegernoSalesOrders.Id
SalesOrderSyncIdguidyesSyncId of the SalesOrders row that SalesOrderId points at.
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.

SalesOrderTransfers

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
CreatedDatedatetimeno
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
Notesstringyes
SalesOrderIdintegernoSalesOrders.Id
SalesOrderSyncIdguidyesSyncId of the SalesOrders row that SalesOrderId points at.
ShippedWithoutTrackingbooleannoIndicates the user chose to ship without tracking information.
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
TransferIdintegernoLocationTransferLogs.Id
TransferSyncIdguidyesSyncId of the LocationTransferLogs row that TransferId points at.
TransferTypestringmax 50no

SalesOrderUpdates

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
CreatedBystringmax 100noEmail (or user name) of the user who wrote the entry.
CreatedByNamestringmax 100yesDisplay name of the user who wrote the entry.
CreatedDatedatetimenoWhen the entry was written (UTC).
Descriptionstringmax 2000noText of the entry.
IsInternalbooleannoInternal Note
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
NewStatusstringmax 50yesFor a status change, the order's new status; otherwise null.
OldStatusstringmax 50yesFor a status change, the order's previous status; otherwise null.
SalesOrderIdintegernoSalesOrders.IdSales order the timeline entry belongs to.
SalesOrderSyncIdguidyesSyncId of the SalesOrders row that SalesOrderId points at.
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
UpdateTypeenumnoKind of entry: general note, status change, payment, fulfilment, shipment, return or cancellation.GeneralNote StatusChange PaymentUpdate FulfillmentUpdate ShipmentUpdate Return Cancellation

ScheduleGroupMembers

Junction: a user belongs to a ScheduleGroup.

Files json/ScheduleGroupMembers.json csv/ScheduleGroupMembers.csv · primary key Id · scoped by e.OrganizationId == org

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
CreatedAtdatetimenoWhen the row was created (UTC).
DisplayOrderintegernoDisplay order of the member within the group (lowest first).
IsDeletedbooleannoSoft delete: true means the row was deleted (kept for sync and history).
IsLeadbooleannoCrew lead / foreman flag — shown first on the board.
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
OrganizationIdintegernoOrganization (tenant) this row belongs to.
ScheduleGroupIdintegernoScheduleGroups.IdSchedule group the user belongs to.
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
UserIdstringnoAspNetUsers.IdUser who is a member of the group.

ScheduleGroups

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
ColorHexstringmax 7yesHex color (e.g. "#2e7d32") used for calendar/board rendering.
CreatedAtdatetimenoWhen the row was created (UTC).
Descriptionstringmax 500yesOptional description of the group, up to 500 characters.
DisplayOrderintegernoSort position of the group on the calendar and dispatch board (lowest first).
IsDeletedbooleannoSoft delete: true means the row was deleted (kept for sync and history).
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
Namestringmax 100noGroup name (for example a division, crew or team).
OrganizationIdintegernoOrganizations.IdOrganization (tenant) this row belongs to.
ParentGroupIdintegeryesScheduleGroups.IdParent group this group sits under (for example the division a crew belongs to); null for a top-level group.
ParentGroupSyncIdguidyesSyncId of the ScheduleGroups row that ParentGroupId points at.
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
UpdatedAtdatetimeyesWhen the row was last changed (UTC); null when never changed after creation.

StockAlerts

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
AcknowledgedAtdatetimeyes
AcknowledgedBystringmax 100yes
CreatedAtdatetimeno
CurrentStockintegerno
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
ItemTemplateIdintegernoItemTemplates.Id
ItemTemplateSyncIdguidyesSyncId of the ItemTemplates row that ItemTemplateId points at.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
LocationIdintegeryesLocations.Id
LocationSyncIdguidyesSyncId of the Locations row that LocationId points at.
Notesstringmax 500yes
OrganizationIdintegernoOrganizations.Id
StatusenumnoActive Acknowledged Resolved Dismissed
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
ThresholdLevelintegerno

TaskTemplateItems

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
IsOptionalbooleanno
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
ItemTemplateIdintegernoItemTemplates.Id
ItemTemplateSyncIdguidyesSyncId of the ItemTemplates row that ItemTemplateId points at.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
Notesstringmax 500yes
Quantitydecimalno
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
TaskTemplateIdintegernoTaskTemplates.Id
TaskTemplateSyncIdguidyesSyncId of the TaskTemplates row that TaskTemplateId points at.

TaskTemplateLaborRates

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
IsLeadbooleannoIs Lead Worker
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
LaborRateIdintegernoLaborRates.Id
LaborRateSyncIdguidyesSyncId of the LaborRates row that LaborRateId points at.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
Notesstringmax 500yes
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
TaskTemplateIdintegernoTaskTemplates.Id
TaskTemplateSyncIdguidyesSyncId of the TaskTemplates row that TaskTemplateId points at.
WorkerCountintegernoNumber of Workers

TaskTemplates

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
Categorystringmax 100yes
CreatedBystringyes
CreatedDatedatetimeno
DefaultLaborRateIdintegeryesLaborRates.IdDefault Labor Rate
DefaultLaborRateSyncIdguidyesSyncId of the LaborRates row that DefaultLaborRateId points at.
Descriptionstringmax 1000yes
EstimatedHoursMaxdecimalnoEstimated Hours (Max)
EstimatedHoursMindecimalnoEstimated Hours (Min)
Instructionsstringyes
IsActivebooleanno
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
ModifiedBystringyes
ModifiedDatedatetimeyes
Namestringmax 200noTask Name
OrganizationIdintegernoOrganizations.Id
SafetyNotesstringyes
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.

TemplateBuilderGlobalCategories

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
CategoryIdintegernoItemCategories.Id
CategorySyncIdguidnoSyncId of the ItemCategories row that CategoryId points at.
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
TemplateBuilderIdintegernoTemplateBuilders.Id
TemplateBuilderSyncIdguidnoSyncId of the TemplateBuilders row that TemplateBuilderId points at.

TemplateBuilderProperties

A property definition within a Template Builder.

Files json/TemplateBuilderProperties.json csv/TemplateBuilderProperties.csv · primary key Id · scoped by e.TemplateBuilder.OrganizationId == org

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
CreatedAtdatetimeno
DataTypeenumnoText Number Date Boolean Dropdown MultiSelect
DefaultValuestringmax 255yes
DeletedAtdatetimeyes
DisplayOrderintegerno
ExcludeFromCombinationsbooleanno
ExcludeFromNamebooleanno
IsDeletedbooleannoSoft delete: true means the row was deleted (kept for sync and history).
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
PropertyNamestringmax 255no
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
TemplateBuilderIdintegernoTemplateBuilders.Id
TemplateBuilderSyncIdguidyesSyncId of the TemplateBuilders row that TemplateBuilderId points at.

TemplateBuilderPropertyOptionCategories

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
CategoryIdintegernoItemCategories.Id
CategorySyncIdguidnoSyncId of the ItemCategories row that CategoryId points at.
IsDeletedbooleannoSoft delete: true means the row was deleted (kept for sync and history).
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
TemplateBuilderPropertyOptionIdintegernoTemplateBuilderPropertyOptions.Id
TemplateBuilderPropertyOptionSyncIdguidnoSyncId of the TemplateBuilderPropertyOptions row that TemplateBuilderPropertyOptionId points at.

TemplateBuilderPropertyOptions

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
CreatedAtdatetimeno
DisplayOrderintegerno
IsHiddenbooleanno
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
TemplateBuilderPropertyIdintegernoTemplateBuilderProperties.Id
TemplateBuilderPropertySyncIdguidyesSyncId of the TemplateBuilderProperties row that TemplateBuilderPropertyId points at.
Valuestringmax 255no

TemplateBuilders

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
AdminOnlyCostbooleanno
AdminOnlyPricebooleanno
CategoryIdintegeryesItemCategories.Id
CategorySyncIdguidyesSyncId of the ItemCategories row that CategoryId points at.
CreatedAtdatetimeno
DeletedAtdatetimeyes
Descriptionstringmax 1000yes
IsDeletedbooleannoSoft delete: true means the row was deleted (kept for sync and history).
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
LastUsedCostdecimalyes
LastUsedPricedecimalyes
Namestringmax 255no
OrganizationIdintegernoOrganizations.Id
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
UpdatedAtdatetimeyes

TransferApprovals

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
ApprovalDatedatetimeyesWhen the transfer was approved or rejected (UTC); null while pending.
ApproverIdstringyesAspNetUsers.IdUser who approved or rejected the transfer; null while pending.
CreatedAtdatetimenoWhen the row was created (UTC).
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
LocationTransferLogIdintegernoLocationTransferLogs.IdTransfer that needs approval.
RejectionReasonstringyesWhy the transfer was rejected; null otherwise.
RequestedDatedatetimenoWhen approval was requested (UTC).
RequesterIdstringnoAspNetUsers.IdUser who asked for the transfer.
StatusenumnoApproval state: pending, approved or rejected.Pending Approved Rejected
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
TransferSyncIdguidyesSyncId of the transfer in LocationTransferLogId.
TransferValuedecimalnoValue of the stock on the transfer when approval was requested, in the organization's currency.
UpdatedAtdatetimeyesWhen the row was last changed (UTC); null when never changed after creation.

TransferTemplates

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
BundleTemplateIdintegeryesBundleTemplates.Id
BundleTemplateSyncIdguidyesSyncId of the BundleTemplates row that BundleTemplateId points at.
CreatedAtdatetimeno
Descriptionstringyes
DestinationLocationIdintegeryesLocations.Id
DestinationLocationSyncIdguidyesSyncId of the Locations row that DestinationLocationId points at.
HasWaypointsbooleanno
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
ItemFiltersstringyes
KitIdintegeryesKits.Id
KitSyncIdguidyesSyncId of the Kits row that KitId points at.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
Namestringmax 100no
OrganizationIdintegernoOrganizations.Id
SourceLocationIdintegeryesLocations.Id
SourceLocationSyncIdguidyesSyncId of the Locations row that SourceLocationId points at.
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
TemplateTypeenumnoBundle Kit
UpdatedAtdatetimeyes

TransferTemplateWaypoints

Represents a predefined waypoint in a transfer template

Files json/TransferTemplateWaypoints.json csv/TransferTemplateWaypoints.csv · primary key Id · scoped by e.TransferTemplate.OrganizationId == org

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
EstimatedTimeMinutesintegeryesEstimated time to reach this waypoint (in minutes) from previous point
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
LocationIdintegernoLocations.Id
LocationSyncIdguidyesSyncId of the Locations row that LocationId points at.
NotesstringyesAdditional notes about this waypoint
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
TransferTemplateIdintegernoTransferTemplates.Id
TransferTemplateSyncIdguidyesSyncId of the TransferTemplates row that TransferTemplateId points at.
WaypointOrderintegernoThe order of this waypoint in the transfer template (1-based)

TransferWaypoints

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
ActualArrivalTimedatetimeyesActual time items arrived at this waypoint
DepartureTimedatetimeyesWhen items departed from this waypoint
EstimatedArrivalTimedatetimeyesExpected time of arrival at this waypoint
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
LocationIdintegernoLocations.IdLocation of the stop.
LocationSyncIdguidyesSyncId of the Locations row that LocationId points at.
LocationTransferLogIdintegernoLocationTransferLogs.IdTransfer the waypoint belongs to.
NotesstringyesAdditional notes about this waypoint
StatusenumnoCurrent status of this waypoint in the journeyPending Arrived Departed Skipped Cancelled
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
TransferSyncIdguidyesSyncId of the transfer in LocationTransferLogId.
WaypointOrderintegernoThe order of this waypoint in the transfer journey (1-based)

VendorBundleTemplates

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

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
BundleTemplateIdintegernoBundleTemplates.Id
BundleTemplateSyncIdguidyesSyncId of the BundleTemplates row that BundleTemplateId points at.
CreatedAtdatetimeno
IsActivebooleanno
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
MinimumOrderQuantityintegeryes
OrderMultipleintegeryes
OrganizationIdintegernoOrganizations.Id
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
UpdatedAtdatetimeyes
VendorDescriptionstringmax 500yes
VendorIdintegernoVendors.Id
VendorPartNumberstringmax 100yes
VendorPricedecimalyes
VendorSyncIdguidyesSyncId of the Vendors row that VendorId points at.
VendorUrlstringmax 500yes

Vendors

A vendor (supplier) the organization buys from.

Files json/Vendors.json csv/Vendors.csv · primary key Id · scoped by e.OrganizationId == org

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
ContactEmailstringmax 100yesEmail address of the main contact.
ContactNamestringmax 100yesName of the main contact at the vendor.
ContactPhonestringmax 20yesPhone number of the main contact, as entered.
CreatedAtdatetimenoWhen the row was created (UTC).
CreatedBystringmax 100yesEmail (or user name) of the user who created the row.
DefaultShippingCompanystringmax 100yesCarrier the vendor usually ships with (for example UPS).
Descriptionstringmax 500yesFree-text notes about the vendor, up to 500 characters.
IsActivebooleannoFalse for a deactivated vendor (kept for history, not offered on new purchase orders).
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
Namestringmax 100noVendor name, unique within the organization.
OrganizationIdintegernoOrganizations.IdOrganization (tenant) this row belongs to.
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
UpdatedAtdatetimenoWhen the vendor was last changed (UTC).
UpdatedBystringmax 100yesEmail (or user name) of the user who last changed the row.
Websitestringmax 500yesVendor's website address.

WebhookLogs

Audit log for Square webhook events

Files json/WebhookLogs.json csv/WebhookLogs.csv · primary key Id · scoped by e.OrganizationId == org

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
ErrorMessagestringmax 2000yes
EventIdstringmax 200no
HttpMethodstringmax 50yes
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
OrganizationIdintegeryesOrganizations.Id
PaymentIdintegeryesPayments.Id
ProcessedAtdatetimeyes
ProcessedSuccessfullybooleanno
RawPayloadstringno
ReceivedAtdatetimeno
RetryCountintegeryes
SquarePaymentIdstringmax 200yes
StatusCodeintegeryes
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
WebhookTypestringmax 100no

WebhookSubscriptions

An outbound webhook subscription for an organization.

Files json/WebhookSubscriptions.json csv/WebhookSubscriptions.csv · primary key Id · scoped by e.OrganizationId == org

ColumnTypeEmpty?ReferencesDescription
IdintegernoPrimary key, unique within this table.
ConsecutiveFailureCountintegernoConsecutive failed deliveries; reset to 0 on any success.
CreatedAtdatetimeno
CreatedByUserIdstringmax 450yesIdentity user id of the creator; nullable for cross-device resolution.
EventsCsvstringmax 1024noComma-joined event names this subscription wants (see WebhookEvents).
IsActivebooleannoInactive subscriptions are skipped.
IsDeletedbooleannoSoft delete flag (mirrors the sync convention of other pull-only tables).
IsPendingSyncbooleannoTrue if this record has local changes that haven't been pushed to the server.
LastDeliveryUtcdatetimeyesUTC of the most recent delivery attempt (success or failure), when any.
LastSyncedUtcdatetimeyesUTC timestamp of when this record was last successfully synced.
OrganizationIdintegernoOrganizations.IdTenant scope.
SyncIdguidnoGlobally unique identifier for this record across all devices.
SyncVersionintegernoIncrements each time the record is modified locally.
Urlstringmax 2048noDestination URL.
Not in the export

Left out, and why

Credentials and server plumbing never leave Flex.

Table never exportedWhy
AdminImportRecordsplatform-admin import audit log; server-only, not org data
ApiIdempotencyRecordscached API responses kept 24 hours
ApiKeysAPI key hashes (credentials); keys are listed in Settings → Integrations
ApiRequestLogsrequest log
AspNetRoleClaimsrole claims (the permission catalog is in the product docs)
AspNetUserClaimssign-in claims
AspNetUserLoginsexternal sign-in links (credentials)
AspNetUserTokensauthenticator keys and recovery codes (credentials)
AutomationRunsautomation run log
LocalAuthTokensdevice sign-in tokens (credentials)
OrganizationExportDownloadsemailed export download links (token hashes)
OrganizationExportSchedulesscheduled-export destination credentials (Settings → Export All Data → Schedule)
PendingFkResolutionssync bookkeeping
PlatformAdminApiKeysplatform-admin support key hashes (credentials); server-only, not org data
SyncDeletionLogssync bookkeeping
WebhookDeliveriesdelivery log
TableColumns never exported
every tableRowVersion
AspNetUsersPasswordHash SecurityStamp ConcurrencyStamp
OrganizationSettingsSquareAccessToken
WebhookSubscriptionsSecret
3 model types with no rows of their own in the export
TypeWhy
AspNetRolesnot linked to an organization (system-wide or device-local)
AspNetUserRolesnot linked to an organization (system-wide or device-local)
SystemSettingsnot linked to an organization (system-wide or device-local)