Σε αυτό το άρθρο, θα μάθετε πώς να μεταφέρετε εκπτώσεις και επιβαρύνσεις στο RetailForce Middleware.
Προαπαιτούμενα
- Βασική εμπειρία με το μοντέλο εγγράφων του RetailForce
Πληροφορίες
Υποστηριζόμενες εκπτώσεις και επιπλέον χρεώσεις
Επί του παρόντος, οι εκπτώσεις και οι επιβαρύνσεις μπορούν να μεταφερθούν στο payload του εγγράφου ως εξής:
- Ως μέρος της θέσης του μεμονωμένου είδους και, συνεπώς, ως έκπτωση ή επιπλέον χρέωση για το αντίστοιχο είδος
- Μέσα σε μια θέση τύπου «Σύνολο» (Σημείωση: Δείτε παρακάτω για ειδικές παραμέτρους)
- Ως ξεχωριστή θέση έκπτωσης/επιπλέον χρέωσης
Σημείωση: Η επιλογή 2 ενδέχεται να μην υποστηρίζεται σε όλες τις χώρες. Ανατρέξτε στο fiscalCountryProperties για την αντίστοιχη χώρα.
Η μεταφορά εκπτώσεων/επιβαρύνσεων σε όλες τις θέσεις ειδών μέσω υποσυνόλων ή συνόλων δεν υποστηρίζεται προς το παρόν. Όλες οι εκπτώσεις και οι επιβαρύνσεις πρέπει να μετατρέπονται σε όλες τις θέσεις.
Ωστόσο, μπορούν να μεταφερθούν πολλαπλές εκπτώσεις ή επιβαρύνσεις ανά είδος.
Σημαντικό: Το άθροισμα όλων των τιμών εκπτώσεων ή επιβαρύνσεων ανά είδος πρέπει να ισούται με τη διαφορά μεταξύ «GrossValue» και «BaseGrossValue», διαφορετικά η επικύρωση θα αποτύχει.
Πιθανή μεταφορά εκπτώσεων και επιβαρύνσεων
Παραλλαγή 1
Οι εκπτώσεις ή οι επιβαρύνσεις περιλαμβάνονται στην αντίστοιχη θέση είδους στον πίνακα «Discounts».
Παράδειγμα:
Το παρακάτω παράδειγμα παρουσιάζει μόνο ένα απόσπασμα και όχι ολόκληρη τη θέση του είδους.
"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,Λεπτομέρειες σχετικά με τα επιμέρους στοιχεία μπορείτε να βρείτε στο άρθρο «Θέσεις-αντικείμενα».
Στο παραπάνω παράδειγμα, εφαρμόζεται έκπτωση 10% («TypeValue: 10»). Η «DiscountValue» υπολογίζεται από την «BaseGrossValue» (τιμή πριν την έκπτωση). Για τον υπολογισμό της «GrossValue», η «DiscountValue» αφαιρείται από την «GrossValue».
Επιπλέον χρεώσεις
Κατά τη μεταφορά επιπλέον χρεώσεων, παρακαλούμε να λάβετε υπόψη τα εξής:
- Οι τιμές «DiscountValue» και «TypeValue» είναι ΑΡΝΗΤΙΚΕΣ στην περίπτωση των επιπλέον χρεώσεων!
Τύποι εκπτώσεων και επιβαρύνσεων
Το «Discounts.Type» καθορίζει τον τύπο της έκπτωσης ή της επιπλέον χρέωσης:
| Τύπος | Περιγραφή | Στοιχείο |
| έκπτωση / επιπλέον χρέωση ως άθροισμα |
Η έκπτωση/η επιπλέον χρέωση καθορίζεται ως σταθερή τιμή, π.χ. «έκπτωση 15 EUR» ή «τέλος εξυπηρέτησης 5 EUR». Σε αυτή την περίπτωση, οι παράμετροι «DiscountValue» και «TypeValue» έχουν την ίδια τιμή. |
"Type": "[0] = Allowance" ή: "Type": 0 |
| εκπτωση/επιπλέον χρέωση ως ποσοστό |
Η επιπλέον χρέωση/έκπτωση καθορίζεται ως ποσοστό, π.χ. «έκπτωση 10% στα είδη» ή «τέλος εξυπηρέτησης 5%». Εδώ, το «TypeValue» καθορίζει την ποσοστιαία τιμή, ενώ το «DiscountValue» υπολογίζεται με βάση την αντίστοιχη «BaseGrossValue» του είδους. Σημείωση: Στην περίπτωση των εκπτώσεων σε ποσοστό, η «DiscountValue» πρέπει πάντα να υπολογίζεται με 4 δεκαδικά ψηφία! |
"Type": "[1] = Discount" ή: "Type": 1 |
Πολλαπλές εκπτώσεις/επιβαρύνσεις
Ο πίνακας «Discounts» μπορεί να περιέχει πολλαπλές εκπτώσεις/επιπλέον χρεώσεις.
Η σειρά με την οποία εφαρμόζονται οι μεμονωμένες εκπτώσεις ή επιβαρύνσεις για τον υπολογισμό της «GrossValue» καθορίζεται από το «DiscountOrder», με την πρώτη έκπτωση που εφαρμόζεται να έχει την τιμή «0».
Παράδειγμα πολλαπλών εκπτώσεων:
Στο παρακάτω παράδειγμα, εφαρμόζεται πρώτα μια ποσοστιαία έκπτωση 10% σε ένα είδος, ακολουθούμενη από μια έκπτωση 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,Ειδικό χαρακτηριστικό της θέσης «Σύνολο»
Οι εκπτώσεις ή οι επιβαρύνσεις μπορούν επίσης να μεταφερθούν ως μέρος ενός στοιχείου «Σύνολο» (στοιχείο αθροίσματος).
Ωστόσο, πρέπει να σημειωθεί ότι η απλή αναφορά αυτού στο στοιχείο «Σύνολο» ΔΕΝ αρκεί. Η έκπτωση πρέπει να κατανέμεται αναλογικά μεταξύ των επιμέρους θέσεων των στοιχείων. Για παράδειγμα, εάν εμφανίζεται έκπτωση 10% στο στοιχείο «Σύνολο», τα επιμέρους στοιχεία πρέπει επίσης να εμφανίζουν έκπτωση 10%.
Παράδειγμα:
{
"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"
}
Παραλλαγή 2
Στις περισσότερες χώρες, οι εκπτώσεις και οι επιβαρύνσεις μπορούν επίσης να μεταφερθούν ως ξεχωριστά στοιχεία. Η έκπτωση ή η επιβάρυνση λαμβάνεται υπόψη ως μέρος του υπολογισμού του συνόλου του εγγράφου.
Οι εκπτώσεις μεταφέρονται ως αρνητικές τιμές, ενώ οι επιβαρύνσεις ως θετικές τιμές!
Τέτοιες εκπτώσεις ή επιβαρύνσεις ορίζονται μέσω του «BusinessTransactionType»: «[1] = Έκπτωση».
Παράδειγμα:
Στο παρακάτω παράδειγμα, μια έκπτωση 12 EUR εμφανίζεται ως ξεχωριστό στοιχείο.
{
"PositionNumber": 1,
"Type": 3,
"Caption": "Discount",
"Identifier": "Discount",
"BusinessTransactionType": 1,
"VatIdentification": 1,
"VatPercent": 20.0,
"NetValue": -10.0,
"GrossValue": -12.0,
"TaxValue": -2.0
}
Αυτό το άρθρο μεταφράστηκε αυτόματα.
Σχόλια
0 σχόλια
Πραγματοποιήστε είσοδο για να αφήσετε ένα σχόλιο.