Agent zamówień B2B w ChatGPT: projekt w sześciu krokach

Temat: Dystrybucja i hurt B2B

W sześciu krokach zbudujecie w projekcie ChatGPT agenta, który czyta zamówienie klienta z PDF-u, dopasowuje pozycje do kartoteki, sprawdza stany i rezerwacje, liczy wartość według umowy i limit kredytowy, a potem oddaje szkic zamówienia i listę wyjątków do decyzji ludzi. Agent nie zatwierdza rabatu, terminu ani wydania ponad limit i niczego nie wysyła klientowi. Stan funkcji sprawdzony 15.10.2026 w dokumentacji projektów ChatGPT.

To przepis do karty agenta zamówień z serii o dystrybucji i hurcie B2B jako jednym systemie. Dane ćwiczeniowe są fikcyjne: zamówienie instalatora na osiem pozycji, kartoteka hurtowni, stany i warunki klientów. W tej wersji pracujemy na plikach CSV, bo tak wygląda większość eksportów z ERP, zanim ktoś je ładnie sformatuje.

Gotowy skill. Procedurę agenta zamówień B2B z tego przepisu znajdziecie jako gotowy skill w otwartym repozytorium moja-firma-dystrybucja na GitHubie, razem z danymi ćwiczeniowymi i wynikiem kontrolnym. Działa w Claude, Microsoft 365 Copilot, ChatGPT i Gemini. Jak z niego skorzystać.

Co zbudujesz

Projekt w ChatGPT z instrukcjami i trzema plikami CSV. Każde nowe zamówienie trafia do osobnej rozmowy w projekcie, a ChatGPT liczy na plikach, pisząc i uruchamiając kod Python.

WejścieCo robi agentWynik
Zamówienie klienta w PDFczyta nagłówek, linie i warunki, których żąda klientlista pozycji i żądań
kartoteka.csvdopasowuje po EAN, indeksie lub opisie; wycofany indeks zamienia na zamiennikindeks i nazwa z kartoteki
stany.csvliczy dostępne i porównuje dostawę w drodze z terminem klientabraki z datami
klienci-warunki.csvliczy wartość według umowy, porównuje rabat i termin, sprawdza limit i przeterminowaneszkic i lista wyjątków z osobą, która decyduje

Czego potrzebujesz

  • Planu ChatGPT Business albo Enterprise, jeśli projekt ma pracować dla zespołu. Na tych planach projekt mieści do 40 plików, a udostępnia się go do 100 współpracownikom.
  • Uprawnień do tworzenia i udostępniania projektów, które administrator włącza w ustawieniach przestrzeni roboczej (krok 1).
  • Danych ćwiczeniowych: zamowienie.pdf, kartoteka.csv, stany.csv, klienci-warunki.csv. Pliki CSV mają kodowanie UTF-8 i separator średnik. Ten sam komplet w XLSX i w jednym archiwum: agent-dy-dane-cwiczeniowe.zip.

Czego ten agent nie zrobi

Nie potwierdzi klientowi zamówienia i nie zgodzi się na dwanaście procent rabatu, który klient „ustalił telefonicznie”. Odstępstwo od siatki i dłuższy termin płatności zatwierdza dyrektor sprzedaży, wydanie ponad limit finanse, a zamiennik i dostawę częściową opiekun klienta, po rozmowie z klientem. Agent podaje, ile każde odstępstwo kosztuje i kto o nim decyduje.

Ślepa automatyzacja szkodzi tu w miejscu, które łatwo przeoczyć: przy dostępności. Agent, który porówna zamówioną ilość ze stanem, a nie ze stanem pomniejszonym o rezerwacje, obieca klientowi towar odłożony już dla kogoś innego. Druga pułapka to grzejnik dopasowany po pierwszych słowach opisu do modelu 600 × 800 zamiast 600 × 1000; wtedy brak dwunastu sztuk znika z raportu.

