Gestion d'un magazine v16

Gestion des abonnements, des points de dépots-ventes, de l'accès web...

Gestion des abonnements

Cette documentation concerne la gestion d'abonnements de magazines (ou autres). La gestion des abonnements se base sur le module contract de l'OCA. La configuration part du principe que les abonnements sont payés par domiciliation, mais a priori possible de s'en passer et d'avoir un flux fonctionnel. De même, on part du principe que les produits d'abonnements sont des biens et pas des services, et on intègre donc les considérations de frais de livraison et de gestion des stocks. Ici aussi la solution est en principe tout à fait fonctionnelle sans ces aspects.

Gestion des abonnements

Configuration

Modules à installer

Contrat - E-commerce

Gestion des frais de transport et adresses de livraison

Gestion de la domiciliation

Automatisation et  facturation en masse

Configuration des contrats

Se rendre dans Facturation>Configuration>Contrat>Modèle de contrat et créer un modèle de contrat pour chaque durée d'abonnement disponible.

Nommer le modèle, choisir comme Type de document à générer "Ventes" (si l'on ne facture pas de frais de livraison et que l'on ne gère pas de stock, il faut plutôt choisir "Facture"). Choisir le journal comptable. Ne pas mettre de ligne d'article. 

image.png

Configuration des produits

Dans le système d'abonnement Odoo, on crée un produit d'abonnement pour chaque durée d'abonnement et chaque prix. Par exemple, si on a une politique de prix avec trois prix différents, et que l'on offre des abonnements de 1 an et des abonnements d'un trimestre, alors il faut créer un produit pour chaque configuration, soit 3*2=6 produits. 

Créons donc un produit pour un abonnement de 1 an à un prix réduit. Il faut configurer les champs suivant

Mode de paiement

S'il n'existe pas déjà, créer un mode de paiement spécifique pour les prélèvements SEPA :

image.png

Configuration du site web

Voici la procédure pour afficher un menu dédié pour les abonnements dans la boutique.

D'abord, aller sur la boutique du site web, puis dans la catégorie de produit "Abonnement" (configurée sur le produit plus haut). Copier l'url.

image.png

Ensuite, aller dans Site Web>Configuration>Menus, puis Nouveau. Nommer le menu, copier l'url dans URL, puis retirer tout ce qui est avant "/shop". Choisissez le menu Parent "Menu principal du site web [nomdusiteweb]". 

image.png

Voilà, le menu devrait apparaitre dans la boutique.

image.png

Par ailleurs, la solution actuelle ne fonctionne que si l'on active la configuration "aller au panier" quand on ajoute un produit. 

image (2).png

Frais de livraison

Configurer les méthodes de livraisons si besoin, voir ici

Validation en masse

Créer une action-serveur. Le mode debug est nécéssaire. Aller dans Configuration>Technique>Actions>Actions de serveur, puis sur Nouveau. Configurer comme suit :

image.png

L'objectif est de pouvoir afficher tous les transferts liés à une liste de bon de commande, afin de pouvoir les confirmer en masse.

Filtres sur les bons de commande

Afin de faciliter la facturation, on veut pouvoir filtrer en un clic les bons de commande d'abonnement à facturer. On créé donc deux filtres personalisés dans la vue liste des bons de commande. 

Gestion des abonnements

Création d'un abonnement

Achat d'un abonnement

Toutes les opérations mentionnées ici sont automatisées, cette page sert juste à expliquer ce qui se passe lorsqu'un client achète un abonnement via l'e-commerce.

Les abonnements sont commandés via l'e-commerce. Des bons de commande sont créés pour chaque nouvel abonnement. 

Si l'abonnement est payé par domiciliation, les bons de commande seront automatiquement confirmés à la fin de la commande (grâce au module sepa_sale_order_autoconfirm).

La confirmation du bon de commande a entraîné l'envoi d'un mail automatique. Cela a également généré un contrat. Le bon de commande est marqué comme entièrement facturé car il sera facturé via le contrat. 

