Dziennik zmian
API jest wersjonowane w ścieżce (/external/v1). Zmiany łamiące zgodność są wprowadzane w nowej wersji głównej; zmiany addytywne (nowe pola, nowe punkty końcowe, nowe parametry opcjonalne) są udostępniane w ramach v1. Nieznane pola odpowiedzi należy traktować jako zgodne w przód: pomijaj te, których nie rozpoznajesz.
v1 (bieżąca)
2026-10-09: faktury w procedurze marży
- Pozycje w marży. Stawka
vatRate: "marza"oznacza pozycję w procedurze marży (art. 119 i 120 ustawy o VAT): faktura pokazuje tylko kwoty brutto, w KSeF pozycja nie maP_12, a suma trafia doP_13_11. Dokument musi miećannotations.marginProcedure(inaczej422 MARGIN_LINE_WITHOUT_PROCEDURE). Pozycje w marży i ze zwykłymi stawkami mogą być na jednej fakturze. - Kwota nabycia i VAT od marży. Nowe pola pozycji
marginPurchaseValue(kwota nabycia brutto w PLN) imarginTaxRate(23,8,5,0) wPOST,PUTiPATCH /documentsoraz w odpowiedziachGET /documents/{id}. Nie trafiają na fakturę ani do KSeF; z nich powstają marża i VAT od marży w rejestrze VAT i JPK_V7. Nowe kody:422 MARGIN_TAX_RATE_INVALID,422 MARGIN_PURCHASE_INVALID. Przewodnik: Procedura marży. - Kwota nabycia po wystawieniu.
PATCH /documents/{id}/margin-purchases(scopedocuments:update, narzędzie MCPupdateDocumentMarginPurchases) ustawia kwotę nabycia i stawkę VAT od marży pozycji w marży także po wysyłce do KSeF. Kody422 MARGIN_LINE_NOT_FOUNDi422 MARGIN_PURCHASES_INVALID.PUTiPATCH /documents/{id}bez pól marży przy pozycji zostawiają zapisane wartości. - Sprzedaż w marży w podglądzie.
POST /documents/validatezwracapreview.totals.marginSaleSum(sprzedaż w marży zawarta wnetSum, w KSeFP_13_11), a narzędzie MCPprepareDocumentpodaje w podsumowaniu netto zwykłych stawek osobno od sprzedaży w marży. ZapisanynetSumnie zmienia znaczenia. - Korekta faktury marżowej pobranej z KSeF. Faktura sprzedaży w procedurze marży wystawiona w innym programie (pozycje bez
P_12, suma wP_13_11) ma po odczycie pozycje ze stawkąmarzai można do niej wystawić korektę. Kod422 CORRECTED_INVOICE_MARGIN_LINESzostaje tylko dla pozycji bez stawki na fakturze bez adnotacji procedury marży.
2026-10-09: korekta faktury sprzedaży pobranej z KSeF
- Korekta faktury wystawionej poza Fakturnią.
POST /documentsprzyjmuje wcorrectedInvoiceIdfakturę sprzedaży pobraną z KSeF (source: "ksef",direction: "income", typFakturaVAT). API czyta jej pozycje, sumy i adres nabywcy z XML faktury (pobierając go z KSeF, gdy trzeba), liczy korektę jako różnicę i w KSeF wskazuje numer KSeF faktury pierwotnej. Nowe kody:422 CORRECTED_INVOICE_NOT_INCOME,422 CORRECTED_INVOICE_WITHOUT_POSITIONS;CORRECTED_INVOICE_TYPE_MISMATCHobejmuje też importy innych typów. Przewodnik: Korekty. - Pozycje faktur pobranych z KSeF.
GET /documents/{id}faktury pobranej z KSeF zwracaproducts,netSumivatSum, gdy jej XML został już odczytany (po otwarciu w aplikacji albo po wystawieniu korekty); wcześniej takie faktury miały tylkogrossSum.
2026-10-09: identyfikatory kontrahenta zgodne z KSeF
- Jedne zasady identyfikatorów dla kontrahentów i stron dokumentu.
POSTiPUT /clientsoraz nabywca i odbiorca podani danymi wPOST /documents,POST /documents/validate,PUTiPATCH /documents/{id}zapisują identyfikatory w postaci, którą przyjmie KSeF: NIP jako 10 cyfr, numer VAT UE z prefiksem kraju wvatUE(GrecjaEL),otherz krajem. Przewodnik: Identyfikatory kontrahenta. - Numer VAT UE wpisany w
niptrafia dovatUE. BezidentifierTypenumerDE123456789wnipjest zapisywany jakovatEuwvatUEzcountryCodez prefiksu, a nie jako NIP. - Ostrzeżenia
data.warnings. Odpowiedzi kontrahentów i dokumentów (takżevalidate) mówią, jak odczytano identyfikatory: ustalony typ, przeniesiony numer, ustalony kraj (code,field,message). Narzędzie MCPprepareDocumentzwraca je widentifierNotes. - Sprzeczne dane są odrzucane. Kontrahenci:
422 VALIDATION_ERROR, dokumenty: nowy kod422 PARTY_IDENTIFIER_INVALID, zawsze z nazwą pola. Dotyczy to też NIP-u z błędną cyfrą kontrolną podanego bezidentifierType(wcześniej przyjmowanego) oraz identyfikatoraidWeww innej postaci niżNIP-NNNNN. - Dane zapisane wcześniej pozostają edytowalne. Identyfikatory równe zapisanym nie są ponownie sprawdzane przy
PUT /clientsani przyPUTiPATCHdokumentu.
2026-10-09: daty FA(3), raty, kilka wpłat zaliczki, dzień wpłaty
- Okres sprzedaży:
subDateTo. ZsubDatejako początkiem dajeOkresFaw KSeF (np. usługa za cały miesiąc).PATCHzachowuje zapisany okres i nagłówek daty. - Kurs waluty z dniem i tabelą NBP:
exchangeRateDate,exchangeRateTable. Kurs faktury to kurs z dnia roboczego przed obowiązkiem podatkowym, a gdy faktura jest wcześniejsza, przed datą wystawienia (art. 31a ustawy o VAT). Korekta bezexchangeRateprzejmuje kurs, dzień i tabelę faktury korygowanej (art. 31b ust. 1). - Obowiązek podatkowy z datą wystawienia:
taxPointRule. Dla usług budowlanych, książek i prasy, mediów, telekomunikacji, najmu, leasingu, ochrony i stałej obsługi (art. 19a ust. 5 pkt 3 i 4). Decyduje o okresie w raportach VAT i o dniu kursu. Gdy konto ma włączone ustawienie z domyślną regułą, dokument beztaxPointRuledostaje ją z ustawień (preview.appliedDefaults:TAX_POINT_RULE);useAccountDefaults: falsealbo jawnenullją pomija. - Raty i termin opisowy:
paymentInstallments,paymentDeadlineTerm. Kilka terminów z kwotami albo termin w rodzaju „14 dni od doręczenia faktury”; w KSeFTerminPlatnosciiTerminOpis. Błędne raty:422 PAYMENT_INSTALLMENTS_INVALID. Przewodnik: Tworzenie dokumentów. - Równe raty liczone przez API:
paymentInstallmentsSplit.POST,PUTiPATCH /documentsorazPOST /documents/validateprzyjmują{ count, firstDate?, every? }; API dzieli kwotę do zapłaty co do grosza (reszta w ostatniej racie) i zapisuje zwykłepaymentInstallments. Podglądvalidatepokazuje raty wpreview.paymentInstallments, a narzędzia MCPprepareDocumentipatchDocumentprzyjmują to samo pole. Przewodnik: Tworzenie dokumentów. - Kilka wpłat na fakturze zaliczkowej:
advanceReceipts. Każda wpłata z datą, kwotą i kursem; w KSeFZaliczkaCzesciowa. Błędne wpłaty:422 ADVANCE_RECEIPTS_INVALID. - Daty korekty:
correctionEffectDate,correctionConfirmationDate. Dzień, od którego korekta działa (zwiększenie po sprzedaży z przyczyną w innym miesiącu dajeTypKorekty3), i dzień potwierdzenia przez nabywcę korekty wystawionej poza KSeF. Korekta bezsubDateprzejmuje datę albo okres sprzedaży faktury korygowanej. Przewodnik: Korygowanie dokumentów. - Dzień wpłaty przy oznaczaniu zapłaty.
PATCH /documents/{id}/payment-statusprzyjmujepaymentDate(domyślnie dzisiejszy dzień w Polsce, nie z przyszłości);GETzwraca go wpayment.receivedPaymentDate. Przy metodzie kasowej to dzień obowiązku podatkowego. - Daty sprawdzane jak w aplikacji:
422 DOCUMENT_DATES_INVALID. Okres sprzedaży z początkiem po końcu, data sprzedaży ponad 60 dni po wystawieniu, data zapłaty późniejsza niż wystawienie, korekta wystawiona przed fakturą korygowaną.PUTiPATCHsprawdzają też format dat. - KSeF: więcej dat w XML. Miejsce wystawienia (
P_1M), raty i termin opisowy, wpłaty zaliczki. Data z godziną to dzień w Polsce, a nieczytelna data jest błędem walidacji zamiast dzisiejszej.
Wszystkie nowe pola są opcjonalne: integracje, które ich nie wysyłają, działają jak dotąd.
2026-10-09: korekta korekty
- Jedna korekta na dokument. Nowa korekta dokumentu, który ma już korektę, dostaje
409 CORRECTED_INVOICE_HAS_CORRECTIONz numerem i id ostatniej korekty łańcucha werrors[0]. Kolejną zmianę wystawiasz jako korektę tej korekty, więc stan „przed” uwzględnia wcześniejsze zmiany i kwoty nie liczą ich dwa razy. Tak samo odpowiadająPUTiPATCH, gdy przepinasz korektę na dokument z inną korektą. Przewodnik: Korygowanie dokumentów. - Korekta korekty wskazuje w KSeF fakturę pierwotną.
DaneFaKorygowanejpodaje numer, datę i numer KSeF faktury pierwotnej, a nie poprzedniej korekty (Podręcznik KSeF 2.0, część II, punkt 2.13.3). Wydruk pokazuje fakturę pierwotną i poprzednią korektę. - Faktura pierwotna bez numeru KSeF.
POST /documents/validatezwraca wpreview.warningsuwagi, które nie blokują dokumentu. Na koncie połączonym z KSeF korekta, której faktura pierwotna nie ma numeru KSeF, dostaje kodCORRECTION_ORIGINAL_KSEF_PENDING,CORRECTION_ORIGINAL_NOT_SENT_TO_KSEFalboCORRECTION_ORIGINAL_OUTSIDE_KSEF. Wysyłka do KSeF działa jak dotąd. Przewodnik: Korygowanie dokumentów. - Korekta korekty zaliczkowej.
FakturaKorygujacaZaliczkowamoże korygować poprzednią korektę zaliczkową: zamówienie i zaliczka przed korektą to stan po niej.
2026-10-09: powód i typ korekty, limit przyczyny korekty
- Powód korekty (
correctionCause) i typ korekty w KSeF (correctionType). Korekta może podać, dlaczego ją wystawiasz:after_sale(zdarzenie po sprzedaży: rabat, zwrot, reklamacja) albomistake(błąd na fakturze korygowanej). Z powodu i kwot Fakturnia wyliczaTypKorektywysyłany do KSeF, dotąd zawsze2;correctionType(1,2,3) ustawia go ręcznie. Oba pola przyjmująPOST,PUTiPATCH /documents, a zwracająGET /documents/{id}i webhooki dokumentów. Powód decyduje też o okresie korekty w raportach aplikacji (rejestr VAT, JPK_V7, KPiR). Integracje, które nie wysyłają nowych pól, działają jak dotąd. Przewodnik: Korygowanie dokumentów. - Przyczyna korekty najwyżej 256 znaków. Tyle przyjmuje KSeF w
PrzyczynaKorekty. DłuższycorrectionReasondostaje teraz błąd walidacji od razu (400przyPOST,422przyPUTiPATCH), a nie odrzucenie przez KSeF przy wysyłce.
2026-10-02: połączenie z KSeF tokenem
- Token KSeF jako metoda połączenia.
POST /ksef/connectionprzyjmujeconnectionType: TOKENztokenwygenerowanym w Aplikacji Podatnika KSeF albo, jak dotąd, certyfikat (connectionType: CERTIFICATE). Zapis jednej metody zastępuje drugą.GET /ksef/connectionpodajeconnectionType,hasTokenihasCertificate.
2026-10-01: webhooki dla dokumentów z aplikacji i z KSeF, limity zapytań, unikalne numery
document.createdtakże dla dokumentów z aplikacji. Dokument zapisany w aplikacji webowej albo mobilnej (także szkic i dokument magazynowy) wyzwaladocument.created, tak jak dokument z API, MCP albo reguły cyklicznej. Korekta wystawiona w aplikacji wyzwala teżdocument.updateddla faktury korygowanej. Nie trzeba już okresowo czytaćGET /documents, żeby zobaczyć dokumenty wystawione w aplikacji. Przewodnik: Webhooki.- Wystawienie szkicu w aplikacji wyzwala
document.updated. To samo zdarzenie przychodzi po zamianie dokumentu z powrotem w szkic i po zmianie w aplikacji oznaczeńisSent,isPrintediisDownloaded(także przy pierwszym wydruku albo pobraniu), zawsze tylko przy rzeczywistej zmianie. Integracja od razu wie, kiedy szkic stał się wystawionym dokumentem (isDraft: false). - Faktury pobrane z KSeF:
document.ksefImported. Synchronizacja z KSeF zgłasza nowe faktury (zakupowe i sprzedażowe wystawione poza Fakturnią) jednym zdarzeniem z listądata.documentIds, do 100 identyfikatorów w dostawie; większy import przychodzi w kilku dostawach. Takie faktury nie wysyłajądocument.created. sourceidirectionw dokumentach.GET /documentsiGET /documents/{id}zwracająsource(localalboksef) idirection(income,expensealboorder), więc faktury zakupowej z KSeF nie pomylisz z własną sprzedażą.- Więcej zdarzeń z aplikacji.
document.updatedpo potwierdzeniu albo cofnięciu wydania magazynowego, po usunięciu ostatniej korekty (dla faktury korygowanej), po wystawieniu WZ do faktury (dla faktury), po wysyłce e-mailem przez regułę cykliczną i gdy synchronizacja z KSeF dopisze numer KSeF;client.createddla kontrahenta zapisanego z danych nabywcy dokumentu z API albo MCP;client.updatedpo zapisaniu adresów e-mail kontrahenta. - Limity zapytań liczone dla aplikacji. Liczniki z tabeli w Limitach zapytań należą teraz do aplikacji (konta API), którą identyfikuje token, a nie do adresu IP, więc kilka integracji za jednym NAT-em nie dzieli już limitu. Doszedł ogólny limit 240 zapytań na minutę z jednego adresu IP, sprawdzany przed uwierzytelnieniem; zapytania z brakującym, błędnym albo wygasłym tokenem liczą się tylko do niego. Kod
429 RATE_LIMIT_EXCEEDEDi nagłówki bez zmian. - Numer dokumentu unikalny na całym koncie.
POST /documentsorazPUTiPATCH /documents/{id}zwracają409 DOCUMENT_NUMBER_EXISTStakże wtedy, gdy ten sam pełny numer ma już dokument innego typu (np. proforma i proforma bez VAT z tym samym symbolem) albo dokument przeniesiony na inny miesiąc.PUTiPATCHsprawdzają to, gdy zmieniasz numer, a komunikat werrors[0]podaje dokument, który ma ten numer. - Schemat dokumentu w specyfikacji OpenAPI opisuje wszystkie pola, które zwraca API:
isDraft,invoiceName,externalSource,externalOrderId,externalOrderNumber,correctionAdvanceAmountAfter,correctionSettlementAmountAfter,ksefNumber,ksefReferenceNumber,ksefStatusiksefSent. Odpowiedzi API się nie zmieniły, te pola były w nich już wcześniej.
2026-09-27 (wersja specyfikacji 1.3.0): dokumenty magazynowe i ustawienia konta
- Dokumenty magazynowe przez API.
POST /warehouse/documentswystawia WZ, PZ, PW, RW i MM z pozycjami z kartoteki i księguje ruchy;POST /warehouse/documents/validatezwraca podgląd ze stanem przed i po. Nowy scopewarehouse:documents:create. Przewodnik: Magazyn. - Braki towaru blokują wydanie. WZ, RW i MM (także
wz-from-invoice), które zeszłyby ze stanem poniżej zera, dostają422 STOCK_SHORTAGE, jak w aplikacji;allowNegativeStock: truewystawia mimo braku. - WZ do faktury dostaje symbol WZ i ustawienia konta, sprawdza magazyn (
422 WAREHOUSE_INVALID) i zapisuje numer WZ przy fakturze (wydruk i KSeF). - Wartości domyślne z ustawień konta przy tworzeniu dokumentów: uwagi, podpisy, miejsce wystawienia, automatyczne adnotacje (MPP z rachunkiem VAT, marża), podstawa zwolnienia dla stawki zw, forma i status płatności, stawka VAT pozycji, wyświetlanie PKWiU. Nowe pole
useAccountDefaults, podglądpreview.appliedDefaultsipreview.resolved. Przewodnik: Tworzenie dokumentów. - Korekty przejmują nabywcę, odbiorcę, walutę i adnotacje z korygowanej faktury; faktury z korektą, rozliczonej zaliczki i zamówienia z zaliczkami nie da się zmienić ani usunąć (
409 DOCUMENT_CORRECTED,409 ADVANCE_INVOICE_SETTLED,400 ORDER_HAS_ADVANCE_INVOICES). - Faktura zaliczkowa bez pozycji (pozycje to rozkład zaliczki) i bez daty sprzedaży; proforma bez VAT ma zawsze VAT 0.
- KSeF: procedura marży trafia do XML (
P_PMarzyze znacznikiem procedury), nieznany numer procedury jest błędem walidacji. Zwolnienie z VAT włączone bez typu albo podstawy prawnej jest odrzucane. - Produkty: pola magazynowe
productType,sku,ean,purchasePricew odczycie, tworzeniu i aktualizacji (aktualizacja tylko przesłanych);quantityprzy tworzeniu opcjonalne. - Dokumenty magazynowe przez
/documents: usunięcie cofa ruchy, zmiana daty je przesuwa, zmiana pozycji zwraca409 WAREHOUSE_LINES_LOCKED. Korekta stanu zquantity: 0iunitCostto przecena (WYCENA).
2026-09-26: serwer MCP
- Serwer MCP dla asystentów AI.
https://prod.api.fakturnia.pl/mcp(sandbox:https://sandbox.api.fakturnia.pl/mcp): ChatGPT, Claude, Claude Code i własni agenci pracują na koncie użytkownika po logowaniu OAuth 2.1 (odkrywanie RFC 9728/8414, PKCE, rejestracja dynamiczna, dokumenty client_id, rotacja refresh tokenów) albo z kluczemfmcp_…. Narzędzia generowane z tej specyfikacji plus prowadzone wystawianie dokumentu (prepareDocument,issueDocument),confirm=truena operacjach nieodwracalnych, uprawnienia pracownika, bramka planu. Przewodnik: Serwer MCP.
2026-09 (wersja specyfikacji 1.2.0)
- REST API jest modułem planu MAX. Konta API, wszystkie endpointy
/external/v1i webhooki wymagają aktywnego planu MAX. Endpoint tokenu odpowiada403 access_deniedzerror_code: SUBSCRIPTION_REQUIRED, wywołania z tokenem403 SUBSCRIPTION_REQUIRED. Opis w Uwierzytelnianiu. - Stałe kody błędów w całej kopercie.
401zwracaUNAUTHORIZEDalboTOKEN_EXPIRED,403bez scopeNO_PERMISSIONS,429RATE_LIMIT_EXCEEDED; zdanie wyjaśniające trafia doerrors[0]. Błędy walidacji treści mają kodVALIDATION_ERROR, zwykle ze statusem422; tworzenie dokumentów (także magazynowych) zwraca400przy błędach kształtu żądania, więc traktuj oba statusy jako błąd walidacji. Nowa tabela kodów w Błędach. - Unieważnienie konta API i lista adresów IP działają natychmiast, przy każdym wywołaniu, nie dopiero po wygaśnięciu tokenu (
401 UNAUTHORIZED,403 FORBIDDEN). - Webhooki: pełne zarządzanie.
POST /webhooksz wyborem zdarzeń,GET/PATCH/DELETE /webhooks/{id}, rotacja sekretu, historia dostaw (/deliveries) i ping testowy (/test). Nowe scope'ywebhooks:updateiwebhooks:delete. Przewodnik: Webhooki. - Webhooki: nowa treść dostawy. Każda dostawa ma
id(także w nagłówkuX-Webhook-Delivery) i blokdataz identyfikatorem nazwanym po typie zasobu (documentId,clientId, ...). PolaresourceId/resourceIdszostały dla zgodności. SchematWebhookEventPayloadw specyfikacji. - Nowe zdarzenia
document.ksefRejected(KSeF odrzucił dokument albo wysyłka zakończyła się błędem) idocument.paymentStatusChanged(oznaczono albo cofnięto zapłatę).document.sentToKSeFprzychodzi też dla wysyłek z aplikacji i z kolejki, adocument.updatedpo powiązaniu z zamówieniem. - Konta pocztowe (odczyt).
GET /email-accountsiGET /email-accounts/{id}ze scope'amiemail-accounts:browseiemail-accounts:read; bez sekretów. Przewodnik: Konta pocztowe. - Kompletna specyfikacja OpenAPI. Każda operacja ma opis, schemat odpowiedzi z kształtem
data, schemat i przykład treści żądania oraz udokumentowane401/403/429/500. Nowe nagłówkiX-Request-ID,X-RateLimit-*,Retry-After,Idempotent-Replayed. Kolekcja Postman bierze przykłady żądań ze specyfikacji. - Historia przez API.
GET /documents/{id}/history(dziennik dokumentu),GET /activity(aktywność całego konta, nowy scopeactivity:read),GET /employees/{id}/activity(aktywność pracownika) iGET /warehouse/movements(księga ruchów magazynowych). Przewodnik: Historia i aktywność. - Nowe odczyty po id:
GET /warehouse/{id},GET /employees/{id}; raport stanów przyjmujeproductId. - Paginacja list, które jej nie miały:
GET /recurring-rules,GET /recurring-rules/{id}/historyiGET /webhooks/{id}/deliverieszwracającurrentPage,itemsPerPage,totalCount,totalPages(limitnadal działa jako aliasitemsPerPage). - Listy do 100 pozycji na stronę (
itemsPerPage, wcześniej 20) wGET /documents,/clients,/products. - Usuwanie zwraca
data.idtakże dla dokumentów, kontrahentów i produktów;DELETE /documents/{id}/external-referencezwraca wyczyszczone pola powiązania.
2026-07
- Dokumenty cykliczne w API. Nowe endpointy
/recurring-rules: lista reguł z podsumowaniem (statusy, najbliższa generacja, miesięczny przychód brutto), szczegóły reguły, historia generacji oraz pauza i wznowienie. Nowe scope'yrecurring:*(3). Wymaga planu MAX. Przewodnik: Dokumenty cykliczne. - Moduł magazynowy w API. Nowe endpointy
/warehouse: magazyny (CRUD), korekty stanów (inwentaryzacja), raport stanów z parametremasOfi automatyczne WZ do faktur sprzedaży. Wymaga planu MAX. Przewodnik: Magazyn. - Pracownicy i uprawnienia w API. Nowe endpointy
/employees: rejestr uprawnień, tworzenie i edycja kont pracowniczych, dezaktywacja i usuwanie. Przewodnik: Pracownicy i uprawnienia. - Nowe scope'y:
warehouse:*(7) iemployees:*(4), opisane w Uwierzytelnianiu. - Filtr
documentTypena liście dokumentów przyjmuje teraz także typy magazynowe (np.WZ). - Filtry listy dokumentów.
GET /documentsprzyjmujedocumentType(pojedynczy typ lub listę rozdzieloną przecinkami) oraz zakres dat wystawieniadateFrom/dateTo. Szczegóły w Paginacji i filtrowaniu. - Kolekcja Postman i CLI obejmują całe API (produkty, ustawienia, webhooki, połączenie KSeF,
auth/me, wyszukiwanie firmy po NIP, powiązania z zamówieniami). - Nowe przewodniki. Kontrahenci, Produkty, Ustawienia, Połączenie KSeF, Powiązania z zamówieniami i Dane firmy po NIP.
2026-06
- Wersja beta dostępna w środowisku sandbox. API można testować pod adresem
sandbox.app.fakturnia.pl. - Kwoty ujednolicone do dokładności co do grosza, zaokrąglanie w górę przy połowie. Sumy w poszczególnych wierszach oraz sumy dla całego dokumentu są teraz dokładnie zgodne z silnikiem
fakturnia-shared. W każdym wierszu zachodzinetValue + amountOfVat === grossValue. FakturaRozliczeniowawyznacza terazgrossSumna podstawiesettlementAmount(pozostało do zapłaty = wiersze − powiązane zaliczki) zamiast pełnej sumy wierszy; metadane powiązanych zaliczek są wypełniane automatycznie.- Sumy
FakturaZaliczkasą wyznaczane na podstawie proporcjonalnego rozbicia zaliczki (grossSum === advancePaymentAmount). FakturaProforma/FakturaProformaBezVATakceptowane przezPOST /documents.- Korekty zaliczkowe i rozliczeniowe (
FakturaKorygujacaZaliczkowa,FakturaKorygujacaRozliczeniowa) obliczają różnicę kwoty z proporcjonalnym VAT. PUTorazPATCH /documents/{id}; wielebankAccounts[]przy tworzeniu i aktualizacji.
Polityka wersjonowania
- Wersjonowanie w ścieżce.
v1jest stabilne. Wersjav2pojawiłaby się wyłącznie w przypadku zmian łamiących zgodność. - Addytywnie w ramach v1. Nowe opcjonalne pola żądania oraz nowe pola odpowiedzi mogą pojawiać się bez zmiany wersji.
- Wycofania są ogłaszane na tej stronie wraz z oknem migracyjnym przed usunięciem.
Śledź zmiany, obserwując tę stronę lub specyfikację OpenAPI (jej info.version odzwierciedla wydania).