Přejít na hlavní obsah
POST
/
proformas
Vytvoriť zálohovú faktúru
curl --request POST \
  --url https://app.fintoro.sk/api/public/v1/proformas \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "clientId": 101,
  "items": [
    {
      "quantity": 2,
      "priceListItemId": 501,
      "name": "Konzultácia",
      "description": "Mesačný balík konzultácií",
      "unitPrice": 100,
      "unitId": 1,
      "vatRate": 20,
      "discountType": "percentage",
      "discountValue": 10,
      "discountName": "Vernostná zľava"
    }
  ],
  "number": "20260001",
  "orderId": 501,
  "quotationId": 601,
  "client": {
    "name": "Acme s.r.o.",
    "type": "company",
    "subjectId": "12345678",
    "taxId": "2020123456",
    "vatId": "SK2020123456",
    "isVatPayer": true,
    "email": "billing@acme.test",
    "street": "Hlavná 1",
    "city": "Bratislava",
    "zip": "81101",
    "countryId": 703,
    "hasDeliveryAddress": true,
    "deliveryStreet": "Skladová 5",
    "deliveryCity": "Trnava",
    "deliveryZip": "91701",
    "deliveryCountryId": 703
  },
  "businessCaseId": 701,
  "numericalSeriesId": 12,
  "bankAccountId": 201,
  "issueDate": "2026-03-03",
  "dueDateDays": 14,
  "variableSymbol": 20260001,
  "constantSymbol": 308,
  "specificSymbol": 55,
  "discountType": "percentage",
  "discountValue": 10,
  "transferTaxLiability": false,
  "deliveryMethodId": 1,
  "paymentMethodId": 1,
  "currencyId": 1,
  "languageId": 1,
  "qrTypeId": 1,
  "note": "Ďakujeme za objednávku.",
  "textAboveItems": "Dakujeme za spoluprácu."
}
'
{
  "id": 401,
  "uuid": "6b1b8c9e-66e6-4fb5-b2db-6d7c7f0f8f19",
  "type": "proforma",
  "number": "20260001",
  "webDokladUrl": "https://app.fintoro.sk/web-doklad/proforma/4f3f8a95-5c4a-4c8b-9e6c-8a0c1a5df3a1",
  "pdfDownloadUrl": "https://app.fintoro.sk/api/public/v1/proformas/401/pdf",
  "company": {
    "name": "Fintoro s.r.o.",
    "subjectId": "12345678",
    "legalForm": "Spoločnosť s ručením obmedzeným",
    "taxId": "2020123456",
    "vatId": "SK2020123456",
    "vatPayerTypeId": 4,
    "country": "Slovensko",
    "city": "Bratislava",
    "street": "Hlavná 1",
    "zip": "81101",
    "logo": "https://cdn.fintoro.sk/company/logo.svg",
    "signature": "https://cdn.fintoro.sk/company/signature.png",
    "registrationCourt": "Mestský súd Bratislava III",
    "registrationNumber": "12345/B",
    "email": "support@fintoro.sk",
    "phone": "+421900000000",
    "web": "https://fintoro.sk"
  },
  "clientId": 101,
  "client": {
    "name": "Acme s.r.o.",
    "type": "company",
    "subjectId": "12345678",
    "taxId": "2020123456",
    "vatId": "SK2020123456",
    "isVatPayer": true,
    "email": "billing@acme.test",
    "street": "Hlavná 1",
    "city": "Bratislava",
    "zip": "81101",
    "countryId": 703,
    "country": {
      "id": 703,
      "name": "Slovensko",
      "code": "SK",
      "eu": true
    },
    "hasDeliveryAddress": true,
    "deliveryStreet": "Skladová 9",
    "deliveryCity": "Košice",
    "deliveryZip": "04001",
    "deliveryCountryId": 703,
    "deliveryCountry": {
      "id": 703,
      "name": "Slovensko",
      "code": "SK",
      "eu": true
    }
  },
  "bankAccount": {
    "id": 201,
    "bankId": 1,
    "bank": {
      "id": 23,
      "name": "Tatra Banka",
      "swift": "TATRSKBX"
    },
    "name": "Hlavný účet",
    "iban": "SK3111000000001234567890",
    "swift": "TATRSKBX",
    "isPrimary": true,
    "autoPaymentMatching": true
  },
  "payments": [
    {
      "id": 801,
      "documentType": "invoice",
      "documentId": 301,
      "paymentMethod": {
        "id": 1,
        "name": "Platba prevodom"
      },
      "currency": {
        "id": 1,
        "symbol": "EUR",
        "name": "Euro",
        "mark": "€"
      },
      "paymentDate": "2026-03-07",
      "amount": 15.5,
      "currencyRate": 1,
      "receiptInvoice": {
        "id": 301,
        "uuid": "6b1b8c9e-66e6-4fb5-b2db-6d7c7f0f8f19",
        "type": "invoice",
        "number": "20260001",
        "clientId": 101,
        "client": {
          "name": "Acme s.r.o.",
          "type": "company",
          "subjectId": "12345678",
          "taxId": "2020123456",
          "vatId": "SK2020123456",
          "isVatPayer": true,
          "email": "billing@acme.test",
          "street": "Hlavná 1",
          "city": "Bratislava",
          "zip": "81101",
          "countryId": 703,
          "country": {
            "id": 703,
            "name": "Slovensko",
            "code": "SK",
            "eu": true
          },
          "hasDeliveryAddress": true,
          "deliveryStreet": "Skladová 9",
          "deliveryCity": "Košice",
          "deliveryZip": "04001",
          "deliveryCountryId": 703,
          "deliveryCountry": {
            "id": 703,
            "name": "Slovensko",
            "code": "SK",
            "eu": true
          }
        },
        "issueDate": "2026-03-03",
        "dueDate": "2026-03-17",
        "deliveryDate": "2026-03-03",
        "currency": {
          "id": 1,
          "symbol": "EUR",
          "name": "Euro",
          "mark": "€"
        },
        "total": 200,
        "totalWithVat": 240,
        "toBePaid": 240,
        "status": "unpaid",
        "hasVat": true
      }
    }
  ],
  "variableSymbol": 20260001,
  "constantSymbol": 308,
  "specificSymbol": 55,
  "issueDate": "2026-03-03",
  "dueDate": "2026-03-17",
  "businessCaseId": 701,
  "discountType": "percentage",
  "discountValue": 10,
  "transferTaxLiability": false,
  "numericalSeriesId": 12,
  "deliveryMethodId": 1,
  "paymentMethodId": 1,
  "currencyId": 1,
  "languageId": 1,
  "qrTypeId": 1,
  "note": "Ďakujeme za objednávku.",
  "textAboveItems": "Dakujeme za spoluprácu.",
  "itemsTotal": 200,
  "itemsTotalWithVat": 240,
  "alreadyPaid": 0,
  "total": 200,
  "totalWithVat": 240,
  "toBePaid": 240,
  "willBePaid": true,
  "status": "unpaid",
  "hasVat": true,
  "items": [
    {
      "id": 1,
      "name": "Konzultácia",
      "description": "Mesačný balík konzultácií",
      "unitPrice": 100,
      "unitId": 1,
      "quantity": 2,
      "vatRate": 20,
      "discountName": "Vernostná zľava",
      "discountType": "percentage",
      "discountValue": 10,
      "total": 200,
      "totalWithVat": 240
    }
  ]
}

