---
title: Stock Documents
slug: devdocs/stock-documents
docTags: 
createdAt: 2026-10-22T08:35:59.188Z
---

These documents change the stock. They all use the same filters and the same paging. See **Request Structure**.

## Transfers

Goods moved between warehouses. `withPriceChanges` returns the transfers that changed the price.

**Query**

```graphql
query GetTransfers($organization: Guid, $dateBegin: DateTime, $dateEnd: DateTime, $first: Int, $after: String, $withPriceChanges: Boolean) {
  documents {
    transfers(organization: $organization, dateBegin: $dateBegin, dateEnd: $dateEnd, first: $first, after: $after, withPriceChanges: $withPriceChanges) {
      totalCount
      pageInfo {
        hasNextPage
        endCursor
      }
      items {
        key
        date
        createdOn
        status
        source { key name }
        destination { key name }
        products {
          quantity
          costAmount
          sourceAmount
          destinationAmount
          product { key name code }
        }
      }
    }
  }
}
```

**Variables**

```json
{
  "organization": "<organization key>",
  "dateBegin": "2026-10-01T00:00:00",
  "dateEnd": "2026-10-31T23:59:59",
  "first": 30,
  "after": null,
  "withPriceChanges": false
}
```

**cURL**

```bash
curl --location 'https://sandbox.expressoft.eu/connect/api/interopgql' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <token>' \
--data '{"query": "query GetTransfers($organization: Guid, $dateBegin: DateTime, $dateEnd: DateTime, $first: Int, $after: String, $withPriceChanges: Boolean) { documents { transfers(organization: $organization, dateBegin: $dateBegin, dateEnd: $dateEnd, first: $first, after: $after, withPriceChanges: $withPriceChanges) { totalCount pageInfo { hasNextPage endCursor } items { key date createdOn status source { key name } destination { key name } products { quantity costAmount sourceAmount destinationAmount product { key name code } } } } } }", "variables": {"organization": "<organization key>", "dateBegin": "2026-10-01T00:00:00", "dateEnd": "2026-10-31T23:59:59", "first": 30, "after": null, "withPriceChanges": false}}'
```

**Response**

```json
{
  "data": {
    "documents": {
      "transfers": {
        "totalCount": 1,
        "pageInfo": {
          "hasNextPage": false,
          "endCursor": "MQ=="
        },
        "items": [
          {
            "key": 3001,
            "date": "2026-10-07T00:00:00",
            "status": "Finalized",
            "createdOn": "2026-10-07T08:00:00",
            "source": {
              "key": "00000000-0000-0000-0000-000000000004",
              "name": "Main warehouse"
            },
            "destination": {
              "key": "00000000-0000-0000-0000-000000000014",
              "name": "Store warehouse"
            },
            "products": [
              {
                "quantity": 3.0,
                "costAmount": 30.0,
                "sourceAmount": 30.0,
                "destinationAmount": 30.0,
                "product": {
                  "key": "00000000-0000-0000-0000-000000000003",
                  "name": "Flour 1 kg",
                  "code": "P001"
                }
              }
            ]
          }
        ]
      }
    }
  }
}
```

## Consumption notes

The consumption of materials, for example for internal use or waste. `consumptionType` comes from `miscellaneous.consumptionTypes`.

**Query**

```graphql
query GetConsumptionNotes($organization: Guid, $dateBegin: DateTime, $dateEnd: DateTime, $first: Int, $after: String) {
  documents {
    consumptionNotes(organization: $organization, dateBegin: $dateBegin, dateEnd: $dateEnd, first: $first, after: $after) {
      totalCount
      pageInfo {
        hasNextPage
        endCursor
      }
      items {
        key
        date
        createdOn
        status
        warehouse { key name }
        destination
        destinationName
        consumptionType
        consumptionTypeName
        products {
          lineNumber
          quantity
          amount
          salePrice
          product { key name code }
          warehouse { key name }
        }
      }
    }
  }
}
```

**Variables**

```json
{
  "organization": "<organization key>",
  "dateBegin": "2026-10-01T00:00:00",
  "dateEnd": "2026-10-31T23:59:59",
  "first": 30,
  "after": null
}
```

**cURL**

```bash
curl --location 'https://sandbox.expressoft.eu/connect/api/interopgql' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <token>' \
--data '{"query": "query GetConsumptionNotes($organization: Guid, $dateBegin: DateTime, $dateEnd: DateTime, $first: Int, $after: String) { documents { consumptionNotes(organization: $organization, dateBegin: $dateBegin, dateEnd: $dateEnd, first: $first, after: $after) { totalCount pageInfo { hasNextPage endCursor } items { key date createdOn status warehouse { key name } destination destinationName consumptionType consumptionTypeName products { lineNumber quantity amount salePrice product { key name code } warehouse { key name } } } } } }", "variables": {"organization": "<organization key>", "dateBegin": "2026-10-01T00:00:00", "dateEnd": "2026-10-31T23:59:59", "first": 30, "after": null}}'
```

**Response**

```json
{
  "data": {
    "documents": {
      "consumptionNotes": {
        "totalCount": 1,
        "pageInfo": {
          "hasNextPage": false,
          "endCursor": "MQ=="
        },
        "items": [
          {
            "key": 3002,
            "date": "2026-10-07T00:00:00",
            "status": "Finalized",
            "createdOn": "2026-10-07T09:00:00",
            "warehouse": {
              "key": "00000000-0000-0000-0000-000000000004",
              "name": "Main warehouse"
            },
            "destination": 1,
            "destinationName": "Kitchen",
            "consumptionType": 1,
            "consumptionTypeName": "Internal consumption",
            "products": [
              {
                "lineNumber": 1,
                "quantity": 2.0,
                "amount": 20.0,
                "salePrice": null,
                "product": {
                  "key": "00000000-0000-0000-0000-000000000003",
                  "name": "Flour 1 kg",
                  "code": "P001"
                },
                "warehouse": {
                  "key": "00000000-0000-0000-0000-000000000004",
                  "name": "Main warehouse"
                }
              }
            ]
          }
        ]
      }
    }
  }
}
```

