> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ekho.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Import and sync

> Get inventory in, and decide which source wins when they disagree.

## Your options

<CardGroup cols={3}>
  <Card title="DMS sync" icon="database">
    Automatic and authoritative. The main path.
  </Card>

  <Card title="Website scrape" icon="globe">
    Enriches DMS data with better photos and copy.
  </Card>

  <Card title="File import" icon="file-csv">
    CSV by portal upload or FTP.
  </Card>
</CardGroup>

## DMS sync

Configured in your DMS settings. [Lightspeed](/transaction-engine/integrations/lightspeed-dms) has a direct integration; other providers vary, so confirm coverage with your implementation contact.

Sync runs automatically. You can also **trigger a sync manually** when you have just made changes in your DMS and do not want to wait.

## Website scrape

Add your website and inventory page URLs and Ekho reads your listings to fill in richer content: photos, descriptions, and features.

Worth connecting even with a solid DMS, because your website usually has the better marketing content.

## File import

<Tabs>
  <Tab title="Admin Portal upload">
    Upload a CSV directly in the portal. Good for one-off batches and for correcting a set of units.

    **View recent imports** shows what happened, so you can confirm a file landed and see any rows that failed.
  </Tab>

  <Tab title="FTP">
    For recurring automated drops. Ekho picks up files you place on the FTP location and processes them on a schedule.

    Use this if your DMS has no integration but can export on a schedule.
  </Tab>
</Tabs>

A CSV format reference is available in the portal's import screen. Match the expected columns or rows will be rejected.

## Precedence: deciding which source wins

When your DMS says one price and your website says another, precedence resolves it. It is set **per field group**, not globally, which is the important part.

Go to **Resource settings → Inventory → Field group precedence**.

<Tip>
  The usual right answer: take **money and identity** from your DMS (price, VIN, stock number, availability) and **content** from your website (photos, descriptions, features). Your DMS is authoritative about what you own; your website is usually better at describing it.
</Tip>

Some fields have their own independent precedence. **Dealer Retail Price** is separate from **Retail Price**, so you can source them differently. Dealer Retail Price defaults to **Website**.

## Overriding a synced value

You can override any synced field directly in the vehicle drawer, which is the right move for a one-off error.

<Warning>
  An override is a local exception, so if the underlying source keeps sending the wrong value you will be fixing it repeatedly. Correct it at source when it is a pattern rather than a one-off.
</Warning>