Autorizace

Authorization
string
header
povinné

Bearer token vytvorený pre konkrétnu firmu v Integrácie → API.

Hlavičky

Idempotency-Key
string

Voliteľný identifikátor requestu pre bezpečné retry. Použite unikátnu hodnotu pre každé create volanie, ktoré chcete vedieť bezpečne zopakovať.

Příklad:

"invoice-create-2026-03-03-001"

Tělo

application/json

Payload pre vytvorenie zálohovej faktúry. V bežnom prípade stačí poslať clientId a items; ostatné polia môže backend dopočítať. Musíte poslať buď clientId, alebo objekt client.

clientId
integer | null
povinné

ID existujúceho klienta. Toto je odporúčaný spôsob tvorby zálohovej faktúry. Ak zároveň pošlete objekt client, použije sa ako sparse override snapshotu klienta pre tento konkrétny doklad.

Příklad:

101

items
object[]
povinné

Položky zálohovej faktúry. Toto pole je povinné vždy.

Required array length: 1 - 100 elements

Payload jednej položky zálohovej faktúry. Podporované sú tri režimy: manuálna položka, priceListItemId + quantity, alebo priceListItemId s čiastočnými override poľami. Povinné je vždy quantity. Ak nepošlete priceListItemId, musíte poslať aj name, unitPrice a vatRate. unitId je voliteľné; ak ho pri manuálnej položke nepošlete, backend použije jednotku 1 (ks / Unit::Piece). Ak priceListItemId pošlete, backend si z cenníkovej položky vie dopočítať názov, jednotku, cenu a sadzbu DPH; payload potom slúži len ako sparse override. Per-item uuid nie je súčasťou request kontraktu; ak ho pošlete, backend ho ignoruje. warehouseAllocations pri zálohových faktúrach nie sú podporované.

