Synchronisation des données

Si un ERP est présent, il pilotera les données.

Récupération des données de l’ERP

La configuration de l’ERP-CRM Dolibarr est native dans WPshop 2.x.y

Les différents moyens de synchroniser

  • Cas n°1 – Synchronisation par ligne : Dans le tableau des Tiers/Commandes/Produits, en cliquant sur le bouton de synchronisation sur la ligne désirée.
  • Cas n°2 – Synchronisation par objet : Dans la page d’édition d’un(e) Tier/Commande/Produit, en cliquant sur le bouton de synchronisation en haut de page.
  • Cas n°3 – Synchronisation en masse : à venir

Les 3 cas ont le même fonctionnement de synchronisation. La cohérence au niveau des données est gérée par un sha256 généré dans les deux plateformes lors de la récupération des données.

Les données synchronisées selon les entités

  1. Comparaison du SHA256
  2. Si le SHA256 est différent les données sont écrasées par les données de l’ERP
  3. Si c’est OK on génère un nouveau SHA256

TIERS

$wp_third_party->data[‘external_id’] = (int) $doli_third_party->id;
$wp_third_party->data[‘title’] = $doli_third_party->name;
$wp_third_party->data[‘address’] = $doli_third_party->address;
$wp_third_party->data[‘town’] = $doli_third_party->town;
$wp_third_party->data[‘zip’] = $doli_third_party->zip;
$wp_third_party->data[‘state’] = $doli_third_party->state;
$wp_third_party->data[‘country’] = $doli_third_party->country;
$wp_third_party->data[‘phone’] = $doli_third_party->phone;
$wp_third_party->data[’email’] = $doli_third_party->email;
$wp_third_party->data[‘status’] = ‘publish’;

CONTACTS/ADRESSES

Ces données ne sont pas synchronisés.

PRODUITS

$wp_product->data['external_id']       = (int) $doli_product->id;
$wp_product->data['fk_product_parent'] = isset( $doli_product->fk_product_parent ) ? (int) $doli_product->fk_product_parent : 0;
$wp_product->data['ref']               = $doli_product->ref;
$wp_product->data['title']             = $doli_product->label;
$wp_product->data['content']           = $doli_product->description;
$wp_product->data['price']             = $doli_product->price;
$wp_product->data['price_ttc']         = $doli_product->price_ttc;
$wp_product->data['tva_amount']        = $doli_product->price_ttc - $doli_product->price;
$wp_product->data['tva_tx']            = $doli_product->tva_tx;
$wp_product->data['stock']             = (int) $doli_product->stock_reel;
$wp_product->data['barcode']           = $doli_product->barcode;
$wp_product->data['fk_product_type']   = (int) $doli_product->type; // Product 0 or Service 1.
$wp_product->data['status']            = $doli_product->array_options->options__wps_status;

CATEGORIE

$wp_category->data['external_id'] = (int) $doli_category->id;
$wp_category->data['name'] = $doli_category->label;
$wp_category->data['slug'] = $doli_category->array_options->options__wps_slug;

TUNNEL DE VENTE

Déroulement du tunnel de vente en terme de données et de création de compte, tiers etc.

  1. Création d’un compte sur WordPress (équivalent à un tiers = wp_posts)
  2. Création d’un User WordPress (dans wp_users avec un role customers)
  3. « Passer commande » déclenche les actions suivantes
    1. Création d’un tiers Dolibarr avec le mail du User WordPress
    2. Création de la proposition commerciale
    3. Création de la commande
  4. « Payer en ligne »
    1. Vers le mode de paiement Stripe de Dolibarr
    2. Vers le mode de paiement Paypal de Dolibarr
    3. Départ vers la banque
    4. Retour de la banque Génération de la facture et du paiement sur la banque configurée sur le mode de paiement
  5. Retour sur le Dolibarr avec un lien redirection automatique vers le site d’origine sur WordPress

Affichage des propositions commerciales, commande, factures

Les listes sont récupérées directement par l’API REST