---
title: "Agent zamówień B2B w ChatGPT: projekt w sześciu krokach"
url: "https://majchrzycki.com/blog/agent-zamowien-b2b-w-chatgpt-krok-po-kroku"
description: "Budujemy w projekcie ChatGPT agenta, który czyta zamówienie z PDF, liczy rabat umowny, stany i limit kredytowy klienta i wypisuje wyjątki. Dane CSV."
---

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

10 maja 2026· Aktualizacja: 11 listopada 2026·8 min czytania·[Krzysztof Majchrzycki](https://majchrzycki.com/o-mnie)

Temat: [Dystrybucja i hurt B2B](https://majchrzycki.com/blog/filar/dystrybucja-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](https://help.openai.com/en/articles/10169521-projects-in-chatgpt).

To przepis do karty agenta zamówień z serii o [dystrybucji i hurcie B2B jako jednym systemie](https://majchrzycki.com/blog/filar/dystrybucja-hurt-b2b). 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](https://github.com/majchrzycki-com/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ć](https://majchrzycki.com/blog/skill-agent-zamowien-b2b-dystrybucja).

## 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ście

Co robi agent

Wynik

Zamówienie klienta w PDF

czyta nagłówek, linie i warunki, których żąda klient

lista pozycji i żądań

`kartoteka.csv`

dopasowuje po EAN, indeksie lub opisie; wycofany indeks zamienia na zamiennik

indeks i nazwa z kartoteki

`stany.csv`

liczy dostępne i porównuje dostawę w drodze z terminem klienta

braki z datami

`klienci-warunki.csv`

liczy wartość według umowy, porównuje rabat i termin, sprawdza limit i przeterminowane

szkic 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](https://majchrzycki.com/pobierz/agenci/dy/zamowienie.pdf), [kartoteka.csv](https://majchrzycki.com/pobierz/agenci/dy/kartoteka.csv), [stany.csv](https://majchrzycki.com/pobierz/agenci/dy/stany.csv), [klienci-warunki.csv](https://majchrzycki.com/pobierz/agenci/dy/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](https://majchrzycki.com/pobierz/agenci/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](https://help.openai.com/en/articles/20001519-custom-gpt-retirement-and-migration-faq)). 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](https://help.openai.com/en/articles/8555545-file-uploads-in-chatgpt)).

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](https://help.openai.com/en/articles/20001275-chatgpt-work-and-codex-ChatGPT)).

## Sprawdź wynik na danych kontrolnych

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

Lp.

Indeks

Ilość

Cena kat.

Rabat

Wartość wg umowy

Dostępne

Uwagi

1

RUR-PP-20

125

9,80 zł

10% (A)

1 102,50 zł

1 050

dopasowanie po EAN

2

KOL-PP-20

350

0,95 zł

10% (A)

299,25 zł

3 500

ilość nie jest wielokrotnością opakowania (100 szt.)

3

ZAW-KUL-12N

40

19,40 zł

8% (B)

713,92 zł

65

ZAW-KUL-12 wycofany; zamiennik 19,40 zł zamiast 18,90 zł; potwierdzić z klientem

4

GRZ-22-600

20

412,00 zł

5% (C)

7 828,00 zł

8

brakuje 12 szt.; 24 szt. w drodze na 12.05.2026

5

ZAW-TER-15

20

32,00 zł

8% (B)

588,80 zł

260

6

GLW-TER

20

38,50 zł

8% (B)

708,40 zł

230

7

IZO-22

200

2,10 zł

10% (A)

378,00 zł

800

dopasowanie po EAN

8

PMP-25-60

2

689,00 zł

5% (C)

1 309,10 zł

8

Pozycja

Wartość

Wartość katalogowa

13 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 decyzji

800,25 zł

Termin płatności

żądany 45 dni, umowny 30 dni

Limit kredytowy

60 000,00 zł

Saldo należności

48 200,00 zł, w tym 6 100,00 zł przeterminowane (18 dni)

Saldo po zamówieniu

61 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](https://help.openai.com/en/articles/20001143-chatgpt-workspace-agents-for-enterprise-and-business)). 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

Objaw

Przyczyna

Co zrobić

Nie ma przycisku `Share` ani tworzenia projektu

administrator wyłączył uprawnienie

włączyć w `Permissions & roles` → `Projects`

Cały wiersz CSV czytany jako jedna kolumna

kod wczytał plik z przecinkiem jako separatorem

napisz w rozmowie, że separator to średnik

Dostępne bez odjęcia rezerwacji

agent porównał ilość ze stanem

przypomnij wzór: stan minus zarezerwowane

Zamówienie ze skanu jest nieczytelne

w Business PDF jest czytany jako sam tekst, obrazy tylko w Enterprise

poproś klienta o PDF z tekstem albo przepisz linie

Kolega nie widzi projektu po dodaniu do grupy

członkowie dodani później nie dostają powiadomienia

wyślij mu link do projektu

Nie da się zbudować nowego GPT

GPT są wycofywane

zostań przy projekcie albo workspace agent

Workspace agent czeka i nic nie wysyła

akcje 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:

-   [Agent zamówień B2B w Claude](https://majchrzycki.com/blog/agent-zamowien-b2b-w-claude-krok-po-kroku)
-   [Agent zamówień B2B w Microsoft 365 Copilot](https://majchrzycki.com/blog/agent-zamowien-b2b-w-microsoft-365-copilot-krok-po-kroku)
-   [Agent zamówień B2B w Gemini](https://majchrzycki.com/blog/agent-zamowien-b2b-w-gemini-krok-po-kroku)

Pełną kartę agenta zamówień znajdziecie we wpisie o [rabacie spisanym i limicie sprawdzonym przed wydaniem](https://majchrzycki.com/blog/rabat-spisany-limit-przed-wydaniem#agent-zamowien).

-   Dystrybucja B2B
-   ChatGPT
-   Agent AI
-   Zamówienia B2B

## 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ę.

[Pobierz darmowy poradnik](https://majchrzycki.com/transformacja-agenci-ai/dystrybucja-hurt-b2b#pobierz)

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.

## Czytaj dalej

-   [Agent zamówień B2B w Claude: przepis w sześciu krokach](https://majchrzycki.com/blog/agent-zamowien-b2b-w-claude-krok-po-kroku)
-   [Agent zamówień B2B w Copilot: sześć kroków w Agent Builder](https://majchrzycki.com/blog/agent-zamowien-b2b-w-microsoft-365-copilot-krok-po-kroku)
-   [Agent zamówień B2B w Gemini: skill (Gem) i arkusze z Dysku](https://majchrzycki.com/blog/agent-zamowien-b2b-w-gemini-krok-po-kroku)
-   [Agent zamówień sieci w ChatGPT: przepis w sześciu krokach](https://majchrzycki.com/blog/agent-zamowien-sieci-w-chatgpt-krok-po-kroku)