| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Inventory (stock)
• Sales (sale_management) • Discuss (mail) • Invoicing (account) |
| Lines of code | 2275 |
| Technical Name |
hanshow_esl_sync |
| License | OPL-1 |
| Website | https://infranext.co |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Inventory (stock)
• Sales (sale_management) • Discuss (mail) • Invoicing (account) |
| Lines of code | 2275 |
| Technical Name |
hanshow_esl_sync |
| License | OPL-1 |
| Website | https://infranext.co |
Keep Your Shelf Prices in Perfect Sync — Automatically
Connect Odoo to your Hanshow Electronic Shelf Labels once, and every price, name, SKU or barcode change is pushed straight to the label on the shelf — in real time, through the official AllStar Cloud API. No manual re-printing, no mismatched prices on the floor, no separate ESL software to babysit.
Features
Built for real retail operations — reliable, logged, and fully automatic.
|
Live
|
Real-Time Auto-Sync The moment a product's price, name, reference (SKU), barcode or active status changes in Odoo, the update is pushed to its shelf label. No buttons to remember, no nightly wait. |
|
Push
|
Manual & Bulk Push Push a single product straight from its form with the Push to ESL button, or select many products in the list view and push them all at once from the action menu. |
|
Link
|
Product ↔ Label Association Bind each product to its physical ESL by label ID, with format validation (e.g. 10-02-03-8C). Labels auto-link on save, and re-assigning a label automatically unlinks its previous owner so prices never collide. |
|
CSV
|
CSV Bulk Import Map hundreds of products to labels in one go. Upload a simple SKU, ESL_ID CSV (a downloadable sample is included). Every row is validated for format, duplicates and missing SKUs before anything is sent. |
|
Log
|
Full Sync Log Every push is recorded with the HTTP status code, raw response body, price sent, and what triggered it (auto, manual, cron or bulk) — making it trivial to audit and troubleshoot exactly what reached the labels. |
|
Cron
|
Scheduled Batch & Auto-Cleanup An optional scheduled action can re-sync every active product on a recurring basis (off by default). A second job runs daily to prune sync logs older than 90 days, keeping the database tidy on autopilot. |
|
Safe
|
Fail-Safe by Design A failed ESL sync never blocks an Odoo product save. Network errors are caught per product, requests retry on transient 401/500 responses, and a rate-limit delay protects the API during large batches. |
|
Test
|
Settings UI with Test Connection Configure your AllStar base URL, client credentials, store codes and timeout from a dedicated settings screen — then confirm everything works with a one-click Test Connection button before you go live. |
Screenshots
A look at the configuration and product–label association screens.
How It Works
Up and running in minutes — everything lives inside Odoo.
|
1
|
Install & Configure Install the module, open Settings → Hanshow ESL Integration, enter your AllStar credentials and store codes, and click Test Connection. |
|
2
|
Associate Products with Labels Assign an ESL Label ID on each product, or bulk-import the mappings from a CSV. Associations are linked to AllStar automatically and validated for conflicts. |
|
3
|
Edit a Product Change a price, name, SKU or barcode — or hit Push to ESL manually. The new data is sent to the shelf label and recorded in the sync log. |
|
4
|
Monitor & Relax Review every push under Inventory → Hanshow ESL. Optional scheduled jobs keep labels re-synced and clean up old logs — no manual intervention needed. |
Installation
Install it like any standard Odoo app — the way that fits your hosting.
|
1
|
Self-Hosted / On-Premise / Docker Extract the module into your Odoo add-ons path, restart the Odoo service, then go to Apps → Update Apps List and install Hanshow ESL Sync. |
|
2
|
Odoo.sh Add the module folder to your project’s Git repository and push to the mapped branch. Odoo.sh builds your instance and the module becomes available to install from Apps. |
|
3
|
Configure & Go Live Open Settings → Hanshow ESL Integration, enter your AllStar credentials, and click Test Connection. You’re ready. |
Requirements
This module talks to the official Hanshow AllStar Cloud API. You will need an active AllStar account and ESL infrastructure in your store.
- Hanshow AllStar account with API credentials (Base URL, Client ID & Secret, Username, Password)
- Your Customer Store Code and Store ID from AllStar
- Hanshow ESL labels deployed and reachable in-store
- Outbound HTTPS access from your Odoo server to the AllStar API host
- Products with a Reference (SKU) set, linked to their ESL Label IDs
Technical Specs
Clean, idiomatic Odoo code. No extra Python dependencies beyond the standard requests library.
| Sync trigger | Real-time on price / name / SKU / barcode change |
| Authentication | OAuth password grant + cached Bearer token |
| Resilience | Auto re-auth on 401, retry on 500 |
| Sync log retention | 90 days (auto-cleaned daily) |
| Bulk import format | CSV (SKU, ESL_ID) with validation |
| Python dependencies | None (uses built-in requests) |
| Editions | Community & Enterprise |
Compatibility
| Odoo 19.0 | Community | Enterprise |
Built with care for Odoo — infranext.co
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module