# Częściowa Wysyłka i Automatyczne Zamówienia Zaległe (dfavailsplit)

> Przegląd Ten moduł automatycznie dzieli każde zamówienie według faktycznie dostępnego stanu magazynowego. Dostępne artykuły od razu trafiają do zamówienia gotowego do przygotowania, a artykuły wyczerpane są przenoszone do dedykowanego zamówienia…

- Strona: <https://www.datafirefly.com/pl/documentation/dfavailsplit/>
- Język: pl
- Zaktualizowano: 2026-08-14
- Inne języki: [fr](https://www.datafirefly.com/documentation/dfavailsplit/index.md), [en](https://www.datafirefly.com/en/documentation/dfavailsplit/index.md), [es](https://www.datafirefly.com/es/documentation/dfavailsplit/index.md), [de](https://www.datafirefly.com/de/documentation/dfavailsplit/index.md), [it](https://www.datafirefly.com/it/documentation/dfavailsplit/index.md), [pt](https://www.datafirefly.com/pt/documentation/dfavailsplit/index.md), [nl](https://www.datafirefly.com/nl/documentation/dfavailsplit/index.md)
- Indeks: <https://www.datafirefly.com/pl/documentation/llms.txt>

## Przegląd

Ten moduł automatycznie dzieli każde zamówienie według faktycznie dostępnego stanu magazynowego. Dostępne artykuły od razu trafiają do zamówienia gotowego do przygotowania, a artykuły wyczerpane są przenoszone do dedykowanego _zamówienia zaległego_ (backorder). Oba zamówienia mają ten sam numer referencyjny, a suma ich wartości jest ściśle równa zamówieniu oryginalnemu, z podatkami.

Wszystko uruchamia się przy walidacji zamówienia, a ręczny podział wiersz po wierszu jest dostępny na każdej karcie zamówienia.

## Instalacja

1. Wgraj folder `dfavailsplit` do `/modules/` lub zainstaluj archiwum ZIP przez **Moduły > Menedżer modułów > Wgraj moduł**.
2. Kliknij **Zainstaluj**.
3. Otwórz konfigurację przez **Konfiguruj**.

Przy instalacji moduł tworzy dedykowany status zamówienia **„Oczekuje na uzupełnienie zapasów (Backorder)"** (kolor pomarańczowy). Ten status i historia podziałów są zachowywane przy odinstalowaniu, aby chronić Twoje dane.

## Konfiguracja

Przejdź do **Moduły > Menedżer modułów > dfavailsplit > Konfiguruj**.

### Włącz podział automatyczny

Główny przełącznik. Wyłączony: żadne zamówienie nie jest dzielone automatycznie; podział ręczny pozostaje dostępny na karcie zamówienia.

### Status zamówienia backorder

Status stosowany do zamówienia z wyczerpanymi artykułami. Domyślnie status „Oczekuje na uzupełnienie zapasów (Backorder)" utworzony przy instalacji.

### Nadpisanie statusu zamówienia gotowego do wysyłki

Opcjonalne. Włącz, aby wymusić konkretny status (na przykład „W przygotowaniu") na zamówieniu gotowym do wysyłki. Wyłączone: zamówienie zachowuje bieżący status.

### Darmowa wysyłka zamówienia zaległego

Domyślnie włączona. Koszty wysyłki pozostają na zamówieniu gotowym do wysyłki; zaległe jest dostarczane bez opłat, bo klient zapłacił za wysyłkę tylko raz.

### Podział wierszy częściowych

Domyślnie włączony. Wiersz częściowo dostępny (3 na stanie z 5 zamówionych) jest dzielony na 3 wysłane + 2 zaległe. Wyłączony: cały wiersz przechodzi do zaległości.

### E-mail backorder

Wysyła klientowi e-mail w jego języku (FR/EN/ES/DE/IT/PL w zestawie, angielski jako zapasowy) z informacją, że zamówienie zostanie wysłane w kilku częściach.

### Ponowne generowanie faktur po podziale

Domyślnie wyłączone. Zostaw wyłączone, aby wystawiać faktury w momencie rzeczywistej wysyłki każdego zamówienia. Włączone: moduł ponownie generuje faktury obu zamówień po podziale, jeśli bieżący status tego wymaga.

### Rejestrowanie

Zapisuje każdą operację podziału w logach PrestaShop dla identyfikowalności.

## Jak działa podział

Podział automatyczny uruchamia się zaraz po walidacji zamówienia (hook `actionValidateOrderAfter`, z zapasowym `actionOrderStatusPostUpdate` dla przepływów, które go nie emitują). Moduł wyprowadza ilość możliwą do wysłania w każdym wierszu z rzeczywistego niedoboru stanu, agregowanego po produkcie i wariancie. Ten model pozostaje poprawny nawet dla podziału ręcznego uruchomionego kilka dni później, gdy stan się zmienił.

Występują trzy przypadki:

- **Wszystko jest dostępne**: brak podziału. Zamówienie idzie dalej (możliwe wymuszenie statusu).
- **Wszystko jest wyczerpane**: brak podziału, całe zamówienie przechodzi do statusu backorder.
- **Zamówienie mieszane**: zamówienie oryginalne zachowuje część gotową do wysyłki (wysyłka, rabaty, opakowanie, płatność); dla reszty tworzone jest nowe zamówienie zaległe, z tym samym numerem referencyjnym.

Sumy (produkty, wysyłka, rabaty, opakowanie, waga) i podział VAT są przeliczane co do grosza, wiersz po wierszu. Suma obu zamówień jest dokładnie równa zamówieniu oryginalnemu, z podatkami, również na ponownie wygenerowanych fakturach i w raportach podatkowych. Płatność, agregowana po numerze referencyjnym, uzgadnia się natywnie.

Podział jest atomowy: wszystkie zmiany (utworzenie zaległego, przeniesienie wierszy, sumy, przewoźnik, faktury) są objęte transakcją SQL. Błąd w trakcie wycofuje wszystko, nigdy zamówienie podzielone w połowie.

## Podział ręczny z karty zamówienia

Na każdej niepodzielonej karcie zamówienia panel **„Podział według dostępności"** pokazuje tabelę wiersz po wierszu: produkt, zamówiona ilość, aktualny stan i ilość do zaległości. Pola są wstępnie wypełnione sugestią analizy stanu; dostosuj je dowolnie, 0 pozostawia wiersz na zamówieniu oryginalnym, po czym kliknij **„Podziel to zamówienie teraz"**.

- Dostępny nawet przy wyłączonym podziale automatycznym.
- Zamówienie już podzielone nigdy nie może zostać podzielone drugi raz.
- Wybór jest odrzucany, jeśli całkowicie opróżniłby jedno z dwóch zamówień.
- Wiersze personalizowane i ustawienie „podział wierszy częściowych" są respektowane.

## Na karcie zamówienia (back office)

Po wykonaniu podziału panel łączy oba zamówienia: z zamówienia gotowego do wysyłki odsyła do powiązanego zaległego i odwrotnie. Wspólny numer referencyjny jest pokazywany w obu kierunkach.

## Strona potwierdzenia i e-mail do klienta

Na stronie potwierdzenia zamówienia blok wymienia artykuły, które zostaną wysłane osobno, z przypomnieniem wspólnego numeru referencyjnego i wysyłki opłaconej tylko raz. Blok działa z każdym motywem: opiera się na trzech kotwicach potwierdzenia (`displayOrderConfirmation`, `displayOrderConfirmation1`, `displayOrderConfirmation2`) i ustala zamówienie z adresu URL potwierdzenia z weryfikacją klucza bezpieczeństwa, nigdy nie wyświetlając się dwa razy.

Jeśli opcja e-mail jest aktywna, klient otrzymuje też e-mail w swoim języku o wysyłce częściowej i dostawie zaległego bez opłat. Szablony FR, EN, ES, DE, IT i PL znajdują się w folderze `mails/` modułu, z angielskim jako zapasowym dla każdego innego języka.

Pierwszy e-mail potwierdzający (pełne zamówienie) wysyła PrestaShop przed podziałem. E-mail backorder modułu informuje następnie klienta o wysyłce w kilku częściach.

## Przypadki szczególne i ograniczenia

- Produkty **wirtualne** nigdy nie trafiają do zaległości.
- Produkty w **zaawansowanym zarządzaniu stanem (ASM)** są wykluczone z podziału i pozostają na zamówieniu gotowym do wysyłki.
- Wiersz **personalizowany** nie jest dzielony: trafia w całości do jednego z dwóch zamówień.
- Jeśli zarządzanie stanem jest wyłączone w PrestaShop, podział nie jest wykonywany.

## Rozwiązywanie problemów

### Żadne zamówienie nie jest dzielone

Sprawdź, czy podział jest włączony, czy zarządzanie stanem PrestaShop jest aktywne i czy produkty nie są wirtualne ani w zaawansowanym zarządzaniu stanem. Podział automatyczny następuje tylko przy zamówieniu mieszanym (jednocześnie dostępne i wyczerpane). W każdym innym przypadku użyj podziału ręcznego na karcie zamówienia.

### Zamówienie zaległe pokazuje koszty wysyłki

Włącz opcję „Darmowa wysyłka zamówienia zaległego". Koszty pozostają wtedy tylko na zamówieniu gotowym do wysyłki.

### Blok nie pojawia się na stronie potwierdzenia

Od wersji 1.3.4 blok wyświetla się z każdym motywem dzięki trzem kotwicom potwierdzenia. Jeśli używasz starszej wersji, zaktualizuj moduł.

### Zgodność

PrestaShop 8.x i 9.x, multisklep, bez override'ów i bez Composera.
