Potwierdź akcję, która skoryguje złożone deklaracje (zamknięty okres księgowy). Bez tego takie żądania zwracają
422 z errors.allow_correction albo errors.locked_accounting, gdy plan nie pozwala na korekty (wtedy ta flaga
jest ignorowana). Można też podać w treści żądania.
Treść żądania JSON required
corrective_invoice
object
wymagane
Koryguj albo datę sprzedaży, albo pozycje, nie oba naraz. third_party_addresses są ignorowane przy tworzeniu.
corrected_invoice_number
string
wymagane
correction_reason
mistake
or
other
wymagane
mistake: pomyłka w obliczeniach lub inna oczywista pomyłka; other: np. zwrot lub rabat.
number
opcjonalne
string
check_duplicate_number
opcjonalne
boolean
Odrzuć żądanie, gdy istnieje faktura o tym samym numerze.
currency
opcjonalne
string
paid_price
opcjonalne
integer
Kwota w groszach (1/100 PLN). 12300 oznacza 123,00 PLN.
format: int64
left_to_pay
opcjonalne
integer
Kwota w groszach (1/100 PLN). 12300 oznacza 123,00 PLN.
format: int64
notes
opcjonalne
string
maxLength: 5000
payment_method
opcjonalne
transfer
or
cash
or
card
or
barter
or
check
or
delivery
+11 more
Metoda płatności.
split_payment
opcjonalne
boolean
split_payment_type
opcjonalne
required
or
optional
recipient_signature
opcjonalne
string
maxLength: 255
seller_signature
opcjonalne
string
maxLength: 255
invoice_date
opcjonalne
string
format: date
sale_date
opcjonalne
string
format: date
vat_date_value
opcjonalne
sale_date
or
issue_date
or
paid_date
sale_date, issue_date albo paid_date (metoda kasowa).
continuous_service_start_on
opcjonalne
string
format: date
continuous_service_end_on
opcjonalne
string
format: date
occasional_sale
opcjonalne
boolean
payment_date
opcjonalne
string
format: date
paid_date
opcjonalne
string
format: date
client_id
opcjonalne
integer
ID istniejącego klienta; niewysłane pola klienta są z niego kopiowane. Bez client_id klient jest dopasowywany
po client_tax_code, client_company_name albo client_first_name i client_last_name (zawężonych przez
client_business_activity_kind), a gdy nie ma dopasowania, jest tworzony z pól client_*.
format: int64
client_company_name
opcjonalne
string
client_first_name
opcjonalne
string
client_last_name
opcjonalne
string
client_business_activity_kind
opcjonalne
private_person
or
self_employed
or
other_business
Forma prawna klienta.
client_street
opcjonalne
string
client_street_number
opcjonalne
string
client_flat_number
opcjonalne
string
client_city
opcjonalne
string
client_post_code
opcjonalne
string
client_tax_code
opcjonalne
string
client_country
opcjonalne
string
Dwuliterowy kod kraju jak alpha_2 w GET /countries.json: ISO 3166-1 alpha-2, z wyjątkiem EL dla Grecji
(GR nie jest rozpoznawany) i XI dla Irlandii Północnej.
pattern: ^[A-Z]{2}$
bank_account
opcjonalne
string
Musi być jednym z kont bankowych użytkownika (GET /bank_accounts.json); pominięty swift jest brany z tego konta.
bank_name
opcjonalne
string
swift
opcjonalne
string
vat_exemption_reason
opcjonalne
integer
Wymagane, gdy pozycja ma stawkę VAT zw.
format: int64
sale_type
opcjonalne
service
or
merchandise
Wymagane dla klientów zagranicznych i sprzedaży z odwrotnym obciążeniem; ignorowane przy sprzedaży krajowej.
invoice_date_kind
opcjonalne
sale_date
or
service_date
or
cargo_date
or
continuous_service_end_on
Rodzaj daty drukowanej obok daty sprzedaży.
document_markings_ids
opcjonalne
array of
string
Najwyżej jedno ID oznaczenia dokumentu. Zobacz GET /incomes_documents_markings.json.
transaction_kind_id
opcjonalne
integer
format: int64
bdo_code
opcjonalne
string
Dziewięć cyfr.
pattern: ^\d{9}$
receipt_number
opcjonalne
string
not_income
opcjonalne
boolean
vat_exchange_date_kind
opcjonalne
pit
or
vat
sales_kind
opcjonalne
sprzedaz_podstawowa
or
sprzedaz_pozostala
ksef_number
opcjonalne
string
transaction_terms
opcjonalne
object
contracts
opcjonalne
array of
object
number
string
wymagane
date
string
wymagane
format: date
}
orders
opcjonalne
array of
object
number
string
wymagane
date
string
wymagane
format: date
}
}
local_government_recipient_address
opcjonalne
object
Przy aktualizacji pominięcie tego pola usuwa istniejący adres.
company_name
string
wymagane
street
string
wymagane
maxLength: 65
building_number
string
wymagane
maxLength: 9
city
string
wymagane
tax_id
opcjonalne
string
NIP.
door_number
opcjonalne
string
maxLength: 10
post_code
opcjonalne
string
country_id
opcjonalne
integer
Liczbowe ID kraju (GET /countries.json); domyślnie Polska.
format: int64
}
local_government_seller_address
opcjonalne
object
Domyślnie adres z ustawień konta, gdy jego wyświetlanie na fakturach jest włączone.
company_name
string
wymagane
street
string
wymagane
maxLength: 65
building_number
string
wymagane
maxLength: 9
city
string
wymagane
tax_id
opcjonalne
string
NIP.
door_number
opcjonalne
string
maxLength: 10
post_code
opcjonalne
string
country_id
opcjonalne
integer
Liczbowe ID kraju (GET /countries.json); domyślnie Polska.
format: int64
}
third_party_addresses
opcjonalne
array of
object
Podmioty trzecie w KSeF. Ignorowane przez POST /invoices.json; uwzględniane przy aktualizacji i przy tworzeniu
asynchronicznym. Przy aktualizacji wpisy bez id są dodawane, a niewysłane istniejące adresy zostają.
id
opcjonalne
integer
Tylko przy aktualizacji: ID istniejącego adresu do zmiany lub usunięcia.
format: int64
_destroy
opcjonalne
boolean
Tylko przy aktualizacji: usuń adres wskazany w id.
company_name
opcjonalne
string
Wymagane, chyba że _destroy ma wartość true.
tax_id
opcjonalne
string
street
opcjonalne
string
building_number
opcjonalne
string
door_number
opcjonalne
string
post_code
opcjonalne
string
city
opcjonalne
string
country_code
opcjonalne
string
Kod kraju alpha-2; ma pierwszeństwo przed country_id.
pattern: ^[A-Z]{2}$
country_id
opcjonalne
integer
Liczbowe ID kraju (GET /countries.json).
format: int64
role_code
opcjonalne
1
or
2
or
3
or
4
or
5
or
6
+5 more
Rola podmiotu trzeciego w KSeF (Podmiot3), wymagana, chyba że _destroy ma wartość true:
Kod
Rola
1
Faktor
2
Odbiorca
3
Podmiot pierwotny
4
Dodatkowy nabywca
5
Wystawca faktury
6
Dokonujący płatności
7
JST – wystawca
8
JST – odbiorca
9
Członek grupy VAT – wystawca
10
Członek grupy VAT – odbiorca
11
Pracownik
internal_identifier
opcjonalne
string
Identyfikator wewnętrzny, np. 1234567890-00001.
pattern: ^[1-9]((\d[1-9])|([1-9]\d))\d{7}-\d{5}$
}
allow_correction
opcjonalne
boolean
Potwierdź zmianę, która skoryguje złożone deklaracje; działa jak parametr zapytania allow_correction.
corrected_invoice_uuid
opcjonalne
string
Tylko przy tworzeniu: uuid korygowanej faktury w inFakcie; wiąże z nią korektę (parent_id).
format: uuid
corrected_invoice_date
opcjonalne
string
format: date
confirmation
opcjonalne
boolean
Nabywca potwierdził odbiór korekty.
confirmation_date
opcjonalne
string
format: date
sale_date_before_correction
opcjonalne
string
Musi się zgadzać z datą sprzedaży korygowanej faktury.
format: date
check_correction_obligation
opcjonalne
boolean
Domyślnie true: odrzuć (errors.backward_correction) korektę, która wymagałaby samodzielnej korekty złożonej
deklaracji VAT. Wyślij false, aby to zaakceptować.
continuous_service_start_on_before_correction
opcjonalne
string
format: date
continuous_service_end_on_before_correction
opcjonalne
string
format: date
services
opcjonalne
array of
object
name
string
wymagane
tax_symbol
string
wymagane
Symbol stawki VAT. Zobacz GET /vat_rates.json.
group
integer
wymagane
Liczbowe ID grupy wspólne dla pozycji przed korektą i po korekcie.
format: int32
correction
boolean
wymagane
false dla pozycji przed korektą (jak na korygowanej fakturze), true dla pozycji po korekcie.
unit
opcjonalne
string
quantity
opcjonalne
number
format: double · default: 1
unit_net_price
opcjonalne
integer
Kwota w groszach (1/100 PLN). 12300 oznacza 123,00 PLN.
format: int64
net_price
opcjonalne
integer
Kwota w groszach (1/100 PLN). 12300 oznacza 123,00 PLN.
format: int64
gross_price
opcjonalne
integer
Kwota w groszach (1/100 PLN). 12300 oznacza 123,00 PLN.
format: int64
tax_price
opcjonalne
integer
Kwota w groszach (1/100 PLN). 12300 oznacza 123,00 PLN.
format: int64
symbol
opcjonalne
string
pkwiu
opcjonalne
string
cn
opcjonalne
string
pkob
opcjonalne
string
gtin
opcjonalne
string
flat_rate_tax_symbol
opcjonalne
string
Stawka ryczałtu; domyślnie z ustawień konta. Używana tylko u podatników na ryczałcie.
discount
opcjonalne
number
Rabat w procentach.
format: double · default: 0
unit_net_price_before_discount
opcjonalne
integer
Kwota w groszach (1/100 PLN). 12300 oznacza 123,00 PLN.
format: int64
gtu_id
opcjonalne
integer
format: int64
user_calculated
opcjonalne
boolean
Zachowaj wysłane kwoty bez przeliczania niespójnych wartości.
}
}
Odpowiedzi
201
Utworzono
JSON
invoice_task_reference_number
string
wymagane
Uuid zadania; użyj go w endpoincie statusu.
format: uuid
processing_code
integer
wymagane
100 zainicjowane, 120 oczekuje, 140 w trakcie, 201 faktura utworzona,
200 akcja wykonana, 422 błąd (zobacz invoice_errors).
format: int32
action
create_invoice
or
mark_as_paid
wymagane
create_invoice albo mark_as_paid.
timestamps
object
wymagane
task_created_at
string
wymagane
}
processing_description
opcjonalne
string
invoice_kind
opcjonalne
string
invoice_errors
opcjonalne
Błędy, gdy processing_code to 422: błędy pól według nazwy pola w API (lista albo pojedynczy komunikat,
np. {"status": "Faktura już została oznaczona jako zapłacona."}) albo zwykły komunikat przy nieoczekiwanych błędach.
One of the following:
object
string
}
invoice_uuid
opcjonalne
string
Ustawiane, gdy faktura już istnieje.
format: uuid
401
Brak klucza API, nieprawidłowy klucz albo klucz bez wymaganego zakresu uprawnień.
JSON
error
opcjonalne
Komunikat po polsku (po angielsku dla 429). Niektóre akcje zamiast jednego tekstu zwracają listę
komunikatów albo błędy walidacji według pól.
One of the following:
string
array<string>
object
}
errors
opcjonalne
Błędy walidacji według nazw pól API; na niektórych endpointach zwykły komunikat.
One of the following:
object
string
}
limit
opcjonalne
string
Kod limitu planu, np. limit_exceeded, plan_upgrade_needed, cant_add_client.
type
opcjonalne
redirect
or
email_not_confirmed
url
opcjonalne
string
action_url
opcjonalne
string
402
API niedostępne w obecnym planie (limit: plan_upgrade_needed) albo osiągnięty limit dokumentów.
JSON
error
opcjonalne
Komunikat po polsku (po angielsku dla 429). Niektóre akcje zamiast jednego tekstu zwracają listę
komunikatów albo błędy walidacji według pól.
One of the following:
string
array<string>
object
}
errors
opcjonalne
Błędy walidacji według nazw pól API; na niektórych endpointach zwykły komunikat.
One of the following:
object
string
}
limit
opcjonalne
string
Kod limitu planu, np. limit_exceeded, plan_upgrade_needed, cant_add_client.
type
opcjonalne
redirect
or
email_not_confirmed
url
opcjonalne
string
action_url
opcjonalne
string
406
Ścieżka nie kończy się na .json.
JSON
error
opcjonalne
Komunikat po polsku (po angielsku dla 429). Niektóre akcje zamiast jednego tekstu zwracają listę
komunikatów albo błędy walidacji według pól.
One of the following:
string
array<string>
object
}
errors
opcjonalne
Błędy walidacji według nazw pól API; na niektórych endpointach zwykły komunikat.
One of the following:
object
string
}
limit
opcjonalne
string
Kod limitu planu, np. limit_exceeded, plan_upgrade_needed, cant_add_client.
type
opcjonalne
redirect
or
email_not_confirmed
url
opcjonalne
string
action_url
opcjonalne
string
422
Nie utworzono zadania; szczegóły w errors.
JSON
errors
object
wymagane
423
Niepotwierdzony adres e-mail albo wymagana weryfikacja tożsamości.
JSON
error
opcjonalne
Komunikat po polsku (po angielsku dla 429). Niektóre akcje zamiast jednego tekstu zwracają listę
komunikatów albo błędy walidacji według pól.
One of the following:
string
array<string>
object
}
errors
opcjonalne
Błędy walidacji według nazw pól API; na niektórych endpointach zwykły komunikat.
One of the following:
object
string
}
limit
opcjonalne
string
Kod limitu planu, np. limit_exceeded, plan_upgrade_needed, cant_add_client.
type
opcjonalne
redirect
or
email_not_confirmed
url
opcjonalne
string
action_url
opcjonalne
string
429
Przekroczony limit zapytań. Komunikat jest po angielsku, np. API rate limit exceeded. Try again in 60 seconds.
JSON
error
opcjonalne
Komunikat po polsku (po angielsku dla 429). Niektóre akcje zamiast jednego tekstu zwracają listę
komunikatów albo błędy walidacji według pól.
One of the following:
string
array<string>
object
}
errors
opcjonalne
Błędy walidacji według nazw pól API; na niektórych endpointach zwykły komunikat.
One of the following:
object
string
}
limit
opcjonalne
string
Kod limitu planu, np. limit_exceeded, plan_upgrade_needed, cant_add_client.