Przejdź do treści
Kontrola cen zakupu u dostawców z pozycji faktur KSeF w Arkuszu Google
Start Blog Automatyzacja
Automatyzacja · Poradnik

Kontrola cen zakupu u dostawców z pozycji faktur KSeF w Arkuszu Google

Włącz w KSeF Import zakładkę pozycji faktur, a formułami QUERY i FILTER w Arkuszu Google zbudujesz tabelę cen: najniższą, najwyższą i ostatnią cenę towaru u każdego dostawcy oraz alert o podwyżce.

Wypróbuj za darmo
PZ Paulina Zielińska 7 min Akt. 28 października 2026 Zweryfikowane
Szybka odpowiedź

Jak kontrolować ceny zakupu u dostawców na podstawie pozycji faktur z KSeF w Arkuszu Google?

Włącz w KSeF Import zakładkę „… - Pozycje” (plany Grupa i Biuro), a w nowej zakładce „Ceny” zbuduj formułę QUERY, która grupuje pozycje po dostawcy i towarze i pokazuje cenę najniższą, najwyższą i ostatnią. Kolumna „zmiana względem najniższej” z formatowaniem warunkowym podświetli towary droższe od najniższej ceny o więcej niż Twój próg. Pobranie pozycji robi KSeF Import, a formuły i próg alertu ustawiasz Ty.

TL;DR – w skrócie
  • Zakładka „… - Pozycje” (plany Grupa i Biuro) daje cenę jednostkową netto każdej pozycji w osobnym wierszu – to surowiec do kontroli cen.
  • Formuła QUERY w osobnej zakładce „Ceny” grupuje pozycje po dostawcy, towarze, jednostce i walucie oraz liczy cenę najniższą, najwyższą i liczbę faktur.
  • Jedna formuła z FILTER i SORT wyciąga ostatnią cenę towaru, a kolumna procentowa pokazuje, o ile jest wyższa od najniższej.
  • Formatowanie warunkowe z progiem (np. 5%) w osobnej komórce podświetla towary droższe od najniższej ceny – bez przeglądania setek wierszy.
  • KSeF Import pobiera i zapisuje pozycje; formuły, próg alertu i decyzję o renegocjacji ceny wykonujesz Ty.
W tym artykule

Od problemu do efektu

PWE
1
Problem
Podwyżki cen znikają wśród setek pozycji

Dostawca podnosi cenę jednego towaru o kilka procent, a na fakturze jest to jedna linia wśród kilkudziesięciu. Przy zakupach z wielu źródeł nikt nie porównuje cen z poprzednich faktur, więc podwyżkę widać dopiero w marży na koniec miesiąca.

2
Jak rozwiązujemy
Pozycje w arkuszu i jedna tabela cen

KSeF Import zapisuje każdą pozycję faktury w osobnym wierszu z ceną jednostkową netto. Na tej bazie zbudujesz zakładkę „Ceny”, która z każdej serii faktur wyciąga cenę najniższą, najwyższą i ostatnią dla towaru.

3
Efekt
Towary droższe niż Twoja najniższa cena widać od razu

Kolor w kolumnie zmiany ceny pokazuje, które towary kosztują dziś o więcej niż Twój próg powyżej najniższej ceny z okresu. Zamiast szukać podwyżek po fakcie, dostajesz krótką listę towarów do rozmowy z dostawcą.

Dlaczego ceny zakupu trzeba porównywać pozycja po pozycji

Suma faktury kosztowej niewiele mówi o cenach. Faktura od hurtowni może mieć trzydzieści pozycji, a o jej wartości decyduje ilość zamówiona w danym tygodniu. Podwyżka jednostkowej ceny o 4% na towarze kupowanym co tydzień jest realnym kosztem, ale w sumie faktury po prostu ginie.

Portal KSeF służy do przeglądania pojedynczych faktur, więc porównanie ceny tego samego towaru z kilku miesięcy wymagałoby otwierania kolejnych dokumentów i przepisywania cen do własnej tabeli. Tego rodzaju kontrola wymaga danych w układzie „jeden wiersz = jedna pozycja”.

  • Kupujesz te same towary u kilku dostawców i chcesz wiedzieć, kto jest tańszy.
  • Cena jednostkowa u stałego dostawcy rośnie po cichu, bez osobnej informacji.
  • Przed rozmową o rabacie potrzebujesz twardych liczb: ile płaciłeś najmniej, a ile płacisz teraz.
  • Marża zależy od kosztu zakupu, więc zmiana ceny musi być widoczna przy pierwszej fakturze, nie po zamknięciu miesiąca.
Czego potrzebujesz

Zakładka „… - Pozycje” jest dostępna w planach Grupa i Biuro (okres próbny ma pełny zakres planu Biuro, więc możesz przetestować cały opisany układ). KSeF Import pobiera faktury z ostatnich 90 dni, a nowe dopisuje przy kolejnych synchronizacjach – seria cen rośnie z czasem.

Jak zbudować tabelę kontroli cen – krok po kroku