number
string | null

Manuálne číslo zálohovej faktúry. Ak ho nepošlete, backend ho vygeneruje z číselného radu. Ak pošlete number, nepošlite zároveň numericalSeriesId.

Required string length: 1 - 20
Příklad:

"20260001"

orderId
integer | null

Voliteľné ID objednávky, z ktorej sa zálohová faktúra vytvára.

Příklad:

501

quotationId
integer | null

Voliteľné ID cenovej ponuky, z ktorej sa zálohová faktúra vytvára.

Příklad:

601

client
object

Sparse klientský payload. Ak pošlete clientId, slúži ako override snapshotu pre tento doklad. Ak clientId nepošlete, backend podľa týchto údajov klienta dopáruje alebo vytvorí.

businessCaseId
integer | null

Voliteľné ID obchodného prípadu. Ak ho pošlete, musí patriť klientovi určenému cez finálny clientId.

Příklad:

701

numericalSeriesId
integer | null

ID číselného radu. Ak ho nepošlete a nepošlete ani number, použije sa primárny číselný rad pre zálohové faktúry. Ak pošlete numericalSeriesId, nepošlite zároveň manuálne number.

Příklad:

12

bankAccountId
integer

ID bankového účtu, ktorý sa má použiť na doklade. Ak ho nepošlete, použije sa primárny bankový účet firmy. Ak firma nemá nastavený žiadny primárny bankový účet, endpoint vráti 422 validačnú chybu s chybou pri bankAccountId.

Příklad:

201

issueDate
string<date>

Dátum vystavenia vo formáte Y-m-d. Musí byť po 2009-01-01 a pred dátumom o jeden rok v budúcnosti. Ak ho nepošlete, použije sa dnešný dátum.

Příklad:

"2026-03-03"

dueDateDays
integer

Počet dní splatnosti. Priorita je payload → klientská predvolená hodnota → nastavenia dokladov firmy.

Požadovaný rozsah: 0 <= x <= 1000
Příklad:

14

variableSymbol
integer

Variabilný symbol. Povolené sú hodnoty s dĺžkou 1 až 10 číslic. Ak ho nepošlete, backend ho odvodí z finálneho čísla dokladu.

Požadovaný rozsah: 0 <= x <= 9999999999
Příklad:

20260001

constantSymbol
integer | null

Konštantný symbol. Povolené sú hodnoty s dĺžkou 1 až 4 číslic. Priorita je payload → klientská predvolená hodnota → null.

Požadovaný rozsah: 0 <= x <= 9999
Příklad:

308

specificSymbol
integer | null

Špecifický symbol. Povolené sú hodnoty s dĺžkou 1 až 10 číslic. Priorita je payload → klientská predvolená hodnota → null.

Požadovaný rozsah: 0 <= x <= 9999999999
Příklad:

55

discountType
enum<string> | null

Typ zľavy na úrovni celého dokladu.

Dostupné možnosti:
percentage,
fixed
Příklad:

"percentage"

discountValue
number<float> | null

Hodnota zľavy na úrovni celého dokladu.

Požadovaný rozsah: x >= 0
Příklad:

10

transferTaxLiability
boolean

Príznak prenesenej daňovej povinnosti. Ak ho nepošlete, použije sa false.

Příklad:

false

deliveryMethodId
integer

