Author: |
Camptocamp,Odoo Community Association (OCA) |
License: |
AGPL-3 |
Branch: |
14.0-imp-shopinvader_assortment_cron-dro |
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-abi_master,
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_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 <<a class="reference external" href="mailto:simahawk@gmail.com">simahawk@gmail.com</a>></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>