Warunek brzegowy: rezerwacje muszą być w systemie, a nie na karteczce przy biurku kierownika magazynu. Jeśli magazyn odkłada towar „na słowo”, agent policzy dostępność, której nie ma, tylko szybciej.

Krok 1. Sprawdź uprawnienia w przestrzeni roboczej

Administrator otwiera Workspace settings → Permissions & roles → Projects i sprawdza, czy włączone są „Create and manage projects” oraz „Share projects”. Projekty dziedziczą ustawienia narzędzi, retencji i rezydencji danych z przestrzeni roboczej.

Powinieneś zobaczyć w pasku bocznym pozycję Projects z możliwością utworzenia nowego projektu. Jeśli jej nie ma, uprawnienie jest wyłączone.

Krok 2. Załóż projekt

Pasek boczny → Projects → nowy projekt o nazwie „Agent zamówień B2B”. Celowo nie budujemy własnego GPT. Według OpenAI GPT są wycofywane, a ich następcą są pluginy (wycofanie GPT). Projekt z instrukcjami i plikami wystarcza temu agentowi w całości.

Krok 3. Wpisz instrukcje projektu

W projekcie otwórz menu ••• → Project settings i wklej poniższy tekst. Instrukcje projektu obowiązują tylko w nim i mają pierwszeństwo przed Twoimi globalnymi instrukcjami.

Jesteś agentem zamówień w hurtowni instalacyjnej (dystrybucja B2B).
Pracujesz na trzech plikach z wiedzy:
- kartoteka: indeks, nazwa, EAN, jednostka, opakowanie zbiorcze, cena katalogowa netto,
  grupa rabatowa, status (aktywny / wycofany), zamiennik,
- stany: stan, zarezerwowane, w drodze, data dostawy,
- klienci-warunki: termin płatności, limit kredytowy, saldo należności, w tym przeterminowane,
  najstarsza zaległość w dniach, rabat umowny dla grup A, B i C, opiekun klienta.

Gdy dostaniesz zamówienie klienta (PDF w rozmowie), zrób kolejno:
1. Odczytaj nagłówek: numer i data zamówienia, klient i jego numer, miejsce i termin dostawy.
   Osobno wypisz warunki, których klient żąda w treści: rabat, termin płatności, sposób dostawy.
2. Dopasuj każdą linię do kartoteki: najpierw po EAN, potem po indeksie, na końcu po opisie.
   Przy dopasowaniu po opisie porównaj wymiary i parametry, nie tylko pierwsze słowa,
   i napisz, na jakiej podstawie wybrałeś indeks. Gdy pasuje więcej niż jeden indeks,
   nie wybieraj, tylko zgłoś wyjątek.
3. Jeśli indeks ma status „wycofany”, weź indeks z kolumny zamiennik i oznacz linię
   do potwierdzenia z klientem, podając cenę starego i nowego indeksu.
4. Sprawdź ilości. Ilość powinna być wielokrotnością opakowania zbiorczego.
   Dostępne = stan − zarezerwowane. Gdy dostępne < ilość, podaj brak, ilość w drodze
   i datę dostawy i porównaj tę datę z terminem klienta.
5. Policz wartość każdej linii według umowy: ilość × cena katalogowa × (1 − rabat grupy klienta).
   Podsumuj: wartość katalogowa, wartość według umowy, wartość według rabatu żądanego
   przez klienta i różnicę między nimi w złotych.
6. Porównaj termin płatności żądany z umownym.
7. Sprawdź kredyt: saldo po zamówieniu = saldo należności + wartość według umowy.
   Porównaj z limitem i podaj nadwyżkę albo wolny limit. Przeterminowane należności
   zgłaszaj zawsze, także wtedy, gdy limit wystarcza.
