Skip to content

Commit ffaab2a

Browse files
[ADD] shoppingfeed_integration
TT56368
1 parent 3be87de commit ffaab2a

48 files changed

Lines changed: 6213 additions & 0 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 256 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,256 @@
1+
========================
2+
Shoppingfeed Integration
3+
========================
4+
5+
..
6+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
7+
!! This file is generated by oca-gen-addon-readme !!
8+
!! changes will be overwritten. !!
9+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
10+
!! source digest: sha256:900310fb90d1b308542f357095bbe83e185157a9bf74ec78154f8f636d4d8098
11+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
12+
13+
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
14+
:target: https://odoo-community.org/page/development-status
15+
:alt: Beta
16+
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
17+
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
18+
:alt: License: AGPL-3
19+
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fshoppingfeed-lightgray.png?logo=github
20+
:target: https://github.com/OCA/shoppingfeed/tree/18.0/shoppingfeed_integration
21+
:alt: OCA/shoppingfeed
22+
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
23+
:target: https://translation.odoo-community.org/projects/shoppingfeed-18-0/shoppingfeed-18-0-shoppingfeed_integration
24+
:alt: Translate me on Weblate
25+
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
26+
:target: https://runboat.odoo-community.org/builds?repo=OCA/shoppingfeed&target_branch=18.0
27+
:alt: Try me on Runboat
28+
29+
|badge1| |badge2| |badge3| |badge4| |badge5|
30+
31+
This module integrates Odoo with Shoppingfeed, a platform that connects
32+
your store with multiple marketplaces.
33+
34+
- Export product catalogs to Shoppingfeed in XML format
35+
- Import orders from connected marketplaces automatically
36+
- Synchronize product prices and stock levels in real-time
37+
- Map marketplace channels to Odoo sale order types
38+
- Map delivery carriers from marketplaces to Odoo carriers
39+
- Track Shoppingfeed tickets and notifications
40+
- Configure export filters by product type, category, and stock
41+
availability
42+
43+
**Table of contents**
44+
45+
.. contents::
46+
:local:
47+
48+
Configuration
49+
=============
50+
51+
Store Setup
52+
-----------
53+
54+
Create and authenticate your store
55+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
56+
57+
1. Go to **Shoppingfeed → Stores**
58+
2. Click **New** and fill:
59+
60+
- **Username**: Shoppingfeed API email
61+
- **Password**: Shoppingfeed API password
62+
63+
3. Click **Get Token** button
64+
65+
- Automatically retrieves: catalog ID, channels, country, and
66+
language
67+
68+
Configure product export
69+
~~~~~~~~~~~~~~~~~~~~~~~~
70+
71+
In the store form, configure these tabs:
72+
73+
Exportable Products tab
74+
^^^^^^^^^^^^^^^^^^^^^^^
75+
76+
- **Export only selected**: Only export products with "Export to
77+
Shoppingfeed" enabled
78+
- **Export Product Types**: Select product types to include (Goods,
79+
Services, Combos)
80+
- **Export Rules**: Control which products to include:
81+
82+
- Out of stock products
83+
- Archived products
84+
- Non-salable products
85+
86+
Stock tab
87+
^^^^^^^^^
88+
89+
- **Use actual stock state**: Use real quantities vs default quantity
90+
- **Quantity type**: Salable (on-hand) or Virtual (forecasted)
91+
- **Default quantity**: Quantity for products without stock tracking
92+
- **Force zero quantity non salable**: Set 0 for non-salable products
93+
- **Update quantities realtime**: Push stock changes immediately to
94+
Shoppingfeed
95+
96+
Prices tab
97+
^^^^^^^^^^
98+
99+
- **Pricelist**: Optional pricelist for computing export prices
100+
101+
Attributes tab
102+
^^^^^^^^^^^^^^
103+
104+
- **Use product ID as SKU**: Use product ID instead of default code
105+
- **Custom SKU field**: Select custom field for SKU (optional)
106+
- **Additional attribute fields**: Add custom product fields to export
107+
108+
Images tab
109+
^^^^^^^^^^
110+
111+
- **Export all images**: Include all product images
112+
- **Exported image count**: Limit number of images (if not exporting
113+
all)
114+
115+
Categories tab
116+
^^^^^^^^^^^^^^
117+
118+
- **Allowed categories**: Restrict export to specific product categories
119+
120+
Shipping tab
121+
^^^^^^^^^^^^
122+
123+
- **Default delivery carrier**: Fallback carrier for unmapped carriers
124+
- **Carrier mappings**: Map Shoppingfeed carrier names to Odoo carriers
125+
126+
- Add lines with Shoppingfeed carrier name and corresponding Odoo
127+
carrier
128+
129+
Orders tab
130+
^^^^^^^^^^
131+
132+
- **Import orders**: Enable automatic order import
133+
- **Default payment term**: Payment terms for imported orders
134+
- **Default payment mode**: Payment mode for imported orders
135+
- **Default order type**: Order type for imported orders
136+
- **Marketplace customer groups**: Map channels to specific order types
137+
138+
- Add lines with Channel and Order Type
139+
140+
Product Setup
141+
-------------
142+
143+
Mark products for export
144+
~~~~~~~~~~~~~~~~~~~~~~~~
145+
146+
1. Open a product
147+
2. In **Shoppingfeed** tab:
148+
149+
- Enable **Export to Shoppingfeed** (if store requires it)
150+
- Select **Shoppingfeed Stores** to export this product to
151+
152+
**Note**: Products need default code (internal reference) to export.
153+
154+
Catalog Feed
155+
------------
156+
157+
After configuration, your XML catalog feed is available at:
158+
159+
::
160+
161+
https://yourdomain.com/catalog/{catalog_id}.xml
162+
163+
Share this URL with Shoppingfeed for product synchronization.
164+
165+
Usage
166+
=====
167+
168+
Product Updates
169+
---------------
170+
171+
Price changes
172+
~~~~~~~~~~~~~
173+
174+
Product price updates send automatically to linked Shoppingfeed stores.
175+
176+
Stock changes
177+
~~~~~~~~~~~~~
178+
179+
Stock updates send automatically if store has **Update quantities
180+
realtime** enabled.
181+
182+
Orders
183+
------
184+
185+
View orders
186+
~~~~~~~~~~~
187+
188+
Go to **Shoppingfeed → Marketplace Orders** to see marketplace orders.
189+
190+
Orders show:
191+
192+
- Shoppingfeed Order ID
193+
- Shoppingfeed Reference
194+
- Shoppingfeed Store
195+
- Shoppingfeed Channel (Amazon, eBay, etc.)
196+
- Shoppingfeed Status
197+
198+
Process orders
199+
~~~~~~~~~~~~~~
200+
201+
1. Confirm order
202+
2. Validate delivery → shipment info sends to Shoppingfeed
203+
3. Validate invoice → PDF uploads to Shoppingfeed (if channel supports
204+
it)
205+
206+
Orders auto-acknowledge in Shoppingfeed on import.
207+
208+
Bug Tracker
209+
===========
210+
211+
Bugs are tracked on `GitHub Issues <https://github.com/OCA/shoppingfeed/issues>`_.
212+
In case of trouble, please check there if your issue has already been reported.
213+
If you spotted it first, help us to smash it by providing a detailed and welcomed
214+
`feedback <https://github.com/OCA/shoppingfeed/issues/new?body=module:%20shoppingfeed_integration%0Aversion:%2018.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
215+
216+
Do not contact contributors directly about support or help with technical issues.
217+
218+
Credits
219+
=======
220+
221+
Authors
222+
-------
223+
224+
* Tecnativa
225+
226+
Contributors
227+
------------
228+
229+
- `Tecnativa <https://www.tecnativa.com>`__:
230+
231+
- Juan Carlos Oñate
232+
233+
Maintainers
234+
-----------
235+
236+
This module is maintained by the OCA.
237+
238+
.. image:: https://odoo-community.org/logo.png
239+
:alt: Odoo Community Association
240+
:target: https://odoo-community.org
241+
242+
OCA, or the Odoo Community Association, is a nonprofit organization whose
243+
mission is to support the collaborative development of Odoo features and
244+
promote its widespread use.
245+
246+
.. |maintainer-juancarlosonate-tecnativa| image:: https://github.com/juancarlosonate-tecnativa.png?size=40px
247+
:target: https://github.com/juancarlosonate-tecnativa
248+
:alt: juancarlosonate-tecnativa
249+
250+
Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:
251+
252+
|maintainer-juancarlosonate-tecnativa|
253+
254+
This module is part of the `OCA/shoppingfeed <https://github.com/OCA/shoppingfeed/tree/18.0/shoppingfeed_integration>`_ project on GitHub.
255+
256+
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
from . import controllers
2+
from . import models
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# Copyright 2025 Juan Carlos Oñate - Tecnativa <juancarlos.onate@tecnativa.com>
2+
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
3+
{
4+
"name": "Shoppingfeed Integration",
5+
"version": "18.0.1.0.2",
6+
"summary": "Integrate Odoo with Shoppingfeed for product export and order sync",
7+
"category": "Sales",
8+
"author": "Tecnativa, Odoo Community Association (OCA)",
9+
"maintainers": ["juancarlosonate-tecnativa"],
10+
"website": "https://github.com/OCA/shoppingfeed",
11+
"license": "AGPL-3",
12+
"depends": [
13+
"stock",
14+
"website_sale",
15+
"product_brand",
16+
"sale_order_type",
17+
"account_payment_sale",
18+
],
19+
"data": [
20+
"security/shoppingfeed_security.xml",
21+
"security/ir.model.access.csv",
22+
"security/ir_rule.xml",
23+
"views/sale_order_views.xml",
24+
"views/shoppingfeed_ticket_views.xml",
25+
"views/shoppingfeed_store_views.xml",
26+
"views/shoppingfeed_log_views.xml",
27+
"views/product_template_views.xml",
28+
"views/product_pricelist_views.xml",
29+
"views/shoppingfeed_channel_views.xml",
30+
"views/product_attribute_views.xml",
31+
"views/menus.xml",
32+
"data/cron.xml",
33+
],
34+
"installable": True,
35+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
from . import catalog

0 commit comments

Comments
 (0)