Sprytne Okazje — promocje, kody rabatowe i wyprzedaże

Generator numerów zamówień

Generuj unikalne numery zamówień w różnych formatach: ORD-2024-001, YYYYMMDD-SEQ, UUID. Konfigurowalne prefiksy, sufiksy i długość. Do e-commerce i systemów. Bezpłatnie.

Bezpieczne (SSL)
Przetwarzanie Lokalne
100% Darmowe
Instrukcja
  • 1
    Wprowadź dane
    Wpisz treść, wklej tekst lub załaduj plik z dysku.
  • 2
    Kliknij przycisk
    Narzędzie natychmiast przetworzy Twoje dane w przeglądarce.
  • 3
    Pobierz wynik
    Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
function runTool() {
  return "Wynik gotowy w 0.1s";
}

Liczba numerów

25

partia wygenerowana jednym kliknięciem

Tryb

Data + sekwencja

data + sekwencja, losowy albo wzorzec

Prefiks

PO

np. skrót firmy albo oddziału

Format daty

RRRRMMDD

token {DATE} w numerze (w trybie niestandardowym z wzorca)

PO-ACME-20261021-01001-EU-6
PO-ACME-20261021-01002-EU-4
PO-ACME-20261021-01003-EU-2
PO-ACME-20261021-01004-EU-0
PO-ACME-20261021-01005-EU-7
PO-ACME-20261021-01006-EU-5
PO-ACME-20261021-01007-EU-3
PO-ACME-20261021-01008-EU-1
PO-ACME-20261021-01009-EU-9
PO-ACME-20261021-01010-EU-7
PO-ACME-20261021-01011-EU-5
PO-ACME-20261021-01012-EU-3
PO-ACME-20261021-01013-EU-1
PO-ACME-20261021-01014-EU-9
PO-ACME-20261021-01015-EU-6
PO-ACME-20261021-01016-EU-4
PO-ACME-20261021-01017-EU-2
PO-ACME-20261021-01018-EU-0
PO-ACME-20261021-01019-EU-8
PO-ACME-20261021-01020-EU-6
PO-ACME-20261021-01021-EU-4
PO-ACME-20261021-01022-EU-2
PO-ACME-20261021-01023-EU-0
PO-ACME-20261021-01024-EU-8
PO-ACME-20261021-01025-EU-5
Szablon numeru: PREFIX [· VENDOR] · DATA · SEQ/RAND [· SUFFIX] [· suma kontrolna] — dokładnie ta kolejność wychodzi z generateOne()
Element formatuJak generuje silnik
Data + sekwencja PREFIX, opcjonalny VENDOR, DATA (wg formatu), SEQ dopełniona zerami do długości sekwencji (1001 przy 5 pozycjach → 01001), SUFFIX — sklejane separatorem; puste części są pomijane
Losowy zamiast sekwencji: RAND o długości z pola „Długość losowa” (2–18 cyfr, każda z random_int(0,9))
Niestandardowy wzorzec z tokenami: {PREFIX} {VENDOR} {SUFFIX} {SEP} {DATE} {SEQ:n} {RAND:n} {CHK:Luhn} {CHK:MOD97}; pusty wzorzec → {PREFIX}{SEP}{DATE}{SEQ:6}; {CHK} liczone z numeru bez tokena i trafia na koniec
Dozwolone znaki części prefiks, dostawca i sufiks są czyszczone do A–Z, a–z, 0–9 oraz − _ . / (strip_tags + usunięcie reszty) — numer jest bezpieczny w URL i systemach ERP
Normalizacja usunięcie wszystkich spacji + wielkie litery przy opcji „Wielkie litery” (przed doklejeniem sumy kontrolnej)
Suma kontrolna Luhn cyfra kontrolna z samych cyfr numeru — algorytm z kart płatniczych (podwajanie co drugiej cyfry od końca, odejmowanie 9 od wyników > 9); doklejana separatorem sumy kontrolnej
Suma kontrolna Mod97 98 − (numer mod 97) zapisane dwiema cyframi — standard IBAN, wyłapuje więcej pomyłek niż Luhn
Unikalne duplikat → zwiększenie sekwencji (do 50 prób na numer, potem wymuszone seq+1); w trybie losowym duplikaty są odrzucane i losowane od nowa
Pierwsze numery z bieżącego wyniku silnika (pełna lista w wyniku i eksportcie)
NrWygenerowany numer
1 PO-ACME-20261021-01001-EU-6
2 PO-ACME-20261021-01002-EU-4
3 PO-ACME-20261021-01003-EU-2
4 PO-ACME-20261021-01004-EU-0
5 PO-ACME-20261021-01005-EU-7

