Skip to Content
Catalog / POS · Point of Sale / POS Progressive Catalog Loader
POS Progressive Catalog Loader
pos_progressive_catalog_loader

POS Progressive Catalog Loader

Open the POS instantly, then stream the full product and customer catalog in the background

v19.0.1.0.0 Abdelfatah Mohammad / AlShayeb Partners Point of Sale

Inherits pos config and settings to add four configuration fields (progressive_product_loading_enabled, progressive_partner_loading_enabled, progressive_product_batch_size, progressive_partner_batch_size) with a positive-value @api constrains, and extends _load_pos_data_fields so the flags ship in the POS payload. New @api model RPCs load_progressive_product_batch_from_pos (product template) and load_progressive_partner_batch_from_pos (contact) return id-paginated batches with done/last_id/loaded_count metadata, reusing core POS serialization (load_product_from_pos, _load_pos_data_read, _load_pos_data_domain). Frontend patches PosStore (background loop after afterProcessServerData, online-event resume, IndexedDB sync, batch limits from config) and PartnerList (dedupe + live-merge of loaded partners). Depends only on point_of_sale; LGPL-3; assets injected into point_of_sale._assets_pos.

Overview

Large retailers with tens of thousands of products and customers face slow Point of Sale startup because Odoo tries to bootstrap a heavy catalog before the cashier can sell. This module lets the POS open quickly with its normal limited bootstrap, then keeps pulling the remaining products and partners in small background batches until the entire catalog is available locally. Each register can be tuned independently, and the loader respects POS category limits, company scoping, and offline state so it never blocks or slows down active selling.

Key Features

  • Loads the full POS product catalog in background batches after the register opens, so cashiers can start selling immediately.
  • Loads the full customer/partner list progressively in the background using the same batched approach.
  • Per-POS toggles to enable or disable progressive product loading and progressive partner loading independently.
  • Configurable batch size for products and for partners on each POS, validated to always be a positive number.
  • ID-based pagination fetches each batch after the last loaded record, guaranteeing no gaps and no duplicate reloads.
  • Background product batches respect the POS category limits so only sellable, POS-allowed products are streamed.
  • Partner batches are scoped to the register's company plus shared records, and include their fiscal positions.
  • Background loading pauses when offline and automatically resumes when the network comes back online.
  • Failures in any background batch stay silent and never block the POS or interrupt a sale.
  • Customer list screen de-duplicates and live-merges background-loaded partners so they appear cleanly while loading.

Technical Details

Technical Name pos_progressive_catalog_loader
Version 19.0.1.0.0
License LGPL-3
Domain POS · Point of Sale

Security

No new models or access groups are introduced. The module only extends existing POS, product, partner, and settings models, so it relies entirely on standard Point of Sale access rights; the access-rights file is intentionally empty.

Dependencies

point_of_sale