Poniższy układ zakłada domyślną kolejność kolumn zakładki pozycji: A – Nr KSeF, B – Nr faktury, C – Data wystawienia, E – Sprzedawca NIP, F – Sprzedawca, G – Nabywca NIP, I – Waluta, J – Typ faktury, N – Nazwa, O – Indeks, T – Jednostka, U – Ilość, V – Cena jedn. netto (dalej m.in. W – Cena jedn. brutto, X – Rabat/opust, Y – Wartość netto). Jeśli przestawiłeś kolumny, popraw litery w formułach. W arkuszu z polskimi ustawieniami regionalnymi argumenty rozdzielasz średnikami.

  1. 1
    Włącz zakładkę pozycji

    W ustawieniach Arkuszy Google w KSeF Import zaznacz opcję „Pozycje”. Po synchronizacji obok zwykłego arkusza pojawi się zakładka „… - Pozycje” z jednym wierszem na każdą pozycję faktury.

  2. 2
    Utwórz zakładkę „Ceny” i tabelę zbiorczą

    W komórce A1 nowej zakładki wpisz: =QUERY('Faktury - Pozycje'!A:V; "select E, F, N, T, I, min(V), max(V), count(V) where N is not null and V is not null group by E, F, N, T, I order by N, min(V)"; 1). Zakładka nazywa się „nazwa arkusza - Pozycje”, więc zawsze ujmij ją w apostrofy (tu przykładowo „Faktury - Pozycje”) i podmień na własną nazwę w każdej formule. Dostaniesz listę par dostawca–towar (ten sam towar od różnych dostawców trafia do sąsiednich wierszy) z ceną najniższą, najwyższą i liczbą wierszy. Pozycje bez ceny jednostkowej netto są pomijane – patrz uwaga poniżej.

  3. 3
    Ogranicz dane do zakupów

    Zakładka pozycji może zawierać także faktury sprzedażowe i korygujące. Żeby liczyć tylko zakupy i pominąć korekty (ich różnice zaburzają min i max), rozbuduj warunek w zapytaniu: where G = 1234567890 and N is not null and V is not null and not J contains 'koryg' and not J contains 'Korekta'. Wpisz swój NIP bez cudzysłowów, bo w arkuszu zwykle jest liczbą; jeśli w kolumnie G jest wyrównany do lewej (tekst), ujmij go w apostrofy. Korekty porównuj osobno.

  4. 4
    Dodaj kolumnę „Ostatnia cena”

    Obok tabeli, w pierwszym wierszu danych, wpisz: =INDEX(SORT(FILTER({'Faktury - Pozycje'!C2:C\'Faktury - Pozycje'!V2:V}; 'Faktury - Pozycje'!E2:E=A2; 'Faktury - Pozycje'!N2:N=C2; 'Faktury - Pozycje'!T2:T=D2; 'Faktury - Pozycje'!I2:I=E2); 1; FALSE); 1; 2) i przeciągnij w dół. Formuła bierze wszystkie wiersze danego dostawcy i towaru, sortuje je po dacie wystawienia malejąco i zwraca cenę z najnowszej faktury (przy kilku fakturach z tego samego dnia wynik pochodzi z jednej z nich). Formułę przeciągasz w dół, gdy tabela urośnie, albo owijasz w ARRAYFORMULA.

  5. 5
    Policz zmianę względem najniższej ceny

    W kolejnej kolumnie wpisz: =JEŻELI.BŁĄD(I2/F2-1) i ustaw format procentowy. Wynik 0,08 oznacza, że dziś płacisz o 8% więcej niż najmniej w analizowanym okresie. Próg alertu wpisz w osobnej komórce, np. L1 (5%).

  6. 6
    Podświetl towary droższe niż najniższa cena z okresu

    Zaznacz kolumnę ze zmianą, wybierz Formatuj → Formatowanie warunkowe → Formuła niestandardowa i wpisz =$J2>$L$1. Wiersze, w których ostatnia cena przekracza najniższą o więcej niż Twój próg, zmienią kolor, a filtr po tej kolumnie da krótką listę towarów do rozmowy z dostawcą.

Ilość i rabat zmieniają efektywną cenę

Cena jednostkowa na fakturze bywa podana przed rabatem. Jeśli dostawca rozlicza obniżki w kolumnie „Rabat/opust”, porównuj wartość netto podzieloną przez ilość (kolumny „Wartość netto” i „Ilość”) zamiast samej ceny jednostkowej – wtedy rabat nie zniekształci wyniku.

Pilnuj jednostek, walut i cen brutto

Tabela grupuje po jednostce i walucie, więc „kg” i „szt.” oraz EUR i PLN nie zostaną zmieszane. Gdy dostawca podaje ceny brutto, kolumna „Cena jedn. netto” bywa pusta – w takim przypadku oprzyj porównanie na „Cena jedn. brutto” albo na wartości netto podzielonej przez ilość. Różne nazwy tego samego towaru u dostawcy rozdzielą go na dwa wiersze; przy kodach pomaga grupowanie po kolumnie „Indeks” – zamień wtedy N na O w QUERY i w FILTER.

