Explore the Lightspeed Retail (X-Series/Vend) data model

See how the various Lightspeed Retail (X-Series/Vend) endpoints relate to each other, using our handy Entity Relationship Diagram.

Pulling data from Lightspeed Retail (X-Series/Vend) is only the first part of your reporting. You also need to understand the relationships between different endpoints - something that APIs typically fail to convey.

At SyncHub, we not only pull your Lightspeed Retail (X-Series/Vend) endpoints down into a reportable format, we also describe their relationships (e.g. in terms of foreign keys) so that you can quickly get a grasp of your data and how it fits together. This page is intended as technical documentation of these relationships.

Endpoints

Sale

Documentation: https://docs.vendhq.com/reference/2/spec/sales/listsales

Column Type Relates to Notes
RemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID guid - -
OutletID guid Outlet → ID -
RegisterID guid Register → ID -
UserID guid User → ID -
CustomerID guid Customer → ID -
InvoiceNumber string - -
Status string - -
Note string - -
ShortCode string - -
ReturnFor guid - -
TotalPrice decimal - -
TotalTax decimal - -
TotalLoyalty decimal - -
CreatedAt datetime - -
UpdatedAt datetime - -
SaleDate datetime - -
DeletedAt datetime - -
ReceiptNumber string - -
Version long - -
TotalPriceIncl decimal - -
AccountsTransactionID string - -
Source string - -
SourceID string - -
Tip decimal - -
Total decimal - -
Tax decimal - -
RemoteSiteID string - -
RemoteStaffMemberID string - -
SaleID string - -
PriceVariation decimal - -
IsRefund boolean - -

Outlet

Documentation: https://docs.vendhq.com/reference/2/spec/outlets/listoutlets

Column Type Relates to Notes
RemoteID string - -
MirrorRemoteID int - -
TimeZone string - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID guid - -
Name string - -
Version long - -
DefaultTaxID guid Tax → ID -
Currency string - -
CurrencySymbol string - -
DisplayPrices string - -
PhysicalAddress1 string - -
PhysicalAddress2 string - -
PhysicalSuburb string - -
PhysicalCity string - -
PhysicalPostcode string - -
PhysicalState string - -
PhysicalCountryID string - -
DeletedAt datetime - -

Customer

Documentation: https://docs.vendhq.com/reference/2/spec/customers/listcustomers

Column Type Relates to Notes
RemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID guid - -
Name string - -
CustomerCode string - -
FirstName string - -
LastName string - -
Email string - -
YearToDate decimal - -
Balance decimal - -
LoyaltyBalance decimal - -
Note string - -
Gender string - -
DateOfBirth string - -
CompanyName string - -
DoNotEmail boolean - -
Phone string - -
Mobile string - -
Fax string - -
Twitter string - -
Website string - -
PhysicalSuburb string - -
PhysicalCity string - -
PhysicalPostcode string - -
PhysicalState string - -
PostalSuburb string - -
PostalCity string - -
PostalState string - -
CustomerGroupID guid CustomerGroup → ID -
EnableLoyalty boolean - -
CreatedAt datetime - -
UpdatedAt datetime -
  • 23 Apr 2022 known bug This is a known issue acknowledged by Vend. Due to GDPR requirements, if a customer is deleted the updated_at date is also set to '0000-12-30'
DeletedAt datetime - -
Version long - -
PostalPostcode string - -
PhysicalAddress1 string - -
PhysicalAddress2 string - -
PhysicalCountryID string - -
PostalAddress1 string - -
PostalAddress2 string - -
PostalCountryID string - -
CustomField1 string - -
CustomField2 string - -
CustomField3 string - -
CustomField4 string - -
AvatarURL string - -
FullName string - -

PaymentMethod

Documentation: https://docs.vendhq.com/reference/2/spec/payment-types/listpaymenttypes

Column Type Relates to Notes
RemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID guid - -
Name string - -
DeletedAt datetime - -
TypeID int - -
Version long - -
LedgerCode string - -

Payment

