Order Numbers
Vergibt fortlaufende, lesbare Bestellnummern wie ORD-01042 an Payload-Bestellungen über eine Reservierungs-Collection.
Installation
pnpm add payload-order-numbers Über
Das Plugin vergibt jeder Payload-Bestellung eine kurze, lesbare Referenznummer wie ORD-01042. Die Dokument-ID von Payload eignet sich nicht als Bestellreferenz: MongoDB erzeugt einen 24-stelligen ObjectId, PostgreSQL liefert einen nackten Integer ab 1, der die Gesamtzahl der Bestellungen preisgibt. Das Plugin formatiert eine fortlaufende Nummer mit konfigurierbarem Präfix, Suffix und Null-Padding und speichert sie direkt auf der Bestellung. Die Nummernvergabe erfolgt in einem beforeChange-Hook, aber die Reservierung läuft über eine separate Collection. Bevor eine Bestellung geschrieben wird, fügt das Plugin den nächsten Kandidatenwert in diese Collection ein, und der Insert committet in einer eigenen Transaktion. Eine zweite Bestellung, die im gleichen Moment ankommt, sieht die Reservierung und nimmt den nächsten Wert. Der Unique-Index auf der Bestellnummer ist die finale Garantie. Auf Payload 3.88 wurden 25 gleichzeitige Bestellungen gegen PostgreSQL und MongoDB getestet, alle Nummern waren eindeutig, ohne Lücken im Reservierungsschritt. Das Plugin fügt der konfigurierten Orders-Collection zwei Felder hinzu: ein schreibgeschütztes orderNumber-Textfeld und ein verstecktes orderSequence-Zahlenfeld, beide unique und indiziert. Eine versteckte Collection order-number-reservations speichert die reservierten Werte und ist für alle API-Zugriffe (Create, Read, Update, Delete) gesperrt. Die Optionen umfassen Präfix, Suffix, Padding, Startwert, Feldnamen, Collection-Slugs und die Anzahl der Versuche vor Abbruch. Es funktioniert mit @payloadcms/plugin-ecommerce und jeder Collection namens orders (ordersSlug-Standardwert: 'orders'). Zwei Einschränkungen sind bekannt. Die Sequenz ist aufsteigend und eindeutig, aber nicht lückenlos: Ein reservierter Wert bleibt erhalten, auch wenn die Bestellung danach fehlschlägt. Für PostgreSQL muss der Connection-Pool mindestens doppelt so groß sein wie die erwartete Anzahl gleichzeitiger Bestellungen, da der Reservierungs-Insert eine zweite Verbindung öffnet, während die Transaktion der Bestellung die erste hält. MongoDB ist davon nicht betroffen. Bestehende Bestellungen werden nicht neu nummeriert.
Paketinformationen
- Paketname
payload-order-numbers- Neueste Version
1.0.1- Entpackte Größe
- 15 kB
- Lizenz
- MIT
- Wöchentliche Downloads
- 6
- Zuletzt veröffentlicht
- 21. Aug. 2026
Mehr von Poseidonas
Profil ansehenBarcodes
Fügt Payload-Produktkollektionen Code 128, EAN-13 und QR-Codes hinzu, inklusive einer druckbaren Label-Seite und optionalen Admin-Buttons.
AI Manager
Schreibt Produkttitel, Beschreibungen, Attribute und Übersetzungen in Payload-Felder über Claude, ChatGPT, Gemini oder Kimi und überspringt bereits generierte Inhalte.
EU VAT
Berechnet EU-Mehrwertsteuer fuer Payload-Shops mit plugin-ecommerce und schreibt die Aufschluesselung auf jede Bestellung.
Stock Reservation
Prüft Variantenbestand und Preis vor dem Checkout und hält reservierten Bestand bis zur Zahlungsbestätigung, als Erweiterung des offiziellen Payload-E-Commerce-Plugins.
Stock Alerts
Sendet eine E-Mail, wenn der Bestand eines Produkts oder einer Variante einen Schwellenwert unterschreitet, mit Backorder-Unterstuetzung und einem virtuellen Status-Feld.
Shipping Rates
Ergänzt Payload-E-Commerce-Shops um Versandzonen, Tarifberechnung und einen Quote-Endpunkt.
Ähnliche Plugins
Mehr in CommerceProduct Reviews
Ergänzt Payload v3 um eine Reviews-Collection mit Sternebewertung, Moderationsstatus und JSON-LD aggregateRating.
Stripe
Synchronisiert Payload-Collections mit Stripe-Ressourcen und leitet Stripe-Webhooks sowie API-Aufrufe über Payload.
Tpay E-commerce Payment Adapter
Tpay-Zahlungsadapter für @payloadcms/plugin-ecommerce mit BLIK, Überweisung und Kartenzahlung sowie Webhook-Verifikation und bestandsbewusster Bestellbestätigung.
Google Merchant Center Ecommerce Integration
Synchronisiere Produkte zwischen Payload CMS und Google Merchant Center.