| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Contacts (contacts)
• Discuss (mail) • Inventory (stock) • Invoicing (account) • Sales (sale_management) |
| Lines of code | 2591 |
| Technical Name |
techmatic_shopline_connector |
| License | OPL-1 |
| Website | https://www.techmaticsys.com |
| Versions | 17.0 18.0 19.0 |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Contacts (contacts)
• Discuss (mail) • Inventory (stock) • Invoicing (account) • Sales (sale_management) |
| Lines of code | 2591 |
| Technical Name |
techmatic_shopline_connector |
| License | OPL-1 |
| Website | https://www.techmaticsys.com |
| Versions | 17.0 18.0 19.0 |
Community
Enterprise
Odoo SH
Shopline Odoo Connector
Sync customers, products, and orders from Shopline into Odoo, and push live stock and shipment tracking back to your store — all without leaving Odoo. Compatible with Shopline Admin API versions v20240601 and later, using OAuth or Private App (Develop Apps) tokens.
Compatible with Odoo 17 (Community + Enterprise)
Seamless support for both Community and Enterprise editions of Odoo 17.
Connect Shopline with Odoo through the Admin API
This is the Shopline Store configuration page in Odoo, where users register a Shopline store by entering its handle and either an OAuth Client ID / Secret pair or a manually-pasted Private App (Develop Apps) Access Token, and pick the default Warehouse used to source stock pushed back to the store. Optional defaults — Pricelist, Sales Team, Payment Terms, and Anonymous Customer — can be set for imported orders. Sensitive values are blurred for privacy, and a Test Connection button lets users validate credentials before running the first sync.
Import Customers from Shopline into Odoo
Click Import Customers on the Shopline store to pull customers from your Shopline shop into Odoo as res.partner records, complete with email, name, marketing-consent flag, and child contacts for each saved shipping or billing address. A success notification reports exactly what happened — imported and skipped counts — and the same breakdown is posted to the store's chatter so you have a persistent audit trail. The importer is fully idempotent: re-running it updates the existing partner instead of creating duplicates, matched by Shopline customer ID and email.
Shopline Binding on the Customer Record
Every imported customer carries a Shopline section on their contact form, showing which Shopline store they came from, their Shopline customer ID, the saved address ID for each child contact, and the last sync timestamp. The binding is what makes future updates idempotent — re-running Import Customers updates the existing partner instead of creating duplicates — and the same identifiers let order import resolve every order to the right customer when sales are pulled in, and let real-time customer webhooks update the right Odoo record on the fly.
Import Products from Shopline into Odoo
Click Import Products on the Shopline store to pull your full Shopline catalog into Odoo as product.template records (with variants as product.product), mapping title, description, SKU, barcode, list price, weight, vendor, product type, and active status in a single pass. A success notification reports imported and skipped counts in real time, and the same breakdown is preserved on the store's chatter. Each product carries a Shopline binding so future imports update existing records instead of duplicating them, duplicate barcodes from Shopline are detected and skipped gracefully, and order import can resolve order lines to the right Odoo variant.
Shopline Binding on the Product Record
Every imported product carries a Shopline section on its product form, showing which Shopline store it came from, its Shopline product and variant IDs, the inventory_item_id used for stock pushes, the last sync timestamp, and the last stock export timestamp. The binding makes future imports idempotent — re-running Import Products updates the existing record instead of creating duplicates — and lets the connector resolve Shopline order lines to the right Odoo variant on import, push stock updates back to the correct Shopline variant on export, and apply product/inventory webhooks to the right record.
Import Orders from Shopline into Odoo
Click Import Orders on the Shopline store to pull Shopline orders into Odoo as sale.order records, complete with header, lines, taxes, shipping, and resolved customer and shipping address. A success notification reports imported and skipped counts in real time, and the same breakdown is preserved on the store's chatter alongside earlier customer and product imports. The importer is fully idempotent — orders already in Odoo are updated rather than duplicated — and any missing customers or products are reconciled by Shopline ID so order import works even on a fresh database. Configurable workflow flags (Auto Confirm Order, Auto Create Invoice, Auto Validate Payment, Auto Create Delivery) let you decide how far the order automatically progresses.
Shopline Binding on the Sale Order
Every imported order carries a Shopline section on its sale order form, showing the source store, the Shopline Order ID, the Shopline order name/number (also stored as the Odoo Customer Reference for easy lookup), payment and fulfillment status, and the last sync timestamp. The Odoo order keeps its standard sequence number for continuity with manually-created orders, while the binding ensures re-running Import Orders updates the right record rather than duplicating it. From here you can confirm the quotation, invoice it, and validate delivery as you would any other Odoo sale order — fulfillment updates entered on the delivery can be pushed back to the linked Shopline order automatically.
Publish Odoo Products to Shopline
Tick the Publish to Shopline checkbox on any Odoo product to mark it for export, and the connector handles the rest — building a Shopline-compliant payload with the right options/variants structure, posting it to Shopline's products endpoint, storing the returned Shopline ID and inventory_item_id back on the Odoo record, and recording the export in the Shopline Logs view. The Shopline tab on every product also surfaces the source Shopline Instance, Vendor, Type, and Shopline Product ID, so you can see at a glance which products are linked, which are queued for export, and which haven't been marked for sync.
Export Products from Odoo to Shopline
Click Export Products on the Shopline store to push every Odoo product marked Publish to Shopline (and not yet linked) into Shopline as a fully-formed product with options, variants, prices, barcodes, weights, vendor, and type. The connector declares the product's option names at the parent level and maps each Odoo variant's attribute values to option1/option2/option3 so Shopline accepts the payload on the first try. Each successful export stores the returned Shopline Product ID on the Odoo template, a log entry is added to the store's chatter, and the same product can later be updated or have its inventory pushed without manual reconciliation.
Stock Levels Ready for Export to Shopline
The Forecasted Report shows current on-hand, incoming, outgoing, and forecasted quantities for any Shopline-bound product, sourced from the warehouse configured on the Shopline store. Once you have stock recorded in Odoo, clicking Export Inventory on the store pushes the on-hand quantity to Shopline's inventory_levels/set.json endpoint so the storefront reflects accurate availability at the chosen Shopline Location. The push is per-variant and per-location, and the last successful export timestamp is recorded on each product so you can spot which items have synced.
Configure Workflow Defaults and Inventory Mapping
The Workflow tab on the Shopline store collects every setting that controls how imported orders progress and how stock gets pushed back. Under Sales Workflow you decide whether to Auto Confirm Order, Auto Create Invoice, and Auto Create Delivery as each Shopline order lands. Under Sync Settings you toggle Auto Sync Enabled (which drives the every-30-minute cron), set the Import Orders From watermark, and choose whether to Import Only Paid Orders. The Inventory Mapping section captures the Shopline Location ID where on-hand quantities should be pushed — the in-page tip explains how to find it via the API Console (a single GET to /locations.json) — without this ID Export Inventory is intentionally a no-op so you never silently push stock to the wrong location.
Export Stock from Odoo to Shopline
Click Export Inventory on the Shopline store to push the on-hand quantity of every Shopline-bound product from your configured Warehouse to Shopline's inventory_levels resource at the configured Shopline Location, keeping the storefront's availability in sync with what Odoo actually has on hand. The connector also watches Odoo stock movements and queues incremental updates between full pushes — a "Stock change detected; will sync on next cron run" log is created the moment a quant changes, and the scheduled action picks it up shortly after. A success notification confirms the run, and a log entry is added to the store's chatter alongside your earlier customer, product, and order syncs.
Connected Store with Full Connection Audit Trail
The store form view exposes every credential field needed to talk to Shopline — Shop Handle, API Mode (Admin REST API via OAuth, or Legacy Open API), Client ID / APP Key, Client Secret / APP Secret, API Shared Secret for webhook HMAC verification, and Access Token for private app installs — alongside the Odoo-side defaults (company, warehouse, pricelist, sales team, salesperson, payment terms, anonymous customer) that every imported order inherits. The status bar at the top of the header tracks the Draft → Connected lifecycle, and the chatter on the right captures every meaningful state change with timestamps and the user who triggered it: Test Connection results, OAuth completions, manually pasted token validations, and the original record creation, giving you a complete forensic record for every Shopline store you operate.
Real-time Webhooks from Shopline
The Webhooks tab on the Shopline store lists every event the connector subscribes to — Order Created / Updated / Cancelled / Paid / Fulfilled, Product Created / Updated / Deleted, Customer Created / Updated, and Inventory Updated — with one-click Register and Unregister buttons per topic and live state badges (Active / Error). Once registered, Shopline pushes events to a dedicated Odoo endpoint in real time, signed with HMAC-SHA256 and verified before the payload is applied. This means new Shopline orders land in Odoo within seconds, with the scheduled cron acting as a safety net for any event that fails delivery.
Live Webhook Subscriptions with Active Status
Once your Shopline store is connected, opening the Webhooks tab shows every subscription the connector has registered against your shop — eleven topics in total covering orders (created / updated / cancelled / paid / fulfilled), products (created / updated / deleted), customers (created / updated), and inventory updates — each with its live callback URL on your Odoo instance and a green "Active" badge confirming Shopline has accepted the registration. The per-topic Register and Unregister buttons let you re-sync any single subscription without touching the others, and the chatter on the right preserves the full audit trail of connection events (draft → connected transitions, manually pasted token validations, and connector lifecycle messages) so you always know who authorized what and when.
Built-in API Console for Live Debugging
The API Console tab on the Shopline store lets administrators send a live GET to any Shopline endpoint path (for example /merchants/shop.json, /products/products.json, /v2/customers.json, /locations.json) and inspect the raw JSON response right inside Odoo — no separate HTTP client needed. This is invaluable for verifying credentials, discovering the right Location ID for inventory export, debugging connection problems with a specific Shopline version, and confirming that webhook payload shapes match what the connector expects.
Centralized Shopline Logs for Every Operation
Every interaction with Shopline lands in the Shopline Logs view — Import Customer, Import Product, Import Order (regular and draft), Export Product, Export Inventory, Webhook delivery, and the cron's stock-change detection — each one tagged with the source Shopline Instance, the Operation type, a State badge (Success / Partial / Failed), the Shopline ID involved when applicable, and a human-readable Message reporting counts and errors. Partial runs (a row succeeded except for a handful of bad records) are flagged so they don't hide behind a green "Success" badge, and Failed rows preserve the raw request payload snippet so you can pinpoint exactly which record Shopline rejected and why. The list is searchable, sortable, and auto-vacuumed after 90 days so the table stays manageable — giving you one consolidated audit trail across every sync direction without ever leaving Odoo.
Releases
Version 17.0.1.0.0
|
Released on: 20/05/2026
Odoo 17 Shopline Odoo Connector
Our Services
Odoo Customization
Odoo Implementation
Odoo Support
Hire Odoo Developer
Odoo Integration
Odoo Migration
Odoo Consultancy
Odoo Implementation
Odoo Licensing Consultancy
Contact Us
+91
7995411325
info@techmaticsys.com
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