Column Type Relates to Notes
RemoteID string - -
SaleRemoteID string Sale → RemoteID -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID guid - -
Name string - -
RegisterID guid Register → ID -
OutletID guid Outlet → ID -
RetailerPaymentTypeID guid PaymentMethod → ID -
Amount decimal - -
PaymentDate datetime - -
DeletedAt datetime - -

SaleItem

Documentation: https://docs.vendhq.com/reference/2/spec/sales/listsales

Column Type Relates to Notes
RemoteID string - -
SaleRemoteID string Sale → RemoteID -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID guid - -
SaleID guid Sale → ID -
ProductID guid Product → ID -
TaxID guid Tax → ID -
Quantity decimal - -
LoyaltyValue decimal - -
Note string - -
PriceSet boolean - -
Status string - -
Sequence int - -
UnitCost decimal - -
UnitDiscount decimal - -
UnitLoyaltyValue decimal - -
UnitPrice decimal - -
UnitTax decimal - -
TotalCost decimal - -
TotalDiscount decimal - -
TotalLoyaltyValue decimal - -
TotalPrice decimal - -
TotalTax decimal - -
IsReturn boolean - -
LineItemsIncludeTax boolean - -
Number int - -
Notes string - -
PriceVariation decimal - -
UnitPriceGross decimal - -
LineTotalExTax decimal - -
LineTotalTax decimal - -

User

Documentation: https://docs.vendhq.com/reference/2/spec/users/listusers

Column Type Relates to Notes
RemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID guid - -
Name string - -
Username string - -
DisplayName string - -
Email string - -
EmailVerifiedAt datetime - -
AccountType string - -
CreatedAt datetime - -
UpdatedAt datetime - -
DeletedAt datetime - -
SeenAt datetime - -
TargetDaily decimal - -
TargetWeekly decimal - -
TargetMonthly decimal - -
IsPrimaryUser boolean - -
ImageSource string - -
Version long - -
FirstName string - -
LastName string - -
AvatarURL string - -
FullName string - -

Product

Documentation: https://docs.vendhq.com/reference/2/spec/products/getproductbyid

Column Type Relates to Notes
RemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID guid - -
Name string - -
Description string - -
VariantParentID guid Product → ID -
VariantName string - -
Handle string - -
Sku string - -
SupplierCode string - -
HasInventory boolean - -
Version long - -
IsComposite boolean - -
ImageUrl string - -
CreatedAt datetime - -
UpdatedAt datetime - -
DeletedAt datetime - -
Source string - -
AccountCode string - -
AccountCodePurchase string - -
SupplyPrice decimal - -
HasVariants boolean - -
PriceIncludingTax decimal - -
PriceExcludingTax decimal - -
LoyaltyAmount decimal - -
SupplierID guid Supplier → ID -
ProductTypeID guid ProductType → ID -
BrandID guid Brand → ID -
IsActive boolean - -
Code string - -
Price decimal - -

Register

Documentation: https://docs.vendhq.com/reference/2/spec/registers/listregisters

Column Type Relates to Notes
RemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID guid - -
Name string - -
OutletID guid Outlet → ID -
AskForNoteOnSave int - -
PrintNoteOnReceipt boolean - -
AskForUserOnSale boolean - -
ShowDiscountsOnReceipts boolean - -
PrintReceipt boolean - -
EmailReceipt boolean - -
InvoicePrefix string - -
InvoiceSuffix string - -
InvoiceSequence int - -
Version long - -
ButtonLayoutID guid - -
IsOpen boolean - -
IsQuickKeysEnabled boolean - -
DeletedAt datetime - -
RegisterOpenTime datetime - -
RegisterCloseTime datetime - -
RegisterOpenSequenceID guid - -
CashManagedPaymentTypeID guid - -
SalePrefix string - -
ReturnPrefix string - -
RemoteSiteID string - -
Code string - -

AuditLogEvent

Documentation: https://docs.vendhq.com/reference/2-beta/spec/audit/get-auditlog-events