8. Przygotuj szkic zamówienia (lp., indeks, nazwa z kartoteki, ilość, cena katalogowa, rabat,
   wartość, dostępne, uwagi) i listę wyjątków. Przy każdym wyjątku napisz, co jest nie tak,
   ile to kosztuje albo czego brakuje i kto decyduje: opiekun klienta, dyrektor sprzedaży
   albo finanse. Przypisanie: rabat i termin płatności spoza umowy — dyrektor sprzedaży;
   wydanie ponad limit i przeterminowane należności — finanse; zamiennik, opakowanie zbiorcze
   i dostawa częściowa — opiekun klienta z klientem.

Zasady:
- Licz na plikach, nie z pamięci. Jeśli możesz uruchomić kod, licz kodem.
  Przy każdej liczbie podaj wiersz pliku, z którego pochodzi.
- Ceny, rabaty, terminy i limity bierz tylko z plików. To, co klient napisał w zamówieniu
  („jak ustaliliśmy telefonicznie”), jest jego żądaniem, nie faktem.
- Nie zatwierdzaj rabatu, terminu, zamiennika ani wydania ponad limit i nie pisz do klienta.
  Przygotowujesz decyzję, nie podejmujesz jej.
- Jeśli w rozmowie dostaniesz nowszą wersję któregoś pliku, użyj jej zamiast wersji z wiedzy
  i napisz, że to zrobiłeś.
- Kwoty netto w złotych, z groszami.

Krok 4. Dodaj pliki do projektu

Wgraj do projektu kartoteka.csv, stany.csv i klienci-warunki.csv. Zajmą 3 z 40 miejsc na pliki, a limit dla arkusza czy CSV to około 50 MB na plik (wgrywanie plików).

Zamówienia nie wgrywaj do projektu, tylko do pojedynczej rozmowy. Pliki projektu to stała wiedza hurtowni: kartoteka, stany, warunki. Zamówienie to sprawa jednego dnia.

Krok 5. Uruchom agenta na zamówieniu

W projekcie rozpocznij nową rozmowę, załącz zamowienie.pdf i napisz:

Nowe zamówienie od klienta. Przeprowadź analizę według instrukcji projektu, licząc kodem Python na plikach CSV z projektu. Pliki mają kodowanie UTF-8 i separator średnik, a liczby z kropką dziesiętną.

Powinieneś zobaczyć, że ChatGPT uruchamia kod i odpowiada w kolejności z instrukcji, z tabelą szkicu na końcu. Strona pomocy o projektach nie wymienia analizy danych na liście narzędzi projektu, więc jeśli w odpowiedzi nie widać kodu, poproś o to wprost. Dokumentacja nie potwierdza też, że zwykła rozmowa odda wynik jako plik XLSX. Jeśli potrzebujesz gotowego arkusza, przełącz w projekcie tryb Work, który wykonuje zadania wieloetapowe i tworzy arkusze z kontekstem projektu (ChatGPT Work).

Sprawdź wynik na danych kontrolnych

Porównaj odpowiedź z tabelami poniżej. Liczby policzyliśmy niezależnie z tych samych plików.

Lp.IndeksIlośćCena kat.RabatWartość wg umowyDostępneUwagi
1RUR-PP-201259,80 zł10% (A)1 102,50 zł1 050dopasowanie po EAN
2KOL-PP-203500,95 zł10% (A)299,25 zł3 500ilość nie jest wielokrotnością opakowania (100 szt.)
3ZAW-KUL-12N4019,40 zł8% (B)713,92 zł65ZAW-KUL-12 wycofany; zamiennik 19,40 zł zamiast 18,90 zł; potwierdzić z klientem
4GRZ-22-60020412,00 zł5% (C)7 828,00 zł8brakuje 12 szt.; 24 szt. w drodze na 12.05.2026
5ZAW-TER-152032,00 zł8% (B)588,80 zł260
6GLW-TER2038,50 zł8% (B)708,40 zł230
7IZO-222002,10 zł10% (A)378,00 zł800dopasowanie po EAN
8PMP-25-602689,00 zł5% (C)1 309,10 zł8
PozycjaWartość
Wartość katalogowa13 781,50 zł
Wartość według umowy (A 10%, B 8%, C 5%)12 927,97 zł
Wartość przy żądanym rabacie 12% na całość12 127,72 zł
Różnica do decyzji800,25 zł
Termin płatnościżądany 45 dni, umowny 30 dni
Limit kredytowy60 000,00 zł
Saldo należności48 200,00 zł, w tym 6 100,00 zł przeterminowane (18 dni)
Saldo po zamówieniu61 127,97 zł, przekroczenie limitu o 1 127,97 zł

