Repository
OCA/stock-logistics-request · module folder · Try on Runboat
Module version
1.0.1
Category
Warehouse Management
Folder size
0.22 MB
License
LGPL-3
Application
No
Auto-installable
No
Website
https://github.com/OCA/stock-logistics-request
Last tracking update
2026-08-07 08:43:06
Authors
Odoo Community Association (OCA), Creu Blanca, ForgeFlow
Maintainers
Odoo Community Association (OCA), Creu Blanca, ForgeFlow
Committers
OCA-git-bot, oca-ci, Marco Colombo
Odoo dependencies
Python dependencies
None
System dependencies
None
Required by
None
Description
On most companies there are products that must be purchased often but
cannot be stored as a usual product because no consumption moves are
made. Usually, they are stored as consumables or putaway rules are
defined. In both cases, reordering rules cannot be used. This module
allows to use stock request as reordering rules for this kind of
products.

It is created following the concept of lean kanban cards.

Code Analysis

Views touched (15)
XML IDNameModelTypeStatus
product_product_form_view_kanban_card_button product.product.stock.request.kanban product.product kanban Inherits product.product_normal_form_view
product_template_form_view_bom_button product.template.stock.request.kanban product.template kanban Inherits product.product_template_only_form_view
report_kanban_label report_kanban_label ir.ui.view qweb New
report_simple_label report_simple_label ir.ui.view qweb New
stock_request_kanban_kanban_view stock.request.kanban.kanban stock.request.kanban kanban New
stock_request_kanban_search stock.request.kanban.search stock.request.kanban search New
stock_request_order_form stock.request.order.form stock.request.order form Inherits stock_request.stock_request_order_form
view_stock_inventory_kanban_form stock.inventory.kanban.form stock.inventory.kanban form New
view_stock_inventory_kanban_tree stock.inventory.kanban.tree stock.inventory.kanban list New
view_stock_request_kanban_form stock.request.kanban.form stock.request.kanban form New
view_stock_request_kanban_tree stock.request.kanban.tree stock.request.kanban list New
view_stock_request_tree stock.request.tree stock.request list Inherits stock_request.view_stock_request_tree
wizard_stock_inventory_kanban_form wizard.stock.inventory.kanban.form wizard.stock.inventory.kanban form New
wizard_stock_request_kanban_form wizard.stock.request.kanban.form wizard.stock.request.kanban form New
wizard_stock_request_order_kanban_form wizard.stock.request.order.kanban.form wizard.stock.request.order.kanban form Inherits wizard_stock_request_kanban_form
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (9)

New fields (1)
  • kanban_card_count Integer
    compute='_compute_kanban_card_count' compute_sudo=False args: '# Kanban Cards'
Public methods (1)
  • action_view_kanban_cards(self)

New fields (1)
  • kanban_card_count Integer
    compute='_compute_kanban_card_count' compute_sudo=False args: '# Kanban Cards'
Public methods (1)
  • action_view_kanban_cards(self)

New fields (9)
  • count_missing_kanbans Integer
    compute='_compute_missing_kanban' readonly=True args: 'Missing Kanbans'
  • kanban_ids Many2many → stock.request.kanban
    copy=False readonly=True relation='stock_inventory_kanban_kanban' args: 'stock.request.kanban'
  • location_ids Many2many → stock.location
    domain=[('usage', 'in', ['internal', 'transit'])] ondelete='cascade' readonly=True string='Location' args: 'stock.location'
  • missing_kanban_ids Many2many → stock.request.kanban
    compute='_compute_missing_kanban' readonly=True args: 'stock.request.kanban'
  • name Char
    copy=False readonly=True
  • product_ids Many2many → product.product
    domain=[('type', 'in', ['product', 'consu'])] ondelete='cascade' readonly=True string='Products' args: 'product.product'
  • scanned_kanban_ids Many2many → stock.request.kanban
    copy=False readonly=True relation='stock_inventory_kanban_scanned_kanban' args: 'stock.request.kanban'
  • state Selection
    copy=False default='draft' readonly=True required=True tracking=True args: [('draft', 'Draft'), ('in_progress', 'In progress'), ('finished', 'Finished'), ('closed', 'Closed'), ('cancelled', 'Cancelled')]
  • warehouse_ids Many2many → stock.warehouse
    ondelete='cascade' readonly=True string='Warehouse' args: 'stock.warehouse'
Public methods (8)
  • calculate_kanbans(self)
  • cancel(self)
  • close_inventory(self)
  • create(self, vals_list)
    @api.model_create_multi
  • finish_inventory(self)
  • print_missing_kanbans(self)
    Print the missing kanban cards in order to restore them
  • start_inventory(self)
  • to_draft(self)

New fields (1)
  • kanban_id Many2one → stock.request.kanban
    readonly=True args: 'stock.request.kanban'
Public methods (1)
  • action_scan_kanban(self)

New fields (3)
  • active Boolean
    default=True
  • image_128 Image
    related='product_id.image_128'
  • product_template_id Many2one
    related='product_id.product_tmpl_id'
Public methods (3)
  • create(self, vals_list)
    @api.model_create_multi
  • get_barcode_format(self)
    @api.model
  • search_barcode(self, barcode)
    @api.model

New fields (1)
  • inventory_kanban_id Many2one → stock.inventory.kanban
    readonly=True args: 'stock.inventory.kanban'
Public methods (2)
  • barcode_ending(self)
  • validate_kanban(self, barcode)

New fields (1)
  • stock_request_id Many2one → stock.request
    readonly=True args: 'stock.request'
Public methods (4)
  • barcode_ending(self)
  • stock_request_ending(self)
  • stock_request_kanban_values(self)
  • update_status(self)

New fields (3)
  • kanban_id Many2one → stock.request.kanban
    readonly=True args: 'stock.request.kanban'
  • status Text
    default='Start scanning' readonly=True
  • status_state Integer
    default=0 readonly=True
Public methods (3)
  • barcode_ending(self)
  • on_barcode_scanned(self, barcode)
  • validate_kanban(self, barcode)
    It must return True if the kanban is valid, False otherwise :param barcode: :return:

New fields (1)
  • order_id Many2one → stock.request.order
    required=True args: 'stock.request.order'
Public methods (4)
  • barcode_ending(self)
  • stock_request_ending(self)
  • stock_request_kanban_values(self)
  • validate_kanban(self, barcode)

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Status
Open migration PR — not merged yet for this version
CI status
checks failing
Open since
204 days ago
Last activity
98 days ago
Repository
OCA/stock-logistics-request
Pull request
[MIG] stock_request_kanban: Migration to 19.0 (#90)