Column Type Relates to Notes
RemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID string - -
Name string - -
UserID guid User → ID -
Type string - -
Action string - -
EntityID string -
  • 5 Aug 2020 Foreign key, but refers to different entities based on the type property
IpAddress string - -
UserAgent string - -
OccurredAt datetime - -
CreatedAt datetime - -

Brand

Documentation: https://docs.vendhq.com/reference/2/spec/brands/listbrands

Column Type Relates to Notes
RemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID guid - -
Name string - -
DeletedAt datetime - -
Version long - -

Supplier

Documentation: https://docs.vendhq.com/reference/2/spec/suppliers/listsuppliers

Column Type Relates to Notes
RemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID guid - -
Name string - -
Description string - -
Source string - -
DeletedAt datetime - -
Version long - -

Inventory

Documentation: https://docs.vendhq.com/reference/2/spec/inventory/listinventoryrecords

Column Type Relates to Notes
RemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID guid - -
OutletID guid Outlet → ID -
ProductID guid Product → ID -
InventoryLevel decimal - -
CurrentAmount decimal - -
Version long - -
DeletedAt datetime - -
AverageCost decimal - -
ReorderPoint decimal - -
ReorderAmount decimal - -

Consignment

Documentation: https://docs.vendhq.com/reference/2/spec/consignments/getconsignmentbyid

Column Type Relates to Notes
RemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID guid - -
Name string - -
OutletID guid Outlet → ID -
DueAt datetime - -
Type string - -
Status string - -
SupplierID guid Supplier → ID -
SourceOutletID guid Outlet → ID -
ConsignmentDate datetime - -
ReceivedAt datetime - -
ShowInactive boolean - -
SupplierInvoice string - -
Reference string - -
TotalCountGain decimal - -
TotalCostGain decimal - -
TotalCountLoss decimal - -
TotalCostLoss decimal - -
CreatedAt datetime - -
UpdatedAt datetime - -
DeletedAt datetime - -
ProductCount decimal - -
Version long - -

ConsignmentProduct

Column Type Relates to Notes
RemoteID string - -
ConsignmentRemoteID string Consignment → RemoteID -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ConsignmentID guid - -
ProductID guid Product → ID -
ProductSku string -
  • 6 Jul 2020 Although the product_sku shows in the web interface, it's always null in API calls
Count decimal - -
Received decimal - -
Cost decimal - -
IsIncluded boolean - -
Status string - -
CreatedAt datetime - -
UpdatedAt datetime - -
DeletedAt datetime - -
Version string - -

Tag

Documentation: https://docs.vendhq.com/reference/2/spec/tags/listtags

Column Type Relates to Notes
RemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID guid - -
Name string - -
DeletedAt datetime - -
Version long - -

ProductTag

Column Type Relates to Notes
RemoteID string - -
ProductRemoteID string Product → RemoteID -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
TagID guid - -
ProductID guid Product → ID -

SaleItemPromotion

Column Type Relates to Notes
RemoteID string - -
SaleItemRemoteID string SaleItem → RemoteID -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
Name string - -
Amount decimal - -
PromotionID long Promotion → ID -
PromoCode string - -
PromoCodeID string - -
SaleItemID guid - -

ProductType

Documentation: https://docs.vendhq.com/reference/2/spec/product-types/listproducttypes

Column Type Relates to Notes
RemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID guid - -
Name string - -
Version long - -
DeletedAt datetime - -

PriceBook

Documentation: https://docs.vendhq.com/reference/2/spec/price-books/listpricebooks

Column Type Relates to Notes
RemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID guid - -
Name string - -
Version long - -
DeletedAt datetime - -
OutletID guid Outlet → ID -
CustomerGroupID guid CustomerGroup → ID -
UpdatedAt datetime - -
CreatedAt datetime - -
RestrictToPlatformKey string - -
RestrictToPlatformLabel string - -
ValidFrom datetime - -
ValidTo datetime - -
Type string - -

PriceBookProduct

Documentation: https://docs.vendhq.com/reference/2/spec/price-books/listpricebooks