W ERP taki numer załatwia kilka naraz: sekwencja bez duplikatów daje ciągłość do audytu, rok i miesiąc w dacie porządkują archiwum, prefiks rozdziela oddziały i firmy, a suma kontrolna łapie literówki przy ręcznym przepisywaniu numeru z papieru albo z telefonu.

Warto wiedzieć — numeracja zamówień w praktyce

Sekwencja bez luk

Księgowość i audytorzy lubią ciągłe numery: brakujący numer trzeba umieć wyjaśnić (anulowane zamówienie, korekta). Tryb „Data + sekwencja” z opcją „Unikalne” daje przewidywalny ciąg — losowy zostaw dokumentom wewnętrznym, nie księgowym.

Suma kontrolna

Luhn (z kart płatniczych) wykrywa pojedyncze pomyłki i zamiany sąsiednich cyfr; Mod97 (standard IBAN) daje dwie cyfry i łapie więcej błędów. Obie sumy liczone są tylko z cyfr numeru — liter w prefiksie nie ruszają, więc zmiana prefiksu nie psuje walidacji.

Prefiksy i segmentacja

Prefiks (firma, oddział), opcjonalny identyfikator dostawcy i sufiks (np. EU) pozwalają jednym rzutem oka rozpoznać pochodzenie dokumentu. Trzymaj wspólny standard w całej firmie — kilka schematów numeracji naraz to prosta droga do duplikatów.

Bezpieczne znaki

Człony numeru są ograniczone do liter, cyfr i − _ . / — numer przetrwa w adresie URL, nazwie pliku PDF i polach tekstowych ERP, które nie tolerują spacji (te i tak są usuwane). Unikaj w numeracji znaków narodowych i „kruchych” symboli.

Oceń to narzędzie:

Powiązane narzędzia

Inne narzędzia, które mogą Ci się przydać

Generator numerów zamówień – unikalne ID dla e-commerce i systemów

Numery zamówień to unikalne identyfikatory transakcji w systemach e-commerce, ERP i ticketingowych. Dobry format numeru zamówienia jest czytelny dla człowieka, unikalny, krótki i pozwala na sortowanie chronologiczne. Narzędzie generuje numery w popularnych formatach.

generator numerów zamówień unikalne ID zamówień format numeru zamówienia order number generator

Formaty numerów zamówień

Sequential: ORD-000001, ORD-000002... Prosty, ale przewidywalny (widać skalę biznesu). Date-based: 20241215-0001 (rok-miesiąc-dzień-sekwencja). Chronologicznie sortowalny. Hash/UUID: a3f7c2d1-9e4b-... Unikalny globalnie, trudny do zgadnięcia. Mieszany: ORD-2024-A7K3 (rok + losowy suffix). Format sklepu: INV-2024-00123 (faktura).

Wymagania dobrego numeru zamówienia

Unikalność: nigdy nie powtarza się. Czytelność: krótki, łatwy do podyktowania przez telefon (no O vs 0, I vs 1). Sortowalność: chronologiczna bez dodatkowego pola. Bezpieczeństwo: nie ujawnia skali biznesu (sequential to ujawnia). Obsługa klienta: szybkie wyszukiwanie. Format: ORD-YYYYMM-XXXXX balansuje te wymagania.

Generowanie w kodzie

PHP: sprintf("ORD-%s-%05d", date("Ym"), $nextId). Node.js: `ORD-${new Date().toISOString().slice(0,7).replace("-","")}-${String(id).padStart(5,"0")}`. UUID v4: crypto.randomUUID() (Node 14.17+, przeglądarki). Nanoid (npm): nanoid() = "V1StGXR8_Z5jdHi6B-myT" (krótszy niż UUID). ULID: timestamp + random, sortowalny.

Numery zamówień w bazach danych

Auto-increment: prosta sekwencja, ale zdradza skalę. UUID: globalnie unikalny, słaby index (random = slow B-tree). ULID/KSUID: timestamp-prefix UUID = chronologicznie sortowalny, lepszy index. Composite: rok + sekwencja per rok. Partitioning: ORDER_2024 jako osobna tabela lub partycja.

Jak generator składa numer zamówienia z segmentów

Numer zamówienia nie powstaje jako jeden przypadkowy ciąg znaków — generator skleja go z kilku segmentów, z których każdy odpowiada za inną funkcję. Prefiks mówi, jakim dokumentem jest numer (zamówienie, faktura, zgłoszenie), segment daty umiejscawia go w czasie, a człon końcowy rozstrzyga o unikalności: jest to albo licznik, albo losowy sufiks. Segmenty łączy separator, najczęściej myślnik, a kolejność biegnie od najbardziej ogólnego do najbardziej szczegółowego.

