Dokumentacja

Faktury korygujące

Zarządzanie fakturami korygującymi należącymi do użytkownika

Definicja

Obiekt CorrectiveInvoice zawiera następujące klucze:

ParametrTyp danychWymaganyOpis
numberintegerTylko do odczytuID Faktury Korygującej
corrected_invoice_numberstringNieNumer faktury korygowanej. Domyślnie generowany na podstawie Następny numer faktury
corrected_invoice_datestringNieData faktury korygowanej
confirmationstringNieOtrzymaliśmy podpisaną fakturę true lub false
currencystringNieWaluta: THB, USD, AUD, HKD, CAD, NZD, SGD, EUR, HUF, CHF, GBP, UAH, JPY, CZK, DKK, ISK, NOK, SEK, HRK, RON, BGN, TRY, LTL, LVL, PHP, MXN, ZAR, BRL, MYR, RUB, IDR, KRW, CNY, INR, LTL, domyślnie PLN.
paid_priceintegerNieZapłacono w groszach.
notesstringNieUwagi
payment_methodstringNieMetoda płatności:
  • transfer – Przelew
  • cash – Gotówka
  • card – Karta płatnicza
  • barter – Barter
  • check – Czek
  • bill_of_sale – Weksel
  • delivery – Za pobraniem
  • compensation – Kompensata
  • accredited – Akredytywa
  • paypal – PayPal
  • instalment_sale – Sprzedaż ratalna
  • payu – PayU
  • tpay – Tpay
  • przelewy24 – Przelewy24
  • dotpay – Dotpay
  • other – Inny
recipient_signaturestringNieImię i nazwisko Odbiorcy
seller_signaturestringNieImię i nazwisko Sprzedawcy
invoice_datestringNieData wystawienia w formacie RRRR-MM-DD
sale_datestringNieData sprzedaży w formacie RRRR-MM-DD
confirmation_datestringNieData podpisania w formacie RRRR-MM-DD
statusstringNieStatus:
  • draft – Szkic
  • sent – Wysłana
  • printed – Wydrukowana
  • paid – Opłacona
payment_datestringNieTermin zapłaty w formacie RRRR-MM-DD
net_priceintegerNieRazem netto w groszach
tax_priceintegerNieWartość VAT w groszach
gross_priceintegerNieRazem brutto w groszach
left_to_payintegerNiePozostało do zapłaty w groszach
client_idintegerNieID klienta (jeśli istnieje)
client_company_namestringNieNazwa firmy klienta (jeśli klient nie istnieje)
client_streetstringNieUlica klienta (jeśli klient nie istnieje)
client_street_numberstringNieNumer budynku klienta (jeśli klient nie istnieje)
client_flat_numberstringNieNumer mieszkania klienta (jeśli klient nie istnieje)
client_citystringNieMiasto klienta (jeśli klient nie istnieje)
client_post_codestringNieKod pocztowy klienta (jeśli klient nie istnieje)
client_tax_codestringNieNIP klienta (jeśli klient nie istnieje)
client_countrystringNieKraj klienta (jeśli klient nie istnieje)
check_duplicate_numberbooleanNieCzy sprawdzać duplikacje numeru faktury true lub false
bank_namestringNieNazwa banku, dotyczy faktur z przelewem
bank_accountstringNieNr konta bankowego, dotyczy faktur z przelewem.
swiftstringNieNr Swift, dotyczy faktur z przelewem
sale_typestringDla klientów zagranicznych.Rodzaj sprzedaży:
  • service – Usługa
  • merchandise – Towar
invoice_date_kindstringNieRodzaj daty na fakturze:
  • sale_date – Data sprzedaży
  • service_date – Data wykonania usługi
  • cargo_date – Data zakończenia dostawy towarów
receipt_numberstringNieNumer paragonu
not_incomeboolenTak, w przypadku faktury do paragonu, jej korekty lub zaliczkiNie uwzględniaj do podatku dochodowego
vat_exchange_date_kindstringTak, w przypadku faktury w obcej walucieRodzaj daty kursu waluty na cele vat. Przyjmuje jedną z dwóch wartości:
vat – zgodny z momentem obowiązku podatkowego VAT
pit – zgodny z kursem dla celów PIT
correction_reasonstringNiePowód korekty. Przyjmuje jedną z dwóch wartości:
mistake – błąd rachunkowy lub inna oczywista omyłka
other – inne: np. zwrot, rabat
servicesarray of ServicesTakLista pozycji na fakturze (i link do services)

