Skip to main content

Mercado Libre Store Management

Mercado Libre Store Management connects a Mercado Libre seller account to Odoo. This page is the installation and configuration guide for the module you downloaded from your ECOSIRE dashboard. Everything below describes the mercadolibre_store_management module as it ships today.

Technical namemercadolibre_store_management
Odoo versions17.0, 18.0, 19.0 (Community or Enterprise)
Current shipped version17.017.0.2.1.4, 18.018.0.2.1.4, 19.019.0.2.1.4
Price$499 USD — one-time, per Odoo version
Odoo module licenceOPL-1
CategoryConnector

Requirements

RequirementDetail
Odoo17.0, 18.0 or 19.0, Community or Enterprise. Self-hosted or Odoo.sh — Odoo Online (SaaS) cannot install third-party modules
Odoo appsbase, sale_management, stock, account, delivery, mail, web, product, contacts — Odoo installs any that are missing
Python packagesrequests
Platform accountA Mercado Libre seller/partner account with API access

Install the Python packages into the same interpreter that runs Odoo:

sudo -u odoo pip install requests

Installation

1. Download the ZIP for your Odoo version

Download the archive for the Odoo major version you run. The connector installs directly from that archive.

2. Extract into your addons path

unzip mercadolibre_store_management_v19_*.zip -d /opt/odoo/addons/
ls /opt/odoo/addons/mercadolibre_store_management/__manifest__.py # sanity check

The archive contains a single top-level mercadolibre_store_management/ directory. If your ls check fails, the module folder ended up one level too deep — move it up so __manifest__.py sits directly inside mercadolibre_store_management/.

3. Restart Odoo and install

sudo systemctl restart odoo
  1. Go to Apps and click Update Apps List (developer mode must be on).
  2. Search for Mercado Libre Store Management and click Install.
  3. Odoo pulls in the Odoo apps listed above automatically.

When the install finishes, a MercadoLibre menu appears in the main Odoo app switcher.

Installation notes

Install the archive for your Odoo major version, update the Apps List and install it normally. No separate ECOSIRE component is needed.

Configuration

Connect to Mercado Libre

Open MercadoLibre → Configuration → Settings and create a record (model mercadolibre.configuration). The connection fields are:

LabelTechnical nameRequiredValues
Client ID (App ID)client_idYesText
Client Secretclient_secretYesText
Access Tokenaccess_tokenNoText
Refresh Tokenrefresh_tokenNoText
Seller IDmercadolibre_seller_idNoText
Site / Countrysite_idYesSelection: MLA, MLB, MLC, MCO, MLM, MLU, MPE, MEC, MCR, MRD, MPA, MHN, MNI, MSV, MGT, MBO
MercadoPago Partnermeli_partner_idNoLink to another record (Many2one)
Tax Handlingtax_handlingNoSelection: auto, tax_included, tax_excluded, no_tax
Attribute Creation Modeattribute_creation_modeNoSelection: manual, full, dynamic
Order Confirmationorder_auto_confirmNoSelection: manual, on_payment, always
Delivery Processingorder_auto_deliverNoSelection: manual, on_shipped, always

Client ID (App ID) and Client Secret are required, as is Site / Country (MLA, MLB, MLM, MCO, MLC …) because it selects the consent host and marketplace rules. Use Authorize to complete the OAuth grant rather than pasting tokens; the redirect URI you register in the Mercado Libre OAuth client must point at your Odoo domain.

The same record carries 19 behaviour checkboxes — auto_register_payment, create_website_categories, meli_multiwarehouse, mercado_shops_enabled, product_overwrite_name, product_overwrite_description, product_overwrite_price, update_existing_variants, do_not_use_first_image, remove_unsync_images, …. They gate what the connector is allowed to do automatically once it is connected. Leave anything you are not ready for switched off, and turn them on one at a time.

Credentials are issued from the Mercado Libre developer applications console. The connector talks to api.mercadolibre.com, with OAuth at api.mercadolibre.com/oauth and per-country consent hosts such as auth.mercadolibre.com.ar / auth.mercadolivre.com.br.

When the fields are filled in, click Test Connection. The record's status moves to connected only when the platform answers successfully — do not run a first import until it does.

Scheduled actions

The module installs 21 scheduled actions (Settings → Technical → Scheduled Actions):

Scheduled actionRuns everyEnabled on install
mercadolibre: Sync Products1 hoursYes
mercadolibre: Sync Orders30 minutesYes
mercadolibre: Sync Customers6 hoursYes
mercadolibre: Sync Inventory15 minutesYes
mercadolibre: Test Connection1 daysYes
mercadolibre: Cleanup Old Logs1 daysYes
MercadoLibre: Real-time Stock Push (5 min)5 minutesNo
mercadolibre: Process Notifications5 minutesYes
MercadoLibre: Auto Push Products (30 min)30 minutesNo
MercadoLibre: Auto Push Prices (120 min)120 minutesNo
mercadolibre: Sync Questions30 minutesYes
MercadoLibre: Sync Shipment Statuses (30 min)30 minutesNo
MercadoLibre: Sync Claims (v2)1 hoursYes
MercadoLibre: Sync Returns1 hoursYes
MercadoLibre: Sync Settlements (Daily)1 daysYes
MercadoLibre: Sync Balance (6h)6 hoursYes
MercadoLibre: Sync Promotions2 hoursYes
MercadoLibre: Sync Reviews (Daily)1 daysYes
MercadoLibre: Sync Analytics (12h)12 hoursYes
MercadoLibre: Sync Ad Campaigns1 daysYes
MercadoLibre: Sync Ad Metrics6 hoursYes
Some jobs ship switched off

The jobs marked No above are installed but inactive. Enable them only if you actually use that capability, and read the note in the module-specific notes section first.