Typowy wzór to PREFIX-RRRRMM-NNNNN. Prefiks jest stały dla danego typu dokumentu, RRRRMM pochodzi z daty systemowej w chwili zapisu, a NNNNN to licznik dobijany zerami z lewej strony do stałej szerokości. Ta stała szerokość jest ważniejsza, niż wygląda: dopiero przy równych długościach członów sortowanie leksykalne, czyli zwykłe porządkowanie kolumny tekstowej, daje kolejność chronologiczną. Numer ORD-202412-00009 trafia przed ORD-202412-00010 wyłącznie dlatego, że oba człony liczbowe mają po pięć znaków.

Unikalność generator osiąga na dwa sposoby. W trybie sekwencyjnym trzyma licznik dla pary prefiks plus okres i zwiększa go o jeden przy każdym numerze; na początku nowego okresu licznik wraca do jedynki, więc unikalność domyka się w obrębie okresu. W trybie losowym do numeru trafia sufiks z ustalonego alfabetu — im dłuższy sufiks, tym więcej kombinacji i tym mniejsze ryzyko trafienia na ten sam numer, ale przy krótkim sufiksie kolizja przestaje być teoretyczna i numer trzeba sprawdzać w bazie przed zapisem.

Przykład krok po kroku: zamówienie z 15 grudnia 2024

  1. Ustal prefiks dokumentu. Dla zwykłego zamówienia sklepowego przyjmujemy ORD.
  2. Ustal okres z daty zamówienia. Zamówienie złożono 15 grudnia 2024, więc znacznik roku i miesiąca to 202412 — dzień celowo pomijamy, żeby licznik obejmował cały miesiąc, a nie dobę.
  3. Odczytaj licznik dla pary ORD + 202412. Ostatni zapisany numer w tym miesiącu to 46, więc bieżące zamówienie dostaje wartość 47.
  4. Dobij licznik zerami do pięciu pozycji: 47 staje się 00047. Bez tego kroku numer miałby zmienną długość i przestałby się poprawnie sortować.
  5. Sklej segmenty myślnikami: ORD-202412-00047. Długość wynosi 3 + 1 + 6 + 1 + 5 = 16 znaków.
  6. Zapisz wartość 47 jako ostatnio użyty licznik dla tego miesiąca i zabezpiecz kolumnę indeksem unikalnym. Kolejne zamówienie grudniowe dostanie ORD-202412-00048, a pierwsze zamówienie stycznia 2025 — ORD-202501-00001, bo licznik startuje od nowa.

Formaty w liczbach: długość i to, co daje każdy z nich

Przykład numeruDługośćCo to daje w praktyce
ORD-00000110 znakówKrótki i czytelny, ale sortuje się chronologicznie tylko przy stałej szerokości członu i zdradza skalę biznesu.
20241215-000113 znakówData w numerze, porządek leksykalny zgodny z chronologią, licznik prowadzony dziennie.
ORD-2024-A7K313 znakówRok plus losowy sufiks; po sufiksie kolejności nie odczytasz, ale numer nie ujawnia wolumenu.
INV-2024-0012314 znakówNumer dokumentu sprzedaży z rokiem i pięciocyfrową sekwencją, wygodny w wyszukiwaniu.
ORD-202412-0004716 znakówPrefiks, rok i miesiąc oraz sekwencja pięciocyfrowa — kompromis między sortowalnością, czytelnością i ukryciem skali.
a3f7c2d1-9e4b-…Stała, najdłuższa z wymienionychGlobalna unikalność bez koordynacji między systemami, ale brak sortowania chronologicznego i trudne dyktowanie przez telefon.

Praktyczne wskazówki przy wdrożeniu numeracji

  • Ustal długość okresu i się go trzymaj. Reset licznika co miesiąc daje krótsze numery, co rok — dłuższe, ale mniej dziur w sekwencji. Zmiana okresu w trakcie działania systemu niemal zawsze kończy się duplikatami.
  • Pilnuj stałej szerokości członu liczbowego. Dopóki wszystkie numery mają tę samą długość, sortowanie i filtrowanie zakresowe działają bez dodatkowej kolumny z datą.
  • Wyeliminuj znaki mylące. Jeśli numer bywa dyktowany przez telefon, unikaj jednoczesnego używania zera i litery O oraz jedynki, litery I i małego l.
  • Rozdziel prefiksy po typie dokumentu. ORD dla zamówień, INV dla faktur — jeden generator obsłuży kilka typów i nadal będziesz w stanie filtrować po prefiksie.
  • Unikalność egzekwuj w bazie, nie w aplikacji. Indeks unikalny na kolumnie z numerem to jedyne pewne zabezpieczenie przed dwoma zamówieniami zapisanymi w tej samej milisekundzie.

