Nordlet

← Ιστολόγιο

Marketplace Seller Subledgers: Revenue vs Payables

A practitioner's guide to separating customer cash, platform commission, seller payables, reserves, and payouts with balanced journal entries and a working order-to-payout data model.

Nordlet Team · · 14 λεπτά ανάγνωσης

Το πιο συνηθισμένο λάθος στη λογιστική των ηλεκτρονικών αγορών (marketplaces) είναι η αντιμετώπιση της ακαθάριστης πληρωμής του αγοραστή ως έσοδο της πλατφόρμας. Ένας πελάτης πληρώνει 100 €, αυτό το ποσό καταλήγει στον λογαριασμό του παρόχου πληρωμών και κάποιος καταχωρεί ολόκληρο το ποσό στις πωλήσεις. Τα βιβλία ισοσκελίζονται προσωρινά, τα έσοδα φαίνονται υπέροχα, και μετά ένας ελεγκτής ρωτάει πού είναι η υποχρέωση προς τον πωλητή. Δεν υπάρχει, επειδή τα 90 € του πωλητή δεν καταγράφηκαν ποτέ ως οφειλόμενο ποσό.

Η λύση είναι δομική και όχι επιφανειακή. Μια ηλεκτρονική αγορά χρειάζεται ένα μοντέλο καθολικού που διαχωρίζει πέντε ξεχωριστές δεξαμενές από την πρώτη εγγραφή: ταμειακά διαθέσιμα πελατών υπό διαμετακόμιση, έσοδα από προμήθειες της πλατφόρμας, οφειλές προς πωλητές, προμήθειες και αποθεματικά. Οι εκταμιεύσεις αποτελούν ένα έκτο γεγονός που εξοφλεί την υποχρέωση, και όχι ένα γεγονός εσόδων ή εξόδων από μόνες τους. Αυτός ο οδηγός παρουσιάζει τις ισοσκελισμένες εγγραφές και το μοντέλο δεδομένων που διατηρούν αυτές τις δεξαμενές διακριτές.

Ξεκινήστε από το συμπέρασμα περί κύριου έναντι αντιπροσώπου (principal-versus-agent)

Πριν αποκτήσει σημασία οποιαδήποτε δομή λογαριασμών, η πλατφόρμα πρέπει να αποφασίσει τι ακριβώς πωλεί. Σύμφωνα με το πρότυπο ASC 606, αυτό αξιολογείται ανά καθορισμένο αγαθό ή υπηρεσία, και η απάντηση καθορίζει εάν τα έσοδα είναι ακαθάριστα (gross) ή καθαρά (net). Μια πλατφόρμα μπορεί να ενεργεί ως κύριος (principal) για μια ροή και ως αντιπρόσωπος (agent) για μια άλλη.

Για μια τυπική πώληση σε ηλεκτρονική αγορά που αφορά εμπορεύματα ενός πωλητή, η πλατφόρμα συνήθως ενεργεί ως αντιπρόσωπος. Μεριμνά ώστε το προϊόν του πωλητή να φτάσει στον αγοραστή, δεν αναλαμβάνει τον κίνδυνο αποθέματος και η αμοιβή της συνίσταται σε προμήθεια. Η καθοδήγηση της Deloitte σχετικά με τον κύριο έναντι του αντιπροσώπου βάσει του ASC 606 εστιάζει την αξιολόγηση στον έλεγχο: η ευθύνη εκπλήρωσης της υπόσχεσης, ο κίνδυνος αποθέματος και η διακριτική ευχέρεια τιμολόγησης αποτελούν ενδείξεις και όχι μια λίστα ελέγχου που υπερισχύει της υποκείμενης εκτίμησης ελέγχου.