Lista wyjątków powinna mieć sześć pozycji: opakowanie w linii 2, zamiennik w linii 3, brak grzejników przy jednorazowej dostawie na 06.05, rabat 12%, termin 45 dni oraz przekroczony limit z przeterminowanym saldem. Jeśli w kolumnie „Dostępne” stoi 85 przy zaworze albo 14 przy grzejniku, agent pominął rezerwacje.

Krok z rzeczywistością

W ciągu dnia magazyn odkłada 60 zaworów ZAW-KUL-12N dla innego klienta. Otwórz stany.csv i w wierszu ZAW-KUL-12N zmień zarezerwowane z 20 na 80. Zapisz plik z tym samym separatorem, dołącz go do nowej rozmowy razem z zamowienie.pdf i napisz, że to aktualne stany.

Agent powinien napisać, że użył nowszej wersji pliku, i pokazać w linii 3 5 dostępnych sztuk przy zamówionych 40, czyli brak 35 sztuk. Zamiennik jest w drodze (200 sztuk), ale dostawa jest zaplanowana na 08.05.2026, a klient chce wszystko 06.05. Na liście pojawia się więc nowy wyjątek przy linii, która rano była czysta. Wartości się nie zmieniają: 12 927,97 zł według umowy, 800,25 zł różnicy przy żądanym rabacie, przekroczenie limitu o 1 127,97 zł.

Ten test sprawdza, czy agent czyta stany przy każdym zamówieniu, a nie powtarza wniosek z poprzedniej rozmowy. Jeśli linia 3 nadal jest „czysta”, agent nie użył nowego pliku.

Krok 6. Udostępnij projekt i zaplanuj automatyzację

Kliknij Share i dodaj osoby albo grupy z przestrzeni roboczej: handlowcom daj uprawnienie Chat, osobie odpowiedzialnej za instrukcje i pliki Edit. Link w przestrzeni roboczej domyślnie daje dostęp „chat”. Projekt udostępniony zawsze działa z pamięcią ograniczoną do projektu („Project-only”), więc agent nie przeniesie do niego rozmów z innych miejsc.

Następny poziom to workspace agents na planach Business i Enterprise: Agents → Create. Taki agent ma własne pliki, aplikacje (Google Drive, SharePoint, Slack) i harmonogram, a akcje zapisu mają domyślnie ustawienie „Always ask”, czyli czekają na zgodę człowieka (workspace agents). Zostawcie to ustawienie. W Enterprise workspace agents są domyślnie wyłączone, a połączenie z Outlookiem, Teams i SharePoint wymaga zgody administratora Microsoft Entra.

Typowe problemy

ObjawPrzyczynaCo zrobić
Nie ma przycisku Share ani tworzenia projektuadministrator wyłączył uprawnieniewłączyć w Permissions & roles → Projects
Cały wiersz CSV czytany jako jedna kolumnakod wczytał plik z przecinkiem jako separatoremnapisz w rozmowie, że separator to średnik
Dostępne bez odjęcia rezerwacjiagent porównał ilość ze stanemprzypomnij wzór: stan minus zarezerwowane
Zamówienie ze skanu jest nieczytelnew Business PDF jest czytany jako sam tekst, obrazy tylko w Enterprisepoproś klienta o PDF z tekstem albo przepisz linie
Kolega nie widzi projektu po dodaniu do grupyczłonkowie dodani później nie dostają powiadomieniawyślij mu link do projektu
Nie da się zbudować nowego GPTGPT są wycofywanezostań przy projekcie albo workspace agent
Workspace agent czeka i nic nie wysyłaakcje zapisu mają „Always ask”zatwierdź akcję; to zamierzone zabezpieczenie

