Een case van begin tot eind: een winkel koppelt Shopee
Voorbeeld Fictief geval: het bedrijf en de cijfers zijn verzonnen om de werkwijze uit te leggen.
Kantoorboekhandel Arrecife is een verzonnen bedrijf dat kantoorartikelen verkoopt en al met Odoo werkt. De verantwoordelijke installeert Shopee Marketplace Connector (APAC) en zet hem in één middag op. Onderweg komt hij bijna alle meldingen van de module tegen. We bekijken ze in de volgorde waarin hij ze krijgt, met wat elke melding betekent en wat hij doet om verder te kunnen.
Eerste halte: het marketplace-account
Eerst maakt hij het account aan. Omdat het team ook via andere kanalen verkoopt, probeert hij een andere marketplace dan Shopee te kiezen en Odoo antwoordt met %s is not available: this connector only connects Shopee. De module heeft nog een melding met dezelfde strekking: Only Shopee accounts can be connected. Beide zeggen hetzelfde: deze connector koppelt alleen Shopee. Wat hij doet: het account op Shopee laten staan.
Daarna maakt hij, zonder het te merken, binnen hetzelfde bedrijf een tweede account aan met dezelfde shop_id als het eerste. Bij het opslaan verschijnt Each marketplace account (shop_id) must be unique per company. De regel staat in de tekst zelf: per bedrijf kan een shop_id maar aan één account hangen. Wat hij doet: het concept verwijderen en verder werken in het account dat al bestond.
In hetzelfde account vult hij een synchronisatiefrequentie onder het minimum in en krijgt hij Sync frequency must be between 5 and 60 minutes. Hij corrigeert het met een waarde binnen die marge, tussen 5 en 60 minuten. Bij de drempel voor conflictdetectie typt hij een verkeerd getal en verschijnt Conflict detection threshold must be between 0 and 100%. Hij vult een waarde tussen 0 en 100% in en slaat op.
Tweede halte: categorieën, attributen en producten
Met het account klaar gaat hij naar de koppelingen. Hij begint met de categorieën: hij koppelt een Odoo-categorie aan een Shopee-categorie en probeert later dezelfde Odoo-categorie in hetzelfde account aan een andere Shopee-categorie te koppelen. Dan verschijnt Each Odoo category maps to one marketplace category per account. Wat hij doet: de bestaande koppeling bewerken in plaats van een nieuwe aan te maken.

Bij de attributen gebeurt hetzelfde. Als hij een Odoo-attribuut voor hetzelfde account herhaalt, luidt de melding Each Odoo attribute maps to one marketplace attribute per account. De oplossing is dezelfde: één Odoo-attribuut, één marketplace-attribuut per account.

Daarna koppelt hij producten. Per ongeluk dupliceert hij de koppeling van een variant in hetzelfde account en krijgt hij One mapping per product per account. Bij het corrigeren kopieert hij het Shopee-product-ID van een andere regel en verschijnt Marketplace product ID must be unique per account. Twee verschillende regels: elk product heeft per account één koppeling en elk product-ID van de marketplace mag per account maar één keer voorkomen. Hij loopt de lijst na en houdt per product één koppeling over met een eigen ID.

Derde halte: orders importeren
Bij het importeren van de eerste order verschijnt No product of the order %s is mapped to the account %s: map them in Product Mappings and try again. De melding wijst de weg al: geen enkel product van die order is aan dat account gekoppeld. Wat hij doet: naar Product Mappings gaan, de producten van die order koppelen en het opnieuw proberen.
Bij een andere poging krijgt hij %s did not return the order %s: %s. De tekst zegt dat de order niet is teruggestuurd en geeft aan het eind een detail. Wat hij doet: dat detail volledig lezen voordat hij het opnieuw probeert en het bewaren voor wie hem ondersteunt.
Tot slot verwijdert een collega een testaccount met een openstaande order. Bij het importeren verschijnt The account of the order %s no longer exists: create its sales order by hand, or delete the hold so that the next import of the company makes it. Hier biedt de melding twee uitwegen en Kantoorboekhandel Arrecife kiest er één: de verkooporder handmatig aanmaken, of de blokkering (hold) verwijderen zodat de volgende import van het bedrijf hem aanmaakt.
Vierde halte: het synchronisatielogboek
Bij het nalopen van het synchronisatielogboek probeert de verantwoordelijke een regel te corrigeren en krijgt hij Sync logs are immutable after creation. You cannot edit them. Daarna probeert hij hem te verwijderen en luidt de melding Sync logs cannot be deleted. They are part of the immutable audit trail. De module laat je die records niet bewerken of verwijderen: ze maken deel uit van de audittrail. Wat hij doet: ze laten zoals ze zijn en het gegeven bij de bron corrigeren.
De bedrijfsmelding die op meerdere plekken verschijnt
Eén melding herhaalt de module bij verschillende soorten records: The company of a %s is the one of its marketplace account. Die zegt dat het bedrijf van dat record het bedrijf van zijn marketplace-account is. Zie je hem, probeer dat record dan geen ander bedrijf te geven dan dat van zijn account: kijk bij welk bedrijf het marketplace-account hoort en werk van daaruit.

