{"id":90106,"date":"2026-10-16T12:05:00","date_gmt":"2026-10-16T10:05:00","guid":{"rendered":"https:\/\/codescriptum.pl\/blog\/raporty-sprzedazy-robione-recznie-w-excelu\/"},"modified":"2026-10-16T12:05:00","modified_gmt":"2026-10-16T10:05:00","slug":"raporty-sprzedazy-robione-recznie-w-excelu","status":"publish","type":"post","link":"https:\/\/codescriptum.pl\/blog\/raporty-sprzedazy-robione-recznie-w-excelu\/","title":{"rendered":"Raport sprzeda\u017cy co tydzie\u0144 robiony r\u0119cznie w Excelu - jak go zautomatyzowa\u0107"},"content":{"rendered":"<h2>Jak wygl\u0105da r\u0119czny raport sprzeda\u017cy?<\/h2>\n<p>W poniedzia\u0142ek rano kto\u015b pobiera eksporty z kilku system\u00f3w, wkleja je do arkusza, poprawia formu\u0142y, kt\u00f3re si\u0119 rozjecha\u0142y, i wysy\u0142a raport zarz\u0105dowi. Trwa to d\u0142ugo, a gotowy raport opisuje stan sprzed kilku dni. Co gorsza, ka\u017cdy b\u0142\u0105d przy kopiowaniu przenosi si\u0119 na decyzje podejmowane na podstawie raportu.<\/p>\n<ul>\n<li>eksporty ze sklepu, CRM, programu do faktur i paneli reklamowych s\u0105 pobierane r\u0119cznie,<\/li>\n<li>arkusz ma kilkana\u015bcie zak\u0142adek i formu\u0142y, kt\u00f3re rozumie tylko jego autor,<\/li>\n<li>liczby w raporcie r\u00f3\u017cni\u0105 si\u0119 od tych w systemach i nikt nie wie dlaczego,<\/li>\n<li>gdy autor raportu jest na urlopie, raportu po prostu nie ma.<\/li>\n<\/ul>\n<h2>Dlaczego raport sprzeda\u017cy wci\u0105\u017c powstaje r\u0119cznie?<\/h2>\n<p>Bo zacz\u0105\u0142 si\u0119 od jednorazowego arkusza, kt\u00f3ry z czasem obr\u00f3s\u0142 w zak\u0142adki i wyj\u0105tki. Nikt nie uzna\u0142 go za proces do automatyzacji, wi\u0119c sta\u0142 si\u0119 czyim\u015b sta\u0142ym obowi\u0105zkiem.<\/p>\n<h3>Dane w kilku systemach<\/h3>\n<p>Zam\u00f3wienia s\u0105 w sklepie, szanse sprzeda\u017cy w CRM, faktury w programie ksi\u0119gowym, a koszty reklam w panelach reklamowych. Ka\u017cdy system eksportuje dane w innym formacie i z innymi nazwami p\u00f3l.<\/p>\n<h3>Brak wsp\u00f3lnych definicji<\/h3>\n<p>Dla handlowca sprzeda\u017c to podpisana umowa, dla ksi\u0119gowo\u015bci wystawiona faktura, a dla sklepu z\u0142o\u017cone zam\u00f3wienie. Bez spisanych definicji ka\u017cdy raport liczy co innego i ka\u017cdy ma troch\u0119 racji.<\/p>\n<h3>R\u0119czne poprawki po drodze<\/h3>\n<p>Autor raportu usuwa testowe zam\u00f3wienia, \u0142\u0105czy duplikaty klient\u00f3w i przelicza waluty. Te kroki nie s\u0105 nigdzie zapisane, wi\u0119c nie da si\u0119 ich zautomatyzowa\u0107 bez rozmowy z nim.<\/p>\n<h2>Sk\u0105d bra\u0107 dane do automatycznego raportu?<\/h2>\n<p>Bezpo\u015brednio z system\u00f3w, w kt\u00f3rych dane powstaj\u0105: przez API, zaplanowany eksport albo gotowy konektor. R\u0119cznie pobrany plik powinien by\u0107 wyj\u0105tkiem, a nie podstaw\u0105 raportu. Je\u015bli te same dane s\u0105 wcze\u015bniej przepisywane mi\u0119dzy systemami, zacznij od tego problemu, opisanego we wpisie o <a href=\"\/blog\/reczne-przepisywanie-danych-miedzy-systemami\/\">r\u0119cznym przepisywaniu danych<\/a>.<\/p>\n<table>\n<thead>\n<tr>\n<th>\u0179r\u00f3d\u0142o<\/th>\n<th>Typowe dane<\/th>\n<th>Spos\u00f3b pobierania<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Sklep internetowy<\/td>\n<td>Zam\u00f3wienia, warto\u015bci, statusy, produkty<\/td>\n<td>API sklepu lub zaplanowany eksport<\/td>\n<\/tr>\n<tr>\n<td>CRM<\/td>\n<td>Leady, szanse sprzeda\u017cy, etapy, handlowcy<\/td>\n<td>API lub gotowy konektor<\/td>\n<\/tr>\n<tr>\n<td>Program do faktur lub ksi\u0119gowy<\/td>\n<td>Faktury, p\u0142atno\u015bci, nale\u017cno\u015bci<\/td>\n<td>API, eksport CSV lub XML<\/td>\n<\/tr>\n<tr>\n<td>Panele reklamowe<\/td>\n<td>Koszty kampanii, klikni\u0119cia<\/td>\n<td>Konektory narz\u0119dzi BI lub API<\/td>\n<\/tr>\n<tr>\n<td>Arkusze zespo\u0142u<\/td>\n<td>Plany, cele, korekty<\/td>\n<td>Jeden arkusz o sta\u0142ej strukturze<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Jak zbudowa\u0107 automatyczny raport?<\/h2>\n<p>Najpierw definicje, potem przep\u0142yw danych, na ko\u0144cu wygl\u0105d. Odwrotna kolejno\u015b\u0107 daje \u0142adny dashboard z liczbami, kt\u00f3rym nikt nie ufa.<\/p>\n<p>Automatyczny raport ma trzy warstwy. Pierwsza pobiera dane wed\u0142ug harmonogramu, np. codziennie w nocy, przez narz\u0119dzie takie jak n8n lub Make albo skrypt uruchamiany o sta\u0142ej porze (w Arkuszach Google s\u0142u\u017c\u0105 do tego wyzwalacze czasowe Apps Script). Druga zapisuje dane w jednym miejscu: w arkuszu o sta\u0142ej strukturze, a przy wi\u0119kszej skali w bazie danych. Trzecia pokazuje wyniki w arkuszu z wykresami albo w narz\u0119dziu BI, takim jak Power BI czy Data Studio (dawniej Looker Studio), kt\u00f3re od\u015bwie\u017ca dane wed\u0142ug harmonogramu i potrafi wysy\u0142a\u0107 raport mailem jako PDF.<\/p>\n<p>Zanim cokolwiek zbudujesz, przejrzyj obecny arkusz razem z jego autorem. Ka\u017cd\u0105 zak\u0142adk\u0119 opisz jednym zdaniem: sk\u0105d bierze dane, co liczy i kto z niej korzysta. Zak\u0142adki, z kt\u00f3rych nikt nie korzysta, nie musz\u0105 trafi\u0107 do nowego raportu.<\/p>\n<h3>Gdzie w tym jest AI?<\/h3>\n<p>AI dobrze opisuje gotowe liczby: streszcza, co zmieni\u0142o si\u0119 w por\u00f3wnaniu z poprzednim tygodniem, i wskazuje pozycje, kt\u00f3re odstaj\u0105 od normy. Nie powinno liczy\u0107 samych wynik\u00f3w, bo modele j\u0119zykowe nie s\u0105 narz\u0119dziem do precyzyjnych oblicze\u0144. Liczby liczy baza danych lub arkusz, a AI dostaje gotow\u0105 tabel\u0119 i pisze komentarz, kt\u00f3ry kto\u015b czyta przed wys\u0142aniem.<\/p>\n<h2>Arkusz czy narz\u0119dzie BI?<\/h2>\n<p>Arkusz wystarczy, gdy \u017ar\u00f3de\u0142 jest kilka, odbiorc\u00f3w niewielu, a raport ma jedn\u0105 wersj\u0119 dla wszystkich. Narz\u0119dzie BI warto wybra\u0107, gdy danych przybywa, odbiorcy potrzebuj\u0105 r\u00f3\u017cnych widok\u00f3w albo raport ma by\u0107 dost\u0119pny w ka\u017cdej chwili, a nie tylko w poniedzia\u0142ek.<\/p>\n<p>W obu przypadkach zasada jest ta sama: dane trafiaj\u0105 do raportu automatycznie i nikt nie wkleja ich r\u0119cznie. Arkusz zasilany przez automat ma t\u0119 zalet\u0119, \u017ce zesp\u00f3\u0142 zna go od lat, wi\u0119c \u0142atwiej go zaakceptowa\u0107. Do narz\u0119dzia BI mo\u017cna przej\u015b\u0107 p\u00f3\u017aniej, gdy dane s\u0105 ju\u017c uporz\u0105dkowane, bez budowania wszystkiego od nowa. Zwr\u00f3\u0107 te\u017c uwag\u0119 na uprawnienia: raport z danymi klient\u00f3w i wynikami handlowc\u00f3w nie powinien by\u0107 dost\u0119pny przez publiczny link, a ka\u017cdy odbiorca powinien widzie\u0107 tylko to, czego potrzebuje.<\/p>\n<h2>Jak zadba\u0107 o jako\u015b\u0107 danych w raporcie?<\/h2>\n<p>Dodaj automatyczne kontrole, kt\u00f3re zatrzymuj\u0105 raport albo ostrzegaj\u0105, gdy dane wygl\u0105daj\u0105 podejrzanie. Raport z b\u0142\u0119dem jest gorszy ni\u017c raport op\u00f3\u017aniony o godzin\u0119.<\/p>\n<ul>\n<li>por\u00f3wnanie sumy sprzeda\u017cy w raporcie z sum\u0105 w systemie \u017ar\u00f3d\u0142owym,<\/li>\n<li>alarm, gdy z kt\u00f3rego\u015b \u017ar\u00f3d\u0142a nie przysz\u0142y dane albo jest ich nagle znacznie mniej ni\u017c zwykle,<\/li>\n<li>wykluczanie zam\u00f3wie\u0144 testowych i anulowanych wed\u0142ug zapisanej regu\u0142y,<\/li>\n<li>jeden identyfikator klienta, \u017ceby duplikaty nie zawy\u017ca\u0142y liczby klient\u00f3w,<\/li>\n<li>data i godzina ostatniego od\u015bwie\u017cenia widoczna w raporcie.<\/li>\n<\/ul>\n<h2>Kto powinien odpowiada\u0107 za raport?<\/h2>\n<p>Jedna osoba po stronie biznesu, kt\u00f3ra odpowiada za definicje wska\u017anik\u00f3w, i osoba techniczna, kt\u00f3ra dba o przep\u0142yw danych. Bez w\u0142a\u015bciciela raport po kilku miesi\u0105cach zn\u00f3w zaczyna si\u0119 rozje\u017cd\u017ca\u0107.<\/p>\n<p>W\u0142a\u015bciciel raportu zatwierdza zmiany definicji, reaguje na alarmy jako\u015bci danych i decyduje, kiedy doda\u0107 nowy wska\u017anik. Osoba techniczna dostaje powiadomienia o b\u0142\u0119dach pobierania danych i aktualizuje po\u0142\u0105czenia, gdy zmieni si\u0119 kt\u00f3ry\u015b system, np. po aktualizacji CRM albo zmianie p\u00f3l w sklepie. Opis raportu, czyli definicje, \u017ar\u00f3d\u0142a, harmonogram i regu\u0142y, trzymaj w jednym dokumencie obok raportu. Gdy zmieni si\u0119 osoba odpowiedzialna, nast\u0119pca nie b\u0119dzie musia\u0142 odtwarza\u0107 logiki z formu\u0142.<\/p>\n<h2>Lista kontrolna<\/h2>\n<ul>\n<li>spisane definicje wska\u017anik\u00f3w zatwierdzone przez odbiorc\u00f3w raportu,<\/li>\n<li>lista \u017ar\u00f3de\u0142 danych i spos\u00f3b pobierania z ka\u017cdego,<\/li>\n<li>harmonogram od\u015bwie\u017cania i jedno miejsce przechowywania danych,<\/li>\n<li>kontrole jako\u015bci i data ostatniego od\u015bwie\u017cenia w raporcie,<\/li>\n<li>AI tylko do opisu gotowych liczb, z weryfikacj\u0105 przed wysy\u0142k\u0105,<\/li>\n<li>w\u0142a\u015bciciel raportu i osoba techniczna z powiadomieniami o b\u0142\u0119dach.<\/li>\n<\/ul>\n<div class=\"csb-note csb-note--tip\">\n<p>Zanim zautomatyzujesz raport, zapytaj odbiorc\u00f3w, z kt\u00f3rych liczb faktycznie korzystaj\u0105. Cz\u0119sto cz\u0119\u015b\u0107 zak\u0142adek nie jest przez nikogo czytana, a mniejszy raport szybciej si\u0119 automatyzuje i taniej utrzymuje.<\/p>\n<\/div>\n<p>Je\u015bli chcesz policzy\u0107, czy automatyzacja raportu si\u0119 op\u0142aca, skorzystaj z poradnika o <a href=\"https:\/\/codescriptum.pl\/o-automatyzacji\/roi-automatyzacji-jak-liczyc-zwrot-z-inwestycji-ai\/\">liczeniu zwrotu z automatyzacji<\/a>. Przep\u0142ywy danych, dashboardy i komentarze AI do raport\u00f3w wdra\u017camy w ramach <a href=\"https:\/\/codescriptum.pl\/automatyzacja-procesow-ai\/\">automatyzacji proces\u00f3w AI<\/a>. Ten problem jest jednym z naszej listy <a href=\"\/blog\/100-problemow-z-automatyzacja-ai\/\">100 problem\u00f3w z wdro\u017ceniem AI i automatyzacj\u0105<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Jak wygl\u0105da r\u0119czny raport sprzeda\u017cy? W poniedzia\u0142ek rano kto\u015b pobiera eksporty z kilku system\u00f3w, wkleja je do arkusza, poprawia formu\u0142y, kt\u00f3re si\u0119 rozjecha\u0142y, i wysy\u0142a raport zarz\u0105dowi. Trwa to d\u0142ugo,\u2026<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[36],"tags":[],"class_list":["post-90106","post","type-post","status-publish","format-standard","hentry","category-wdrozenia-ai"],"_links":{"self":[{"href":"https:\/\/codescriptum.pl\/blog\/wp-json\/wp\/v2\/posts\/90106","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/codescriptum.pl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/codescriptum.pl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/codescriptum.pl\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/codescriptum.pl\/blog\/wp-json\/wp\/v2\/comments?post=90106"}],"version-history":[{"count":0,"href":"https:\/\/codescriptum.pl\/blog\/wp-json\/wp\/v2\/posts\/90106\/revisions"}],"wp:attachment":[{"href":"https:\/\/codescriptum.pl\/blog\/wp-json\/wp\/v2\/media?parent=90106"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/codescriptum.pl\/blog\/wp-json\/wp\/v2\/categories?post=90106"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/codescriptum.pl\/blog\/wp-json\/wp\/v2\/tags?post=90106"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}