E-commerce Data Ingestion
Chord can ingest data from different e-commerce systems for analysis. Two methods are available:
- Chord Ingest (preferred): a Chord-built system that will pull data from a customer's e-commerce system.
- Chord API (optional): customers can use Chord's REST API to push data from their source system. Reach out to us at [email protected] for more details.
Chord Ingest
Chord Ingest is Chord's solution for customer not using Shopify (e.g. Magento, BigCommerce, SalesForce Commerce Cloud). To get started, simply input the URL for your system and a valid API key into your Chord instance.

That's it!
Sample Data Mapping
Since different e-commerce platforms use different names for equivalent records, the table below shows how source records are mapped to Chord's data model.
Below is an example of a data mapping from Magento, a common e-commerce system, and Chord:
Product
Chord | Magento |
|---|---|
Name | name |
Slug | Combination of the name and id. |
SKU | sku |
External ID | id |
Product Type | type_id |
Variant
Chord | Magento |
|---|---|
SKU | sku |
Price | price |
External ID | id |
Order
Chord | Magento |
|---|---|
Line items | order.items[] |
Discount | order.items[].discount_* |
Tax | order.items[].tax_* |
Customer | order.customer_* |
Billing address | order.billing_address |
Shipping address | order.shipping_address |
Number | increment_id |
State | Depends on ... |
Payment state | Depends on total_due:
|
Shipment state | Depends on status:
|
Currency | base_currency_code |
Item total | subtotal |
Total | grand_total |
Adjustment total | grand_total - subtotal |
Shipment total | shipping_incl_tax |
Promo total | discount_amount |
Payment total | total_paid |
Item count | total_item_count |
Channel | chord |
Included tax total | base_subtotal_incl_tax |
External ID | id |
Line Item
Chord | Magento |
|---|---|
Quantity | qty_ordered |
Additional tax total | tax_amount |
Price | price |
External ID | item_id |
SKU | sku |
Adjustment total | additional_tax_total + promo_total |
Slug | name |
Promo total | discount_amount |
Line Item Discount
Chord | Magento |
|---|---|
Adjustable ID | line_item.id |
Amount | discount_amount |
Order ID | line_item.order.id |
External ID | "line_item.id-discount" |
Line Item Tax
Chord | Magento |
|---|---|
External ID | "line_item.id-tax" |
Adjustable ID | line_item.id |
Amount | tax_amount |
Order ID | line_item.order.id |
Payment
Chord | Magento |
|---|---|
Amount | amount_paid |
State | If amount_paid == amount_ordered, then paid; pending otherwise |
Number | "entity_id-method" |
Shipment
Chord | Magento |
|---|---|
Inventory units | shipment.items[] |
External ID | entity_id |
Number | entity_id |
State | order.shipment_state |
Cost | order.shipment_total |
Shipped At | created_at |
Inventory Unit
Chord | Magento |
|---|---|
External ID | "order_item_id-index"; where index is a counter of the number of inventory units listed under the shipment. |
SKU | sku |
Variant ID | Query the Chord database for the variant by sku and use the id |
User
Chord | Magento |
|---|---|
Name | "customer_firstname customer_lastname" |
customer_email |
Address
Chord | Magento |
|---|---|
City | city |
External ID | entity_id |
Firstname | firstname |
Lastname | lastname |
Address 1 | street.first |
Address 2 | street.second |
Zipcode | postcode |
Phone | telephone |
State | Query the Chord database for the region_code and return the state ID |
Country | Query the Chord database where iso: country_id and return the country ID |
How It Works
When a product is synced, all associated variants are also synced.
When an order is synced, all associated records are also synced:
- Line items
- Discount
- Tax
- Shipments
- Inventory units
- Customer
- Billing address
- Shipping address
- Payments
Chord replicates data 1-1 from the source system, performing the minimum transformations necessary for successful replication.
Chord syncs data daily from a customer's e-commerce system:
- Product sync: sync all products and variants in the customer's catalogue.
- Order sync: sync completed orders and associated records updated in the previous 24 hours.