> For the complete documentation index, see [llms.txt](https://learn.moselle.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://learn.moselle.io/getting-started/onboarding/how-your-data-works-in-moselle.md).

# How Your Data Works in Moselle

{% hint style="info" %}
**Quick Answer:** Moselle pulls data from your connected integrations (Shopify, Amazon, 3PL, QuickBooks, SPS Commerce) on a scheduled sync cadence. If numbers look slightly behind, sync lag is usually the cause. Check **Settings > Integrations** for last sync times before escalating.
{% endhint %}

Understanding where your numbers come from — and why they sometimes look different from what you expect — is one of the most important things you can know as a Moselle user. This page explains how Moselle pulls data from your integrations, what sync lag is normal, and what to do when something looks off.

***

## Where Does Moselle Get Its Data?

**Moselle is** a read-only aggregation layer that connects to your sales channels, warehouses, and financial systems to build a single, live view of your business. It never modifies or writes back to any of your source systems.

Here's what each integration contributes:

* **Shopify** — DTC orders, returns, and real-time inventory adjustments. Includes all fulfilled and unfulfilled orders, refunds, and manual inventory changes made directly in Shopify.
* **Amazon (FBA / FBM)** — Marketplace sales and FBA inventory levels. FBA inventory reflects what Amazon reports, which may differ slightly from your internal purchase records.
* **3PL / Warehouse (via Trackstar)** — Daily inventory snapshots from your fulfillment partner. Trackstar acts as a middleware layer connecting Moselle to supported 3PLs.
* **QuickBooks Online** — Financial actuals and cost of goods sold (COGS) data.
* **SPS Commerce** — EDI-based retailer and wholesale purchase orders.

{% hint style="info" %}
Moselle is read-only. Your Shopify, Amazon, and 3PL data is never modified by Moselle.
{% endhint %}

***

## What Is the Sync Schedule for Each Integration?

Each integration syncs on its own schedule. Use this table as your reference for what's normal:

| Integration        | Sync Frequency     | Expected Lag   | What's Synced                          |
| ------------------ | ------------------ | -------------- | -------------------------------------- |
| Shopify            | Every 15–30 min    | Up to 1 hour   | Orders, returns, inventory adjustments |
| Amazon (FBA / FBM) | Every 1–2 hours    | Up to 4 hours  | Sales orders, FBA inventory levels     |
| 3PL / Trackstar    | Daily or on-push   | Up to 24 hours | Warehouse inventory snapshots          |
| QuickBooks Online  | Daily              | Up to 24 hours | COGS, financial actuals                |
| SPS Commerce       | File-based (daily) | Up to 48 hours | EDI orders, retailer POs               |

{% hint style="warning" %}
**Sync lag is normal.** If your data looks slightly behind, check the table above before assuming there's a bug. If lag exceeds 2× the expected window, that's worth investigating.
{% endhint %}

***

## What Does Syncing Look Like Inside Moselle?

When Moselle is actively syncing data, you may notice:

* A **"Last synced"** timestamp in your Sales, Inventory, or Channel views
* Slight discrepancies between what you see in Moselle and what's live in Shopify — these typically resolve within the next sync cycle
* The Forecast and Replenishment pages refreshing after a sync completes — this is expected behavior as Moselle recalculates projections with fresh data

**To check your last sync time:**

{% stepper %}
{% step %}

### Go to Settings

Navigate to **Settings > Integrations** in the left sidebar.
{% endstep %}

{% step %}

### Review Each Integration's Status

Each connected integration shows its last successful sync timestamp. A green indicator means the connection is healthy.
{% endstep %}

{% step %}

### Check for Errors

If a sync is failing, you'll see an error indicator next to the affected integration. Re-authenticate the connection if prompted.
{% endstep %}
{% endstepper %}

***

## What Should I Do If My Data Looks Wrong?

Run through this self-serve triage checklist before contacting support. Most data discrepancies have a straightforward explanation.

| What You're Seeing                            | Likely Cause                                  | What To Do                                                              |
| --------------------------------------------- | --------------------------------------------- | ----------------------------------------------------------------------- |
| Numbers are lower than expected               | Sync lag — data hasn't arrived yet            | Wait for the next sync window, then refresh                             |
| Data hasn't updated in 24+ hours              | Integration connection issue or token expired | Check Settings > Integrations for errors; re-authenticate if prompted   |
| A specific channel shows no recent sales      | Channel may be disconnected or mapping is off | Go to Settings > Channels and confirm the channel is linked correctly   |
| Inventory is way off from 3PL actuals         | 3PL sync hasn't run yet today                 | Check last sync time in Moselle; if over 24 hrs, contact support        |
| Sales history has a gap (e.g., missing March) | Backfill was not completed at onboarding      | Contact your CSM to run a targeted backfill for the affected date range |

### Quick Triage Checklist

Run through these steps in order before escalating:

* [ ] Check the sync timestamp — is the data simply waiting for the next sync window?
* [ ] Check **Settings > Integrations** — are all connections showing green / no errors?
* [ ] Check **Settings > Channels** — are all sales channels properly linked?
* [ ] Has data been consistent before today? If a sudden drop appeared, check whether a disconnect event happened around that date.
* [ ] Is the discrepancy limited to one channel or all channels? Isolated = likely an integration issue. All channels = may be a platform-side issue.

{% hint style="danger" %}
**When to contact support:** If you've completed the checklist above and data is still incorrect after 24 hours, reach out via the **Report Issue** button in the platform or contact your CSM directly. Include your integration name, the affected date range, and what you expected to see vs. what you're seeing.
{% endhint %}

***

## What Are Historical Data Backfills?

When you first joined Moselle, the team completed a **historical data backfill** — pulling in past sales and inventory records so your forecasts have a strong baseline from day one.

If you notice a gap in a specific time period (for example, a full month of missing sales), this is typically a backfill gap rather than an ongoing sync issue.

**Common backfill scenarios:**

* A channel was connected after onboarding — no historical data was pulled for it
* An integration was disconnected and reconnected — sales during the disconnected window may be missing
* A new SKU was added after the original backfill — no historical data exists for that product

{% hint style="success" %}
**Backfill gaps are fixable.** Contact your CSM with the affected channel, date range, and integration name. Backfills are typically completed within 1–2 business days.
{% endhint %}

***

## Ask Mo About Your Data

Mo can help you investigate data questions directly — cross-referencing your connected integrations, last sync times, and known data patterns to help determine whether you're looking at sync lag, a disconnection event, or something that needs escalation.

Try these prompts:

* *"My Shopify sales look lower than expected today — is this a sync issue or are my numbers actually down?"*
* *"When was the last time my Amazon data was updated in Moselle?"*
* *"My inventory for \[SKU] doesn't match what my 3PL is showing — can you help me figure out why?"*
* *"There's a gap in my sales data for March — what could have caused this?"*

***

## Related Guides

{% content-ref url="/pages/iSRNCSGVWQanaAuYnC4i" %}
[Setup Integrations](/getting-started/onboarding/setup-integrations.md)
{% endcontent-ref %}

{% content-ref url="/pages/XeG8X01ydINzo9HZqLlY" %}
[Setting Up Channels](/getting-started/onboarding/setting-up-channels.md)
{% endcontent-ref %}

{% content-ref url="/pages/MSPVU3BYQtL9A3tpxneV" %}
[Manual Data Uploads](/getting-started/onboarding/manual-data-uploads.md)
{% endcontent-ref %}
