Pokaż spis treści

Sprzedaż

Proformy

Proforma w ExKSeF jest lokalnym dokumentem handlowym przed właściwą fakturą. Operator może przygotować warunki sprzedaży, wysłać klientowi dokument, a po akceptacji przejść do faktury sprzedażowej bez przepisywania nabywcy, pozycji i ustawień płatności.

Proforma jako kontrolowany etap sprzedaży

Proforma nie trafia do KSeF i nie udaje faktury księgowej. Jest miejscem, w którym można przygotować ofertę, uzgodnić płatność z klientem i dopiero później wystawić właściwy dokument sprzedażowy. Dzięki temu sprzedaż ma osobny etap roboczy, ale nadal korzysta z tych samych danych, które potem przechodzą do faktury.

Dokument zapisuje nabywcę, pozycje, kwoty, walutę, metodę płatności i rachunek bankowy. Po zapisie system generuje XML proformy w oparciu o mechanizm faktur FA(3), ale renderuje go jako dokument oznaczony pro forma. Ten XML jest źródłem podglądu HTML, wydruku, pobrania PDF, pobrania XML oraz wysyłki e-mail.

W praktyce moduł rozwiązuje częsty problem operacyjny: klient dostaje czytelny dokument do akceptacji lub opłacenia, a operator nie musi drugi raz budować faktury od zera, gdy sprzedaż zostanie potwierdzona.

Lista, filtry i podgląd dokumentu

Widok Proformy działa jak robocze centrum obsługi dokumentów przed sprzedażą. Tabela pokazuje status, datę wystawienia, termin płatności, numer proformy, nabywcę oraz wartości netto, VAT i brutto. Stopka liczy sumy dla aktualnie przefiltrowanego zestawu, więc operator może szybko sprawdzić wartość przygotowanych dokumentów.

Lista obsługuje sortowanie, paginację, zmianę liczby rekordów, filtrowanie po dacie proformy, terminie płatności, numerze, nabywcy oraz kwotach netto i brutto. Grupowanie może pracować według dnia, nabywcy, miesiąca albo statusu. Grupy da się zwijać pojedynczo lub globalnie, a każda grupa pokazuje własne sumy.

Kliknięcie wiersza rozwija panel szczegółów. Operator może przełączać podgląd HTML i źródłowy XML, drukować dokument, pobrać PDF, pobrać XML albo wysłać proformę e-mailem. Adres e-mail jest pobierany z kartoteki kontrahenta po NIP nabywcy, więc wysyłka nie wymaga ręcznego przepisywania kontaktu.

Numeracja i formularz proformy

Nowa proforma korzysta z oddzielnej sekwencji numeracji FP, konfigurowanej tak jak pozostałe numery dokumentów. System podpowiada numer dla daty wystawienia, pozwala go odświeżyć przed zapisem, a podczas zapisu rezerwuje kolejny numer z właściwego okresu. Dzięki temu proformy nie mieszają się z numeracją faktur sprzedażowych.

Formularz zbiera datę wystawienia, datę sprzedaży, termin płatności, formę płatności, walutę, rachunek bankowy, odbiorcę i pozycje. Dla przelewu widoczne jest pole liczby dni, z którego system wylicza termin płatności; dla pozostałych metod termin można wskazać ręcznie. Dostępne są między innymi PLN, EUR, USD, GBP i CHF oraz metody płatności takie jak przelew, gotówka, karta, czek, kredyt i płatność mobilna.

Pozycje proformy korzystają z tego samego edytora co faktura sprzedażowa. Można wybrać towar lub usługę ze słownika albo wpisać pozycję ręcznie, ustawić jednostkę, ilość, cenę netto i VAT. Do zapisu wymagana jest co najmniej jedna pozycja z nazwą.

Przepływ od proformy do faktury