ID spôsobu dodania z referenčnej tabuľky spôsobov dodania. Priorita je payload → klientská predvolená hodnota → nastavenia dokladov firmy.

Příklad:

1

paymentMethodId
integer

ID spôsobu úhrady z referenčnej tabuľky spôsobov úhrady. Priorita je payload → klientská predvolená hodnota → nastavenia dokladov firmy.

Příklad:

1

currencyId
integer

ID meny z referenčnej tabuľky mien. Priorita je payload → klientská predvolená hodnota → nastavenia dokladov firmy.

Příklad:

1

languageId
integer

ID jazyka z referenčnej tabuľky jazykov. Priorita je payload → klientská predvolená hodnota → nastavenia dokladov firmy.

Příklad:

1

qrTypeId
integer

ID QR typu z referenčnej tabuľky QR typov. Ak ho nepošlete, použije sa nastavenia dokladov firmy.

Příklad:

1

note
string | null

Poznámka na doklade. Priorita je payload → klientská predvolená hodnota → nastavenia dokladov firmy.

Maximum string length: 3000
Příklad:

"Ďakujeme za objednávku."

textAboveItems
string | null

Text nad položkami. Priorita je payload → klientská predvolená hodnota → nastavenia dokladov firmy.

Maximum string length: 3000
Příklad:

"Dakujeme za spoluprácu."

Odpověď

Zálohová faktúra bola vytvorená.

Zálohová faktúra.

id
integer
Příklad:

401

uuid
string
Příklad:

"6b1b8c9e-66e6-4fb5-b2db-6d7c7f0f8f19"

type
string
Příklad:

"proforma"

number
string
Příklad:

"20260001"

webDokladUrl
string<uri>

Absolútna URL na verejný web doklad tejto zálohovej faktúry.

Příklad:

"https://app.fintoro.sk/web-doklad/proforma/4f3f8a95-5c4a-4c8b-9e6c-8a0c1a5df3a1"

pdfDownloadUrl
string<uri>

Absolútna URL na Fintoro API endpoint, ktorý stiahne PDF tejto zálohovej faktúry ako prílohu.

Příklad:

"https://app.fintoro.sk/api/public/v1/proformas/401/pdf"

company
object

Snapshot dodávateľa uložený priamo na tomto doklade.

clientId
integer

Live ID klienta naviazaného na zálohovú faktúru.

Příklad:

101

client
object

Historický snapshot klienta uložený priamo na tomto doklade.

bankAccount
object

Bankový účet naviazaný na zálohovú faktúru ako živá väzba načítaná aj cez soft delete.

payments
object[]

Úhrady naviazané na túto zálohovú faktúru v poradí od najnovšej.

variableSymbol
integer
Příklad:

20260001

constantSymbol
integer | null
Příklad:

308

specificSymbol
integer | null
Příklad:

55

issueDate
string<date>
Příklad:

"2026-03-03"

dueDate
string<date>
Příklad:

"2026-03-17"

businessCaseId
integer | null

Voliteľné ID obchodného prípadu. Ak ho pošlete, musí patriť zvolenému klientovi na doklade.

Příklad:

701

discountType
string | null
Příklad:

"percentage"

discountValue
number<float> | null
Příklad:

10

transferTaxLiability
boolean
Příklad:

false

numericalSeriesId
integer | null
Příklad:

12

deliveryMethodId
integer
Příklad:

1

paymentMethodId
integer
Příklad:

1

currencyId
integer
Příklad:

1

languageId
integer
Příklad:

1

qrTypeId
integer
Příklad:

1

note
string | null
Příklad:

"Ďakujeme za objednávku."

textAboveItems
string | null
Příklad:

"Dakujeme za spoluprácu."

itemsTotal
number<float>
Příklad:

200

itemsTotalWithVat
number<float>
Příklad:

240

alreadyPaid
number<float>
Příklad:

0

total
number<float>
Příklad:

200

totalWithVat
number<float>
Příklad:

240

toBePaid
number<float>
Příklad:

240

willBePaid
boolean
Příklad:

true

status
enum<string>
Dostupné možnosti:
paid,
unpaid,
partially_paid,
overdue,
will_not_be_paid
Příklad:

"unpaid"

hasVat
boolean
Příklad:

true

items
object[]