Services

Obiekt service zawiera następujące klucze:

ParametrTyp danychWymaganyOpis
groupstringTakId grupy produktów, musi być taki sam dla produktu przed i po korekcie
tax_symbolstringTakStawka VAT (lista obsługiwanych stawek)
correctionstringNieZaznaczamy, czy produkt z danej grupy jest korektą, czy wpisem korygowanym true lub false
namestringNieNazwa
unitstringNieJednostka
quantityintegerNieIlość
unit_net_priceintegerNieCena netto za sztukę w groszach
net_priceintegerNieWartość netto w groszach
gross_priceintegerTylko do odczytuWartość brutto w groszach
tax_priceintegerNieWartość podatku VAT w groszach
discountintegerNieWartość rabatu w procentach
unit_net_price_before_discountintegerNieCena zakupu netto w groszach przed rabatem
gtu_idstringNieId kodu GTU (Oznaczenia dostaw towarów i świadczenia usług)
symbolstringNiesymbol PKWiU / CN / PKOB

Listowanie faktur

GET /v3/corrective_invoices.json

Akcja listowania zwraca odpowiedź zawierającą tablicę obiektów pod kluczem entities oraz informacje pomocnicze dotyczące stronicowania. Domyślne sortowanie dla zwracanej tablicy odbywa się malejąco przy użyciu pola invoice_date.

Dodatkowo, na zbiorze danych można wykonywać nastepujące operacje:

Przykład akcji listowania:

Przykład curl

curl -H "X-inFakt-ApiKey: 49206c6f766520496e66616b74203a3e" \
  https://api.infakt.pl/v3/corrective_invoices.json

Przykładowa odpowiedź

{
"metainfo": {
    "count": 1,
    "total_count": 4,
    "next": "https://api.infakt.pl/api/v3/corrective_invoices.json?offset=10",
    "previous": "https://api.infakt.pl/api/v3/corrective_invoices.json?offset=0"
},
"entities": [
  {
    "id": 42,
    "number": "1/04/2022",
    "corrected_invoice_number": "1/KOR/2022",
    "corrected_invoice_date": "2022-04-12",
    "confirmation": false,
    "confirmation_date": "",
    "currency": "PLN",
    "paid_price": 1230,
    "notes": "",
    "kind": "vat",
    "payment_method": "cash",
    "recipient_signature": "",
    "seller_signature": "Michal Wisniewski",
    "invoice_date": "2022-04-12",
    "sale_date": "2022-04-12",
    "status": "draft",
    "payment_date": "2022-04-26",
    "net_price": 1000,
    "tax_price": 230,
    "gross_price": 1230,
    "client_id": 8,
    "client_company_name": "HSK Group",
    "client_street": "Pawia",
    "client_street_number": "3",
    "client_flat_number": "22",
    "client_city": "Warszaw",
    "client_post_code": "00-920",
    "client_tax_code": "4218067785",
    "client_country": "PL",
    "bank_name": "",
    "bank_account": "",
    "swift": "",
    "vat_exemption_reason": null,
    "sale_type": "",
    "invoice_date_kind": "sale_date",
    "document_markings_ids": [],
    "transaction_kind_id": null,
    "bdo_code": null,
    "receipt_number": null,
    "not_income": false,
    "vat_exchange_date_kind": null,
    "correction_reason": "Inne: np. zwrot, rabat", 
    "services": [
      {
        "id": 1609,
        "group": "123",
        "correction": true,
        "name": "Produkt",
        "tax_symbol": "23",
        "unit": "szt.",
        "quantity": "1.0",
        "unit_net_price": 12300,
        "net_price": 12300,
        "gross_price": 15129,
        "tax_price": 2829,
        "symbol": ""
      },
      {
        "id": 1608,
        "group": "123",
        "correction": false,
        "name": "Produkt",
        "tax_symbol": "23",
        "unit": "szt.",
        "quantity": "1.0",
        "unit_net_price": 1000,
        "net_price": 1000,
        "gross_price": 1230,
        "tax_price": 230,
        "symbol": ""
      }
    ]
  }
]
}

Możliwe kody odpowiedzi:

Kod odpowiedziOpis
200Zapytanie zostało wykonane poprawnie
401Brak autoryzacji lub uprawnień do danego zasobu

Podgląd

GET /v3/corrective_invoices/{id}.json

Dodatkowo, na zbiorze danych można wykonywać nastepujące operacje:

Przykład curl

curl -H "X-inFakt-ApiKey: 49206c6f766520496e66616b74203a3e" \
https://api.infakt.pl/v3/corrective_invoices/16.json
          

Przykładowa odpowiedź

{
"id": 16,
"number": "1/04/2022",
"corrected_invoice_number": "1/KOR/2022",
"corrected_invoice_date": "2022-04-12",
"confirmation": false,
"confirmation_date": "",
"currency": "PLN",
"paid_price": 1230,
"notes": "",
"kind": "vat",
"payment_method": "cash",
"recipient_signature": "",
"seller_signature": "Jan Kowalski",
"invoice_date": "2022-04-12",
"sale_date": "2022-04-12",
"status": "draft",
"payment_date": "2022-04-26",
"net_price": 1000,
"tax_price": 230,
"gross_price": 1230,
"client_id": 8,
"client_company_name": "inFakt Sp. z o.o.",
"client_street": "Pawia",
"client_street_number": "3",
"client_flat_number": "22",
"client_city": "Kraków",
"client_post_code": "30-549",
"client_tax_code": "9452121681",
"client_country": "PL",
"client_tax_code": "4218067785",
"bank_name": "",
"bank_account": "",
"vat_exemption_reason": null,
"sale_type": "",
"invoice_date_kind": "sale_date",
"document_markings_ids": [],
"transaction_kind_id":  null,
"bdo_code": null,
"receipt_number": null,
"not_income": false,
"vat_exchange_date_kind": null,
"correction_reason": "Inne: np. zwrot, rabat",
"services": [
  {
    "id": 1609,
    "group": "123",
    "correction": true,
    "name": "Produkt",
    "tax_symbol": "23",
    "unit": "szt.",
    "quantity": "1.0",
    "unit_net_price": 2000,
    "net_price": 2000,
    "gross_price": 2460,
    "tax_price": 460,
    "discount": ,
    "unit_net_price_before_discount": 1137,
    "gtu_id": null,
    "symbol": ""
  },
  {
    "id": 1608,
    "group": "123",
    "correction": false,
    "name": "Produkt",
    "tax_symbol": "23",
    "unit": "szt.",
    "quantity": "1.0",
    "unit_net_price": 1000,
    "net_price": 1000,
    "gross_price": 1230,
    "tax_price": 230,
    "discount": "0.0",
    "unit_net_price_before_discount": 1137,
    "gtu_id": null,
    "symbol": ""
  }
]
}

Możliwe kody odpowiedzi:

Kod odpowiedziOpis
200Zapytanie zostało wykonane poprawnie
401Brak autoryzacji lub uprawnień do danego zasobu
404Zasób nie został odnaleziony

Tworzenie

Faktura zawsze utworzy się w statusie draft. Po utworzeniu można oznaczyć ją jako zapłaconą, wydrukowaną lub wysłaną.

POST /v3/invoices.json

POST /v3/corrective_invoices.json

Tworzenie

curl -H "X-inFakt-ApiKey: 49206c6f766520496e66616b74203a3e" \
  -H "Content-Type: application/json" \
  -X POST \
  -d '{
    "corrective_invoice": {
        "payment_method": "cash",
        "client_id": ClientID,
        "corrected_invoice_number": "123",
        "invoice_date": "2021-09-20",
        "sale_date": "2021-09-20",
        "payment_date": "2021-10-20",
        "services": [
            {
                "name": "Przykładowa Usługa",
                "unit_net_price": 6623,
                "group": "1",
                "quantity":"1.0",
                "correction": false,
                "tax_symbol": "23"
            },
            {
                "name": "Przykładowa Usługa - korekta",
                "unit_net_price": 6600,
                "group": "1",
                "quantity":"1.0",
                "correction": true,
                "tax_symbol": "23"
            },
            {
                "name": "Przykładowy produkt",
                "unit_net_price": 6623,
                "group": "2",
                "quantity":"1.0",
                "correction": false,
                "tax_symbol": "23"
            },
            {
                "name": "Przykładowy produkt - korekta",
                "unit_net_price": 6623,
                "group": "2",
                "quantity":"0",
                "correction": true,
                "tax_symbol": "23"
            }
        ]
    }
  }'  \
  https://api.infakt.pl/v3/corrective_invoices.json

