Search 1.9 billion lines of Odoo code on GitHub

shopinvader_customer_price

Author: Camptocamp,Odoo Community Association (OCA)
License: AGPL-3
Branch: 14.0-abi_master
Repository: acsone/odoo-shopinvader
Dependencies: base_rest, component, and shopinvader
Languages: HTML (369, 52.4%), Python (230, 32.7%), XML (12, 1.7%), and reStructuredText (93, 13.2%)
Other branches: 13.0, 13.0-check-licenses-dev-status-sbi, 13.0-fix-one_main_variant_per_shopinvader_product-qgr, 13.0-fix_search_delivery_carrier_price-qgr, 13.0-shopinvader_product_variant_selector_multi_variation-qgr, 13.0-tnc_master, 14-merge_1319_1342, 14-shopinvader-product-link, 14-shopinvader-xbo, 14-shopinvader_assortment-xbo, 14-shopinvader_locomotive-xbo, 14-shopinvader_notification-xbo, 14.0, 14.0-abi-shopinvader_guest_mode_constr-dro, 14.0-fix-s_test-dro, 14.0-fix-shopinvader-invoice-dro, 14.0-fix-shopinvader_download-dro, 14.0-fix-shopinvader_partner_bind-dro, 14.0-fix-sudo_cart_additem-dro, 14.0-fix-tests-equals-dro, 14.0-imp-black-dro, 14.0-imp-restore_other_address-dro, 14.0-imp-sale-profile-dro, 14.0-imp-shopinvader_assortment_cron-dro, 14.0-imp-shopinvader_elastic_demo-dro, 14.0-imp-shopinvader_payment-dro, 14.0-mig-new-cart-service, 14.0-mig-s_category_image_for_product-dro, 14.0-mig-shopinvader_backend_image_proxy, 14.0-mig-shopinvader_customer_autobind, 14.0-mig-shopinvader_delivery_carrier_category_keep_carrier, 14.0-mig-shopinvader_delivery_instruction, 14.0-mig-shopinvader_pos, 14.0-mig-shopinvader_product_template_multi_link, 14.0-mig-shopinvader_promotion_rule, 14.0-mig-shopinvader_validation_token, 14.0-mig-shopinvader_validation_token_guest, 14.0-prepare-future-lmi, 14.0-price_update-cpi, 14.0-shopinvader-variant-exporter, 14.0-shopinvader_access_partner_binding, 14.0-shopinvader_company_index, 14.0-shopinvader_delivery_carrier_fix, 14.0-shopinvader_difference_backend, 14.0-shopinvader_guest_mode_notification, 14.0-shopinvader_invoice_umber_empty_mig, 14.0-shopinvader_locomotive_country_state_id, 14.0-shopinvader_membership_subscribe, 14.0-shopinvader_notification_priority, 14.0-shopinvader_sale_profile_price_update, 14.0-shopinvader_utm-xbo, 14.0-stock_ass-cpi, 14.0-switch-oca-copier-dro, and shopinvader_store_cache_fill
Other repositories: ForgeFlow/odoo-shopinvader, akretion/odoo-shopinvader, camptocamp/odoo-shopinvader, kmee/odoo-shopinvader, and shopinvader/odoo-shopinvader

