2024 is the year of the connector - vote here

Explore the Lightspeed Restaurant POS (O-Series/Kounta) API data model

See how the various Lightspeed Restaurant POS (O-Series/Kounta) endpoints relate to each other, using our handy Entity Relationship Diagram

Pulling data from the Lightspeed Restaurant POS (O-Series/Kounta) API 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 sync your Lightspeed Restaurant POS (O-Series/Kounta) API 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

Category

Documentation: https://apidoc.kounta.com/categories/#get-all-categories

Column Type Relates to Notes
RemoteID string - -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID long - -
Name string - -
Description string - -
ProductCount int - -

Customer

Documentation: https://apidoc.kounta.com/customers/#get-all-customers

Column Type Relates to Notes
RemoteID string - -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID long - -
Name string - -
CreatedAt datetime - -
UpdatedAt datetime - -
Phone string - -
Address string - -
City string - -
State string - -
PostalCode string - -
Country string - -
FirstName string - -
LastName string - -
PrimaryEmailAddress string - -
Image string - -
Email string - -
AvatarURL string - -
FullName string - -

CustomerTag

Column Type Relates to Notes
RemoteID string - -
CustomerRemoteID string Customer → RemoteID -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
CustomerID long Customer → ID -
TagName string - -

Inventory

Documentation: https://apidoc.kounta.com/inventory/

Column Type Relates to Notes
RemoteID string - -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime -
  • 19 May 2020 Inventory is a snapshot in time, so it is fair to stamp this with the current timestamp
WhenModified datetime -
  • 19 May 2020 Inventory is a snapshot in time, so it is fair to stamp this with the current timestamp
ID long - -
ProductID long - -
Stock decimal - -
SiteID long Site → ID -

Order

Documentation: https://apidoc.kounta.com/orders/#get-an-order

Column Type Relates to Notes
RemoteID string - -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID long - -
SaleNumber string - -
Status string - -
Notes string - -
Total decimal - -
Paid decimal - -
Tips decimal - -
SiteID long Site → ID -
RegisterID long Register → ID -
CreatedAt datetime - -
StaffMemberID long StaffMember → ID -
PriceVariation decimal - -
PriceFixedVariation decimal -
  • 12 Jul 2021 The price_fixed_variation only applies if there is a fixed-dollar discount against this order. It is mutually exclusive to price_variation
RefundedOrderID string -
  • 20 Nov 2023 This property is confusingly named, as it refers to both the refundee and refundor. If order A is placed, and then refunded by order B five minutes later, A.refunded_orderID=B and B.refunded_order_id=A. The way you can tell which refunded which is the additional presence of the is_refund property on B
Deleted boolean - -
UpdatedAt datetime - -
Guests int -
  • 2 Dec 2020 Kounta only adds this property if `Guest Tracking` is enabled and if the number of guests is added against an order
OrderType string -
  • 2 Dec 2020 Kounta only adds this property if `Order Types` is enabled and if the order type is set in the order
CustomerID long Customer → ID -
Tip decimal - -
Tax decimal - -
RemoteStaffMemberID string - -
RemoteSiteID string - -
SaleID string - -
IsRefund boolean -
  • 20 Nov 2023 Indicates that this order is a refund of the order referenced in our refunded_order_id property

OrderItemModifier

Column Type Relates to Notes
RemoteID string - -
OrderItemRemoteID string OrderItem → RemoteID -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
IsAddedToOrder boolean - -
IsRemovedFromOrder boolean - -
ProductID long Product → ID -
OrderItemID string OrderItem → RemoteID -

PaymentMethod

Documentation: https://apidoc.kounta.com/payment_methods/

Column Type Relates to Notes
RemoteID string - -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID long - -
Name string - -
LedgerCode string - -

PriceList

Documentation: https://apidoc.kounta.com/price_lists/#get-a-price-list

Column Type Relates to Notes
RemoteID string - -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID long - -
Name string - -
ParentID long - -

Product

Documentation: https://apidoc.kounta.com/products/#get-a-product

Column Type Relates to Notes
RemoteID string - -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID long - -
Name string - -
Description string - -
CreatedAt datetime - -
UpdatedAt datetime - -
VariantParentID long - -
Code string - -
FriendlyName string - -
Barcode string - -
Number string -
  • 15 Jul 2021 Although this field is called 'number', it is actually a string/code