image.png

Lorsqu'on utilise des frais de livraison, il reste une ligne dans le bon de commande lié à ce frais de livraison, qui elle n'est pas marquée comme facturé. Il faut ignorer cette ligne car elle sera également facturé via les contrats. 

Pour en savoir plus sur les contrats, voir notre documentation à ce sujet. Voici néanmoins quelques explications :

image.png

Si on clique sur la ligne de contrat, on peut voir d'autres détails, notamment :

image.png

Création des commandes par le contrat

La nuit suivant la création du contrat, un programme automatique va créer un bon de commande lié au contrat. La commande apparaitra via ce bouton-ci :

image.png

Cette case sur le bon de commande nous signale qu'il a été créé par un contrat

image.png

Lors de la confirmation du contrat, les frais de port devraient être automatiquement ajoutés (grâce au module sale_order_auto_carrier), en se basant sur l'adresse de livraison. 

L'adresse de livraison est determinée ici par rapport à la fiche contact du client. Ainsi si le client change d'adresse de livraison après la création du contrat, elle sera mise à jour dans ses futures factures et les frais de livraison seront adaptés.  

Gestion des abonnements

Facturation des abonnements

Jusqu'ici, aucune intervention humaine n'a été nécessaire. Voici maintenant la procédure pour facturer les nouveaux abonnements et les abonnements renouvelés.

Dans la vue liste des bons de commande, on applique le filtre SO à livrer (cf la page de configuration). On sélectionne toutes les commandes. Puis on clique sur Action>Action groupée et dans on clique sur Confirmer. 

image.png

Puis on confirme les livraisons : Action>Transférer les commandes (attention le nom peut changer selon la configuration faites ici !). Cela affiche tous les bons de livraisons créés par les commandes. 

image.png

Selectionner les lignes, puis cliquer sur "Vérifier la disponibilité", puis Action>Valider. 

image.png

On revient aux bons de commande, on réapplique le filtre "SO à facturer", puis Action >Créer les facture. On confirme : "Créer et afficher les factures". 

image.png

Les factures s'affichent, on les sélectionnent, puis on les valide : Action>Comptabiliser les écritures.

image.png

Enfin, sélectionner les factures et cliquer sur Action>"Envoyer et imprimer". 

Puis on les ajoute à un ordre de paiement. 

Gestion des abonnements

Fin d'un abonnement

Pour mettre fin à un abonnement, il faut mettre fin au contrat. Pour cela, on se rend sur le contrat, puis sur la ligne de contrat, on clique sur le carré rouge 'Interrompre' (il faut scroller vers la droite pour le voir car la ligne est longue). 

image.png

On rentre alors la date de fin de l'abonnement. Si un accès web est lié à l'abonnement, il faut rentrer la date de fin de période de facturation afin d'être sûr que l'abonné ai le droit de consulter le site web sur toute la période.

image.png

Gestion des abonnements

Exporter la liste des abonnements pour l'imprimeur

Au moment de la parution du numéro, il faut pouvoir exporter une liste de toutes les adresses auxquelles il faut envoyer le numéro. 

Pour cela aller dans Ventes>Commandes>Contrat, s'assurer que le filtre par défaut "En cours" est bien coché.