Ο λόγος για τον οποίο αυτό πρέπει να ενσωματωθεί στον σχεδιασμό του καθολικού και όχι απλώς σε ένα εσωτερικό σημείωμα, είναι ότι το συμπέρασμα καθοδηγεί κάθε επόμενη καταχώριση. Εάν η πλατφόρμα είναι αντιπρόσωπος, το μερίδιο του πωλητή αποτελεί υποχρέωση από τη στιγμή που κερδίζεται. Εάν ενεργεί ως κύριος για μια υπηρεσία διεκπεραίωσης (fulfillment) ή εγγύησης, αυτό το τμήμα αποτελεί έσοδο της πλατφόρμας. Αποθηκεύστε το συμπέρασμα ως δεδομένο:

  • principal_agent_role
  • specified_good_or_service
  • commission_rule_id
  • control_assessment_version
  • effective_from / effective_to

Ένας ελεγκτής που εξετάζει μια γραμμή καθαρής προμήθειας δύο χρόνια αργότερα θα πρέπει να μπορεί να διαπιστώσει γιατί δεν χρησιμοποιήθηκε το ακαθάριστο ποσό. Όπως επισημαίνει η BillingPlatform για το ASC 606 σχετικά με κύριο και αντιπρόσωπο, η ταμπέλα "marketplace" δεν επιλύει το ζήτημα. Η ανάλυση ελέγχου το επιλύει.

Ορίστε το υπόλοιπο του πωλητή πριν γράψετε έστω έναν κανόνα ημερολογίου

Το "υπόλοιπο του πωλητή" δεν είναι ένας ενιαίος αριθμός. Ένας πωλητής μπορεί να έχει ένα υγιές συνολικό υπόλοιπο συνεργασίας και καθόλου διαθέσιμα χρήματα προς εκταμίευση, επειδή τα χρήματα είναι ακόμη σε εκκρεμότητα ή κρατούνται ως αποθεματικό. Αν συγχωνεύσετε αυτές τις καταστάσεις, θα αποτυπώσετε εσφαλμένα το ποσό που μπορεί να αποσύρει ο πωλητής και το ποσό που εξακολουθεί να οφείλει η πλατφόρμα.

Τουλάχιστον, παρακολουθήστε τα εξής:

  • Σε εκκρεμότητα (Pending): έχουν κερδηθεί ή εισπραχθεί, αλλά δεν είναι ακόμη επιλέξιμα για εκταμίευση
  • Διαθέσιμα (Available): επιλέξιμα για εκταμίευση σύμφωνα με τους κανόνες της πλατφόρμας
  • Σε αποθεματικό (Reserved): παρακρατούνται έναντι αναμενόμενων επιστροφών χρημάτων, διαφορών (disputes) ή αντιλογισμών χρέωσης (chargebacks)
  • Εκταμιευθέντα (Paid out): μεταφέρθηκαν ή υποβλήθηκαν για διακανονισμό
  • Αρνητικά (Negative): ποσό που οφείλει ο πωλητής, το οποίο είναι εισπράξιμο από μελλοντικά έσοδα
  • Σε αναμονή (Suspense): ελήφθησαν, αλλά ο πωλητής ή η αντιμετώπιση δεν έχουν ακόμη καθοριστεί

Οι πάροχοι πληρωμών διαμορφώνουν ήδη αυτόν τον διαχωρισμό. Η Stripe διαχωρίζει κάθε συνδεδεμένο λογαριασμό σε υπόλοιπα σε εκκρεμότητα και διαθέσιμα, ενώ διατηρεί ένα αποθεματικό υπόλοιπο σε επίπεδο πλατφόρμας για ορισμένα αρνητικά υπολοιπόμενα ποσών πωλητών. Εάν ο πάροχος πληρωμών τα διαχωρίζει, το καθολικό πρέπει να κάνει το ίδιο, διαφορετικά η συμφωνία (reconciliation) δεν θα ταιριάξει ποτέ.

Το σχέδιο λογαριασμών και οι διαστάσεις που έχουν σημασία

Μια λειτουργική αρχική δομή διαχωρίζει τους λογαριασμούς εκκαθάρισης (clearing accounts), τις υποχρεώσεις και τα έσοδα, και διατηρεί μια διάσταση πωλητή σε κάθε ουσιώδη καταχώριση.

