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

# Overview

> How the product feed works

## What It Is

The Product Feed is the input Algure uses to update your catalog:

* Products
* Stock
* Product locations
* Product lots (when enabled)

## How to Think About Each Upload

Treat every upload as a **current-state snapshot**, not a partial delta.

Your feed should represent what is currently true in your operation for the scope you manage in Algure.

## Processing Model

Feed processing is asynchronous:

<Steps>
  <Step title="Receive the feed">
    Algure receives an uploaded file or fetches it from a configured URL.
  </Step>

  <Step title="Parse the file">
    The file is parsed using supported feed format rules.
  </Step>

  <Step title="Validate rows">
    Each row is validated against required columns and field constraints.
  </Step>

  <Step title="Process valid rows">
    Valid rows are upserted into catalog and stock entities.
  </Step>

  <Step title="Log invalid rows">
    Invalid rows are skipped and recorded as import errors.
  </Step>
</Steps>

## Validation Scope

Algure validates:

* File can be parsed with supported format rules
* Required columns and field constraints per row
* Warehouse code exists in the organization

Rows that fail validation are skipped and logged. Valid rows continue processing.

## Important Data Behavior

* `stock` accepts `0` and higher, but you should only provide those products in stock
* `lot` is optional and only applied where lot/batch handling is available
* Stable identifiers are critical: `code`, `warehouseCode`, `locationCode`