Intervals above are the shipped defaults. Adjust them to your volume — but be aware that the platform, not Odoo, sets the API rate limits, and shortening a sync interval is the usual cause of throttling errors in the logs.

Webhook and API endpoints your server exposes

These are the HTTP routes this module adds to your Odoo instance. Only the public ones are reachable without an Odoo login.

EndpointAuthPurpose
/meli_notifypublicMercadoLibre push notifications. POST accepts MELI's plain-JSON notification (resource, topic, user_id, application_id…), answers HTTP 200 immediately and queues it for a cron to process — MELI auto-disables a topic that does not answer within 500 ms, so the acknowledgement deliberately comes before the work. GET answers ok for MELI's health check and browser probes
/meli_loginlogged-in userOAuth redirect target. After you authorise in the MercadoLibre popup, MELI redirects to /meli_login?code=…&state=<configuration id>; the module exchanges the code for tokens and returns you to the configuration form
/mercadolibre/api/statuslogged-in userconnection and sync status read by the dashboard
/mercadolibre/api/synclogged-in usertriggers a sync from the dashboard
/mercadolibre/dashboard/datalogged-in userdashboard KPI data

Both URLs are configured in your application at developers.mercadolibre.com: set the Redirect URI to https://<your-odoo-host>/meli_login and the Notifications callback URL to https://<your-odoo-host>/meli_notify, then subscribe the topics you want. Both must be HTTPS and must resolve publicly — a redirect URI that does not match the one configured in MercadoLibre, character for character, fails the OAuth exchange. Because /meli_notify acknowledges first and processes on a cron, a notification shows up in Odoo on the queue's next run rather than instantly.

Using the module

The MercadoLibre menu is laid out as:

  • MercadoLibre → Dashboard
  • MercadoLibre → Catalog — Products, Postings, Categories, Size Charts
  • MercadoLibre → Sales — Orders, MELI Orders, Customers, Buyers
  • MercadoLibre → Fulfillment — Shipments, Claims / Returns
  • MercadoLibre → Communication — Questions, Reviews, Notifications
  • MercadoLibre → Marketing — Advertising, Promotions
  • MercadoLibre → Finance — Settlements, Account Balance
  • MercadoLibre → Analytics — Margin Analysis, Stock Forecast, Reports, Analytics Snapshots
  • MercadoLibre → Operations — Import Wizard, Export Wizard, Mapping Wizard, Bulk Price Update, Test Connection, Data Repair, Sync Logs
  • MercadoLibre → Configuration — Settings, Accounts, SKU Rules, Currency Mapping, Description Templates, Category Import Wizard

A normal first run is:

  1. Test Connection until the instance reads connected.
  2. Review the mapping records (categories, order statuses, payment and shipping methods) so imported data lands on the right Odoo records.
  3. Run a small import first — restrict it by date or by a handful of products — and check the results before letting the scheduled actions take over.
  4. Watch the Logs view during the first full sync. Every sync writes a log line; failures are recorded there rather than raised at the user.

Module-specific notes

  • Four scheduled actions ship disabled: real-time stock push, auto push products, auto push prices, and shipment-status sync. Three of them push data to Mercado Libre, so they are off by default to prevent an unreviewed catalogue from going live. Enable them once your mapping is correct.
  • Use Configuration → Settings → Authorize to complete OAuth. The redirect URI configured in MercadoLibre must point back at your Odoo domain.
  • Order Confirmation and Delivery Processing control how far Odoo automates a synced order (manual, on_payment / on_shipped, or always). Leave both on manual until you trust the mapping.
  • Tax Handling and Attribute Creation Mode materially change how products are created; review them before the first catalogue import.
  • Webhooks are managed from the settings form; Notifications under the Communication menu shows what arrived.

New in 2.1.4

  • Sales and order-status charts open the exact matching MercadoLibre orders and use the same inclusive date window as the dashboard KPIs.
  • Dashboard queries respect the selected marketplace and company, and access follows the MercadoLibre user and manager groups.
  • Claims include kanban, pivot, and graph views with count-based analysis partitioned by currency.
  • Failed-sync orders are no longer included in cancelled-order counts, and notification or repair failures name the affected record for faster diagnosis.
  • Odoo 17, 18, and 19 carry the same dashboard, access-control, company-isolation, and client-regression coverage.

Troubleshooting

Installation

SymptomCause and fix
The module is not shown in AppsConfirm the extracted mercadolibre_store_management/ directory is directly in an active addons path, then use Apps → Update Apps List.
Odoo reports a missing dependencyInstall the Odoo application named in the message, then update the Apps List.
The downloaded ZIP is the wrong versionUse the archive matching the Odoo major version that runs your instance.

Syncing

SymptomCause and fix
Test Connection failsRe-check every required field in the table above. Most failures are a mistyped secret, or credentials created for the sandbox while the connector points at production (or vice-versa).
Nothing syncs even though the connection is fineThe scheduled actions are disabled at the Odoo level, or Odoo's cron worker is not running. Check Settings → Technical → Scheduled Actions and that --max-cron-threads is greater than zero.
Sync starts then stops part-wayRead the Logs view for that run. Rate limiting and rejected field values are the two common causes; both are logged with the platform's own error text.
Records import but map to the wrong Odoo valuesFix the mapping records under the module's configuration, then re-run the import.
Duplicated products or customersRun the initial import once. If a first attempt half-finished, check the existing records before re-running rather than importing on top.

Version history

Odoo versionVersion you download today
17.017.0.2.1.4
18.018.0.2.1.4
19.019.0.2.1.4

ECOSIRE module versions are <odoo major>.<module major>.<minor>.<patch>, so 19.0.2.1.4 is the Odoo 19 build of module version 2.1.4. Your installed version is shown in Apps.

Support