Σκοπός Λογαριασμός ή διάσταση Αντιμετώπιση
Κεφάλαια παρόχου πληρωμών εν αναμονή διακανονισμού Εκκαθάριση παρόχου πληρωμών Ενεργητικό εκκαθάρισης
Εκταμίευση παρόχου σε τράπεζα Τράπεζα Ενεργητικό
Ποσό πωλητή που κερδίθηκε αλλά είναι απλήρωτο Οφειλές προς πωλητές (Seller payables) Υποχρέωση
Λεπτομέρειες σε επίπεδο πωλητή Διάσταση seller_id Λεπτομέρεια υποχρέωσης, όχι έσοδο
Προμήθεια πλατφόρμας Έσοδα από προμήθειες Έσοδο
ΦΠΑ ή φόρος πωλήσεων Οφεικόμενος φόρος (Tax payable) Υποχρέωση
Προμήθειες παρόχου πληρωμών Έξοδα επεξεργασίας πληρωμών Έξοδο
Αποθεματικά πωλητών Υποχρέωση αποθεματικού Εξαρτώμενη από τη σύμβαση
Επιστροφές χρημάτων Αντι-έσοδα ή επιστροφές Αντιστρέφει την αρχική αντιμετώπιση
Αντιλογισμοί χρέωσης (Chargebacks) Ζημία, απαίτηση ή είσπραξη από πωλητή Εξαρτάται από το ποιος φέρει τη ζημία
Εκταμιεύσεις εν αναμονή τραπεζικής επιβεβαίωσης Εκκαθάριση εκταμιεύσεων πωλητή Λογαριασμός εκκαθάρισης
Μη καταμερισμένα ποσά Αναμονή (Suspense) Προσωρινή εξαίρεση

Κάθε ουσιώδης καταχώριση πρέπει να περιλαμβάνει τον πωλητή, την παραγγελία, την παρτίδα εκταμίευσης, τον πάροχο πληρωμών, το νόμισμα, τη νομική οντότητα, τη φορολογική μεταχείριση, τον τύπο γεγονότος, την εξωτερική αναφορά και τυχόν σύνδεσμο αντιστροφής. Χωρίς αυτά, το υποκαθολικό του πωλητή δεν μπορεί να αποδείξει ένα μεμονωμένο υπόλοιπο και το γενικό καθολικό δεν μπορεί να αποδείξει το σύνολο.

Μπορείτε να υλοποιήσετε το υποκαθολικό ως έναν λογαριασμό υποχρέωσης ανά πωλητή, ως έναν συγκεντρωτικό λογαριασμό οφειλών με το seller_id ως διάσταση, ή ως καταμερισμό μεταξύ οφειλών, αποθεματικού και εκκαθάρισης εκταμιεύσεων. Η προσέγγιση του συγκεντρωτικού λογαριασμού με προσθήκη διάστασης κλιμακώνεται καλύτερα μόλις ξεπεράσετε μερικές δεκάδες πωλητές. Επιλέξτε το μοντέλο σε συνεννόηση με τον λογιστή σας, επειδή οι κανόνες διαφύλαξης κεφαλαίων και οι τοπικοί κανονισμοί πληρωμών μπορούν να επηρεάσουν τον τρόπο παρουσίασης των κεφαλαίων. Για τους μηχανισμούς πίσω από τις καταχωρίσεις, το άρθρο μας σχετικά με τα API διπλογραφικού καθολικού για τη λογιστική marketplaces καλύπτει τα βασικά στοιχεία του καθολικού στα οποία βασίζεται αυτό το μοντέλο.

Καταχωρίστε την πώληση με ξεχωριστές γραμμές για τον πωλητή και την πλατφόρμα

Ας πάρουμε μια πώληση μέσω αντιπροσώπου: ο πελάτης πληρώνει 100 €, η προμήθεια της πλατφόρμας είναι 10 €, ο πωλητής κερδίζει 90 €. Τη στιγμή που κερδίζονται η προμήθεια και το δικαίωμα του πωλητή:

Λογαριασμός Χρέωση (Debit) Pίστοση (Credit)
Εκκαθάριση παρόχου πληρωμών 100 €
Οφειλή προς πωλητή - Πωλητής Α 90 €
Έσοδα από προμήθειες 10 €