<h1 class="title">Shopinvader Customer Price</h1> <p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/shopinvader/odoo-shopinvader/tree/14.0/shopinvader_customer_price"><img alt="shopinvader/odoo-shopinvader" src="https://img.shields.io/badge/github-shopinvader%2Fodoo--shopinvader-lightgray.png?logo=github" /></a></p> <p>Handle customer specific prices.</p> <p>Provides:</p> <ul class="simple"> <li>endpoint <cite>/customer_price/products</cite> to fetch customer prices for products.</li> <li>backend configuration to state which pricelist should be used by partner (by selecting a partner field that relates to pricelists)</li> </ul> <p><strong>Use case</strong></p> <p>Thousands of customers and at least 1 pricelist per each customer. You want to display customer specific prices in the frontend on demand. For instance: product page, wishlists, etc.</p> <p><strong>Rationale</strong></p> <p>One of the key points of Shopinvader's speed is the delegation of products' data indexing to external search engines.</p> <p>While this is perfect for generic data and not so complex price rules, if you have very special prices per each customer that's a blocker, and you'd need to index all prices for all customers to make it work seemlessly.</p> <p><strong>Warning</strong></p> <p>It's strongly recommended to not call the endpoint for each product on search results otherwise you'll get potentially thousands of requests to Odoo.</p> <p>Also, when setting the pricelist field for the partner, beware that prices in the indexes might differ from the prices in the cart.</p> <p><strong>Table of contents</strong></p> <div class="contents local topic" id="contents"> <ul class="simple"> <li><a class="reference internal" href="#known-issues-roadmap" id="id1">Known issues / Roadmap</a></li> <li><a class="reference internal" href="#bug-tracker" id="id2">Bug Tracker</a></li> <li><a class="reference internal" href="#credits" id="id3">Credits</a><ul> <li><a class="reference internal" href="#authors" id="id4">Authors</a></li> <li><a class="reference internal" href="#contributors" id="id5">Contributors</a></li> <li><a class="reference internal" href="#other-credits" id="id6">Other credits</a></li> <li><a class="reference internal" href="#maintainers" id="id7">Maintainers</a></li> </ul> </li> </ul> </div> <a name="known-issues-roadmap"></a> <h2><a class="toc-backref" href="#id1">Known issues / Roadmap</a></h2> <p>Probably the best option would be to have 1 index per customer which would even allow to sort and filter products by customer's prices but this requires a lot of work with current implementation of search engine machinery.</p> <p>If you use Algolia this is probably a no-go as it would cost too much. In the context of ElasticSearch instead you could afford it.</p> <p>Things that would be needed to go for an indexed solution:</p> <ul class="simple"> <li>make language not required on indexes (at the momemt the whole SE machinery relies on languages)</li> <li>automatically generate one index per each pricelist/customer</li> <li>make the frontend capable of switching indexes depending on the customer</li> </ul> <a name="bug-tracker"></a> <h2><a class="toc-backref" href="#id2">Bug Tracker</a></h2> <p>Bugs are tracked on <a class="reference external" href="https://github.com/shopinvader/odoo-shopinvader/issues">GitHub Issues</a>. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smashing it by providing a detailed and welcomed <a class="reference external" href="https://github.com/shopinvader/odoo-shopinvader/issues/new?body=module:%20shopinvader_customer_price%0Aversion:%2014.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p> <p>Do not contact contributors directly about support or help with technical issues.</p> <a name="credits"></a> <h2><a class="toc-backref" href="#id3">Credits</a></h2> <a name="authors"></a> <h3><a class="toc-backref" href="#id4">Authors</a></h3> <ul class="simple"> <li>Camptocamp</li> </ul> <a name="contributors"></a> <h3><a class="toc-backref" href="#id5">Contributors</a></h3> <ul class="simple"> <li>Simone Orsi &lt;<a class="reference external" href="mailto:simahawk&#64;gmail.com">simahawk&#64;gmail.com</a>&gt;</li> </ul> <a name="other-credits"></a> <h3><a class="toc-backref" href="#id6">Other credits</a></h3> <p>The development of this module has been financially supported by:</p> <ul class="simple"> <li>Camptocamp</li> <li>Cosanum</li> </ul> <a name="maintainers"></a> <h3><a class="toc-backref" href="#id7">Maintainers</a></h3> <p>This module is part of the <a class="reference external" href="https://github.com/shopinvader/odoo-shopinvader/tree/14.0/shopinvader_customer_price">shopinvader/odoo-shopinvader</a> project on GitHub.</p> <p>You are welcome to contribute.</p>