---
id: finanse-i-cenniki
title: Finanse i cenniki
summary: Wystawianie dokumentów sprzedaży, pliki do KSeF, specyfikacje, płatności, zestawienia zbiorcze oraz ceny leków i usług.
audience: kierownik, lekarz, technik, administracja, agent
reviewed_at: 2026-10-16
review_scope: 2026-10-16 — częściowy przegląd przed wydaniem: odczyt finansów klienta i przypisanie istniejącej polityki cenowej przez MCP; bez przeglądu przepisów lub cennika abonamentów. Pozostała treść zachowuje wcześniejszy zakres przeglądu.
source_commit: e2fdf0ba9d31f307b26ffda9f5df1b64a353e186
see_also:
  - 02-kto-widzi-co.md
  - 08-dokumenty.md
  - 10-konsultacja-sprzedaz-zk.md
---

# Finanse i cenniki

**Gdzie wejść:** menu **Finanse**. Dostęp wymaga modułu **Finanse i cenniki** oraz uprawnień użytkownika. Kierownik zarządza politykami cenowymi i rozliczeniami zbiorczymi. [Ustawienia dostępu](13-konto.md#uprawnienia) wyjaśniają, dlaczego określony ekran może być niewidoczny.

Ta część programu pomaga ustalić ceny, przygotować dokument sprzedaży i sprawdzić, ile klient już zapłacił. Dokument przyjęcia leków od dostawcy znajduje się w [Magazynie](07-magazyn.md). Tutaj opisujemy sprzedaż gabinetu.

## Faktury {#faktury}

**Wystaw fakturę** otwiera nowy dokument. **Lista faktur** pozwala odnaleźć istniejące dokumenty. Część kont pokazuje również osobną **Listę plików do KSeF**. Wybierz tryb zgodny z dokumentem, który chcesz przygotować.

![Formularz faktury z numerem, datami, nabywcą, pozycjami i podsumowaniem kwot.](../images/screenshots/faktura-81ef70854f33-960.webp)


### Jak przygotować fakturę

1. Otwórz **Finanse → Wystaw fakturę** lub rozpocznij tworzenie faktury z wybranych dokumentów klienta.
2. Sprawdź **Numer faktury**, **Datę wystawienia**, **Datę sprzedaży** i **Termin zapłaty**.
3. Wskaż **Sprzedawcę** i **Nabywcę**. W razie potrzeby podaj odrębnego **Odbiorcę**.
4. Wybierz **Sposób zapłaty**. Przy przelewie uzupełnij bank i numer konta. Przy gotówce te pola nie są wymagane.
5. Sprawdź miejscowość oraz dodatkowe ustalenia.
6. Dodaj towary lub usługi. Dla każdej pozycji podaj nazwę, jednostkę, ilość, cenę i stawkę podatku. Wskaż, czy wpisana cena jest netto, czy brutto.
7. Jeżeli należność została już zapłacona, sprawdź **Status zapłaty** i **Datę zapłaty**.
8. Porównaj sumy netto i brutto z ustalonym rozliczeniem. Wybierz **Zapisz fakturę**.

Po poprawnym zapisie dokument jest dostępny na liście. Możesz go otworzyć, wydrukować oryginał lub kopię oraz pobrać XML KSeF, jeśli dane pozwalają na eksport. Zaznaczenie kilku dokumentów umożliwia wspólny wydruk lub pobranie plików XML w ZIP.

Sprzedawca, nabywca i odbiorca są wybierani z kartotek. Zapisany dokument zachowuje powiązanie z wersją ich danych. Późniejsze poprawienie adresu klienta nie powinno być traktowane jako automatyczna poprawa wszystkich wcześniejszych faktur.

Numer sprawdź przed zapisem. Program podpowiada numer zgodnie z konfiguracją i pokazuje ostatni użyty numer. Karty leczenia mają osobną numerację opisaną w [Ustawieniach](13-konto.md#format-numeracji).

### Faktura z kart leczenia i jedna pozycja usługowa

Dokument można przygotować z wybranych kart i innych dokumentów klienta. Weter przenosi ich pozycje, dlatego sprawdź ilości, ceny i stawki zamiast przepisywać je ponownie.

Jeżeli dostępna jest opcja **Zwiń do jednej pozycji „Usługa weterynaryjna”**, formularz pokazuje wynikowe kwoty. Nazwę tej pozycji i stawkę ustawia kierownik w **Ustawienia → Inne**. Szczegółowe towary i usługi mogą być pokazane na specyfikacji.

Karta leczenia może mieć korektę kwoty końcowej. Przy oddzielnych pozycjach faktura opiera się na ich rzeczywistych kwotach, więc jej suma może różnić się od skorygowanej sumy karty. Przy zwinięciu formularz pokazuje, czy korekta zostaje uwzględniona. Przeczytaj ostrzeżenia, zwłaszcza gdy karta zawiera leki wydane właścicielowi do dalszego podawania. Program pokazuje również możliwą różnicę groszową wynikającą z przeliczenia.

### Poprawianie i usuwanie

Na szczegółach dostępne są akcje poprawy i usunięcia zgodnie z uprawnieniami. Przed zapisem sprawdź, czy poprawiasz właściwy dokument oraz jakie inne dokumenty są z nim powiązane.

Zmiana danych w Weterze nie aktualizuje automatycznie dokumentu przesłanego wcześniej do zewnętrznego systemu. Przycisk **Popraw** służy do edycji zapisu w Weterze. Nie należy zakładać, że sam tworzy i wysyła fakturę korygującą do KSeF.

Dokument powstały z zestawienia zbiorczego ma powiązanie z tym zestawieniem. Program może wymagać usunięcia całego zestawienia zamiast samodzielnego usunięcia jego pliku.

## Pliki do KSeF {#ksef}

KSeF jest zewnętrznym systemem faktur. **Weter przygotowuje plik XML do pobrania. Wysyłkę wykonujesz w osobnym narzędziu KSeF. Weter nie nadaje numeru KSeF i nie potwierdza przyjęcia przez ten system.**

![Ekran Lista plików do KSeF z instrukcją przygotowania XML, filtrami i pustą listą.](../images/screenshots/ksef-pliki-f1418df507ff-960.webp)


Masz dwie możliwości:

- pobrać XML istniejącej faktury z jej szczegółów lub listy;
- wybrać **Finanse → Utwórz plik KSeF** albo **Przygotuj plik do KSeF** i zapisać dane na **Liście plików do KSeF**.

### Jak przygotować plik

1. Otwórz formularz przygotowania pliku.
2. Uzupełnij strony, daty, płatność i pozycje tak jak na fakturze.
3. Wybierz **Zapisz plik do KSeF**.
4. W szczegółach wybierz **Pobierz XML KSeF**.
5. Jeśli pojawi się lista błędów, popraw wskazane dane i ponownie pobierz plik.
6. Osobno zaloguj się do narzędzia KSeF, wczytaj XML i wykonaj wysyłkę.
7. W tym narzędziu sprawdź końcowy wynik przyjęcia i numer KSeF. Zachowaj UPO, gdy jest dostępne. Lista plików w Weterze nie pokazuje potwierdzenia tej operacji.

Po pobraniu plik znajduje się na Twoim urządzeniu. Samo zapisanie lub pobranie w Weterze nie potwierdza, że faktura została przyjęta przez KSeF. Podgląd zawartości pliku jest opisany jako dokument przygotowawczy.

**Lista plików do KSeF** ma filtry numeru, nabywcy i roku. Zaznaczone pliki można pobrać razem w ZIP. Błędy dotyczą konkretnego dokumentu; popraw je przed kolejną próbą.

### Stawki i obliczenia

**zw** i **0%** mają różne znaczenie i są eksportowane jako różne wartości. Ogólne oznaczenie **np** może wymagać doprecyzowania jako **np I** lub **np II**. Jeśli eksport je odrzuci, wybierz właściwą stawkę w danych i słowniku zgodnie z przyjętym sposobem rozliczania gabinetu.

Program zachowuje dokładniejsze wartości do obliczeń niż dwie cyfry widoczne przy cenie. Sumy powstają z danych pozycji i są zaokrąglane według reguł dokumentu. Nie koryguj ceny tylko dlatego, że mnożenie jej zaokrąglonej prezentacji daje różnicę groszową. Najpierw porównaj sumy dokumentu i komunikat formularza.

Wczytanie faktury zakupu z XML lub PDF KSeF do magazynu jest osobną funkcją: [Przyjęcie z pliku](07-magazyn.md#przyjecie-z-pliku).

## Specyfikacje {#specyfikacje}

Specyfikacja jest szczegółowym wykazem dokumentów, leków i usług. Może być załącznikiem do faktury lub pliku przygotowanego do KSeF.

![Formularz specyfikacji z numerem faktury, polami towarów i usług oraz podsumowaniem.](../images/screenshots/specyfikacja-630d44f24306-960.webp)


1. W kartotece klienta zaznacz dokumenty do rozliczenia i wybierz tworzenie specyfikacji.
2. Sprawdź numer, strony i dokumenty źródłowe.
3. Zapisz specyfikację.
4. Otwórz ją na **Finanse → Lista specyfikacji**.

Ze szczegółów możesz przejść do dokumentów źródłowych i powiązanej faktury lub pliku. Dostępne są wydruk, eksport do Excela oraz poprawa i usunięcie w dozwolonym zakresie.

Jeżeli źródłowe karty mają korektę kwoty końcowej, specyfikacja pokazuje osobną pozycję **Korekta**. Dzięki temu można zobaczyć, z czego wynika końcowa kwota. Specyfikacja nie jest nowym podaniem leków ani kolejnym zdjęciem ich ze stanu.

## Zestawienia zbiorcze i rozliczenia klienta {#zestawienia}

**Finanse → Zestawienia zbiorcze** pokazuje zestawienia wszystkich klientów. Pełne ustawienia i historia jednego klienta są w jego kartotece, na zakładce **Finanse**.

[Zobacz ekran: Rozliczenia klienta RK z kolumnami Kwota brutto, Zapłacone i Pozostało oraz filtrami](10-konsultacja-sprzedaz-zk.md#zk)

![Zakładka Zestawienia zbiorcze właściciela z informacją, że rozliczenia zbiorcze są wyłączone, i przyciskiem Przejdź do ustawień.](../images/screenshots/zestawienie-zbiorcze-092733b77bee-960.webp)


| Zakładka klienta | Do czego służy |
|---|---|
| **Podsumowanie** | Przychód i wynik dla wybranego okresu, w tym informacje o brakujących marżach. |
| **Rozliczenia klienta (RK)** | Zapis i przegląd rozliczeń klienta. |
| **Zestawienia zbiorcze** | Generowanie, podgląd i pobieranie okresowych zestawień. |
| **Ustawienia** | Koszt dojazdu oraz harmonogram i warunki rozliczeń zbiorczych. |

[RK](10-konsultacja-sprzedaz-zk.md#zk) to nazwa używana obecnie w interfejsie. W starszych materiałach możesz znaleźć nazwę „Zamówienia klienta (ZK)”.

### Płatność pełna i częściowa

W rozliczeniu dokumentu określ, czy został opłacony w całości. Przy częściowej płatności wpisz kwotę rzeczywiście otrzymaną.

Jeśli klient wpłaca kolejną część, okno pokazuje **Już zapłacono**, **Pozostało** oraz **Kwotę dopłaty teraz**. Przycisk **Cała reszta** wpisuje pozostałą należność. Jeśli wcześniejsza kwota była błędna, wybierz **Popraw zapłaconą kwotę** i podaj nową łączną kwotę.

Sprawdź **Po zapisie pozostanie do zapłaty** i wybierz **Zapisz**. Zapis pełnej płatności zmienia udział dokumentu w rozliczeniu zbiorczym. Jeśli wynik zapisu jest niepewny, odśwież dokument i sprawdź kwotę przed ponowną próbą dopłaty.

Zmniejszyć wcześniej zapisaną wpłatę może kierownik. Jeśli ktoś inny zmienił rozliczenie w czasie Twojej pracy, odśwież dokument i sprawdź nową kwotę przed zapisem.

### Włączenie rozliczenia zbiorczego dla klienta

Wymaga kierownika i dostępnego modułu zestawień.

1. Otwórz klienta i **Finanse → Ustawienia**.
2. W **Harmonogramie generowania** wybierz **Ręcznie**, **Tygodniowo**, **Co 2 tygodnie** lub **Miesięcznie**. **Wyłączone** wyłącza rozliczenie zbiorcze tego klienta.
3. Wskaż dzień generowania, jeśli jest potrzebny.
4. Ustal formę płatności i liczbę dni do zapłaty. Wartość 0 oznacza termin w dniu wystawienia.
5. Wskaż nabywcę, odbiorcę i płatnika. Mogą być tym klientem albo innym podmiotem z kartotek.
6. Zaznacz rodzaje dokumentów uwzględnianych w rozliczeniu: karty leczenia, szczepienia, konsultacje, sprzedaż lub inseminacje.
7. Wybierz **Zapisz ustawienia**.

Automatyczne zestawienia powstają według zapisanego harmonogramu. Gdy wybrany dzień miesiąca nie istnieje, używany jest ostatni dzień tego miesiąca. Niezapisane zmiany formularza nie wpływają na generowanie.

### Ręczne generowanie

Na **Finanse → Zestawienia zbiorcze** klienta wskaż **Okres od** i **Okres do**, a następnie wybierz **Generuj**. Możesz użyć szybkiego zakresu, np. poprzedniego miesiąca.

Do zestawienia trafiają dokumenty z okresu, które nie są opłacone w całości i nie zostały wcześniej ujęte w zestawieniu. Przy płatności częściowej uwzględniana jest pozostała kwota. Program przygotowuje też powiązany plik KSeF i specyfikację. Jeśli brakuje poprawnych danych sprzedawcy lub nabywcy, pokazuje, co trzeba uzupełnić.

Po wygenerowaniu sprawdź dokumenty i sumy w podglądzie. Pobierz PDF, Excel lub XML KSeF. Wydruk może obejmować proste podsumowanie, szczegółowe podsumowanie, zawartość pliku KSeF lub specyfikację. Zaznaczone zestawienia można umieścić w jednym PDF.

**Usunięcie zestawienia usuwa także powiązany plik i specyfikację.** Przed potwierdzeniem przeczytaj listę skutków. Generowanie, usuwanie i ustawienia należą do kierownika. Personel z dostępem do finansów może przeglądać dostępne dokumenty i eksporty.

## Cennik {#cennik}

**Finanse → Cennik** otwiera wybór obszaru:

![Ekran Polityki cenowe z zakładkami Polityki cenowe i marże oraz Ceny bazowe zakupu leków, przyciskiem Dodaj politykę cenową i pustą listą.](../images/screenshots/polityki-cenowe-72c08d8d6d71-960.webp)

![Cennik właściciela z tabelami cen, kwotami netto i brutto oraz źródłem ceny.](../images/screenshots/cennik-klienta-592abe943691-960.webp)


- **Cennik właściciela** — ceny leków i usług dla konkretnego klienta;
- **Cennik leku** — cena i jej pochodzenie dla leku;
- **Cennik usługi** — ceny wybranej usługi;
- **Polityki cenowe** — reguły dla grup klientów oraz ceny bazowe.

Cennik zaawansowany wymaga osobnego udostępnienia gabinetowi. Bez niego ceny leków ustala się przede wszystkim na partiach przyjętych do magazynu.

### Cztery różne ceny leku

| Rodzaj ceny | Znaczenie |
|---|---|
| Cena zakupu partii | Ile gabinet zapłacił za jednostkę tej dostawy. |
| Cena sprzedaży partii | Cena wpisana dla tej dostawy; służy m.in. do wyceny magazynu i pracy offline. |
| Cena bazowa zakupu | Podstawa wyliczeń zaawansowanego cennika w konkretnej jednostce. |
| Cena właściciela | Wynik reguł cenowych zastosowanych dla tego klienta. |

Przy włączonym cenniku zaawansowanym cena partii nie musi być ceną używaną dla klienta. Porównuj tę samą jednostkę, na przykład cenę za 1 ml z ceną za 1 ml.

### Jak ustawić cenę partii

Otwórz lek i jego cennik. Przy właściwej partii wpisz cenę sprzedaży lub marżę, sprawdź VAT i zapisz. **Promocja** oznacza cenę wpisaną ręcznie i przypiętą do partii. Nie staje się ona automatycznie domyślną marżą leku.

Ostrzeżenie o wysokiej marży prosi o sprawdzenie ceny. Rezygnacja z potwierdzenia nie kasuje wpisanych wartości. Sprawdź cenę zakupu i jednostkę.

### Ceny bazowe zakupu

W **Polityki cenowe → Ceny bazowe zakupu leków** zobaczysz ceny dla leku i jednostki. Automatyczna podstawa jest najwyższą ceną zakupu z aktywnych dostaw w tej jednostce. Droższa dostawa może ją podnieść.

Można wpisać ręczną korektę i wybrać **Zapisz**. **Ustaw automatycznie** przywraca obliczanie na podstawie dostaw. **Usuń wpis** jest przeznaczone dla pozycji, która nie ma już odpowiedniej aktywnej dostawy.

W kolumnie **Domyślna cena sprzedaży** ustawisz marżę od ceny bazowej albo konkretną kwotę. Zapisz ją osobnym przyciskiem **Zapisz cenę domyślną**.

### Polityki cenowe

Polityka zbiera zasady dla grupy klientów, np. jedną marżę leków i jeden mnożnik ceny usług.

1. Kierownik wybiera **Dodaj politykę cenową**.
2. Wpisuje nazwę, marżę leków, mnożnik usług i opcjonalnie kolor.
3. Zapisuje politykę.
4. W razie potrzeby wybiera **Indywidualne pozycje**, aby ustawić wyjątki dla konkretnych leków lub usług.
5. Przypisuje politykę klientom albo używa **Ustaw domyślny**.

Domyślna polityka jest używana dla klientów bez indywidualnego przypisania. Można przypisać klientowi osobną politykę dla leków i dla usług. **Pokaż klientów** pozwala sprawdzić, kogo obejmuje reguła.

Zmiana polityki wpływa na kolejne wyliczenia cen. Nie traktuj jej jako automatycznej zmiany wszystkich zapisanych dokumentów.

### Cena dla jednego klienta i kolejność reguł

W **Cenniku właściciela** wybierz klienta. Możesz ustawić **Cenę indywidualną** albo zmienić jego politykę. Przy zmianie polityki sprawdź pytanie o zachowanie lub nadpisanie już istniejących cen indywidualnych.

Weter używa dostępnej reguły o najwyższym pierwszeństwie:

1. cena indywidualna klienta;
2. indywidualna pozycja w jego polityce;
3. ogólna marża lub mnożnik przypisanej polityki, a przy braku przypisania — polityki domyślnej;
4. domyślna cena gabinetu;
5. cena bazowa zakupu bez narzutu, jeśli nie ustalono wyższej reguły.

Dla usług podstawą jest cena ze słownika usług. Na liście widać etykietę **Indywidualna**, **Z polityki**, **Domyślna** lub **Brak ceny**. Szczegóły wyliczenia pomagają zrozumieć wynik.

**Brak ceny** na liście może oznaczać brak ceny bazowej. Na karcie leczenia Weter może wtedy obliczyć cenę z wydawanej partii i dostępnej marży. Sprawdź kwotę przed zapisem karty.

Cennik właściciela można wyeksportować do Excela. Eksport uwzględnia aktywne filtry. Wyczyść je, jeśli potrzebujesz wszystkich pozycji.

## Finanse klienta przez asystenta {#finanse-klienta-przez-asystenta}

Zapytaj np. „Pokaż sprzedaż i należności Jana Kowalskiego za wrzesień”. Asystent najpierw ustala właściwego właściciela, a następnie odczytuje sprzedaż, zapisane wpłaty, pozostałe należności i wynik po kosztach leków według raportu **Finanse**. Wymagany jest dostęp do Finansów i danych klienta. Konto hodowcy nie odczytuje finansów gabinetu.

Podany okres dotyczy dat dokumentów. Kwota wpłat oznacza aktualnie zapisane rozliczenie tych dokumentów, także wpłaty dodane później; nie jest sumą pieniędzy otrzymanych w podanym okresie. Wynik po kosztach leków nie jest zyskiem księgowym: nie odejmuje m.in. wynagrodzeń, kosztów utrzymania ani podatku dochodowego.

Pracownik może otrzymać podsumowanie sprzedaży całego gabinetu, a rozliczenia tylko książki głównej i własnej. Asystent powinien podać oba zakresy, jeśli są różne. Brak kompletnych danych o wpłatach oznacza brak ustalonej kwoty, nie zero. Odczyt nie rejestruje płatności ani nie zmienia dokumentów.

## Przypisanie polityki przez asystenta {#polityka-przez-asystenta}

Kierownik z dostępem do Finansów i polityk cenowych może polecić: „Przypisz Janowi Kowalskiemu politykę cenową Stały klient”. Asystent wybiera istniejącego właściciela i istniejącą politykę; przy kilku wynikach prosi o wskazanie właściwego. Gdy polityki nie ma, najpierw utwórz ją w Weterze.

Przypisanie zastępuje politykę leków oraz usług wybranego klienta. Zachowuje ceny indywidualne, które nadal mają pierwszeństwo. Nazwa polityki, np. „20%”, nie gwarantuje rabatu — wynik zależy od zapisanej marży i mnożnika. Po zmianie sprawdź **Cennik właściciela**. Asystent nie zmienia definicji polityki, cen partii ani polityki domyślnej gabinetu.

## Zobacz też

- [Konto i ustawienia](13-konto.md) — dostęp do modułów, domyślna pozycja faktury.
- [Magazyn](07-magazyn.md) — dostawy, serie i ceny zakupu.
- [Konsultacja, sprzedaż i rozliczenia](10-konsultacja-sprzedaz-zk.md).
- [Klienci](11-klienci.md) — kartoteki stron dokumentu.
- [Raporty](13-konto.md#raporty) — wyniki pracy i należności.

## Źródła sprawdzenia

- weter:serwis/application/controllers/ApivatinvoiceController.php
- weter:serwis/application/controllers/VatinvoiceController.php
- weter:serwis/application/controllers/ApiksefController.php
- weter:serwis/application/controllers/ApicollectivestatementController.php
- weter:serwis/application/controllers/ApicollectivestatementcronController.php
- weter:serwis/application/controllers/ApipricingController.php
- weter:serwis/application/ctrls/ApiVatinvoiceCtrl.php
- weter:serwis/application/ctrls/ApiPricingCtrl.php
- weter:serwis/application/ctrls/ApiPricingTierCtrl.php
- weter:serwis/application/services/PricingResolver.php
- weter:serwis/application/services/ClientServicePricing.php
- weter:serwis/application/services/CardPricingPolicy.php
- weter:serwis/application/services/CollectiveStatementFactory.php
- weter:serwis/application/services/CollectiveStatementDocuments.php
- weter:serwis/application/services/CollectiveStatementScheduler.php
- weter:serwis/application/services/KsefXmlExporter.php
- weter:serwis/application/services/KsefInvoiceValidator.php
- weter:serwis/application/models/PricingTiers.php
- weter:serwis/application/models/EntityCustomDrugPrices.php
- weter:serwis/application/models/EntityCustomServicePrices.php
- weter:serwis/application/models/CollectiveStatements.php
- weter:serwis/public/template/vatinvoice/
- weter:serwis/public/template/pricing/
- weter:serwis/public/template/collectivestatement/
- weter:serwis/public/template/clients/edit_finances_tab_VERSION_.html
- weter:serwis/public/template/clients/edit_billing_tab_VERSION_.html
- weter:serwis/public/template/clientdocument/modal_payment_details_VERSION_.html
- weter:serwis/public/js/app/invoice_VERSION_.js
- weter:serwis/public/js/app/invoice_decimal_VERSION_.js
- weter:serwis/public/js/app/pricing_VERSION_.js
- weter:serwis/application/services/KsefInvoiceBuilder.php
- weter:mcp-server/server.py
- weter:mcp-server/mcp_scope_auth.py
