Integration: Lightspeed

This article will help you learn about how Daasity replicates data from Lightspeed, limitations to the data we can extract and where the data is stored in the Lightspeed schema.

Key Topics

Click on the links below to take you to the section where you can learn more about this Integration

Integration Overview

Lightspeed is a cloud-based point-of-sale and e-commerce platform for retail, hospitality and golf merchants around the world to simplify, sale and provide customer experiences.

This document provides context on what kind of data is being gathered through this extractor, which endpoints that data is coming from, and how the extracted tables relate to each other.

Integration Availability

This integration is available for:

  • Pro (V1 and V2)

NOTE: You are considered V2 if...

  • Your account says Pro V2 in the Daasity App

Not sure? Reach out to Support@Daasity.com

API Endpoints

The Daasity Lightspeed extractor is built based on this Lightspeed API documentation.  The following endpoints are used by Daasity to replicate data from Lightspeed:

Entity Relationship Diagram (ERD)

The embedded diagram houses the ERD for the Daasity Lightspeed integration illustrating the different tables and keys to join across tables. Hover over the embedded diagram to reveal controls to zoom and scroll.

Lightspeed Schema

The Daasity Lightspeed extractor creates these tables using the endpoints and replication methods listed. The data is mapped from source API endpoint to the table based on the mapping logic outlined in each table.

Accounts

  • Endpoint: Account
  • Update Method: UPSERT
  • Table Name: lightspeed.accounts
JSON Element Database Column
account_id account_id
Account::name name
Daasity: shop_id __shop_id
Daasity: account_id _account_id
Daasity: MD5(account_id + __shop_id) __sync_key
Daasity: timestamp when loaded into DB __synced_at

Customers

  • Endpoint: Customer
  • Update Method: UPSERT
  • Table Name: lightspeed.customers
JSON Element Database Column
customerID customer_id
firstName first_name
lastName last_name
Contact::Addresses:ContactAddress::address1 address_1
Contact::Addresses:ContactAddress::address2 address_2
Contact::Addresses:ContactAddress::zip zip
Contact::Addresses:ContactAddress::city city
Contact::Addresses:ContactAddress::state state
Contact::Addresses:ContactAddress::country country
Contact::Phones phone_number
Contact::Emails email
archived archived
createTime created_at
timeStamp updated_at
Daasity: shop_id __shop_id
Daasity: account_id _account_id
Daasity: MD5(customerId + __shop_id) __sync_key
Daasity: timestamp when loaded into DB __synced_at

Employees

  • Endpoint: Employee
  • Update Method: UPSERT
  • Table Name: lightspeed.employees
JSON Element Database Column
employeeID employee_id
firstName first_name
lastName last_name
lastShopID last_shop_id
employeeRoleID employee_role_id
timeStamp updated_at
archived archived
Daasity: shop_id __shop_id
Daasity: account_id _account_id
Daasity: MD5(employeeID + __shop_id) __sync_key
Daasity: timestamp when loaded into DB __synced_at

Sales

  • Endpoint: Sale
  • Update Method: UPSERT
  • Table Name: lightspeed.sales
JSON Element Database Column
saleID sale_id
discountPercent discount_percent
completed completed
voided voided
tax1Rate tax1_rate
tax2Rate tax2_rate
receiptPreference receipt_preference
ticketNumber ticket_number
calcDiscount calc_discount
calcTotal calc_total
calc_subtotal calc_subtotal
calcTaxable calc_taxable
calcNonTaxable calc_nontaxable
calcAvgCost calc_avg_cost
calcFIFOCost calc_fifo_cost
calcTax1 calc_tax1
calcTax2 calc_tax2
calcPayments calc_payments
total total
totalDue total_due
createTime created_at
updateTime updated_at
archived archived
customerID customer_id
employeeID employee_id
shopID shop_id
discountID discount_id
referenceNumber reference_number
referenceNumberSource reference_number_source
Daasity: shop_id __shop_id
Daasity: account_id _account_id
Daasity: MD5(shopId + saleID + __shop_id) __sync_key
Daasity: timestamp when loaded into DB __synced_at

Sale Payments

  • Endpoint: Sale Payment
  • Update Method: UPSERT
  • Table Name: lightspeed.sale_payments
JSON Element Database Column
salePaymentID sale_payment_id
amount amount
saleID sale_id
paymentTypeID payment_type_id
ccChargeID cc_charge_id
refPaymentID ref_payment_id
employeeID employee_id
creditAccountID credit_account_id
registerID register_id
archived archived
createTime created_at
Daasity: shop_id __shop_id
Daasity: account_id _account_id
Daasity: MD5(salePaymentID + __shop_id) __sync_key
Daasity: timestamp when loaded into DB __synced_at

