← Blog / Integracja SAP i Salesforce

Status KSeF w Salesforce: co ma widzieć handlowiec z SAP

Opublikowano: 20 października 2026

Faktura wystawiona w SAP ma od 2026 roku dodatkowy etap poza systemem finansowym: trafia do KSeF, tam jest przyjmowana albo odrzucana, a dopiero po przyjęciu dostaje numer KSeF. Handlowiec i zespół windykacji pracują w Salesforce, więc ta informacja musi tam dotrzeć, bo inaczej każde pytanie klienta o fakturę kończy się telefonem do finansów.

Co zmienia KSeF w integracji SAP z Salesforce

KSeF dodaje do faktury dwie informacje, których CRM dotąd nie przechowywał: numer KSeF i status przetwarzania. Numer nadaje system po przetworzeniu faktury, więc nie ma go w treści wysyłanej przez sprzedawcę, a według Fakturowni różni się od numeru faktury nadanego przez podatnika. Integracja SAP z Salesforce, która do tej pory przenosiła zamówienia, klientów i salda, dostaje więc nowy obiekt do synchronizacji.

Poradniki wdrożeniowe skupiają się na innym odcinku trasy. Przewodnik LeverX opisuje wdrożenie KSeF w SAP: schemat FA(3), API, testy oraz wysyłkę i odbiór faktur. To potrzebna część pracy, ale kończy się na ERP. Przepływ opisany w dalszej części wpisu to propozycja układu, a nie przepis z dokumentacji KSeF ani opis konkretnego wdrożenia.

Luka jest praktyczna. Handlowiec rozmawia z klientem o fakturze, której status zna tylko finanse, a windykacja ma w Salesforce saldo bez informacji, czy dokument został przyjęty przez KSeF.

Jak pokazać status faktury z KSeF w Salesforce

Status pokazuje się w Salesforce na rekordzie faktury, który SAP aktualizuje po odpowiedzi z KSeF. SAP pozostaje źródłem prawdy o statusie, bo to on wysyła fakturę i odbiera odpowiedź, a Salesforce wyświetla jego kopię.

Przepływ wygląda tak: SAP wysyła fakturę do KSeF, odbiera wynik i przekazuje do Salesforce komunikat z numerem faktury, numerem KSeF, statusem i datą zdarzenia. W Salesforce dane trafiają na rekord faktury powiązany z kontem klienta i z zamówieniem, dzięki czemu fakturę można zobaczyć zarówno z poziomu konta, jak i zamówienia. Proponowany podział pól między role wygląda tak:

Pole na rekordzie fakturyHandlowiecWindykacja
Numer fakturytaktak
Numer KSeFtaktak
Statustaktak
Data statusutaktak
Powód odrzucenia w zrozumiałej formietaktak
Odnośnik do faktury pierwotnej (przy korekcie)nietak
UPO (urzędowe poświadczenie odbioru)nietak

Według komunikatu Ministerstwa Finansów obowiązek zaczyna się 1 lutego 2026 roku dla firm ze sprzedażą (wraz z VAT) powyżej 200 mln zł w 2024 roku, a odbieranie faktur przez KSeF jest obowiązkowe dla wszystkich od 1 lutego 2026 roku, a zestawienie mBanku podaje 1 kwietnia 2026 roku dla pozostałych przedsiębiorców. Według ksef.podatki.gov.pl kary wchodzą 1 stycznia 2027 roku, i wtedy kończy się też przejściowy wyjątek związany z kwotą 10 000 zł.

Jakie statusy i zdarzenia warto wysyłać do CRM

Do CRM mają sens cztery zdarzenia: wysłana, przyjęta z numerem KSeF, odrzucona z powodem i korekta. Każde z nich ma innego adresata po stronie sprzedaży lub windykacji.

Wysłana oznacza, że faktura jest w drodze i nie ma jeszcze numeru KSeF, więc handlowiec wie, że potwierdzenia przyjęcia jeszcze nie ma. Przyjęta z numerem KSeF potwierdza, że system przetworzył i zidentyfikował fakturę, a numer można podać klientowi w rozmowie. Termin płatności wynika natomiast z warunków handlowych i z zasad księgowych, a nie z samego nadania numeru, więc nie należy go z tym statusem automatycznie wiązać. Korekta przechodzi ten sam obieg co faktura i po przyjęciu dostaje własny numer, a w schemacie FA(3) odwołuje się do numeru KSeF faktury korygowanej. W Salesforce warto zapisać to odwołanie jako pole typu lookup do rekordu faktury pierwotnej.

