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.
Tip: Both reports open on screen, print in PDF and export to Excel.
What you get
| Feature | What it does |
|---|---|
| Stock card | Opening balance, each movement with its date, reference, partner and locations, a running balance, the totals in and out and the closing balance. |
| Any scope | One product, several, or a whole category; one warehouse, some locations, or the whole company. |
| Operations named | Receipt, delivery, transfer between warehouses, inventory adjustment, manufacturing, transit. |
| Valuation on a date | Quantity, average cost and value of every product on any past date, by category, with the total. |
| Odoo's own costing | Standard price, average cost (AVCO) and FIFO, as your categories are set. |
| Print and export | PDF and Excel for both reports. |
| Arabic | Everything is translated and works right to left. |
Requirements
| Item | Details |
|---|---|
| Odoo | 19.0 (Community or Enterprise) |
| Apps needed | Inventory with valuation (stock_account) |
| License | OPL-1 (Odoo Proprietary License v1.0) |
Install
- Unzip the package. Inside is
taqnix_stock_card.zip; unzip it to get the foldertaqnix_stock_card. - Copy the folder into one of the
addons_pathfolders of your Odoo server and restart Odoo. - Log in as an administrator, activate Developer mode, open Apps and press Update Apps List.
- 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.
| Field | Meaning |
|---|---|
| Products | One or more storable products. |
| Product category | Instead of products: all the storable products of the category and its sub-categories. |
| Warehouse | All the internal locations of this warehouse. |
| Locations | Or choose locations (their sub-locations are included). With neither, the whole company. |
| Period | From and to, in your time zone. The opening balance is the stock at the start of the first day. |
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
| Case | On the card? |
|---|---|
| Receipts, deliveries, adjustments, manufacturing | Yes: done moves in or out of the selected locations. |
| A transfer between two warehouses | For 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 warehouse | No: the stock did not change. |
| Reserved or waiting moves | No: only moves that are done. |
| Products with no stock and no move in the period | Not 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.
| Costing method | How the value is found |
|---|---|
| Standard price | The standard price at that date times the quantity at that date. |
| Average cost (AVCO) | Odoo's average cost computed up to that date. |
| FIFO | The 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.
Print and export
In plain words: Both screens have Print (PDF) and Export to Excel.
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
Limits
| Limit | Detail |
|---|---|
| No value on the stock card | The card is in quantities. The value is in the valuation report. |
| Valuation is company-wide | The valuation covers all the stock of the company, not one warehouse. |
| Moves are placed by their date | A move is counted on the date written on it (the validation date unless you changed it). |
| Lot-valued products | Valued by lot with Odoo's own figure for the date. |
| Size | Up 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.
| Item | Details |
|---|---|
| Models | taqnix.stock.card (with taqnix.stock.card.line) and taqnix.stock.value (with taqnix.stock.value.line), all transient. |
| Methods | action_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
| Problem | What 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 missing | Only done moves count, and only those that go in or out of the selected locations. |
| The value of a product is zero | Check its category's costing method and that its receipts have a cost (purchase price, or the standard price). |
| The date looks one day off | Dates follow your user time zone (Preferences). |
| Too many products | Choose 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.