Ο έλεγχος που έχει σημασία: τα 90 € πιστώνονται σε έναν λογαριασμό υποχρέωσης και όχι σε έσοδα. Η πλατφόρμα αναγνωρίζει 10 €. Αυτό είναι το αποτέλεσμα στο οποίο καταλήγει το παράδειγμα marketplace του ASC 606 για έναν αντιπρόσωπο, όπου η πλατφόρμα αναγνωρίζει την προμήθειά της και όχι ολόκληρο το ποσό πώλησης του πωλητή.

Εάν ο φόρος εισπράττεται ξεχωριστά, προσθέστε τη γραμμή οφειλόμενου φόρου και μειώστε το ποσό του πωλητή ή της πλατφόρμας σύμφωνα με το φορολογικό συμπέρασμα. Μην ενσωματώνετε τον φόρο στην προμήθεια ή στην οφειλή προς τον πωλητή για λόγους ευκολίας.

Κρατήστε τις προμήθειες του παρόχου πληρωμών εκτός των υπολογισμών εσόδων και οφειλών

Τρία πράγματα συγχέονται συνεχώς: η προμήθεια της πλατφόρμας, η προμήθεια του παρόχου πληρωμών και το ποσό εκταμίευσης. Είναι διαφορετικά μεταξύ τους και αφορούν διαφορετικούς λογαριασμούς.

Ο πελάτης πληρώνει 100 €, η προμήθεια είναι 10 €, ο πάροχος κρατάει 3 €.

  • Τα έσοδα από προμήθειες παραμένουν στα 10 €, εφόσον αυτό ορίζεται στη σύμβαση.
  • Η προμήθεια του παρόχου ύψους 3 € αποτελεί έξοδο.
  • Η οφειλή προς τον πωλητή είναι 90 €, εκτός εάν η σύμβαση του πωλητή ορίζει ότι ο ίδιος επιβαρύνεται με την προμήθεια επεξεργασίας. Μόνο τότε μειώνεται στα 87 € με αντίστοιχη χρέωση 3 € στον πωλητή.

Η καταχώριση μόνο του καθαρού ποσού των 97 € που κατατίθεται στην τράπεζα εξαφανίζει την ακαθάριστη πώληση, την προμήθεια και την προμήθεια παρόχου με μία κίνηση. Η αναφορά μας για τη συμφωνία πληρωμών επισημαίνει το ίδιο ακριβώς: αναλύστε τον διακανονισμό, αντιμετωπίστε τις προμήθειες των παρόχων ως έξοδα και μην αφήνετε ποτέ την καθαρή κατάθεση να υποκαθιστά τα έσοδα.

Μοντελοποιήστε τη διαθεσιμότητα, τα αποθεματικά και τις εκταμιεύσεις ως ξεχωριστά γεγονότα

Τα χρήματα αλλάζουν κατάσταση πολλές lầnες μεταξύ της δέσμευσης (capture) και της εκκαθάρισης σε μετρητά. Κάθε μετάβαση αξίζει τη δική της καταχώριση, και ένα αποθεματικό δεν αποτελεί ποτέ μια αδικαιολόγητη περικοπή στα έσοδα.

Όταν τα διαθέσιμα κεφάλαια μεταφέρονται στο αποθεματικό:

Λογαριασμός Χρέωση (Debit) Πίστωση (Credit)
Οφειλή προς πωλητή - Πωλητής Α 15 €
Υποχρέωση αποθεματικού πωλητή 15 €

Όταν αποδεσμεύεται το αποθεματικό, αντιστρέψτε την εγγραφή. Η συνολική υποχρέωση του πωλητή δεν έχει αλλάξει, έχει αλλάξει η κατάστασή της. Η Stripe τεκμηριώνει τις συναλλαγές αποθεματικών που αυξάνουν και απελευθερώνουν αποθεματικά, καθώς και τις μεταφορές είσπραξης για μακροχρόνια αρνητικά υπολοιπόμενα, γι' αυτό και απαιτούνται αναγνωρίσιμοι λογαριασμοί αντί για έναν ενιαίο συμψηφισμό.

Οι εκταμιεύσεις αντιμετωπίζονται σε δύο βήματα. Κατά την έγκριση:

Λογαριασμός Χρέωση (Debit) Πίστωση (Credit)
Οφειλή προς πωλητή - Πωλητής Α 90 €
Εκκαθάριση εκταμιεύσεων πωλητή 90 €

Κατά την επιβεβαιωμένη τραπεζική εκκαθάριση:

Λογαριασμός Χρέωση (Debit) Πίστωση (Credit)
Εκκαθάριση εκταμιεύσεων πωλητή 90 €
Τράπεζα 90 €

Εάν η εκταμίευση αποτύχει, αντιστρέψτε το ποσό από τον λογαριασμό εκκαθάρισης πίσω στην οφειλή προς τον πωλητή. Μια εκταμίευση αποτελεί διακανονισμό υποχρέωσης και όχι έξοδο. Η αντιμετώπισή της ως έξοδο διπλομετράται εις βάρος της πώλησης που είχε ήδη καταχωρίσει την οφειλή. Η Stripe διαχωρίζει την κατάσταση εκταμίευσης (pending, in_transit, paid, failed, canceled) και την αναμενόμενη ημερομηνία άφιξης από την έναρξη της διαδικασίας, και αυτές οι ημερομηνίες δεν πρέπει να συμπτύσσονται σε ένα ενιαίο χρονικό σημείο.

Το μοντέλο δεδομένων από την παραγγελία στην εκταμίευση

Το υποκαθολικό λειτουργεί με βάση γεγονότα και όχι την τρέχουσα κατάσταση παραγγελίας της εφαρμογής. Κάθε γεγονός που επηρεάζει τον πωλητή φέρει τον ίδιο φάκελο δεδομένων:

  • seller_id, event_id, order_id
  • event_type (πώληση, επιστροφή χρημάτων, αντιλογισμός χρέωσης, δέσμευση αποθεματικού, απελευθέρωση αποθεματικού, εκταμίευση, διόρθωση)
  • effective_date, posting_date
  • currency, direction, gross, commission, fees, reserve
  • refund_ref / dispute_ref
  • payout_batch_id
  • reversal_of
  • source_status, idempotency_key

Από αυτά τα γεγονότα υπολογίζετε το τελικό υπόλοιπο αντί να αποθηκεύετε ένα μεταβλητό πεδίο:

Τελικό υπόλοιπο πωλητή
= αρχικό υπόλοιπο
+ πιστώσεις πωλητή
− χρεώσεις πωλητή
− εκταμιεύσεις
± κινήσεις αποθεματικού
± διορθώσεις

Κάθε εξωτερικό γεγονός χρειάζεται ένα ανθεκτικό κλειδί ταυτότητας (idempotency key) ώστε οι επαναλήψεις και τα διπλότυπα webhooks να μην πιστώσουν διπλά έναν πωλητή ή να μην εκταμιεύσουν διπλά τα χρήματα. Μοτίβα που λειτουργούν αποτελεσματικά:

  • Γεγονός ημερολογίου πωλητή: seller_id:order_id:event_type:version
  • Παρτίδα εκταμίευσης: processor:payout_id
  • Γεγονός παρόχου πληρωμών: processor:event_type:processor_event_id

Η τεκμηρίωση webhook της ίδιας της Stripe προειδοποιεί ότι συμβαίνουν διπλότυπα γεγονότα, επομένως ο εντοπισμός διπλότυπων δεν είναι προαιρετικός. Οι καταχωρημένες εγγραφές παραμένουν αμετάβλητες. Οι διορθώσεις πραγματοποιούνται μέσω μιας αντιστρεπτικής εγγραφής συν μιας διορθωμένης εγγραφής, και ο δικός σας φάκελος γεγονότων είναι αυτός που φέρει τον σύνδεσμο reversal_of και την αιτιολογία. Το καθολικό διατηρεί τις καταχωρίσεις και όχι αυτόν τον σύνδεσμο: η Nordlet προσφέρει λειτουργίες δημιουργίας, ανάκτησης και λίστας για συναλλαγές ημερολογίου στην τεκμηρίωση API και καμία ενημέρωση ή διαγραφή, επομένως μια διόρθωση αποτελεί πάντα μια νέα συναλλαγή και όχι επεξεργασία.