Skonfiguruj raz, pobieraj jednym kliknięciem

Zobacz, jak KSeF Import pobiera faktury kosztowe i układa je w gotowy arkusz.

Wypróbuj za darmo

Co robi KSeF Import, a co robisz Ty

Ten workflow to połączenie danych z KSeF Import z Twoimi formułami. Poniżej uczciwy podział, kto za co odpowiada:

KSeF ImportTy
Pobiera faktury z KSeF i zapisuje każdą pozycję w osobnym wierszu zakładki „… - Pozycje”Tworzysz zakładkę „Ceny” i wpisujesz formuły QUERY, FILTER i SORT
Zapisuje nazwę, jednostkę, ilość, cenę jednostkową i wartość pozycji jako liczbyWybierasz klucz porównania (nazwa albo indeks) i próg alertu
Dopisuje nowe pozycje przy kolejnych synchronizacjachRozszerzasz formuły w dół, gdy tabela urośnie, i oceniasz, czy różnica cen jest uzasadniona
Nie wylicza trendów cen ani nie ocenia dostawcówDecydujesz o renegocjacji, zmianie dostawcy albo korekcie cen sprzedaży
Arkusz nie zmienia danych na fakturze

Zakładka „Ceny” tylko czyta dane z zakładki pozycji. Nie edytuje faktur w KSeF i nie zastępuje rozmowy z dostawcą – pokazuje, o czym warto rozmawiać.

Podsumowanie: kontrola cen w firmie handlowej, gastronomii i produkcji

Ten układ najlepiej sprawdza się tam, gdzie kupujesz wiele podobnych towarów: w sklepie, restauracji, piekarni, warsztacie czy hurtowni. Raz ustawiona zakładka „Ceny” ogranicza potrzebę przeglądania faktur jedna po drugiej – otwierasz arkusz i widzisz, które towary kosztują dziś wyraźnie więcej niż najniższa cena z analizowanego okresu. Podstawą są pozycje faktur z KSeF w osobnych wierszach, które KSeF Import dopisuje przy każdej synchronizacji.

Pomysł możesz rozbudować o ranking dostawców, alert o nowym dostawcy albo kalendarz płatności. Wszystko opiera się na tych samych danych z tego samego skoroszytu, a zakładkę „Ceny” kopiujesz do kolejnych firm, podmieniając nazwę zakładki i NIP.

Najczęstsze pytania

Krótkie, konkretne odpowiedzi na pytania, które zadają użytkownicy i wyszukiwarki.

Zakładka „… - Pozycje” jest dostępna w planach Grupa i Biuro. Okres próbny ma zakres planu Biuro, więc kontrolę cen możesz przetestować przed wyborem planu. Aktualne warunki znajdziesz na stronie Cennik.

Częściowo. QUERY przelicza się sam, gdy KSeF Import dopisze nowe pozycje po synchronizacji, ale kolumny „Ostatnia cena” i „Zmiana” przeciągasz w dół, gdy tabela urośnie (albo owijasz w ARRAYFORMULA). Zakładkę „Ceny” i formuły tworzysz jednorazowo ręcznie.

Tabela z grupowaniem po NIP dostawcy zawiera osobny wiersz dla każdej pary dostawca–towar. Zapytanie QUERY z klauzulą order by N ustawia ten sam towar od różnych dostawców w sąsiednich wierszach, więc ceny porównasz od razu. Działa to, gdy towar ma tę samą nazwę (lub indeks) u obu dostawców.

Dostawca mógł podać cenę brutto albo tylko wartość pozycji. Wtedy porównuj wartość netto podzieloną przez ilość albo cenę jednostkową brutto – oba pola są w zakładce pozycji.

Zakładka „… - Pozycje” to funkcja Arkuszy Google. Formuły QUERY i FILTER opisane w artykule są składnią Arkuszy Google; w Excelu analogiczną tabelę zbudujesz przez tabelę przestawną, bo funkcje i separatory różnią się.

Nie. KSeF Import dostarcza pozycje faktur w arkuszu. Próg alertu i formatowanie warunkowe ustawiasz sam w Arkuszu Google, a o tym, co zrobić z podwyżką, decydujesz Ty.

PZ
Paulina Zielińska
Doradczyni biur rachunkowych

Doradczyni biur rachunkowych. Wspiera obsługę wielu NIP-ów w KSeF i przygotowanie danych z faktur pod programy księgowe.

Merytorycznie zweryfikował Anna Kowalczyk – Specjalistka ds. KSeF.
Wszystkie artykuły na blogu

Przeczytaj również

Faktury z KSeF automatycznie
7 dni za darmo · bez karty
Wypróbuj
7 dni za darmo · bez karty kredytowej

Przestań przepisywać faktury ręcznie

Wgraj certyfikat raz i pozwól, by faktury kosztowe z KSeF same trafiały do Excela, Google Sheets, CSV i zbiorczego PDF – bez logowania do portalu MF.

Bez karty kredytowej Konfiguracja w 5 minut Serwery w EU · GDPR