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 O-Series 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.
Our Universal MCP Server lets you query your Lightspeed O-Series data using Claude, ChatGPT or your favourite AI tool.
Our Lightspeed O-Series Connector connects your Lightspeed O-Series data to favourite reporting tools.
We connect to over over 70+ cloud services, letting you manage the data needs of your entire business in a single location.
Browse the data model below, or if you'd prefer, we also have an interactive ERD over here.
Documentation: https://apidoc.kounta.com/categories/#get-all-categories
Documentation: https://apidoc.kounta.com/customers/#get-all-customers
| 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 | - | - |
Documentation: https://apidoc.kounta.com/inventory/
| Column | Type | Relates to | Notes |
|---|---|---|---|
| RemoteID | string | - | - |
| WhenUpsertedIntoDataStore | datetime | - | - |
| MirrorRemoteID | int | - | - |
| IsDeleted | boolean | - | - |
| WhenCreated | datetime | - | - |
| WhenModified | datetime | - | - |
| ID | long | - | - |
| SiteID | long | Site → ID | - |
| ProductID | long | - | - |
| Stock | decimal | - | - |
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 | - | - |
| CreatedAt | datetime | - | - |
| UpdatedAt | datetime | - | - |
| Deleted | boolean | - | - |
| SaleNumber | string | - | - |
| Status | string | - | - |
| Notes | string | - | - |
| Total | decimal | - | - |
| Paid | decimal | - | - |
| Tips | decimal | - | - |
| SiteID | long | Site → ID | - |
| RegisterID | long | Register → ID | - |
| StaffMemberID | long | StaffMember → ID | - |
| PriceVariation | decimal | - | - |
| PriceFixedVariation | decimal | - |
|
| RefundedOrderID | string | - |
|
| Guests | int | - |
|
| OrderType | string | - |
|
| CustomerID | long | Customer → ID | - |
| Tip | decimal | - | - |
| Tax | decimal | - | - |
| RemoteStaffMemberID | string | - | - |
| RemoteSiteID | string | - | - |
| SaleID | string | - | - |
| IsRefund | boolean | - |
|
| Column | Type | Relates to | Notes |
|---|---|---|---|
| RemoteID | string | - | - |
| OrderItemRemoteID | string | OrderItem → RemoteID | - |
| WhenUpsertedIntoDataStore | datetime | - | - |
| MirrorRemoteID | int | - | - |
| IsDeleted | boolean | - | - |
| WhenCreated | datetime | - | - |
| WhenModified | datetime | - | - |
| OrderItemID | string | OrderItem → RemoteID | - |
| ProductID | long | Product → ID | - |
| IsAddedToOrder | boolean | - | - |
| IsRemovedFromOrder | boolean | - | - |
Documentation: https://apidoc.kounta.com/payment_methods/
Documentation: https://apidoc.kounta.com/price_lists/#get-a-price-list
Documentation: https://apidoc.kounta.com/products/#get-a-product
| 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 | - | - |
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 | - | - |
| CreatedAt | datetime | - | - |
| UpdatedAt | datetime | - | - |
| SiteID | long | Site → ID | - |
| Status | string | - | - |
| SupplierID | long | - |
|
| SupplierName | string | - | - |
| SupplierEmail | string | - | - |
| Notes | string | - | - |
| PurchaseNumber | string | - | - |
| SupplierInvoiceNumber | string | - | - |
| Total | decimal | - | - |
| TotalTax | decimal | - | - |
| PlacedAt | datetime | - | - |
| DeliveredAt | datetime | - | - |
| ReceivedAt | datetime | - | - |
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 | - | - |
| CreatedAt | datetime | - | - |
| UpdatedAt | datetime | - | - |
| Number | int | - | - |
| Processed | boolean | - | - |
| ReconciliationLevel | string | - | - |
| RegisterID | long | Register → ID | - |
| SiteID | long | Site → ID | - |
| StaffMemberID | long | StaffMember → ID | - |
| GiftCardPaymentsRedeemed | decimal | - | - |
| PrePaymentsOut | decimal | - | - |
Documentation: https://apidoc.kounta.com/registers/#get-a-register
Documentation: https://apidoc.kounta.com/reporting_groups/#get-all-reporting-groups
| Column | Type | Relates to | Notes |
|---|---|---|---|
| RemoteID | string | - | - |
| ReportingGroupRemoteID | string | ReportingGroup → RemoteID | - |
| WhenUpsertedIntoDataStore | datetime | - | - |
| MirrorRemoteID | int | - | - |
| IsDeleted | boolean | - | - |
| WhenCreated | datetime | - | - |
| WhenModified | datetime | - | - |
| ReportingGroupID | long | ReportingGroup → ID | - |
| ProductID | long | Product → ID | - |
Documentation: https://apidoc.kounta.com/sites/#get-a-site
Documentation: https://apidoc.kounta.com/staff/#get-all-staff
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 | - | - |
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 | - | - |
| OrderID | long | Order → ID | - |
| Number | int | - | - |
| CreatedAt | datetime | - | - |
| Amount | decimal | - | - |
| Tip | decimal | - | - |
| Reference | string | - | - |
| PaymentMethodID | string | - | - |
| Column | Type | Relates to | Notes |
|---|---|---|---|
| RemoteID | string | - | - |
| OrderRemoteID | string | Order → RemoteID | - |
| WhenUpsertedIntoDataStore | datetime | - | - |
| MirrorRemoteID | int | - | - |
| IsDeleted | boolean | - | - |
| WhenCreated | datetime | - | - |
| WhenModified | datetime | - | - |
| OrderID | long | Order → ID | - |
| Number | int | - | - |
| ProductID | long | Product → ID | - |
| LineID | string | - | - |
| Quantity | decimal | - | - |
| Notes | string | - | - |
| UnitPrice | decimal | - | - |
| UnitTax | decimal | - | - |
| LineTotalExTax | decimal | - | - |
| LineTotalTax | decimal | - | - |
| PriceVariation | decimal | - | - |
| PriceFixedVariation | decimal | - |
|
| UnitPriceGross | decimal | - | - |
| Column | Type | Relates to | Notes |
|---|---|---|---|
| RemoteID | string | - | - |
| PriceListRemoteID | string | PriceList → RemoteID | - |
| WhenUpsertedIntoDataStore | datetime | - | - |
| MirrorRemoteID | int | - | - |
| IsDeleted | boolean | - | - |
| WhenCreated | datetime | - | - |
| WhenModified | datetime | - | - |
| PriceListID | long | PriceList → ID | - |
| ProductID | long | Product → ID | - |
| UnitPrice | decimal | - | - |
| 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 | - | - |
| 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 | - |
| SiteID | long | Site → ID | - |
| UnitPrice | decimal | - | - |
| UnitPriceExTax | decimal | - | - |
| CostPrice | decimal | - | - |
| CostPriceExTax | decimal | - | - |
| IsInventory | boolean | - | - |
| IsAvailable | boolean | - | - |
| Column | Type | Relates to | Notes |
|---|---|---|---|
| RemoteID | string | - | - |
| PurchaseOrderRemoteID | string | PurchaseOrder → RemoteID | - |
| WhenUpsertedIntoDataStore | datetime | - | - |
| MirrorRemoteID | int | - | - |
| IsDeleted | boolean | - | - |
| WhenCreated | datetime | - | - |
| WhenModified | datetime | - | - |
| PurchaseOrderID | long | PurchaseOrder → ID | - |
| Number | int | - | - |
| ProductID | long | Product → ID | - |
| Format | string | - | - |
| Quantity | decimal | - | - |
| UnitPriceExTax | decimal | - | - |
| UnitTax | decimal | - | - |
| LineTotalExTax | decimal | - | - |
| LineTotalTax | decimal | - | - |
| 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 | - |
| 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 | - |
| 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 | - |
| 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 | - | - |
| 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 | - |
|
| Net | decimal | - | - |
| Tax | decimal | - | - |
| 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 | - |
|
| Net | decimal | - | - |
| Tax | decimal | - | - |
| 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 | - |
|
| Net | decimal | - | - |
| Tax | decimal | - | - |
SYNCHUB lives and breathes APIs and data. Keep exploring using the links below.