Οι επιστροφές χρημάτων και οι αντιλογισμοί χρέωσης συνδέονται πίσω, δεν αιωρούνται ποτέ

Μια επιστροφή χρημάτων που εμφανίζεται στην εκταμίευση της επόμενης εβδομάδας δεν πρέπει ποτέ να μετατρέπεται σε μια νέα αρνητική πώληση συνδεδεμένη με αυτήν την εκταμίευση. Συνδέστε την με την αρχική συναλλαγή και διατηρήστε την αρχική κατανομή του πωλητή. Ανάλογα με τη σύμβαση:

  • Αντιστρέψτε την προμήθεια εάν η σύμβαση προβλέπει ότι επιστρέφεται
  • Χρεώστε την οφειλή προς τον πωλητή εάν ο πωλητής φέρει το βάρος της επιστροφής
  • Χρεώστε έναν λογαριασμό ζημίας της πλατφόρμας εάν η πλατφόρμα επωμίζεται το κόστος
  • Αυξήστε ένα αποθεματικό όσο μια διαφορά είναι ανοιχτή, απελευθερώστε το ή απορροφήστε το κατά την επίλυση

Οι αντιλογισμοί χρέωσης (chargebacks) μετά την εκταμίευση είναι η περίπτωση όπου εμφανίζονται αρνητικά υπολοιπόμενα. Τα χρήματα του πωλητή έχουν ήδη φύγει, οπότε η πλατφόρμα είτε τα εισπράττει εκ νέου από μελλοντικά έσοδα είτε απορροφά τη ζημία. Το μοντέλο πρέπει να επιτρέπει αρνητικά υπολοιπόμενα πωλητών και να ορίζει τον κανόνα είσπραξης. Οι αναφορές αγοράς της Adyen δείχνουν επιστροφές χρημάτων και αντιλογισμούς χρέωσης να παράγουν ξεχωριστές γραμμές χρέωσης ανά κάτοχο λογαριασμού, γεγονός που καταδεικνύει την επιθυμητή λεπτομέρεια.

Συμφωνία ανά εκταμίευση, όχι ανά μήνα

Αναλύστε κάθε διακανονισμό παρόχου πριν από την καταχώριση και συμφωνήστε κάθε εκταμίευση αντί να συγκεντρώνετε τα δεδομένα ενός ολόκληρου μήνα:

Ακαθάριστες χρεώσεις
− επιστροφές χρημάτων
− προμήθειες παρόχου πληρωμών
− αντιλογισμοί χρέωσης
± αποθεματικά και διορθώσεις
= καθαρή εκταμίευση παρόχου

Στη συνέχεια, αποδείξτε ότι τέσσερα υπολοιπόμενα συμφωνούν για κάθε πωλητή και νόμισμα: το υποκαθολικό του πωλητή, το υπόλοιπο πωλητή του παρόχου, η αναφορά εκταμίευσης και ο λογαριασμός εκκαθάρισης της τράπεζας. Όταν διαφέρουν, κατηγοριοποιήστε τη διαφορά (χρονική απόκλιση, ελλιπές γεγονός, διπλότυπο, λανθασμένη απόδοση, λανθασμένο νόμισμα, αποτυχημένη εκταμίευση, αντιλογισμός χρέωσης που καταχωρήθηκε σε λάθος μέρος). Ο συμψηφισμός διαφορών οδηγεί στην αλληλοκάλυψη σφαλμάτων που επιβιώνουν έως το επόμενο κλείσιμο.

Η συγκέντρωση ενός ολόκληρου μήνα επιτρέπει στις χρονικές αποκλίσεις να αλληλοαναιρούνται και αποκρύπτει πραγματικά κενά. Η αντιστοίχιση ανά εκταμίευση, με κλειδί το αναγνωριστικό εκταμίευσης (payout ID) και την αναφορά συναλλαγής αντί για το ποσό και την ημερομηνία, εντοπίζει αυτά τα σφάλματα.

Συνήθη σφάλματα δομής