Wat je uit de case leert
De meldingen van Kantoorboekhandel Arrecife zijn te groeperen naar het moment waarop ze verschijnen:
- Account: alleen Shopee, één
shop_idper bedrijf, frequentie tussen 5 en 60 minuten en conflictdrempel tussen 0 en 100%. - Koppelingen: één Odoo-categorie en één Odoo-attribuut per account, één koppeling per product en account, en een uniek product-ID van de marketplace per account.
- Orders: zonder gekoppelde producten geen import; bestaat het account van de order niet meer, dan geeft de melding zelf je de twee uitwegen.
- Logboek: synchronisatielogs kun je niet bewerken of verwijderen.
- Bedrijf: het bedrijf van elk record is dat van zijn marketplace-account.
Wil je zien welke velden je invult voordat je bij deze meldingen komt, lees dan de ingebruikname van de connector, en om te begrijpen wat elk record doorloopt, hoe hij van binnen werkt.
Hoe FlexigoTech je helpt
De connector staat gratis (excl. btw) in Odoo Apps voor Odoo 17, 18, 19 en 20; je vindt hem op de pagina in Odoo Apps en op zijn pagina op flexigotech.com. Heb je liever dat iemand hem samen met jou werkend krijgt? Bij FlexigoTech implementeren we Odoo 17, 18, 19 en 20 en ontwikkelen we connectoren en integraties op maat als je meer nodig hebt dan de module doet.
Lees verder
Gecontroleerd in de broncode van de module (versie 20.0) en in de gelinkte bronnen
Bronnen
- Broncode van de module: flexigo_apac_e_commerce_marketplaces_bundle 20.0 (2cbf6b48): models/marketplace_attribute_mapping.py
- Broncode van de module: flexigo_apac_e_commerce_marketplaces_bundle 20.0 (2cbf6b48): models/marketplace_category_mapping.py
- Broncode van de module: flexigo_apac_e_commerce_marketplaces_bundle 20.0 (2cbf6b48): models/marketplace_config.py
- Broncode van de module: flexigo_apac_e_commerce_marketplaces_bundle 20.0 (2cbf6b48): models/marketplace_order_hold.py
- Broncode van de module: flexigo_apac_e_commerce_marketplaces_bundle 20.0 (2cbf6b48): models/marketplace_product_mapping.py
- Broncode van de module: flexigo_apac_e_commerce_marketplaces_bundle 20.0 (2cbf6b48): models/marketplace_sync_conflict.py
- Broncode van de module: flexigo_apac_e_commerce_marketplaces_bundle 20.0 (2cbf6b48): models/marketplace_sync_log.py
- Broncode van de module: flexigo_apac_e_commerce_marketplaces_bundle 20.0 (2cbf6b48): models/marketplace_sync_queue.py
- apps.odoo.com/apps/modules/20.0/flexigo_apac_e_commerce_marketplaces_bundle
- apps.odoo.com/apps/modules/17.0/flexigo_apac_e_commerce_marketplaces_bundle
- apps.odoo.com/apps/modules/18.0/flexigo_apac_e_commerce_marketplaces_bundle
- apps.odoo.com/apps/modules/19.0/flexigo_apac_e_commerce_marketplaces_bundle
- flexigotech.com/en/services.html