## Production notes

The products made from raw materials.

**Query**

```graphql
query GetProductionNotes($organization: Guid, $dateBegin: DateTime, $dateEnd: DateTime, $first: Int, $after: String) {
  documents {
    productionNotes(organization: $organization, dateBegin: $dateBegin, dateEnd: $dateEnd, first: $first, after: $after) {
      totalCount
      pageInfo {
        hasNextPage
        endCursor
      }
      items {
        key
        date
        status
        warehouse { key name }
        products {
          quantity
          amount
          product { key name code }
        }
      }
    }
  }
}
```

**Variables**

```json
{
  "organization": "<organization key>",
  "dateBegin": "2026-10-01T00:00:00",
  "dateEnd": "2026-10-31T23:59:59",
  "first": 30,
  "after": null
}
```

**cURL**

```bash
curl --location 'https://sandbox.expressoft.eu/connect/api/interopgql' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <token>' \
--data '{"query": "query GetProductionNotes($organization: Guid, $dateBegin: DateTime, $dateEnd: DateTime, $first: Int, $after: String) { documents { productionNotes(organization: $organization, dateBegin: $dateBegin, dateEnd: $dateEnd, first: $first, after: $after) { totalCount pageInfo { hasNextPage endCursor } items { key date status warehouse { key name } products { quantity amount product { key name code } } } } } }", "variables": {"organization": "<organization key>", "dateBegin": "2026-10-01T00:00:00", "dateEnd": "2026-10-31T23:59:59", "first": 30, "after": null}}'
```

**Response**

```json
{
  "data": {
    "documents": {
      "productionNotes": {
        "totalCount": 1,
        "pageInfo": {
          "hasNextPage": false,
          "endCursor": "MQ=="
        },
        "items": [
          {
            "key": 3003,
            "date": "2026-10-07T00:00:00",
            "status": "Finalized",
            "warehouse": {
              "key": "00000000-0000-0000-0000-000000000004",
              "name": "Main warehouse"
            },
            "products": [
              {
                "quantity": 10.0,
                "amount": 55.0,
                "product": {
                  "key": "00000000-0000-0000-0000-000000000003",
                  "name": "Flour 1 kg",
                  "code": "P001"
                }
              }
            ]
          }
        ]
      }
    }
  }
}
```

## Inventory adjustments

The stock corrections found at the inventory. Filter by `warehouse` to read one warehouse.

**Query**

```graphql
query GetInventoryAdjustments($organization: Guid, $dateBegin: DateTime, $dateEnd: DateTime, $first: Int, $after: String, $warehouse: Guid) {
  documents {
    inventoryAdjustments(organization: $organization, dateBegin: $dateBegin, dateEnd: $dateEnd, first: $first, after: $after, warehouse: $warehouse) {
      totalCount
      pageInfo {
        hasNextPage
        endCursor
      }
      items {
        key
        date
        status
        warehouse { key name }
        products {
          quantity
          amount
          salePrice
          product { key name code }
        }
      }
    }
  }
}
```

**Variables**

```json
{
  "organization": "<organization key>",
  "dateBegin": "2026-10-01T00:00:00",
  "dateEnd": "2026-10-31T23:59:59",
  "first": 30,
  "after": null,
  "warehouse": "<warehouse key>"
}
```

**cURL**

```bash
curl --location 'https://sandbox.expressoft.eu/connect/api/interopgql' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <token>' \
--data '{"query": "query GetInventoryAdjustments($organization: Guid, $dateBegin: DateTime, $dateEnd: DateTime, $first: Int, $after: String, $warehouse: Guid) { documents { inventoryAdjustments(organization: $organization, dateBegin: $dateBegin, dateEnd: $dateEnd, first: $first, after: $after, warehouse: $warehouse) { totalCount pageInfo { hasNextPage endCursor } items { key date status warehouse { key name } products { quantity amount salePrice product { key name code } } } } } }", "variables": {"organization": "<organization key>", "dateBegin": "2026-10-01T00:00:00", "dateEnd": "2026-10-31T23:59:59", "first": 30, "after": null, "warehouse": "<warehouse key>"}}'
```

**Response**

```json
{
  "data": {
    "documents": {
      "inventoryAdjustments": {
        "totalCount": 1,
        "pageInfo": {
          "hasNextPage": false,
          "endCursor": "MQ=="
        },
        "items": [
          {
            "key": 3004,
            "date": "2026-10-07T00:00:00",
            "status": "Finalized",
            "warehouse": {
              "key": "00000000-0000-0000-0000-000000000004",
              "name": "Main warehouse"
            },
            "products": [
              {
                "quantity": -1.0,
                "amount": -10.0,
                "salePrice": null,
                "product": {
                  "key": "00000000-0000-0000-0000-000000000003",
                  "name": "Flour 1 kg",
                  "code": "P001"
                }
              }
            ]
          }
        ]
      }
    }
  }
}
```

:::BlockQuote
ℹ️ **INFO**
Every stock document also has `accountingNotes`, and its product lines have account fields. See **Accounting Notes and Accounts**.
:::