Τύπος σφάλματος Γιατί είναι επιβλαβής Έλεγχος
Η ακαθάριστη πληρωμή πελάτη καταχωρείται ως έσοδο Διογκώνει τα έσοδα, αποκρύπτει την υποχρέωση προς τον πωλητή Διαχωρισμός οφειλής και προμήθειας κατά το γεγονός κέρδους
Καταχωρίζονται μόνο οι καθαρές καταθέσεις Χάνεται το ακαθάριστο ποσό, οι προμήθειες, οι επιστροφές, τα αποθεματικά Ανάλυση κάθε διακανονισμού
Η εκταμίευση καταχωρείται ως έξοδο Απεικονίζει εσφαλμένα τον διακανονισμό υποχρέωσης Χρέωση οφειλής προς πωλητή κατά την εκταμίευση
Ένα μοναδικό πεδίο υπολοίπου πωλητή Αναμιγνύει εκκρεμή, διαθέσιμα, δεσμευμένα και πληρωμένα ποσά Παρακολούθηση καταστάσεων υπολοίπων ρητά
Η προμήθεια υπολογίζεται κατά την εκταμίευση Τα έσοδα ακολουθούν το χρονοδιάγραμμα εκταμίευσης Αναγνώριση προμήθειας όταν κερδίζεται
Το αποθεματικό αντιμετωπίζεται ως περικοπή εσόδων Αλλοιώνει τον χρονισμό και τον κίνδυνο Παρακολούθηση δέσμευσης, αποδέσμευσης και απορρόφησης ξεχωριστά
Η επιστροφή χρημάτων εφαρμόζεται στην τελευταία εκταμίευση Διακόπτει την απόδοση στην παραγγελία Σύνδεση επιστροφής με την αρχική συναλλαγή
Επεξεργασία καταχωρημένων εγγραφών Καταστρέφει το ελεγκτικό ίχνος (audit trail) Αντιστροφή και εκ νέου καταχώριση
Επαναλημμένα webhooks Διπλές πιστώσεις και εκταμιεύσεις Κλειδιά ταυτότητας, εντοπισμός διπλότυπων
Αντιστοίχιση μόνο βάσει ποσού και ημερομηνίας Σύγκρουση διαφορετικών στοιχείων Αντιστοίχιση βάσει αναγνωριστικού εκταμίευσης, αναγνωριστικού συναλλαγής, πωλητή, νομίσματος

Τι θα έκανα πρώτα

Χαρτογραφήστε τη ροή χρημάτων προτού αγγίξετε το σχέδιο λογαριασμών. Καταγράψτε κάθε γεγονός από τη δέσμευση πληρωμής έως την αποδέσμευση αποθεματικού και επισημάνйте ποια δημιουργούν έσοδα, ποια δημιουργούν υποχρέωση και ποια απλώς μεταβάλλουν την κατάσταση.

Στη συνέχεια, κατασκευάστε μία ολοκληρωμένη ροή από άκρη σε άκρη και αποδείξτε ότι ισοσκελίζεται: μια κανονική πώληση, μια μερική επιστροφή χρημάτων, ένας αντιλογισμός χρέωσης μετά την εκταμίευση, ένα αποθεματικό που δεσμεύεται και απελευθερώνεται, και μια αποτυχημένη εκταμίευση. Εκτελέστε τα με γνωστά αναμενόμενα υπολοιπόμενα. Εάν ο ελεγκτικός λογαριασμός οφειλών προς πωλητές ισούται με το άθροισμα του υποκαθολικού, ο λογαριασμός εκκαθάρισης παρόχου ταιριάζει με την αναφορά διακανονισμού και η τραπεζική κατάθεση ταιριάζει με το αναγνωριστικό εκταμίευσης, έχετε μια λειτουργική ραχοκοκαλιά.

Ενεργεργήστε το κλείδωμα περιόδου μόνο αφού ο πρώτος μήνας κλείσει ομαλά με μηδενικό υπόλοιπο αναμονής. Το πρόωρο κλείδωμα απλώς παγώνει τα λάθη.

