Author: |
GRAP |
License: |
AGPL-3 |
Branch: |
8.0_REF_pos_invoicing |
Repository: |
legalsylvain/odoo-addons-misc |
Dependencies: |
base,
purchase,
and
stock |
Languages: |
CSS (6082, 18.6%),
HTML (295, 0.9%),
JSON (77, 0.2%),
JavaScript (25878, 79.2%),
PO File (23, 0.1%),
Python (144, 0.4%),
SVG (15, 0.0%),
XML (28, 0.1%),
YAML (15, 0.0%),
and
reStructuredText (98, 0.3%) |
Other branches: |
8.0,
8.0_REF_FIX_stock_picking_quick_edit,
8.0_REF_product_improved_search,
8.0_REF_sale_eshop,
and
8.0_REF_users_partners_access |
Other repositories: |
OdooBulgaria/odoo-addons-mobile,
abakus-it/odoo-addons-mobile,
grap/odoo-addons-mobile,
and
westlyou/odoo-addons-mobile |
<img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.svg">
<a name="provide-light-web-app-to-scan-products-barcode-and-generate-purchase-orders"></a>
<h2>Provide light Web app to scan products Barcode and generate Purchase Orders</h2>
<p>This module was written to extend the functionality of odoo Purchase module.</p>
<p>This module provides a web app designed to work on a Mobile. The app allows
user to scan products and select a quantity to purchase. A draft purchase order
is automatically created and updated.</p>
<a name="interface"></a>
<h3>Interface</h3>
<a name="authentication"></a>
<h4>Authentication</h4>
<p>The first screen asks Odoo credentials. The user should be member of the Odoo
'Purchase User' group.</p>
<img alt="/scan_to_purchase/static/src/img/phone_authentication.png" src="/scan_to_purchase/static/src/img/phone_authentication.png" />
<a name="data-loading"></a>
<h4>Data Loading</h4>
<p>Once authenticated, some datas are cached : Active Products, partners flagged
as supplier, and draft Purchase Orders.</p>
<img alt="/scan_to_purchase/static/src/img/phone_data_loading.png" src="/scan_to_purchase/static/src/img/phone_data_loading.png" />
<a name="purchase-order-selection"></a>
<h4>Purchase Order Selection</h4>
<p>Once datas are loaded, user can select an existing draft purchase order he
want to complete.</p>
<img alt="/scan_to_purchase/static/src/img/phone_select_purchase_order.png" src="/scan_to_purchase/static/src/img/phone_select_purchase_order.png" />
<p>Alternatively, user can create a new purchase order, selecting a supplier.</p>
<img alt="/scan_to_purchase/static/src/img/phone_select_supplier.png" src="/scan_to_purchase/static/src/img/phone_select_supplier.png" />
<a name="product-selection-and-quantity-selection"></a>
<h4>Product Selection and Quantity Selection</h4>
<p>Once the purchase order created or selected, the user can select a product,
scanning a barcode.</p>
<img alt="/scan_to_purchase/static/src/img/phone_select_product.png" src="/scan_to_purchase/static/src/img/phone_select_product.png" />
<p>If the EAN13 barcode is recognized, some informations are displayed to be
sure that the product is the good one (name, internal code) and other
informations related to stock (quantity on hand and forecasted quantity)
User has to set a quantity to purchase and then validate.</p>
<img alt="/scan_to_purchase/static/src/img/phone_select_quantity.png" src="/scan_to_purchase/static/src/img/phone_select_quantity.png" />
<a name="menu"></a>
<h4>Menu</h4>
<p>A menu is available in each screen that allows user to navigates between
screens.</p>
<img alt="/scan_to_purchase/static/src/img/phone_menu.png" src="/scan_to_purchase/static/src/img/phone_menu.png" />
<a name="technical-informations"></a>
<h3>Technical Informations</h3>
<a name="hardware"></a>
<h4>Hardware</h4>
<p>This module is designed to work with</p>
<ul class="simple">
<li>a Browser running on a Mobile (Firefox Mobile / Chrome / ...)</li>
<li>a Scan reader communicating with the mobile via Bluetooth (SPP settings)</li>
</ul>
<p><strong>Implementation Sample</strong></p>
<ul class="simple">
<li>Mobile : <a class="reference external" href="http://www.samsung.com/fr/consumer/mobile-devices/smartphones/others/SM-G388FDSAXEF">Samsung Galaxy Xcover 3</a></li>
<li>Browser : <a class="reference external" href="https://www.mozilla.org/en-US/firefox/os/">Firefox 46+</a></li>
<li>Scan Reader : <a class="reference external" href="https://koamtac.com/kdc400-bluetooth-barcode-scanner/">KDC 400</a></li>
</ul>
<a name="used-technologies"></a>
<h4>Used Technologies</h4>
<p>This module uses extra JS / CSS components.</p>
<ul class="simple">
<li><a class="reference external" href="https://angularjs.org/">Angular JS v1.x</a></li>
<li><a class="reference external" href="https://angular-translate.github.io/">Angular Translate</a></li>
<li><a class="reference external" href="http://ionicframework.com/">Ionic Framework</a></li>
<li><a class="reference external" href="http://ionicons.com/">Ionic Icons</a> (MIT Licensed)</li>
<li><a class="reference external" href="https://github.com/hparfr/angular-odoo">Angular Odoo</a>, light Javascript
library developped by <a class="reference external" href="http://www.akretion.com/">Akretion</a>
and <a class="reference external" href="http://www.camptocamp.org/">Camp To Camp</a></li>
</ul>
<a name="available-languages"></a>
<h4>Available languages</h4>
<ul class="simple">
<li>English</li>
<li>French</li>
</ul>
<a name="similar-projects"></a>
<h4>Similar Projects</h4>
<ul class="simple">
<li>You could be interested by another implementation of similar features
<a class="reference external" href="https://github.com/syleam/stock_scanner">'stock_scanner' on Github</a>
developped by <a class="reference external" href="https://www.syleam.fr/">Syleam</a>
and <a class="reference external" href="https://www.acsone.eu/">Acsone</a>.</li>
</ul>
<a name="installation"></a>
<h3>Installation</h3>
<p>Normal installation.</p>
<p>Once installed, assuming that your Odoo instance is accessible by the URL
http//localhost:8069/, the web app can be reached at the URL
http//localhost:8069/scan_to_purchase/static/www/index.html</p>
<a name="configuration"></a>
<h3>Configuration</h3>
<ul class="simple">
<li>No extra configuration is needed.</li>
</ul>
<a name="credits"></a>
<h3>Credits</h3>
<a name="contributors"></a>
<h4>Contributors</h4>
<ul class="simple">
<li>Sylvain LE GAL <<a class="reference external" href="https://twitter.com/legalsylvain">https://twitter.com/legalsylvain</a>></li>
</ul>
<a name="roadmap-current-limits"></a>
<h4>Roadmap / Current Limits</h4>
<ul class="simple">
<li>Currency symbol is hard coded. (€ for the time being);</li>
<li>Dates and Prices displays do NOT change depending of the localization of
the user;</li>
<li>JS and CSS lib are hard included. So if many apps are developped, it could
be great to have a generic 'web_ionic' module that have all tools to avoid
to duplicate files;</li>
</ul>
<a name="known-issues"></a>
<h4>Known Issues</h4>
<ul class="simple">
<li><strong>Firefox Ionic Bug</strong> : The first screen allow user to select database,
in a multi database context. This module use ionic select component, that
doesn't not works On Firefox Mobile.
<a class="reference external" href="https://github.com/driftyco/ionic/issues/4767">See the bug on Ionic Github</a></li>
<li><strong>Chrome Mobile limitation</strong> : This module plays mp3 sounds when app is,
or . This feature is not available for Chrome Mobile for the time being,
cause Chrome consider that allowing to play a sound without explicit action
of the user raises security issues.
<a class="reference external" href="https://bugs.chromium.org/p/chromium/issues/detail?id=178297">See the bug on Chromium website</a></li>
</ul>