Dla FV korygującej w pozycji wpisujemy cenę za pomocą unit_net_price. System wyliczy odpowiednio pozostałe wartości dla pozycji oraz całej FV.

Możliwe kody odpowiedzi:

Kod odpowiedziOpis
201Zasób został poprawnie utworzony
422Zwracany wraz z informacją o błędach w przypadku problemów z zasobem.

Aktualizacja faktury korygującej

PUT /v3/corrective_invoices/{id}.json

Aktualizacja

curl -H "X-inFakt-ApiKey: 49206c6f766520496e66616b74203a3e" \
  -H "Content-Type: application/json" \
  -X PUT \
  -d '{"corrective_invoice":{"payment_method":"cash"}}' \
  https://api.infakt.pl/v3/corrective_invoices/42.json

Możliwe kody odpowiedzi:

Kod odpowiedziOpis
200Zapytanie zostało wykonane poprawnie
422Zwracany wraz z informacją o błędach w przypadku problemów z zasobem.

Usuwanie faktury korygującej

DELETE /v3/corrective_invoices/{id}.json

Usuwanie

curl -H "X-inFakt-ApiKey: 49206c6f766520496e66616b74203a3e" \
    -X DELETE \
    https://api.infakt.pl/v3/corrective_invoices/42.json

Możliwe kody odpowiedzi:

Kod odpowiedziOpis
204Zwracany po poprawnym usunięciu zasobu.
401Brak autoryzacji lub uprawnień do danego zasobu

POST /v3/corrective_invoices/{id}/paid.json

ParametrTyp danychWymaganyOpis
paid_datestringNieData opłacenia w formacie RRRR-MM-DD

Oznaczenie fakury jako zapłacona

curl -H "X-inFakt-ApiKey: 49206c6f766520496e66616b74203a3e" \
  -H "Content-Type: application/json" \
  -X POST \
  -d '{"paid_date":"2022-04-05"}' \
  https://api.infakt.pl/v3/corrective_invoices/42/paid.json

Możliwe kody odpowiedzi:

Kod odpowiedziOpis
204Zwracany po poprawnym opłaceniu faktury.
422Zwracany wraz z informacją o błędach w przypadku problemów z zasobem.

Pobranie faktury w formacie pdf

GET /v3/corrective_invoices/{id}/pdf.json

ParametrTyp danychWymaganyOpis
document_typestringTakRodzaj dokumentu:
  • original_copy - Orginał i Kopia
  • original - Orginał
  • copy - Kopia
  • original_duplicate - Duplikat orginału
  • copy_duplicate - Duplikat kopii
  • duplicate - Duplikat
  • regular - Bez adnotacji
  • double_regular - 2 Bez adnotacji
localestringNieJęzyk dokumentu: pl - Polski, en - Angielski, pe - polsko - angielski

Pobranie faktury w formacie pdf

curl -H "X-inFakt-ApiKey: 49206c6f766520496e66616b74203a3e" \
  https://api.infakt.pl/v3/corrective_invoices/42/pdf.json?document_type=original&locale=pl

W odpowiedzi zostaje zwrócona faktura w formie pliku PDF. Pobranie faktury jako PDF powoduje zmianę statusu faktury na "Wydrukowano".

Oznaczenie faktury jako podpisana

POST /v3/corrective_invoices/{id}/sign.json

ParametrTyp danychWymaganyOpis
confirmation_datestringNieData podpisania w formacie RRRR-MM-DD

Oznaczenie faktury jako podpisania

curl -H "X-inFakt-ApiKey: 49206c6f766520496e66616b74203a3e" \
  -H "Content-Type: application/json" \
  -X POST \
  -d '{"confirmation_date":"2022-03-05"}' \
  https://api.infakt.pl/v3/corrective_invoices/42/sign.json

Możliwe kody odpowiedzi:

Kod odpowiedziOpis
204Zwracany po poprawnym podpisaniu faktury.
422Zwracany wraz z informacją o błędach w przypadku problemów z zasobem.

comments powered by Disqus