IsModifier boolean - -
ShowOnline boolean - -
TopSeller boolean - -
SpecialItem boolean - -
AlwaysPrompt boolean - -
VariablePrice boolean - -
MinSellPrice decimal - -
MaxSellPrice decimal - -
UnitOfMeasure string - -
Measure decimal - -
IsSold boolean - -
Sku string - -
Deleted boolean - -
Price decimal - -

ProductCategory

Column Type Relates to Notes
RemoteID string - -
CategoryRemoteID string Category → RemoteID -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ProductID long Product → ID -
CategoryID long Category → ID -
ProductRemoteID string - -

PurchaseOrder

Documentation: https://apidoc.kounta.com/purchase_orders/#get-a-purchase-order

Column Type Relates to Notes
RemoteID string - -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID long - -
Status string - -
SupplierID long -
  • 26 May 2020 This seems to be pointing to a supplier id in a supplier table but there's no endpoint for suppliers in Kouanta API.
SupplierName string - -
SupplierEmail string - -
SiteID long Site → ID -
Notes string - -
PurchaseNumber string - -
SupplierInvoiceNumber string - -
Total decimal - -
TotalTax decimal - -
CreatedAt datetime - -
PlacedAt datetime - -
UpdatedAt datetime - -
DeliveredAt datetime - -
ReceivedAt datetime - -

Reconciliation

Documentation: https://apidoc.kounta.com/reconciliations/#get-a-reconciliation

Column Type Relates to Notes
RemoteID string - -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID long - -
Number int - -
Processed boolean - -
ReconciliationLevel string - -
RegisterID long Register → ID -
SiteID long Site → ID -
StaffMemberID long StaffMember → ID -
CreatedAt datetime - -
UpdatedAt datetime - -
GiftCardPaymentsRedeemed decimal - -
PrePaymentsOut decimal - -

Register

Documentation: https://apidoc.kounta.com/registers/#get-a-register

Column Type Relates to Notes
RemoteID string - -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID long - -
Name string - -
Code string - -
SalePrefix string - -
ReturnPrefix string - -
RemoteSiteID string - -

ReportingGroup

Documentation: https://apidoc.kounta.com/reporting_groups/#get-all-reporting-groups

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

ReportingGroupProduct

Column Type Relates to Notes
RemoteID string - -
ReportingGroupRemoteID string ReportingGroup → RemoteID -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ProductID long Product → ID -
ReportingGroupID long ReportingGroup → ID -

Site

Documentation: https://apidoc.kounta.com/sites/#get-a-site

Column Type Relates to Notes
RemoteID string - -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
TimeZone string - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID long - -
Name string - -
CreatedAt datetime - -
UpdatedAt datetime - -
Code string - -
BusinessNumber string - -
Email string - -
Mobile string - -
Phone string - -
Fax string - -
Website string - -
RegisterLevelReconciliation boolean - -

StaffMember

Documentation: https://apidoc.kounta.com/staff/#get-all-staff

Column Type Relates to Notes
RemoteID string - -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID long - -
Name string - -
CreatedAt datetime - -
UpdatedAt datetime - -
Fax string - -
Code string - -
PinRotationDays int - -
Mobile string - -
IsAdmin boolean - -
Address string - -
City string - -
State string - -
PostalCode string - -
Country string - -
FirstName string - -
LastName string - -
PrimaryEmailAddress string - -
Image string - -
Email string - -
AvatarURL string - -
FullName string - -

Table

Documentation: https://apidoc.kounta.com/tables/#get-all-tables-for-a-site

Column Type Relates to Notes
RemoteID string - -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID string - -
Name string - -
Siteid long Site → ID -
SectionName string - -
RemoteSiteID string - -

Payment

Documentation: https://apidoc.kounta.com/payments/

Column Type Relates to Notes
RemoteID string - -
OrderRemoteID string Order → RemoteID -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
Number int - -
Amount decimal - -
Tip decimal - -
Reference string - -
CreatedAt datetime - -
OrderID long Order → ID -
PaymentMethodID string - -

OrderItem