Ograniczenia i co zaburza wynik

  • Generator nie zna Twojej bazy. Nie sprawdza, czy wygenerowany numer już istnieje w systemie — kolizję wychwyci dopiero indeks unikalny albo log aplikacji.
  • Data zależy od zegara systemowego. Jeśli serwer działa w innej strefie czasowej niż sklep, numer z segmentem miesiąca może trafić do poprzedniego lub następnego okresu.
  • Losowy sufiks nie gwarantuje unikalności. Przy krótkim alfabecie i dużym wolumenie zamówień prawdopodobieństwo powtórzenia rośnie, a generator nie wie o numerach spoza swojej sesji.
  • Format nie zastępuje dokumentu księgowego. Numer zamówienia to identyfikator techniczny; wymagania dotyczące numeracji faktur i innych dokumentów regulują odrębne przepisy i generator ich nie odwzorowuje.

Najczęstsze pytania

Jak zapobiec duplikatom numerów zamówień?

Baza danych: UNIQUE constraint na kolumnie numer_zamowienia. Sekwencja DB: PostgreSQL SEQUENCE, MySQL AUTO_INCREMENT – atomowa i unikalna. Redis: INCR (atomowy licznik). UUID: z definicji unikalny (prawdopodobieństwo kolizji zaniedbywalnie małe). Unikaj: generowanie w aplikacji bez transakcji DB.

Co to jest ULID i kiedy go używać?

ULID (Universally Unique Lexicographically Sortable Identifier): 26 znaków, 48-bit timestamp + 80-bit random. Przykład: 01ARZ3NDEKTSV4RRFFQ69G5FAV. Zalety: chronologicznie sortuje się poprawnie bez ORDER BY created_at, URL-safe, case-insensitive. Lepszy od UUID v4 dla kluczy głównych DB (lepszy index B-tree).

Jak generować numery faktur zgodnie z polskim prawem?

Polska ustawa VAT: numer faktury musi być unikalny i ciągły w danym roku. Format: dowolny ale z numerem sekwencyjnym. Np. FV/2024/001. Ciągłość: nie można mieć luk (FV/2024/001, FV/2024/003 bez FV/2024/002). Wystawca: własny system numeracji lub przez systemy FK (Symfonia, Insert, Comarch).

Jak formatować numery zamówień dla e-commerce?

Prestashop: AAAXXXXX (prefix + sekwencja). WooCommerce: #12345 (domyślnie ID bazy). Magento: 100000001 (startuje od 100M). Shopify: #1001 (domyślnie). Własny: prefix_rok_sekwencja np. MÓJSKEP-2024-00001. Tip: nie używaj sekwencji startującej od #1 – widać że sklep nowy.

Jak wysyłać numer zamówienia w emailu potwierdzającym?

Subject: Potwierdzenie zamówienia nr ORD-2024-00123. Body: numer widoczny na górze. Format: wyraźna czcionka, możliwość łatwego skopiowania. Link do śledzenia: twojsklep.pl/zamowienie/ORD-2024-00123. QR code: z linkiem do statusu zamówienia. Odpowiedz na email: powinno trafić do ticketingu z numerem zamówienia.

Jak zrobić numer zamówienia, żeby się nie powtarzał?

Najpewniejsze są dwa połączenia: licznik prowadzony dla danego okresu albo długi losowy sufiks, a do tego indeks unikalny na kolumnie z numerem. Sam generator w przeglądarce nie wie o numerach już zapisanych w Twoim systemie.

Czy numer zamówienia powinien zawierać rok?

Rok w numerze ułatwia sortowanie i archiwizację, bo od razu widać, z którego okresu pochodzi zamówienie. Wadą jest to, że numer staje się dłuższy i ujawnia, od jak dawna działa sklep.

Numer sekwencyjny czy losowy — co wybrać?

Sekwencyjny jest krótszy, czytelniejszy i łatwiejszy w obsłudze klienta. Losowy nie zdradza liczby zamówień i jest trudniejszy do zgadnięcia, co ma znaczenie, gdy numer pojawia się w linku do statusu zamówienia.

Ile znaków powinien mieć numer zamówienia?

Nie ma jednej dobrej długości — liczy się to, żeby mieścił się w etykiecie, w polu formularza i był do podyktowania przez telefon. Format z prefiksem, rokiem i miesiącem oraz pięciocyfrową sekwencją ma 16 znaków i zwykle wystarcza.

Czy można zmienić format numeru zamówienia w działającym sklepie?

Technicznie tak, ale stare i nowe numery będą miały różną długość, więc sortowanie leksykalne przestanie odpowiadać chronologii. Bezpieczniej wprowadzić nowy format od początku nowego okresu i zostawić stare numery bez zmian.

Powiązane narzedzia: generator UUID, generator losowych liczb i generator danych testowych.

Zainstaluj Webp.pl Miej narzędzia we własnej kieszeni!