Η Nordlet καταχωρίζει διακανονισμούς ακολουθώντας αυτές τις αρχές από προεπιλογή: η προμήθεια της πλατφόρμας πηγαίνει στα έσοδα προμηθειών, το μερίδιο του πωλητή σε οφειλές προς πωλητές, οι προμήθειες παρόχου σε έξοδα επεξεργασίας πληρωμών και οτιδήποτε δεν έχει αποδοθεί ακόμη σε λογαριασμό αναμονής. Οι περίοδοι του καθολικού παραμένουν ανοιχτές μέχρι να τις κλειδώσετε ρητά, επομένως ο πρώτος μήνας μπορεί να κλείσει μόλις μηδενιστεί ο λογαριασμός αναμονής. Η σελίδα χαρακτηριστικών παραθέτει όσα περιλαμβάνονται.

FAQ

Είναι ποτέ η πληρωμή του αγοραστή έσοδο της πλατφόρμας;

Μόνο για τα συγκεκριμένα αγαθά ή υπηρεσίες όπου η πλατφόρμα ενεργεί ως κύριος. Για μια πώληση σε marketplace μέσω αντιπροσώπου που αφορά εμπορεύματα πωλητή, έσοδο είναι η προμήθεια και το μερίδιο του πωλητή αποτελεί υποχρέωση. Μια πλατφόρμα μπορεί να είναι κύριος για μια υπηρεσία διεκπεραίωσης και αντιπρόσωπος για τα υποκείμενα αγαθά στην ίδια παραγγελία, επομένως η αξιολόγηση γίνεται ανά καθορισμένο αγαθό ή υπηρεσία και όχι ανά εταιρεία.

Πρέπει τα αποθεματικά να μειώνουν τα έσοδα;

Όχι. Το αποθεματικό αποτελεί κατανομή χρονισμού και κινδύνου, όχι προσαρμογή εσόδων. Μεταφέρετε κεφάλαια από τις οφειλές προς πωλητές σε μια υποχρέωση αποθεματικού όταν τα παρακρατάτε, και αντιστρέψτε την κίνηση όταν τα αποδεσμεύετε. Τα έσοδα και οι προμήθειες δεν επηρεάζονται από το αν τα χρήματα του πωλητή είναι δεσμευμένα αυτή τη στιγμή.

Πώς μπορώ να αποτρέψω διπλές εκταμιεύσεις από επαναλήψεις webhook;

Επισυνάψτε ένα κλειδί ταυτότητας σε κάθε εξωτερικό γεγονός, όπως το processor:payout_id για παρτίδες εκταμιεύσεων, και εντοπίστε τυχόν διπλότυπα γεγονότα κατά την εγγραφή. Οι πάροχοι προειδοποιούν ρητά ότι συμβαίνουν διπλότυπες παραδόσεις webhook, επομένως το καθολικό πρέπει να απορρίψει τη δεύτερη προσπάθεια αντί να την καταχωρίσει ξανά.

Μπορεί το υπόλοιπο ενός πωλητή να γίνει αρνητικό;

Ναι, και το μοντέλο πρέπει να το επιτρέπει αυτό. Ένας αντιλογισμός χρέωσης που φτάνει αφού ο πωλητής έχει ήδη πληρωθεί αφήνει στην πλατφόρμα είτε μια απαίτηση έναντι του πωλητή είτε μια ζημία που απορροφά η ίδια. Η απόκρυψη των αρνητικών υπολοιπόμενων απλώς αποκρύπτει μια ακατάγραφη υποχρέωση.

Γιατί να γίνεται συμφωνία ανά εκταμίευση αντί για το μηνιαίο σύνολο;

Επειδή οι χρονικές διαφορές και τα σφάλματα αλληλοαναιρούνται όταν συγκεντρώνετε έναν μήνα, με αποτέλεσμα τα σύνολα να ταιριάζουν παρότι οι μεμονωμένες συναλλαγές είναι λανθασμένες. Η συμφωνία ανά εκταμίευση, με αντιστοίχιση στα αναγνωριστικά εκταμίευσης και συναλλαγής, αποκαλύπτει ελλιπή γεγονότα, διπλότυπα και εσφαλμένα αποδιδόμενους αντιλογισμούς χρέωσης πριν από το κλείσιμο.

Περαιτέρω ανάγνωση