Order Discounts

  • Endpoint: Discount
  • Update Method: UPSERT
  • Table Name: lightspeed.order_discounts
JSON Element Database Column
discountID discount_id
name name
discountAmount discount_amount
discountPercent discount_percent
timeStamp updated_at
Daasity: shop_id __shop_id
Daasity: account_id _account_id
Daasity: MD5(discountID + __shop_id) __sync_key
Daasity: timestamp when loaded into DB __synced_at

Sale Lines

  • Endpoint: Sale Lines
  • Update Method: UPSERT
  • Table Name: lightspeed.salelines
JSON Element Database Column
saleLineID sale_line_id
unitQuantity unit_quantity
unitPrice unit_price
discountAmount discount_amount
discountPercent discount_percent
tax tax
tax1Rate tax1_rate
tax2Rate tax2_rate
calcLineDiscount calc_line_discount
calcTransactionDiscount calc_transaction_discount
calcTotal calc_total
calcSubtotal calc_subtotal
calcTax1 calc_tax1
calcTax2 calc_tax2
taxClassID tax_class_id
discountID discount_id
employeeID employee_id
customerID customer_id
shopID shop_id
itemID item_id
saleID sale_id
createTime created_at
timeStamp updated_at
Daasity: shop_id __shop_id
Daasity: account_id _account_id
Daasity: MD5(saleLineID + shopID + __shop_id) __sync_key
Daasity: timestamp when loaded into DB __synced_at

Items

  • Endpoint: Item
  • Update Method: UPSERT
  • Table Name: lightspeed.items
JSON Element Database Column
itemID item_id
systemSku system_sku
defaultCost default_cost
avgCost avg_cost
discountable discountable
tax tax
archived archived
itemType item_type
description description
modelYear model_year
upc upc
ean ean
createTime created_at
timeStamp updated_at
categoryID category_id
taxClassID taxclass_id
departmentID department_id
itemMatrixID item_matrix_id
Daasity: shop_id __shop_id
Daasity: account_id _account_id
Daasity: MD5(itemID + shopID + __shop_id) __sync_key
Daasity: timestamp when loaded into DB __synced_at

Item Prices

  • Endpoint: Item
  • Update Method: UPSERT
  • Table Name: lightspeed.item_prices
JSON Element Database Column
itemID item_id
amount amount
useTypeID use_type_id
useType use_type
Daasity: shop_id __shop_id
Daasity: account_id _account_id
Daasity: MD5(itemMatrixId + useTypeId + useType) __sync_key
Daasity: timestamp when loaded into DB __synced_at

Items Matrix

  • Endpoint: Item Matrix
  • Update Method: UPSERT
  • Table Name: lightspeed.items_matrix
JSON Element Database Column
itemMatrixID item_matrix_id
tax tax
description description
itemType item_type
timeStamp created_at
archived archived
Daasity: shop_id __shop_id
Daasity: account_id _account_id
Daasity: MD5(itemMatrixId + __shop_id) __sync_key
Daasity: timestamp when loaded into DB __synced_at

Item Matrix Prices

  • Endpoint: Item Matrix
  • Update Method: UPSERT
  • Table Name: lightspeed.item_matrix_prices
JSON Element Database Column
Item::Prices::ItemPrice::ItemMatrixID item_matrix_id
ItemPrice::amount amount
ItemPrice::useType use_type
ItemPrice::useTypeID use_type_id
Daasity: shop_id __shop_id
Daasity: account_id _account_id
Daasity: MD5(ItemPrice::itemMatrixId + ItemPrice::useType + ItemPrice::useTypeID + __shop_id) __sync_key
Daasity: timestamp when loaded into DB __synced_at

Inventory

JSON Element Database Column
itemShopID item_shop_id
sellable sellable
backorder backorder
qoh quantity_on_hand
itemID item_id
shopID shop_id
timeStamp created_at
Daasity: shop_id __shop_id
Daasity: account_id _account_id
Daasity: MD5(shopID + itemID + itemShopID + __shop_id) __sync_key
Daasity: timestamp when loaded into DB __synced_at

Locations

  • Endpoint: Shop
  • Update Method: UPSERT
  • Table Name: lightspeed.locations
JSON Element Database Column
name name
timeZone time_zone
shopID shop_id
contactId contact_id
timeStamp created_at
Daasity: shop_id __shop_id
Daasity: account_id _account_id
Daasity: MD5(shopID + __shop_id) __sync_key
Daasity: timestamp when loaded into DB __synced_at

Related Resources