Odoo 19.0 Community · Persistent

stock.quant: fields, relations and API

The stock.quant model ("Quants") is a persistent model declared by the Inventory module, then extended by 4 other modules. It exposes 43 fields, 37 of them declared directly on the model; 8 fields from other models point to it. Below you will find every field with its technical name, type, label and relations, followed by an Odoo 19 JSON-2 API call.

Model identity

Technical name
stock.quant
Label
Quants
Type
Persistent (models.Model)
SQL table
stock_quant
Origin module
Inventory (stock)
Extended by
stock_account, mrp, product_expiry, mrp_subcontracting
Display field (_rec_name)
product_id

Model fields

37 own fields, 0 inherited from mixins and 6 automatic ORM fields. Click a name to get a direct link to that field.

43 of 43 fields shown

Technical nameLabelTypeDetails
accounting_dateAccounting Date

Date at which the accounting entries will be created in case of automated inventory valuation. If empty, the inventory date will be used.

date

added by WMS Accounting (stock_account)

available_quantityAvailable Quantity

On hand quantity which hasn't been reserved on a transfer and is still fresh, in the default unit of measure of the product

float
computed
company_idCompanymany2one
read-only

related: location_id.company_id

cost_methodCost Methodselection
computed

Values: standard (Standard Price), fifo (First In First Out (FIFO)), average (Average Cost (AVCO))

added by WMS Accounting (stock_account)

currency_idCurrencymany2one

related: company_id.currency_id

added by WMS Accounting (stock_account)

cyclic_inventory_frequencyCyclic Inventory Frequencyinteger

related: location_id.cyclic_inventory_frequency

expiration_dateExpiration Datedatetime

related: lot_id.expiration_date

added by Products Expiration Date (product_expiry)

in_dateIncoming Datedatetime
requiredread-only
inventory_dateScheduled

Next date the On Hand Quantity should be counted.

date
computed, stored
inventory_diff_quantityDifference

Indicates the gap between the product's theoretical quantity and its counted quantity.

float
read-onlycomputed, stored
inventory_quantityCounted

The product's counted quantity.

float
inventory_quantity_auto_applyInventoried Quantityfloat
computed
inventory_quantity_setInventory Quantity Setboolean
computed, stored
is_favoriteIs Favoriteboolean

related: product_tmpl_id.is_favorite

is_outdatedQuantity has been moved since last countboolean
computed
is_subcontractIs Subcontractboolean

added by MRP Subcontracting (mrp_subcontracting)

last_count_dateLast Count Date

Last time the Quantity was Updated

date
computed
location_idLocationmany2one
required
lot_idLot/Serial Numbermany2one
lot_propertiesLot Propertiesproperties
read-only

related: lot_id.lot_properties

on_handOn Handboolean
owner_idOwner

This is the owner of the quant

many2one
package_idPackage

The package containing this quant

many2one
product_categ_idProduct Categmany2one

related: product_tmpl_id.categ_id

product_idProductmany2one
required
product_tmpl_idProduct Templatemany2one

related: product_id.product_tmpl_id

product_uom_idUnitmany2one
read-only

related: product_id.uom_id

quantityQuantity

Quantity of products in this quant, in the default unit of measure of the product

float
read-only
removal_dateRemoval Datedatetime

related: lot_id.removal_date

added by Products Expiration Date (product_expiry)

reserved_quantityReserved Quantity

Quantity of reserved products in this quant, in the default unit of measure of the product

float
requiredread-only
sn_duplicatedDuplicated Serial Number

If the same SN is in another Quant

boolean
computed
storage_category_idStorage Categorymany2one

related: location_id.storage_category_id

trackingTrackingselection
read-only

related: product_id.tracking

use_expiration_dateUse Expiration Dateboolean

related: product_id.use_expiration_date

added by Products Expiration Date (product_expiry)

user_idAssigned To

User assigned to do product count.

many2one
valueValuemonetary
computed

added by WMS Accounting (stock_account)

warehouse_idWarehousemany2one

related: location_id.warehouse_id

create_dateCreated ondatetime
read-onlyautomatic
create_uidCreated bymany2one
read-onlyautomatic
display_nameDisplay Namechar
read-onlycomputedautomatic
idIDinteger
read-onlyautomatic
write_dateLast Updated ondatetime
read-onlyautomatic
write_uidLast Updated bymany2one
read-onlyautomatic

Relations

Models linked from this model

Fields of other models pointing here

Reading this model through the API

Odoo 19 JSON-2 API call reading the first five records with real fields of the model. Replace the instance, database and API key with your own.

curl
curl -X POST "https://your-instance.odoo.com/json/2/stock.quant/search_read" \
  -H "Authorization: bearer $ODOO_API_KEY" \
  -H "X-Odoo-Database: your-db" \
  -H "Content-Type: application/json" \
  -d '{"domain":[],"fields":["product_id","in_date","location_id","reserved_quantity","company_id"],"limit":5}'
Python (requests)
import requests

BASE_URL = "https://your-instance.odoo.com/json/2"
headers = {"Authorization": f"bearer {API_KEY}", "X-Odoo-Database": "your-db"}

res = requests.post(
    f"{BASE_URL}/stock.quant/search_read",
    headers=headers,
    json={"domain": [], "fields": ["product_id","in_date","location_id","reserved_quantity","company_id"], "limit": 5},
)
res.raise_for_status()
print(res.json())
  • External API access requires Odoo's Custom plan.
  • XML-RPC and JSON-RPC will be removed in Odoo 22 (fall 2028): use JSON-2.
  • The access rights and record rules of the key's user apply.

Cite this tool

Writing a tutorial, internal documentation or a forum answer? Copy this link to send your readers to the up-to-date reference.

<a href="https://aidoo.ai/en/outils/explorateur-modeles-odoo/stock-quant">stock.quant (Odoo 19.0)</a>

Sources

Data verified on September 23, 2026 · Odoo 19.0 Community

Have an Odoo project, or want to put your ERP to work with AI? Let's talk

Implementation, custom module development, connecting Claude or ChatGPT to your data: tell us about your context and we will reply within 24 business hours.