Column Type Relates to Notes
RemoteID string - -
OrderRemoteID string Order → RemoteID -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
Number int - -
LineID string - -
Quantity decimal - -
Notes string - -
UnitPrice decimal - -
UnitTax decimal - -
LineTotalExTax decimal - -
LineTotalTax decimal - -
PriceVariation decimal - -
PriceFixedVariation decimal -
  • 12 Jul 2021 The price_fixed_variation only applies if there is a fixed-dollar discount against this order. It is mutually exclusive to price_variation
UnitPriceGross decimal - -
OrderID long Order → ID -
ProductID long Product → ID -

ProductPrice

Column Type Relates to Notes
RemoteID string - -
PriceListRemoteID string PriceList → RemoteID -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ProductID long Product → ID -
UnitPrice decimal - -
PriceListID long PriceList → ID -

ProductTag

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

ProductSite

Column Type Relates to Notes
RemoteID string - -
ProductRemoteID string Product → RemoteID -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
SiteID long Site → ID -
ProductID long Product → ID -
UnitPrice decimal - -
UnitPriceExTax decimal - -
CostPrice decimal - -
CostPriceExTax decimal - -
IsInventory boolean - -
IsAvailable boolean - -

PurchaseOrdersDetailLine

Column Type Relates to Notes
RemoteID string - -
PurchaseOrderRemoteID string PurchaseOrder → RemoteID -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
Number int - -
ProductID long Product → ID -
Format string - -
Quantity decimal - -
UnitPriceExTax decimal - -
UnitTax decimal - -
LineTotalExTax decimal - -
LineTotalTax decimal - -
PurchaseOrderID long PurchaseOrder → ID -

ReconciliationRevenueSale

Column Type Relates to Notes
RemoteID string - -
ReconciliationRemoteID string Reconciliation → RemoteID -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ReconciliationID long Reconciliation → ID -
ProductID long Product → ID -

ReconciliationRevenueAccount

Column Type Relates to Notes
RemoteID string - -
ReconciliationRemoteID string Reconciliation → RemoteID -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ReconciliationID long Reconciliation → ID -
ProductID long Product → ID -

ReconciliationRevenueLayby

Column Type Relates to Notes
RemoteID string - -
ReconciliationRemoteID string Reconciliation → RemoteID -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ReconciliationID long Reconciliation → ID -
ProductID long Product → ID -

ReconciliationRevenueAccountAmount

Column Type Relates to Notes
RemoteID string - -
ReconciliationRevenueAccountRemoteID string ReconciliationRevenueAccount → RemoteID -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ParentID string ReconciliationRevenueAccount → RemoteID -
ParentType string - -
TaxID long -
  • 26 May 2020 Foreign Key: Refers to `Taxes` (not implemented).
Net decimal - -
Tax decimal - -

ReconciliationRevenueLaybyAmount

Column Type Relates to Notes
RemoteID string - -
ReconciliationRevenueLaybyRemoteID string ReconciliationRevenueLayby → RemoteID -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ParentID string ReconciliationRevenueLayby → RemoteID -
ParentType string - -
TaxID long -
  • 26 May 2020 Foreign Key: Refers to `Taxes` (not implemented).
Net decimal - -
Tax decimal - -

ReconciliationRevenueSaleAmount

Column Type Relates to Notes
RemoteID string - -
ReconciliationRevenueSaleRemoteID string ReconciliationRevenueSale → RemoteID -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ParentID string ReconciliationRevenueSale → RemoteID -
ParentType string - -
TaxID long -
  • 26 May 2020 Foreign Key: Refers to `Taxes` (not implemented).
Net decimal - -
Tax decimal - -

ReconciliationPaymentMethod

Column Type Relates to Notes
RemoteID string - -
ReconciliationRemoteID string Reconciliation → RemoteID -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
Name string - -
ReconciliationID long Reconciliation → ID -
PaymentMethodID long PaymentMethod → ID -
TakingsSalesRecorded decimal - -
TakingsSalesCounted decimal - -
TakingsAccountsRecorded decimal - -
TakingsAccountsCounted decimal - -
TakingsLaybysRecorded decimal - -
TakingsLaybysCounted decimal - -
AdjustmentsCashIn decimal - -
AdjustmentsCashOut decimal - -
AdjustmentsTips decimal - -
GiftCardsTopup decimal - -
PrePaymentsIn decimal - -