Column Type Relates to Notes
RemoteID string -
  • 5 Jun 2020 The entity does have a unique 'id' field, however we cannot query the Vend API based on this, so we also include a combo of product/pricebook
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID guid - -
ProductID guid Product → ID
  • 24 Nov 2021 known bug We have observed NULL values coming down for product_id and price_book_id
PriceBookID guid PriceBook → ID
  • 24 Nov 2021 known bug We have observed NULL values coming down for product_id and price_book_id
Price decimal - -
LoyaltyValue decimal - -
MinUnits decimal - -
MaxUnits decimal - -
DefaultDisplayPrice decimal - -
RetailPrice decimal - -
Discount decimal - -
Adjustment decimal - -
AdjustmentType string - -
Rounding string - -
TaxID guid Tax → ID -
Version long - -
CreatedAt datetime - -
UpdatedAt datetime - -
DeletedAt datetime - -

SaleFulfillment

Documentation: https://docs.vendhq.com/reference/2/spec/fulfillment/getfulfillmentsbysaleid

Column Type Relates to Notes
RemoteID string - -
SaleRemoteID string Sale → RemoteID -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID string -
  • 15 Sep 2020 Returns as a string, presumably to account for varying formats of third-party fulfillment services
SaleID guid Sale → ID -
OutletID guid Outlet → ID -
UserID guid User → ID -
Status string - -
CreatedAt datetime - -

Promotion

Documentation: https://docs.vendhq.com/reference/2/spec/promotions/listpromotions

Column Type Relates to Notes
RemoteID string - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID long - -
Name string - -
Description string - -
StartTime datetime - -
EndTime datetime - -
ConditionType string - -
ConditionQuantity decimal - -
ActionType string - -
ActionValue decimal - -
LoyaltyMultiplier decimal - -
Status string - -
UsePromoCode boolean - -
PromoCodeSummaryTotalPromoCode decimal - -
PromoCodeSummaryRedeemedAmount decimal - -
ShowPotential boolean - -

PromotionConditionInclude

Column Type Relates to Notes
RemoteID string - -
PromotionRemoteID string Promotion → RemoteID -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
PromotionID long Promotion → ID -
Field string - -
Value guid -
  • 2 Mar 2021 The unique ID of whatever the field is. For example if field = 'product_id' then this is the particular product GUID
ProductID guid Product → ID -

PromotionConditionExclude

Column Type Relates to Notes
RemoteID string - -
PromotionRemoteID string Promotion → RemoteID -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
PromotionID long Promotion → ID -
Field string - -
Value guid -
  • 2 Mar 2021 The unique ID of whatever the field is. For example if field = 'product_id' then this is the particular product GUID
ProductID guid Product → ID -

PromotionActionInclude

Column Type Relates to Notes
RemoteID string - -
PromotionRemoteID string Promotion → RemoteID -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
PromotionID long Promotion → ID -
Field string - -
Value guid -
  • 2 Mar 2021 The unique ID of whatever the field is. For example if field = 'product_id' then this is the particular product GUID
ProductID guid Product → ID -

PromotionActionExclude

Column Type Relates to Notes
RemoteID string - -
PromotionRemoteID string Promotion → RemoteID -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
PromotionID long Promotion → ID -
Field string - -
Value guid -
  • 2 Mar 2021 The unique ID of whatever the field is. For example if field = 'product_id' then this is the particular product GUID
ProductID guid Product → ID -

PromotionOutlet

Column Type Relates to Notes
RemoteID string - -
PromotionRemoteID string Promotion → RemoteID -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
OutletID guid Outlet → ID -
PromotionID long Promotion → ID -

PromotionChannel

Column Type Relates to Notes
RemoteID string - -
PromotionRemoteID string Promotion → RemoteID -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ChannelName string - -
PromotionID long Promotion → ID -

PromotionCustomerGroup

Column Type Relates to Notes
RemoteID string - -
PromotionRemoteID string Promotion → RemoteID -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
CustomerGroupID guid CustomerGroup → ID -
PromotionID long Promotion → ID -

Need more?

SyncHub lives and breathes APIs and data. Keep exploring using the links below.