%%{init: {"themeVariables": {"fontSize": "12px"}}}%%
flowchart TD
  A[Operator tworzy proformę] --> B[System rezerwuje numer FP]
  B --> C[Zapis danych nabywcy, pozycji, waluty i płatności]
  C --> D[Generowanie XML proformy]
  D --> E[Podgląd HTML, PDF, XML, e-mail]
  E --> F{Klient akceptuje warunki}
  F -->|tak| G[Wystaw fakturę z proformy]
  G --> H[Formularz faktury z uzupełnionymi danymi]
  H --> I[Zapis faktury sprzedażowej]
  I --> J[Proforma zostaje zamknięta do edycji i usunięcia]
  F -->|nie| K[Edycja lub usunięcie proformy]

Przejście do faktury bez utraty źródła

Akcja Wystaw fakturę otwiera formularz faktury sprzedażowej z parametrem źródłowej proformy. System przenosi numer proformy, nabywcę, NIP, adres, e-mail, telefon, pozycje, walutę, formę płatności, termin płatności, rachunek bankowy oraz ustawienia takie jak MPP czy odwrotne obciążenie.

Nowa faktura otrzymuje własny numer z sekwencji faktur i własną datę wystawienia. Proforma pozostaje źródłem danych, a faktura zapisuje powiązanie SourceProformaId oraz SourceProformaNumber. To powiązanie jest później używane również w rozliczeniach, na przykład przy dopasowaniu wpłat bankowych po numerze proformy.

Po zapisaniu faktury powiązanej z proformą system blokuje wystawienie kolejnej faktury z tego samego dokumentu, edycję oraz usunięcie proformy. W tabeli zamiast akcji pojawia się informacja, że faktura została wystawiona. To chroni przed przypadkową zmianą dokumentu, na którym opiera się już właściwa faktura.

Import XML i powiązania z istniejącą sprzedażą

Moduł obsługuje także import proformy z XML faktury FA(2) lub FA(3). Import nie kopiuje sprzedawcy z pliku, bo sprzedawcą jest firma z profilu systemu. Z XML pobierane są dane nabywcy, pozycje, kwoty, metoda płatności, rachunek bankowy oraz daty potrzebne do zbudowania lokalnej proformy.

System nadaje takiej proformie własny numer z sekwencji FP. Jeżeli w bazie istnieje już faktura o numerze odczytanym z XML, import ustawia w niej powiązanie zwrotne do nowej proformy bez nadpisywania pozostałych danych faktury. To pozwala uporządkować historię dokumentów nawet wtedy, gdy część procesu była wykonana poza aplikacją.

Statusy i uprawnienia

Proforma ma prosty lokalny cykl życia, bo nie uczestniczy w wysyłce do KSeF. Status Szkic oznacza dokument roboczy, a Wystawiona oznacza zapisaną proformę gotową do podglądu, wysyłki lub przekształcenia w fakturę.

Dostęp do modułu jest rozdzielony na konkretne funkcje: przeglądanie proform, tworzenie, edycję, usuwanie i wystawianie faktury z proformy. Te same decyzje uprawnień wpływają na widoczność strony, przycisku wystawiania, menu akcji w tabeli oraz formularza nowej faktury uruchamianego z proformy.

Uprawnienia są dodatkowo sprawdzane w use case'ach aplikacyjnych, a akcje są filtrowane według statusu dokumentu. Dzięki temu UI nie jest jedyną warstwą ochrony: nawet bezpośrednie wywołanie operacji musi przejść przez reguły dostępu i politykę blokady dokumentu powiązanego z fakturą.

Najważniejsze pytania

Czy proforma jest wysyłana do KSeF?

Nie. Proforma jest lokalnym dokumentem handlowym. Może zostać wydrukowana, pobrana jako PDF lub XML i wysłana e-mailem, ale dopiero faktura sprzedażowa utworzona na jej podstawie wchodzi w obieg faktur.

Co dzieje się po wystawieniu faktury z proformy?

Faktura zapisuje powiązanie z proformą. Od tego momentu proforma jest zamknięta do edycji, usunięcia i ponownego wystawienia faktury, żeby dane źródłowe nie rozjechały się z właściwym dokumentem sprzedażowym.

Czy można wysłać proformę klientowi bez ręcznego podawania e-maila?

Tak, jeżeli kontrahent ma zapisany adres e-mail w kartotece. Panel podglądu wyszukuje kontrahenta po NIP nabywcy i wysyła wiadomość z podglądem oraz PDF proformy.