Dans cet article, vous apprendrez comment transmettre les remises et les suppléments au RetailForce Middleware.
Prérequis
- Connaissances de base du modèle de document RetailForce
Informations
Remises et majorations prises en charge
Actuellement, les remises et les majorations peuvent être transférées dans le payload du document comme suit :
- Dans le cadre d’une DocumentPosition de type « Item » et, par conséquent, sous forme de remise ou de majoration pour l’article concerné
- Au sein d’une ligne de type « Total » (Remarque : voir ci-dessous pour les particularités)
- En tant que ligne distincte de remise/majoration
Remarque : l’option 2 n’est actuellement prise en charge qu’en Allemagne et au Portugal. Consultez fiscalCountryProperties pour le pays concerné.
Le transfert des remises/suppléments sur l’ensemble des lignes de commande via des sous-totaux ou des totaux n’est actuellement pas pris en charge. Toutes les remises et tous les suppléments doivent être répartis sur l’ensemble des lignes.
Toutefois, plusieurs remises ou majorations peuvent être appliquées par article.
Important : la somme de toutes les valeurs de remise ou de majoration par article doit être égale à la différence entre « BaseGrossValue » et « GrossValue » (les majorations sont considérées comme des valeurs négatives). Cette somme n’est actuellement pas vérifiée lors de la validation ; par conséquent, une somme erronée n’est pas signalée comme une erreur.
Transfert possible des remises et des majorations
Variante 1
Les remises ou majorations sont intégrées dans la ligne de poste correspondante, au sein du tableau « Remises ».
Exemple :
L’exemple suivant ne présente qu’un extrait et non la ligne de poste complète.
"BaseNetValue": 123.08,
"BaseGrossValue": 147.70,
"BaseTaxValue": 24.62,
"VatIdentification": 1,
"VatPercent": 20.0,
"Discounts": [
{
"DiscountValue": 14.7700,
"Caption": "Regular customer discount 10%",
"DiscountOrder": 0,
"Type": 1,
"TypeValue": 10,
"PromotionKeys": null,
"Identifier": "SKR-10"
}
],
"NetValue": 110.78,
"GrossValue": 132.93,
"TaxValue": 22.16,Vous trouverez des détails sur les différents éléments dans l’article « Positions » consacré à l’objet « Position ».
Dans l’exemple ci-dessus, une remise de 10 % (« TypeValue : 10 ») est appliquée. La « DiscountValue » est calculée à partir de la « BaseGrossValue » (valeur avant remise). Pour calculer la « GrossValue », la « DiscountValue » est soustraite de la « BaseGrossValue ».
Suppléments
Lors du transfert des suppléments, veuillez tenir compte des points suivants :
- « DiscountValue » et « TypeValue » sont des valeurs NÉGATIVES dans le cas des suppléments !
Types de remises et de majorations
« Discounts.Type » précise le type de remise ou de supplément :
| Type | Description | Élément |
| réduction / supplément sous forme de somme |
La remise ou le supplément est défini sous la forme d’une valeur fixe, par exemple « remise de 15 EUR » ou « frais de service de 5 EUR ». Dans ce cas, « DiscountValue » et « TypeValue » prennent la même valeur. |
"Type": "[0] = Allowance" ou : "Type": 0 |
| remise / majoration en pourcentage |
La majoration/remise est indiquée sous forme de pourcentage, par exemple « remise de 10 % sur les articles » ou « frais de service de 5 % ». Dans ce cas, « TypeValue » indique la valeur en pourcentage, tandis que « DiscountValue » est calculé à partir de la « BaseGrossValue » correspondante de l’article.
Remarque : dans le cas des remises en pourcentage, « DiscountValue » doit toujours être calculé avec 4 décimales. |
"Type": "[1] = Discount" ou : "Type": 1 |
Remises/suppléments multiples
Le tableau « Discounts » peut contenir plusieurs remises/suppléments.
L’ordre dans lequel les remises ou majorations individuelles sont appliquées pour calculer la « GrossValue » est défini par « DiscountOrder », la première remise à appliquer ayant la valeur « 0 ».
Exemple de remises multiples :
Dans l’exemple suivant, une remise en pourcentage de 10 % est d’abord appliquée à un article, puis une remise de 5 EUR.
"BaseNetValue": 123.08,
"BaseGrossValue": 147.70,
"BaseTaxValue": 24.62,
"VatIdentification": 1,
"VatPercent": 20.0,
"Discounts": [
{
"DiscountValue": 14.7700,
"Caption": "Regular customer discount 10%",
"DiscountOrder": 0,
"Type": 1,
"TypeValue": 10,
"PromotionKeys": null,
"Identifier": "SKR-10"
},
{
"DiscountValue": 5.0000,
"Caption": "Special discount 5 EUR",
"DiscountOrder": 1,
"Type": 0,
"TypeValue": 5.0,
"PromotionKeys": null,
"Identifier": "SKR-10"
}
],
"NetValue": 106.61,
"GrossValue": 127.93,
"TaxValue": 21.32,Caractéristique particulière de la position « Total »
Les remises ou majorations peuvent également être reportées dans le cadre d’un poste « Total » (poste de totalisation).
Il convient toutefois de noter qu’il ne suffit PAS de simplement l’indiquer dans le poste « Total ». La remise doit être répartie proportionnellement entre les différents postes. Par exemple, si une remise de 10 % est indiquée sur le poste « Total », les postes individuels doivent également afficher une remise de 10 %.
Exemple :
{
"PositionNumber": 1,
"Type": 10,
"Rounding": null,
"BaseValue": 147.70,
"Value": 132.93,
"Discounts":[
{
"Identifier": "SKR-10",
"Caption": "Regular customer discount 10%",
"Type": 1,
"DiscountOrder": 0,
"DiscountValue": 14.7700,
"TypeValue": 10
}
],
"Caption": "Summe"
}
Variante 2
En Allemagne et au Portugal, les remises et les majorations peuvent également être reportées sous forme de postes distincts. La remise ou la majoration est prise en compte dans le calcul du total du document.
Les remises sont représentées par des valeurs négatives, tandis que les majorations sont exprimées par des valeurs positives.
Ces remises ou majorations sont définies via le « BusinessTransactionType » : « [1] = Remise ».
Dans tous les autres pays, le logiciel rejette un document contenant un tel poste avec l’erreur de validation suivante : « Type de transaction commerciale “Remise” non pris en charge. » Veuillez utiliser la variante 1 dans ces pays. Le BusinessTransactionType « [1] = Remise » est marqué comme obsolète et n’est conservé que pour des raisons de compatibilité ascendante ; la variante 1 est donc recommandée dans tous les pays.
Exemple :
Dans l’exemple suivant, une remise de 12 EUR est indiquée sous forme de ligne distincte.
{
"PositionNumber": 1,
"Type": 3,
"Caption": "Discount",
"Identifier": "Discount",
"BusinessTransactionType": 1,
"VatIdentification": 1,
"VatPercent": 20.0,
"NetValue": -10.0,
"GrossValue": -12.0,
"TaxValue": -2.0
}
Cet article a été traduit automatiquement.
Commentaires
0 commentaire
Vous devez vous connecter pour laisser un commentaire.