Skip to content
Nawigacja

Utwórz fakturę OSS

Zakres: api:invoices:write. Tutaj sale_type jest wymagane.

POST
https://api.sandbox-infakt.pl/v3/oss_invoices.json

Autoryzacja

  • ApiKey
    opcjonalne
    API key in header
  • Token
    opcjonalne
    API key in header

Treść żądania JSON required

  • oss_invoice
    object
    wymagane
    • country
      string
      wymagane

      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}$
    • service_date
      string
      wymagane
      format: date
    • issue_date
      string
      wymagane
      format: date
    • sale_type
      merchandise
      or
      service
      wymagane
    • number
      opcjonalne
      string
    • check_duplicate_number
      opcjonalne
      boolean
    • client_email
      opcjonalne
      string
    • client_name
      opcjonalne
      string

      Wymagane, chyba że podano client_first_name i client_last_name.

    • client_first_name
      opcjonalne
      string
    • client_last_name
      opcjonalne
      string
    • client_street
      opcjonalne
      string
    • client_street_number
      opcjonalne
      string
    • client_flat_number
      opcjonalne
      string
    • client_post_code
      opcjonalne
      string
    • client_city
      opcjonalne
      string
    • payment_date
      opcjonalne
      string

      Nie później niż service_date. Domyślnie dzisiaj.

      format: date
    • service_type
      opcjonalne
      string

      Wymagane dla sale_type: service, np. electronic.

    • service_place_primary
      opcjonalne
      string
    • service_place_secondary
      opcjonalne
      string
    • currency
      opcjonalne
      string
    • seller_signature
      opcjonalne
      string
    • recipient_signature
      opcjonalne
      string
    • notes
      opcjonalne
      string
    • advance_price
      opcjonalne
      integer

      Kwota w groszach (1/100 PLN). 12300 oznacza 123,00 PLN.

      format: int64
    • services
      opcjonalne
      array of
      object
      • name
        string
        wymagane
      • unit
        opcjonalne
        string
      • quantity
        opcjonalne
        number
        format: double
      • 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
      • tax_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
      • additional_price
        opcjonalne
        integer

        Kwota w groszach (1/100 PLN). 12300 oznacza 123,00 PLN.

        format: int64
      • tax_rate
        opcjonalne
        number

        Stawka VAT kraju konsumenta, w procentach. Zobacz GET /moss_vat_rates.json.

        format: double
      • flat_rate_tax_symbol
        opcjonalne
        string

        Symbol stawki ryczałtu; wymagany u ryczałtowców, u pozostałych odrzucany.

Example request

{
  "oss_invoice": {
    "country": "BE",
    "client_name": "Jan Peeters",
    "client_email": "klient@example.com",
    "client_street": "Rue de la Loi",
    "client_street_number": "16",
    "client_post_code": "1000",
    "client_city": "Bruxelles",
    "service_date": "2026-10-01",
    "issue_date": "2026-10-01",
    "payment_date": "2026-10-01",
    "sale_type": "service",
    "service_type": "electronic",
    "service_place_primary": "IP: 192.0.2.10",
    "currency": "EUR",
    "services": [
      {
        "name": "Licencja na oprogramowanie",
        "quantity": 1,
        "unit_net_price": 10000,
        "tax_rate": 21
      }
    ]
  }
}

Odpowiedzi

201

Utworzono

JSON
  • id
    integer
    wymagane
    format: int64
  • uuid
    string
    wymagane
    format: uuid
  • number
    string
    wymagane
  • country
    string
    wymagane

    Kraj konsumenta (ISO alpha-2).

    pattern: ^[A-Z]{2}$
  • client_email
    wymagane

    One of the following:

    • string
    • null
  • client_name
    wymagane

    One of the following:

    • string
    • null
  • client_first_name
    wymagane

    One of the following:

    • string
    • null
  • client_last_name
    wymagane

    One of the following:

    • string
    • null
  • client_street
    wymagane

    One of the following:

    • string
    • null
  • client_street_number
    wymagane

    One of the following:

    • string
    • null
  • client_flat_number
    wymagane

    One of the following:

    • string
    • null
  • client_post_code
    wymagane

    One of the following:

    • string
    • null
  • client_city
    wymagane

    One of the following:

    • string
    • null
  • service_date
    string
    wymagane
    format: date
  • issue_date
    string
    wymagane
    format: date
  • payment_date
    wymagane

    One of the following:

    • string
    • null
  • service_type
    wymagane

    Np. electronic.

    One of the following:

    • string
    • null
  • service_place_primary
    wymagane

    Dowód lokalizacji konsumenta, np. adres IP.

    One of the following:

    • string
    • null
  • service_place_secondary
    wymagane

    One of the following:

    • string
    • null
  • currency
    string
    wymagane
  • seller_signature
    string
    wymagane
  • recipient_signature
    string
    wymagane
  • notes
    wymagane

    One of the following:

    • string
    • null
  • net_price
    integer
    wymagane

    Kwota w groszach (1/100 PLN). 12300 oznacza 123,00 PLN.

    format: int64
  • tax_price
    integer
    wymagane

    Kwota w groszach (1/100 PLN). 12300 oznacza 123,00 PLN.

    format: int64
  • gross_price
    integer
    wymagane

    Kwota w groszach (1/100 PLN). 12300 oznacza 123,00 PLN.

    format: int64
  • advance_price
    integer
    wymagane

    Kwota w groszach (1/100 PLN). 12300 oznacza 123,00 PLN.

    format: int64
  • sale_type
    wymagane

    merchandise albo service; null na starszych fakturach.

    One of the following:

    • string
    • null
  • services
    array of
    object
    wymagane
    • id
      integer
      wymagane
      format: int64
    • unit
      wymagane

      One of the following:

      • string
      • null
    • quantity
      number
      wymagane
      format: double
    • name
      string
      wymagane
    • net_price
      integer
      wymagane

      Kwota w groszach (1/100 PLN). 12300 oznacza 123,00 PLN.

      format: int64
    • tax_price
      integer
      wymagane

      Kwota w groszach (1/100 PLN). 12300 oznacza 123,00 PLN.

      format: int64
    • unit_net_price
      integer
      wymagane

      Kwota w groszach (1/100 PLN). 12300 oznacza 123,00 PLN.

      format: int64
    • additional_price
      integer
      wymagane

      Kwota w groszach (1/100 PLN). 12300 oznacza 123,00 PLN.

      format: int64
    • gross_price
      integer
      wymagane

      Kwota w groszach (1/100 PLN). 12300 oznacza 123,00 PLN.

      format: int64
    • tax_rate
      number
      wymagane

      Stawka VAT kraju konsumenta, w procentach.

      format: double
    • flat_rate_tax_symbol
      opcjonalne

      Występuje tylko u ryczałtowców.

      One of the following:

      • string
      • null

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

Walidacja nie powiodła się; szczegóły w errors.
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

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.

  • type
    opcjonalne
    redirect
    or
    email_not_confirmed
  • url
    opcjonalne
    string
  • action_url
    opcjonalne
    string

Type to search…

↑↓ wybór↵ otwórzEsc zamyka