Skip to content
TAQNIX
Odoo ModulesWordPress PluginsWordPress ThemesShopify ThemesApp TemplatesScripts & UtilitiesBlogSell on TAQNIX

Stock Card (Kardex) & Inventory Valuation at a Date for Odoo 19 documentation

A guide to the stock card and the inventory valuation at a date: choosing the scope, reading the card, valuation by costing method, printing and exporting, and the limits.

Documents version 1.0.0Updated Oct 23, 2026

Start here

In plain words: An auditor asks what you had in stock on 30 September, and why the count of a product moved. Odoo shows today's stock; to answer, you dig through moves. Stock Card & Inventory Valuation at a Date gives you two reports: the stock card (kardex) of a product, with its opening balance, every receipt, delivery, transfer and adjustment and a running balance; and the inventory valuation on any past date: quantity, average cost and value of each product.
The stock card of a product, the inventory valued on a past date, and the printed card.
The stock card of a product, the inventory valued on a past date, and the printed card.
Tip: Both reports open on screen, print in PDF and export to Excel.

What you get

FeatureWhat it does
Stock cardOpening balance, each movement with its date, reference, partner and locations, a running balance, the totals in and out and the closing balance.
Any scopeOne product, several, or a whole category; one warehouse, some locations, or the whole company.
Operations namedReceipt, delivery, transfer between warehouses, inventory adjustment, manufacturing, transit.
Valuation on a dateQuantity, average cost and value of every product on any past date, by category, with the total.
Odoo's own costingStandard price, average cost (AVCO) and FIFO, as your categories are set.
Print and exportPDF and Excel for both reports.
ArabicEverything is translated and works right to left.

Requirements

ItemDetails
Odoo19.0 (Community or Enterprise)
Apps neededInventory with valuation (stock_account)
LicenseOPL-1 (Odoo Proprietary License v1.0)

Install

  1. Unzip the package. Inside is taqnix_stock_card.zip; unzip it to get the folder taqnix_stock_card.
  2. Copy the folder into one of the addons_path folders of your Odoo server and restart Odoo.
  3. Log in as an administrator, activate Developer mode, open Apps and press Update Apps List.
  4. Remove the “Apps” filter, search Stock Card and press Install.
# or from the command line
./odoo-bin -c odoo.conf -d YOUR_DATABASE -i taqnix_stock_card --stop-after-init

The stock card

In plain words: Open Inventory → Reporting → Stock Card. Choose what, where and when, and press Show the stock card.
Choose the products or a category, the warehouse or locations, and the period.
Choose the products or a category, the warehouse or locations, and the period.
FieldMeaning
ProductsOne or more storable products.
Product categoryInstead of products: all the storable products of the category and its sub-categories.
WarehouseAll the internal locations of this warehouse.
LocationsOr choose locations (their sub-locations are included). With neither, the whole company.
PeriodFrom and to, in your time zone. The opening balance is the stock at the start of the first day.
The card of a keyboard: opening balance, receipts, deliveries and an adjustment, with the balance after each.
The card of a keyboard: opening balance, receipts, deliveries and an adjustment, with the balance after each.
In plain words: Each row shows the date, the reference of the transfer, the partner, the operation, where it came from and went to, what came in, what went out and the balance. The opening and closing balances are in bold.

What is on the card

CaseOn the card?
Receipts, deliveries, adjustments, manufacturingYes: done moves in or out of the selected locations.
A transfer between two warehousesFor one warehouse: out of one, into the other, named Transfer. For the whole company: not shown, the stock did not change.
A move between two locations of the selected warehouseNo: the stock did not change.
Reserved or waiting movesNo: only moves that are done.
Products with no stock and no move in the periodNot listed.

Inventory valuation on a date

In plain words: Open Inventory → Reporting → Valuation at a Date, choose the date (and a category, if you wish) and press Show the valuation.
The stock of three products on 3 October, with the quantity, average cost and value of each.
The stock of three products on 3 October, with the quantity, average cost and value of each.
The same products today.
The same products today.
Costing methodHow the value is found
Standard priceThe standard price at that date times the quantity at that date.
Average cost (AVCO)Odoo's average cost computed up to that date.
FIFOThe layers still in stock: each receipt is a layer at its cost and each delivery uses the oldest layers first.
Tip: Tick Include products without stock to list the products that had none on that date.
In plain words: Both screens have Print (PDF) and Export to Excel.
The printed stock card.
The printed stock card.

Who can use it

In plain words: Inventory users and managers. The reports are created and thrown away by Odoo; nothing is kept in your database after a while.

Arabic and right to left

The stock card in an Arabic interface.
The stock card in an Arabic interface.

Limits

LimitDetail
No value on the stock cardThe card is in quantities. The value is in the valuation report.
Valuation is company-wideThe valuation covers all the stock of the company, not one warehouse.
Moves are placed by their dateA move is counted on the date written on it (the validation date unless you changed it).
Lot-valued productsValued by lot with Odoo's own figure for the date.
SizeUp to 1000 products at a time. Choose a smaller category for more.

For developers

In plain words: Skip this chapter if you only use the module.
ItemDetails
Modelstaqnix.stock.card (with taqnix.stock.card.line) and taqnix.stock.value (with taqnix.stock.value.line), all transient.
Methodsaction_compute, action_print, action_export.
card = env['taqnix.stock.card'].create({
    'product_ids': [(6, 0, product.ids)], 'warehouse_id': warehouse.id,
    'date_from': '2026-01-01', 'date_to': '2026-09-30',
})
card.action_compute()
for line in card.line_ids:
    print(line.date, line.label, line.qty_in, line.qty_out, line.balance)

Troubleshooting

ProblemWhat to do
“There is no stock and no movement for these products”Widen the period, or check the products are storable and the warehouse is the right one.
A move is missingOnly done moves count, and only those that go in or out of the selected locations.
The value of a product is zeroCheck its category's costing method and that its receipts have a cost (purchase price, or the standard price).
The date looks one day offDates follow your user time zone (Preferences).
Too many productsChoose a category, or fewer products.

Updating and removing

Replace the folder with the new version, restart Odoo and run -u taqnix_stock_card. The module stores nothing permanent; removing it leaves your stock untouched.

Support

Installation help and bug fixes are included for 6 months, with lifetime updates. Contact us through the marketplace page where you bought the module or write to support@taqnix.com with your Odoo version and a screenshot.