Najwięcej uwagi wymaga odrzucenie. Odrzucona faktura nie otrzymuje numeru KSeF i wymaga obsługi po stronie finansów, a od tego, jak szybko informacja o tym dotrze do CRM, zależy rozmowa z klientem. Bez statusu handlowiec może zapewniać o fakturze, która nie została przyjęta, i zaczyna się spór o to, czy klient dokument w ogóle dostał i od kiedy. Jak odrzucenie wpływa na status prawny dokumentu, to kwestia do potwierdzenia w aktualnych przepisach i dokumentacji Ministerstwa Finansów, dlatego CRM powinien pokazywać fakt techniczny, a nie wykładnię. Handlowiec, który widzi status „odrzucona”, może uprzedzić klienta, że finanse poprawiają dokument.

Odpowiedź błędu z KSeF zawiera kod i komunikat techniczny, którego nie ma sensu pokazywać handlowcowi wprost. Kody trzeba przełożyć na krótki komunikat po polsku, na przykład „duplikat faktury”, a pełny kod zostawić w polu widocznym dla finansów. Kody się zmieniają, bo Ministerstwo Finansów dopisuje nowe w dokumentacji API, więc słownik tłumaczeń wymaga utrzymania.

Jak zintegrować KSeF z SAP i CRM, żeby handlowcy widzieli faktury klienta

Integracja obejmuje trzy elementy: ustalony status w SAP, mapowanie faktury na klienta i zamówienie oraz widok w Salesforce. Kolejność prac zależy od projektu, ale widok w Salesforce ma sens dopiero wtedy, gdy SAP ustalił, który stan jest końcowy, bo inaczej użytkownik zobaczy statusy zmieniające się kilka razy.

Pierwszy element to decyzja, który stan w SAP jest wiążący, na przykład dopiero odpowiedź KSeF, a nie sama wysyłka. Drugi to klucz łączący fakturę z kontem i zamówieniem; ten sam problem opisaliśmy we wpisie o statusie zamówienia z SAP, a faktura jest jego naturalnym przedłużeniem. Trzeci to widok: lista faktur na koncie, status na zamówieniu i raport dla windykacji.

Zostaje wybór czasu przekazania. Zdarzenia w czasie zbliżonym do rzeczywistego dają aktualny status w trakcie rozmowy z klientem, ale wymagają kolejkowania komunikatów, obsługi błędów i ponawiania. Przekazywanie wsadowe, na przykład co godzinę lub raz dziennie, jest prostsze i mniej obciąża interfejsy, za to informacja o odrzuceniu może dotrzeć do handlowca później, niż klient zadzwoni. Możliwy jest też układ mieszany, w którym odrzucenia idą od razu, a reszta wsadem, kosztem dwóch ścieżek do utrzymania.

Jednej rzeczy nie da się ocenić z góry: ile faktur i odrzuceń przejdzie przez interfejs, zależy od danych konkretnej firmy, i dopiero pilotaż pokaże, czy wsad wystarczy. Według dokumentacji API KSeF publikowanej przez CIRFMF numer KSeF ma zawsze 35 znaków (format NIP-RRRRMMDD-12 znaków szesnastkowych-2 znaki CRC), więc pole tekstowe w Salesforce warto ustawić na co najmniej 36 znaków.

Co sprawdzić przed startem

Przed startem warto ustalić pięć rzeczy:

Odpowiedzi na te pytania wyznaczają zakres pilotażu bardziej niż wybór techniki przekazywania danych.

Chcesz poznać więcej praktycznych rozwiązań?

Dołącz do nas na bezpłatnej konferencji "Zintegrowany Biznes" 25.11.2026 w Warszawie (ADN Centrum Konferencyjne). Udział jest bezpłatny, a liczba miejsc ograniczona.

Zarejestruj się za darmo ↗

FAQ

Czy Salesforce musi znać numer KSeF?

Jeśli handlowcy i windykacja mają rozmawiać z klientem o konkretnej fakturze, powinien go znać. Numer KSeF identyfikuje dokument przyjęty przez system, więc ma sens obok numeru faktury na rekordzie. Salesforce nie nadaje go sam, tylko odbiera z SAP.

Kto odpowiada za status faktury w KSeF?

Za status odpowiada system, który wysyła fakturę i odbiera odpowiedź, czyli zwykle SAP. Salesforce pokazuje kopię tego statusu. Po stronie organizacji właścicielem jest zazwyczaj dział finansów, ale to trzeba ustalić przed startem.

Czy do CRM wysyłać status odrzucenia faktury?

Warto, bo to zdarzenie, które najczęściej prowadzi do nieporozumień z klientem. Odrzucona faktura nie dostaje numeru KSeF, więc bez tej informacji handlowiec może zapewniać o dokumencie, który nie został przyjęty. Komunikat powinien zawierać zrozumiały powód, a nie sam kod błędu z API.

Czy wystarczy raport zamiast integracji?

Przy niewielkiej liczbie faktur raport z SAP może wystarczyć, jeśli zespoły zaglądają do niego regularnie. Przy większej liczbie dokumentów staje się kolejnym miejscem, które trzeba otworzyć w trakcie rozmowy z klientem. Integracja ma sens tam, gdzie status ma być widoczny na koncie i zamówieniu bez wychodzenia z Salesforce.