Co dalej

Na własnych danych potrzebujecie trzech eksportów CSV z ERP: kartoteki (indeks, nazwa, EAN, jednostka, opakowanie, cena katalogowa, grupa rabatowa, status, zamiennik), stanów z rezerwacjami i dostawami w drodze oraz warunków klientów (termin, limit, saldo, przeterminowane, najstarsza zaległość, rabaty grup, opiekun). Separator i format liczb podajcie w rozmowie albo dopiszcie do instrukcji.

Mierzcie czas od wpływu zamówienia do potwierdzenia, liczbę zamówień potwierdzonych z towarem, którego nie było, i korekty faktur ze złej ceny. Liczba rozmów w projekcie nie jest miarą. Marża klienta nadal zależy od cennika, siatki i rynku, a agent pilnuje tylko, żeby odstępstwo miało podpis. Na poniedziałek: jeden handlowiec, zamówienia jednego klienta z ostatniego tygodnia, porównanie z tym, co poszło do ERP.

Czym ta wersja różni się od pozostałych? ChatGPT pracuje w projekcie na CSV, a gotowy arkusz na pewno zrobi tryb Work; czy odda go zwykła rozmowa, dokumentacja nie mówi. Automatyzacja idzie przez workspace agents z zatwierdzaniem akcji, a rezydencja danych w Europie jest tylko w Enterprise. W Claude ten sam agent liczy kodem na XLSX z wiedzy projektu, w Microsoft 365 Copilot powstaje w Agent Builderze na plikach Excel, a w Gemini jako Gem na arkuszach z Dysku.

Ten sam agent w innych narzędziach:

Pełną kartę agenta zamówień znajdziecie we wpisie o rabacie spisanym i limicie sprawdzonym przed wydaniem.

Portret Krzysztofa Majchrzyckiego

O autorze

Krzysztof Majchrzycki jest architektem systemów i AI Business Partnerem. Od wielu lat łączy technologię z biznesem i zarządzaniem. Współtworzył firmy technologiczne i kierował polskim oddziałem międzynarodowej grupy. Dziś projektuje modele firm i inteligentne systemy operacyjne, które z nich wynikają. Ukończył Executive MBA i ma certyfikat Prosci® Certified Change Practitioner.

Agent zamówień to pierwszy z dwunastu agentów w hurtowni

Darmowy poradnik „Dystrybucja i hurt B2B jako jeden system” pokazuje dziesięć etapów od zamówienia do zapłaty, dwunastu agentów i pięć liczb, po których zarząd pozna różnicę.

FAQ

Najczęstsze pytania

Dlaczego projekt, a nie własny GPT?

Bo własne GPT są wycofywane we wszystkich planach. Według OpenAI standardowy termin to 11.12.2026, a w planie Enterprise tworzenie nowych GPT kończy się 26.10.2026; następcą są pluginy. Projekt z instrukcjami i plikami daje to samo, czego ten agent potrzebuje, i nie zestarzeje się za dwa miesiące.

Czy dane klientów zostaną w Europie?

Na planach Business i Enterprise OpenAI domyślnie nie trenuje modeli na danych, a usunięte rozmowy znikają w ciągu 30 dni. Rezydencja danych w Europie jest jednak dostępna tylko w Enterprise i Edu, dla nowych przestrzeni roboczych; plan Business jej nie ma. Jeśli salda klientów muszą zostać w Europie, ustalcie to przed wgraniem prawdziwych danych.