Si certain contrat ne donnent pas droit à recevoir un magazine (comme une période d'essai), il faut faire un filtre pour retirer ces contrats. Attention également si vous utilisez les contrats pour autre chose que des abonnements magazines. 

Ensuite, sélectionnez tous les contrats, puis  Action>Exporter et assurez-vous de bien inclure le champs Shipping Adress>Adresse complète et Nom. Les autres champs ne sont pas vraiment nécéssaire a priori.

image.png

Gestion des abonnements

Côté client : achat sur l'e-commerce et accès portail

Achat sur l'e-commerce

Le client se rend sur l'e-commerce et, si la configuration a été faite (cf page Configuration), il accède aux produits d'abonnement via un menu dédié.

Le flux d'achat est similaire au flux d'achat classique du e-commerce.

Dans le cas d'une boutique où l'on peut acheter à la fois des produits aux numéros et des abonnements par domiciliation, une contrainte est mise en place pour empêcher d'acheter les deux en même temps si la case "Only SEPA payment" est cochée sur le produit. 
En effet, on ne doit pas pouvoir acheter autre chose qu'un abonnement via la domiciliation. Ainsi si l'on a un panier rempli avec un numéro, et que l'on souhaite y ajouter un abonnement, on aura l'erreur suivante (et de même si on fait l'inverse). 
image.png

Accès portail

Comme pour tous les contrats, les clients peuvent le consulter sur le portail

Gestion des abonnements

Offrir un abonnement

Pour activer cette fonctionalité, installer le module website_sale_product_contract_gift.

Ce module permet à un utilisateur d'offrir un abonnement à durée déterminée (non renouvelé) à quelqu'un d'autre, et de choisir une date à partir de laquelle l'abonnement (le contrat) commencera. 

Configuration

Produit

Créer un produit dédié ( nommé "Abonnement cadeau" par exemple), de type stockable (si l'on veut facturer des frais de port), et dans l'onglet Ventes, cocher "is Gift". Publier le produit sur le e-commerce. 

image.png

Email

Via le module automation_oca (documenté ici), on peut configurer un email automatique qui sera envoyé au receveur le jour du début du contrat (qui a été spécifié par l'acheteur).

Pour cela on créé la configuration suivante, ainsi qu'un nouveau modèle de mail associé, voir la documentation du module pour plus de détail. 

image.png

image.png

Site web

Comme documenté ici, on peut créer un menu dédié pour visibiliser le produit "Abonnement Cadeau". 

Parcours utilisateur frontend

Une personne qui souhaite offrir un abonnement suit normalement le flux d'achat e-commerce du produit Abonnement Cadeau.

Le module interdit d'acheter un cadeau en plus d'un autre abonnement. Un message d'erreur sera affiché car les abonnement sont payés en prélèvement SEPA donc doivent faire l'objet d'une commande séparé.
image.png

Dans la page d'adresse, il doit encoder la date du cadeau (date de début du contrat et d'envoi du mail associé). Ainsi qu'ajouter une adresse supplémentaire pour le receveur du cadeau.

image.png

image.png

Le reste du flux de commande e-commerce est similaire.

Suivi en backend

La commande est automatiquement confirmée, l'acheteur du cadeau recevra donc un mail de confirmation de sa commande. 

Un contrat a aussi été créé, sur un produit gratuit. Le contrat est au nom du receveur du cadeau. Le champ Responsable indique l'utilisateur (lié au contact) qui a offert le cadeau. La date de début du contrat est celle spécifiée par l'acheteur.  

Le contrat va engendré une facture à zéro € qu'il faudra ignorer dans la comptabilité.

Gestion des abonnements

Période d'essai et Accès web

Grâce au module website_sale_product_trial, il est possible de gérer des périodes d'essais de 15 jours (la durée est codée en dure) donnant seulement un accès web (pas d'envoi de magazine). Le module subscription_web_access ajoute des champs "subscriber" et "web_subscriber" calculés par rapport au contrat en cours. 

Le module contient aussi une méthode qui réponds en json à des appels externe. Cette méthode est dévelopé spécifiquement pour dialoguer avec Wagtail.

Si il y a un contrat en cours, le partenaire est "web_subscriber". Si le produit du contrat n'est pas une période d'essai, la personne est aussi "subscriber". 

Attention : cette fonctionalité n'est actuellement pas compatible avec un usage des contrats hors abonnement, vu qu'il n'y a pas de condition qui vérifie que le produit du contrat est bien un abonnement. 

Configuration

Créer un produit "période d'essai", à prix de vente nul et de type service, et cocher la case "Is Trial" dans l'onglet Vente. 

On peut mettre dans la description de vente du produit une explication 

Parcours utilisateurs front-end

La personne qui souhaite prendre une période d'essai achète le produit période d'essai dans le e-commerce. Lors de la confirmation de la commande, l'utilisateur est redirigé vers une page de confirmation explicative (à traduire pour mettre le texte souhaité) :

image.png

Parcours utilisateur back-end

Le bon de commande est confirmé automatiquement, un contrat est créé, qui commence aujourd'hui et à une durée de 15 jours (codé en dur). 

La case "web_subscriber" est cochée sur la fiche contact. 

Les contrats passent en état "interruption à venir" un mois avant la date de fin. Cela n'a pas d'impact, mais cela doit être pris en compte dans les filtre sur l'état (inclure "en cours" et "interruption à venir").
L'état "à renouveler" concerne uniquement les contrat avec renouvellement manuel, ce qui n'est pas le cas ici. 

Gestion des abonnements

Email de confirmation d'abonnement

Les achats dans le ecommerce entraînent nativement une confirmation de commande. Cependant, il faut communiquer plus en détail sur l'abonnement, et sur le mode de paiement par domiciliation.

Pour cela on utiliser le module automation_oca (documenté ici), en configurant le filtre ci-dessous. 

image.png

On ajoute ensuite un envoi de mail, en créant un modèle de courriel approprié (voir cette documentation). 

image.png

Ventes en librairie

Ventes en librairie

Listes de distributions

Gérer des dépôts/ventes

[Prérequis: il faut que le module delivery_distribution_list soit installé]

Ce module est utilisé pour piloter des échanges avec les librairies.

Créer un dépot/vente/un transporteur

Sur la fiche contact, les cases à cocher “deposit/sale” et “carrier delivery” ont été
ajoutées

image.png

Transporteur

Il suffit de cocher la case.
Vous pouvez retrouver ensuite les transporteurs dans le menu dédié depuis le menu Ventes>Delivery Distribution>Carriers

Dépot/vente

Une fois la case deposit/sale cochée, des infos en plus sont disponibles dans l’onglet Ventes et achats. Il faut assigner un livreur à choisir parmi la liste des contacts ayant la case carrier cochée et une quantité par défaut à déposer.

Le champs Assigned Carrier est nécéssaire si le contact est un point de dépôt/vente.

image.png

Créer des listes de distribution


Aller dans le menu Ventes > Delivery Distribution > Delivery Distribution List, et cliquer sur Créer. Renseigner la date, le produit (qui correspond au numéro concerné) et le journal comptable choisi.

image.png

En cliquant sur Generate list, une ligne est créée par contact ayant la case deposit/sale cochée.

Si vous voyez l'erreur ci-dessous, c'est que au moins un contact "deposit/sale" n'a pas de carrier assigné. Pour corriger, aller dans la liste de contacts et faites un filtre : "Deposit/sale" est True et "Assigned Carrier" n'est pas défini. 
image.png

On peut dès lors moduler les quantités déposées et les quantités reçues.

image.png

Une fois que les quantités ont été encodées, les lignes peuvent être validées une par une ou via le bouton Validate List. De même, les manipulations suivantes pourront se faire en masse (via les boutons) ou ligne par ligne.

Après validation, on peut soit remettre les lignes en brouillon ("Back to draft"), soit générer les bons de commande ("Generate Sale Order"). On peut ensuite envoyer ces bons de commande par mail. Ces bons de commandes apparaitront dans la liste des bons de commande dans le menu "Commandes".

image.png

Générer les bons de commande a un impact sur le stock prévisionnel, ce qui permet d’avoir une vue sur les magazines disponibles. 

image.png

 Générer les factures

A ce stade il est possible également de générer les factures ("Generate Invoice"), de les valider (Validate Invoice) et de les envoyer par mail. 

Au niveau du stock, l'étape de génération de la facture est également l'étape ou les magazines sont considérés comme livrés et donc quitte le stock. 

Enfinn, le bouton “done” permet de clôturer le processus.