Reconnaissance des revenus : activation du fractionnement des prix 1/2

Posted by
English version available here

Par simple curiosité et suite à mon précédent article, j’ai souhaité également creuser cette seconde partie offerte par le module. Je pense que l’application métier est essentiellement liée aux US-GAAP, car elle consiste à fractionner le chiffre d’affaire généré sur une commande client entre les articles. Ainsi, si plusieurs lignes sont facturées sur la commande pour un montant total dédié, le poids de chacune d’entre elle pourra être revu. Bien sûr, la somme totale à facturer sera toujours la même. Par conséquent, une commande avec une seule ligne n’aura aucune répartition possible, et tout ce qui suit n’aurait pas d’impact. On comprend également mieux l’intérêt d’ajouter la fonctionnalité des kits dans ce module, qu’on étudiera un peu plus tard (autre article).

Dernière remarque, ce module étant assez récent, on constate que beaucoup de libellés ne sont pas traduits en Français (encore).

Paramétrage

Tout, d’abord, il faut que deux conditions soient réunies pour activer cette fonctionnalité. D’une part, l’activation de la coche « Enable discount allocation method » mais également le fait que « Apply residual method » soit décoché dans l’entête des commandes clients.

Par défaut, cette dernière coche est bien à Non et elle s’instancie depuis la commande client directement donc normalement c’est bon par défaut.

Il faut également déterminer un « Revenue allocation price » dans le module Revenue recongnition pour chacun des articles concernés par la vente.

Dernier paramétrage : activer la coche « Is revenue allocation active » sur les fiches articles concernés, sous le soufflet Revenue recognition. On ne s’occupe pas des autres paramètres, pour l’instant.

Flux 1 – Cas simple

On passe une commande client, on ajoute les 3 articles de la démonstration, et on la confirme. Puis on vient cliquer sur « Revenue price allocation », dans l’onglet Gérer. A présent, on regarde et on analyse.

Les prix unitaires sont les prix de la commande client (respectivement 100, 1900 et 500). La colonne Total nous indique qu’une remise à été appliquée à chaque ligne, ici de 20%.

La colonne List price est le prix de base de la fiche article (le prix fixé dans la fiche, pas les accords commerciaux). Cela n’a pas d’impact pour la suite.

La colonne Allocation price recense les prix fixés dans l’écran Revenue price pour chaque article. Enfin, on constate comment le système va répartir les 80, 1520 et 400 € via la colonne Allocation amount. Il applique simplement une règle de trois, pour assurer que les proportions paramétrées dans l’écran Revenu price soient appliquées et que le total fait bien la somme de 80 + 1520 + 400 soit 2000 €.

Si l’on calcule la somme total de Allocation price cela donne : 1840 €. Le coefficient entre le montant total et la somme des Allocation price est de 1,087. Ainsi, si l’on multiplie ce coefficient par les montants de Allocation price on retrouve bien les 43,48, 1847,82 et 108,69 €. La somme faisant bien 2000 € (Le système applique un calcul d’arrondi).

In fine, c’est la colonne Revenue to recognize qui fait foi. Ici elle est identique à la colonne Allocation amount.

Lorsqu’on émet la facture et qu’on génère et valide les écritures de journaux pour la reconnaissance des revenues on retombe bien sur ces chiffres.

Flux 2 – Utilisation des Revenue type

On complexifie un peu et on vient ajouter cette fonctionnalité. On a 3 valeurs : Essential, Nonessential et Post contract support (voir Flux 3 pour ce dernier cas)..

Cela permet de donner de l’importance à l’un ou l’autres des articles du kit lorsqu’on applique des remises sur la commande client. Ainsi, un article Essential ne se verra pas dégradé son montant une fois le calcul d’allocation effectué. Par contre, les articles Nonessential et Post contract support pourront encore être ajustés si des remises sont appliquées dans la commande client.

A retenir : pour voir l’application, il faut au moins 3 articles pour que cela fonctionne, un article Essential et 2 articles Nonessential dont l’un est « Exclude from carve out » et l’autre non. Il faut également une remise sur les lignes.

Sur le premier article, la tablette surface, on vient indiquer que c’est un article Essential. Concrètement, cela signifie qu’il a plus d’importance que les autres et qu’on ne souhaite pas lui faire supporter le poids des remises de la commande.

Sur l’article support, on le taggue comme étant Nonessential et « Exclude from carve out ».

Sur l’article garantie, on le taggue comme étant Nonessential et pas « Exclude from carve out ».

Lorsqu’on passe une commande – la même que précédemment – avec une remise de 20%, cela donne le résultat suivant :

Aucun changement jusqu’au calcul de l’Allocation amount. Par contre, la colonne Carve out amount a été impactée, venant ensuite réajuster encore le calcul d’allocation. L’article surface n’a rien eu comme impact, puisqu’il est Essential. L’article support a plus de poids que l’article garantie. Il est figé à 100, comme le montant qu’on a fixé dans l’écran Revenue price. Comme les 2 articles ont un montant alloué connu et figé (1847,82 pour l’un, 100 pour l’autre), c’est bien l’article Nonessentiel qui n’est pas exclu du carve out qui supporte la différence.

Remarque : une valeur « Carve out amount » égale à 0 ne corrige pas le montant alloué à 0 mais cela signifie que la ligne n’est pas impactée par le carve out.

Flux 3 : Post contract support

Pour tester ce troisième cas, du paramétrage est nécessaire. Il faut en premier lieu désactiver les termes du contrat dans le paramétrage global du module (« Disable contract terms »), cela ne viendra pas initialiser les dates de début et fin des lignes des commandes client.

Si l’on passe l’article support en Revenue type = Post contract support, cela signifie que la ligne pourra être dupliquée et fractionnée dans le revenue à reconnaitre.

Rajoutons le paramètrage du Setup basis (depuis l’onglet Vendre de la fiche article, sous Revenue recognition). Ici, il faut rajouter les groupes d’articles autorisés sur lesquels on souhaite fractionner la prestation de support.

On reprend l’exemple précédent, avec un article surface essential et un article garantie nonessential.

On vient créer la commande client et on applique la remise de 20%.

Lorsqu’on confirme la commande, et qu’on vient analyser le Revenue price allocation :

On constate que l’article support s’est fractionné pour la reconnaissance du revenue, une partie étant allouée à l’article Essential et l’autre à l’article Nonessential. Cela signifie que le support serait porté par les 2 prestations (ici ça n’a pas trop de sens pour être honnête mais c’est pour l’exemple).

En analysant, on remarque que la proportion de l’Allocation amount de la surface vs la garantie est d’environ 97% donc le montant total du support (108,69 €) est réparti sur les deux articles proportionnellement.

On peut également combiner l’application d’un carve out et du post contract support, comme le montre l’export ci-dessous sur un test réalisé.

Pour l’application de prix médian, dit Median price, rendez-vous dans un prochain article.

Yohann

One comment

Leave a Reply

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.