vystavfakturu.sk
REST API v1

API dokumentácia

Cez API vystavíte faktúru z vlastného e-shopu, rezervačného systému alebo tabuľky, pridáte odberateľov a položky a stiahnete PDF. Pracujete s rovnakými údajmi ako v klientskej zóne.

  • Adresa API: https://vystavfakturu.sk/api/v1
  • Požiadavky aj odpovede sú v JSON, kódovanie UTF-8.
  • API je súčasťou balíkov Štandard a eFaktúra. Balíky a ceny
Adresa API
https://vystavfakturu.sk/api/v1

Autentifikácia

Každá požiadavka sa overuje API kľúčom. Kľúč si vytvoríte v klientskej zóne v Nastavenia → API kľúče a pošlete ho v hlavičke Authorization:

Authorization: Bearer vf_…

  • Kľúč patrí jednej firme. Všetko, čo cez neho urobíte, sa deje v tejto firme.
  • Celý kľúč uvidíte len raz, pri vytvorení. Uložte si ho medzi tajné údaje vašej aplikácie, nie do kódu v prehliadači ani do verejného repozitára.
  • Kľúč, ktorý už nepotrebujete alebo mohol uniknúť, v nastaveniach zmažte. Prestane fungovať okamžite.
  • Bez platného kľúča dostanete 401, a ak balík firmy API neobsahuje, 402.
curl https://vystavfakturu.sk/api/v1/business \
  -H "Authorization: Bearer $VF_API_KEY" \
  -H "Accept: application/json"
Odpoveď 401
{
  "message": "Chýba platný API kľúč (Authorization: Bearer ...)."
}

Rýchly štart

Prvá faktúra cez API v 4 krokoch. Kľúč si uložte do premennej prostredia VF_API_KEY.

  1. 1

    Pridajte odberateľa

    Uložte si odberateľa a zapamätajte si jeho id.

    POST /clients
    curl -X POST https://vystavfakturu.sk/api/v1/clients \
      -H "Authorization: Bearer $VF_API_KEY" \
      -H "Accept: application/json" \
      -H "Content-Type: application/json" \
      -d '{
      "name": "Kaviareň pod Hradom s.r.o.",
      "address_line": "Zámocká 3",
      "postal_code": "811 01",
      "city": "Bratislava",
      "ico": "87654321",
      "dic": "2023456789",
      "email": "ucty@podhradom.sk"
    }'
  2. 2

    Vytvorte a vystavte faktúru

    S client_id a položkami. issue: true faktúru rovno vystaví a pridelí jej číslo.

    POST /invoices
    curl -X POST https://vystavfakturu.sk/api/v1/invoices \
      -H "Authorization: Bearer $VF_API_KEY" \
      -H "Accept: application/json" \
      -H "Content-Type: application/json" \
      -d '{
      "client_id": 12,
      "issue": true,
      "payload": {
        "documentType": "invoice",
        "issueDate": "2026-10-11",
        "deliveryDate": "2026-10-11",
        "paymentDate": "2026-10-25",
        "items": [
          {
            "name": "Návrh loga",
            "quantity": 1,
            "unitType": "ks",
            "pricePerUnit": 450,
            "vatPercentage": 23
          },
          {
            "name": "Sadzba jedálneho lístka",
            "quantity": 6,
            "unitType": "hod",
            "pricePerUnit": 35,
            "vatPercentage": 23
          }
        ],
        "note": "Ďakujem za spoluprácu."
      }
    }'
  3. 3

    Stiahnite PDF

    Rovnaké PDF ako z editora, s QR kódom na úhradu.

    GET /invoices/{invoice}/pdf
    curl https://vystavfakturu.sk/api/v1/invoices/128/pdf \
      -H "Authorization: Bearer $VF_API_KEY" \
      -o faktura.pdf
  4. 4

    Pošlite ju e-mailom

    Odberateľ dostane e-mail s odkazom na faktúru a PDF.

    POST /invoices/{invoice}/send
    curl -X POST https://vystavfakturu.sk/api/v1/invoices/1/send \
      -H "Authorization: Bearer $VF_API_KEY" \
      -H "Accept: application/json" \
      -H "Content-Type: application/json" \
      -d '{
      "to": "text"
    }'

Formát údajov

  • Posielajte hlavičku Accept: application/json, aby ste aj chyby dostali v JSON. Telo požiadavky posielajte ako JSON s Content-Type: application/json.
  • Jeden záznam vrátime ako samotný objekt, bez obalu. Zoznamy sú vždy v data; faktúry a prijaté eFaktúry sú navyše stránkované.
  • Dátumy sú v tvare RRRR-MM-DD, časy v ISO 8601 (UTC). Sumy sú čísla v mene faktúry, napríklad 660 alebo 12.5.
  • Obsah faktúry (payload) má rovnaký tvar ako faktúra v editore: seller, buyer, items, paymentMethod, dátumy a poznámky.
  • Pri úprave (PATCH) firmy, odberateľa a položky stačí poslať polia, ktoré meníte. Neznáme polia v odpovediach ignorujte, pribúdajú.

Stránkovanie

Stránkované zoznamy vracajú záznamy v data, odkazy na ďalšie stránky v links a počty v meta. Stránku zvolíte parametrom page, počet záznamov parametrom per_page (najviac 200). Kým links.next nie je null, ďalšia stránka existuje.

Stránkovaná odpoveď
{
  "data": [
    "…"
  ],
  "links": {
    "first": "https://vystavfakturu.sk/api/v1/invoices?page=1",
    "last": "https://vystavfakturu.sk/api/v1/invoices?page=3",
    "prev": null,
    "next": "https://vystavfakturu.sk/api/v1/invoices?page=2"
  },
  "meta": {
    "current_page": 1,
    "from": 1,
    "last_page": 3,
    "per_page": 50,
    "to": 50,
    "total": 128
  }
}

Chyby

Úspešné požiadavky vracajú 200, nový záznam 201 a zmazanie 204 bez tela. Pri chybe dostanete JSON s vysvetlením v message, v slovenčine.

401
Chýba API kľúč, alebo je neplatný či zmazaný.
402
Balík firmy funkciu neobsahuje. V odpovedi je feature a plans, balíky, ktoré ju majú.
404
Záznam neexistuje alebo patrí inej firme.
409
Požiadavka je v rozpore s aktuálnym stavom záznamu. Čo presne, povie message.
422
Neplatné údaje. V errors je zoznam chýb podľa polí.
429
Priveľa požiadaviek. Počkajte toľko sekúnd, koľko je v hlavičke Retry-After.
Odpoveď 422
{
  "message": "Pole name je povinné.",
  "errors": {
    "name": [
      "Pole name je povinné."
    ]
  }
}
Odpoveď 402
{
  "message": "Táto funkcia je súčasťou platených balíkov.",
  "feature": "peppol.send",
  "plans": [
    "efaktura"
  ]
}

Limity a verzie

API prijme 120 požiadaviek za minútu. Koľko vám ešte zostáva, vidíte v hlavičkách X-RateLimit-Limit a X-RateLimit-Remaining. Po prekročení dostanete 429 s hlavičkou Retry-After.

Firma môže odoslať najviac 200 e-mailov za 24 hodín, cez API aj zo zóny spolu.

Verzia je v adrese (/v1). Nové polia a endpointy do nej pridávame priebežne. Zmenu, ktorá by existujúce prepojenia rozbila, by sme vydali ako novú verziu a vopred o nej dali vedieť.

API používajte primerane, napríklad faktúry si nesťahujte znova pri každom zobrazení stránky. Otázky a návrhy posielajte na feedback@vystavfakturu.sk. Pravidlá používania API sú v podmienkach používania.

Firma

Údaje firmy #

GET /business

Firma, ku ktorej patrí API kľúč: fakturačné údaje, predvolené údaje faktúr, nastavenia, balík a stav príjmu eFaktúr cez Peppol.

curl https://vystavfakturu.sk/api/v1/business \
  -H "Authorization: Bearer $VF_API_KEY" \
  -H "Accept: application/json"
Odpoveď 200
{
  "id": 7,
  "name": "Jana Nováková – Grafika",
  "address_line": "Hlavná 12",
  "postal_code": "811 01",
  "city": "Bratislava",
  "country": "Slovensko",
  "ico": "12345678",
  "dic": "1023456789",
  "ic_dph": null,
  "vat_payer": false,
  "registration": "Zapísaná v Živnostenskom registri OÚ Bratislava, č. 110-123456",
  "email": "jana@novakova-grafika.sk",
  "phone": "+421 900 123 456",
  "iban": "SK3112000000198742637541",
  "invoice_defaults": {
    "paymentTermDays": 14,
    "locale": "sk",
    "currencyCode": "EUR"
  },
  "settings": {
    "track_opens": true,
    "reminder_days": 7
  },
  "plan": {
    "key": "standard",
    "name": "Štandard",
    "features": [
      "peppol.receive",
      "invoices",
      "email",
      "reminders",
      "recurring",
      "export",
      "api"
    ]
  },
  "peppol": {
    "id": "0245:1023456789",
    "status": "active",
    "registered_at": "2026-10-02T09:14:00+00:00"
  }
}

Úprava firmy #

PATCH /business

Zmení len údaje, ktoré pošlete. invoice_defaults a settings sa so starými hodnotami zlúčia, takže stačí poslať kľúč, ktorý meníte. Nové faktúry použijú nové údaje, vystavené faktúry sa nemenia.

Telo požiadavky (JSON)

name string
Obchodné meno.
address_line string
Ulica a číslo.
postal_code string
PSČ.
city string
Mesto.
country string
Krajina.
ico string
IČO.
dic string
DIČ.
ic_dph string
IČ DPH. Prázdne znamená, že firma nie je platiteľ DPH.
registration string
Zápis v registri, ktorý sa tlačí na faktúru.
email string
E-mail firmy. Odpovede na odoslané faktúry prídu sem.
phone string
Telefón.
iban string
IBAN pre platbu prevodom a QR kód.
invoice_defaults object
Predvolené údaje nových faktúr: paymentTermDays (0 až 365), constantSymbol, constantSymbolEnabled, note, aboveItemsNote, locale (sk, en, cz, de), currencyCode (EUR, USD, CZK, GBP).
settings object
track_opens: či zaznamenávať otvorenie e-mailu a zobrazenie faktúry odberateľom. reminder_days: o koľko dní po splatnosti poslať pripomienku (1 až 90, null vypne).

Chyby

422
Neplatný údaj, napríklad e-mail alebo príliš dlhý text.
curl -X PATCH https://vystavfakturu.sk/api/v1/business \
  -H "Authorization: Bearer $VF_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
  "iban": "SK3112000000198742637541",
  "invoice_defaults": {
    "paymentTermDays": 14
  },
  "settings": {
    "reminder_days": 7
  }
}'
Odpoveď 200
{
  "id": 7,
  "name": "Jana Nováková – Grafika",
  "address_line": "Hlavná 12",
  "postal_code": "811 01",
  "city": "Bratislava",
  "country": "Slovensko",
  "ico": "12345678",
  "dic": "1023456789",
  "ic_dph": null,
  "vat_payer": false,
  "registration": "Zapísaná v Živnostenskom registri OÚ Bratislava, č. 110-123456",
  "email": "jana@novakova-grafika.sk",
  "phone": "+421 900 123 456",
  "iban": "SK3112000000198742637541",
  "invoice_defaults": {
    "paymentTermDays": 14,
    "locale": "sk",
    "currencyCode": "EUR"
  },
  "settings": {
    "track_opens": true,
    "reminder_days": 7
  },
  "plan": {
    "key": "standard",
    "name": "Štandard",
    "features": [
      "peppol.receive",
      "invoices",
      "email",
      "reminders",
      "recurring",
      "export",
      "api"
    ]
  },
  "peppol": {
    "id": "0245:1023456789",
    "status": "active",
    "registered_at": "2026-10-02T09:14:00+00:00"
  }
}

Prehľad #

GET /overview

Čísla z Prehľadu v zóne za rok: vyfakturované (dobropisy sa odpočítajú, zálohové faktúry sa nerátajú), čakajúce na úhradu, po splatnosti, priemerný počet dní do úhrady, mesiace a obrat voči hranici pre registráciu k DPH (vat_threshold.applies je true, kým firma nemá IČ DPH).

Parametre dotazu

year integer
Rok. Predvolene aktuálny.
curl https://vystavfakturu.sk/api/v1/overview?year=2026 \
  -H "Authorization: Bearer $VF_API_KEY" \
  -H "Accept: application/json"
Odpoveď 200
{
  "year": 2026,
  "invoiced": {
    "total": 18420.5,
    "count": 41,
    "clients": 9
  },
  "waiting": {
    "total": 1260,
    "count": 3
  },
  "overdue": {
    "total": 660,
    "count": 1
  },
  "average_days_to_pay": 12,
  "months": [
    {
      "month": 1,
      "invoiced": 1450,
      "paid": 1450
    },
    {
      "month": 2,
      "invoiced": 2210,
      "paid": 2210
    },
    "…"
  ],
  "vat_threshold": {
    "applies": true,
    "limit": 50000,
    "turnover": 18420.5
  },
  "unpaid_invoices": [
    {
      "id": 128,
      "number": "20260017",
      "document_type": "invoice",
      "status": "issued",
      "client_id": 12,
      "buyer_name": "Kaviareň pod Hradom s.r.o.",
      "currency": "EUR",
      "total": 660,
      "vat_total": 0,
      "issue_date": "2026-10-11",
      "delivery_date": "2026-10-11",
      "due_date": "2026-10-25",
      "issued_at": "2026-10-11T08:30:12+00:00",
      "sent_at": null,
      "paid_at": null,
      "source": "api",
      "recurring_invoice_id": null,
      "created_at": "2026-10-11T08:29:40+00:00",
      "updated_at": "2026-10-11T08:30:12+00:00"
    }
  ],
  "drafts": 2,
  "unread_received": 1
}

Faktúry

Zoznam faktúr #

GET /invoices

Faktúry firmy, najprv koncepty, potom od najnovšej. Zoznam je stránkovaný a neobsahuje payload ani udalosti, tie vráti detail faktúry. Stav overdue sa neukladá: je to vystavená faktúra po dátume splatnosti.

Len v balíku Zadarmo, Štandard a eFaktúra.

Parametre dotazu

status string
draft, issued, overdue, unpaid (vystavené a neuhradené), paid alebo cancelled.
year integer
Rok vystavenia. Koncepty bez dátumu sa zobrazia v každom roku.
client_id integer
Len faktúry jedného odberateľa.
q string
Hľadá v čísle faktúry a názve odberateľa.
per_page integer
Počet na stránku, 1 až 200. Predvolene 50.
page integer
Stránka, od 1.

Chyby

402
Balík firmy neobsahuje uložené faktúry (feature „invoices“).
422
Neplatný filter, napríklad neznámy stav.
curl https://vystavfakturu.sk/api/v1/invoices?status=unpaid \
  -H "Authorization: Bearer $VF_API_KEY" \
  -H "Accept: application/json"
Odpoveď 200
{
  "data": [
    {
      "id": 128,
      "number": "20260017",
      "document_type": "invoice",
      "status": "issued",
      "client_id": 12,
      "buyer_name": "Kaviareň pod Hradom s.r.o.",
      "currency": "EUR",
      "total": 660,
      "vat_total": 0,
      "issue_date": "2026-10-11",
      "delivery_date": "2026-10-11",
      "due_date": "2026-10-25",
      "issued_at": "2026-10-11T08:30:12+00:00",
      "sent_at": null,
      "paid_at": null,
      "source": "api",
      "recurring_invoice_id": null,
      "created_at": "2026-10-11T08:29:40+00:00",
      "updated_at": "2026-10-11T08:30:12+00:00"
    }
  ],
  "links": {
    "first": "https://vystavfakturu.sk/api/v1/invoices?page=1",
    "last": "https://vystavfakturu.sk/api/v1/invoices?page=1",
    "prev": null,
    "next": null
  },
  "meta": {
    "current_page": 1,
    "from": 1,
    "last_page": 1,
    "path": "https://vystavfakturu.sk/api/v1/invoices",
    "per_page": 50,
    "to": 1,
    "total": 1
  }
}

Nová faktúra #

POST /invoices

Vytvorí koncept. Dodávateľom je vaša firma, odberateľa vyplníme z client_id a doplníme predvolené údaje z nastavení firmy; payload ich prepíše. Položky z payloadu nahradia predvolené. S issue: true faktúru rovno vystavíme, inak ju vystavíte neskôr.

Len v balíku Zadarmo, Štandard a eFaktúra.

Telo požiadavky (JSON)

client_id integer
Odberateľ z vašich odberateľov.
issue boolean
Vystaviť hneď: pridelí číslo a faktúru uzamkne. Neúplná faktúra vráti 422 a zostane koncept.
payload object
Obsah faktúry. Čo nepošlete, doplníme: firma ako dodávateľ, odberateľ z client_id, dnešné dátumy, splatnosť a ďalšie predvolené údaje z nastavení firmy.
payload.documentType string
invoice (faktúra), advance_invoice (zálohová faktúra), credit_note (dobropis), quote (cenová ponuka), purchase_order (objednávka) alebo delivery_note (dodací list). Predvolene invoice. Cenová ponuka, objednávka a dodací list nie sú daňové doklady: nemajú platbu, neuhrádzajú sa a neposielajú sa ako eFaktúra.
payload.correctedInvoice string
Pri dobropise číslo faktúry, ktorú opravuje.
payload.buyer object
Odberateľ: name, address.line, address.postalCode, address.city, address.country, businessId (IČO), taxId (DIČ), vatId (IČ DPH). S client_id ho vyplníme z odberateľa.
payload.issueDate string
Dátum vystavenia, RRRR-MM-DD.
payload.deliveryDate string
Dátum dodania, RRRR-MM-DD.
payload.paymentDate string
Dátum splatnosti, RRRR-MM-DD.
payload.paymentMethod object
type: bank, cash alebo card. Pri bank aj bankDetails.iban, bankDetails.variableSymbol a bankDetails.constantSymbol. Variabilný symbol, ktorý nevyplníte, budú číslice čísla faktúry (pri ZF20260001 je to 20260001).
payload.items array
Položky: name, description, quantity, unitType (ks, hod, m, m², m³, kg, l, bal), pricePerUnit (bez DPH) a vatPercentage. Na vystavenie aspoň jedna.
payload.vatEnabled boolean
Či faktúra počíta DPH. Predvolene áno, ak má firma IČ DPH.
payload.aboveItemsNote string
Text nad položkami, najviac 1000 znakov.
payload.note string
Poznámka pod položkami, najviac 1000 znakov.
payload.locale string
Jazyk faktúry: sk, en, cz alebo de.
payload.currencyCode string
Mena: EUR, USD, CZK alebo GBP.

Chyby

402
Balík firmy neobsahuje uložené faktúry (feature „invoices“).
404
Odberateľ s client_id neexistuje.
422
Neplatný payload, alebo pri issue: true neúplná faktúra (chýba odberateľ, položka, IBAN pri prevode...).
curl -X POST https://vystavfakturu.sk/api/v1/invoices \
  -H "Authorization: Bearer $VF_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
  "client_id": 12,
  "issue": true,
  "payload": {
    "documentType": "invoice",
    "issueDate": "2026-10-11",
    "deliveryDate": "2026-10-11",
    "paymentDate": "2026-10-25",
    "items": [
      {
        "name": "Návrh loga",
        "quantity": 1,
        "unitType": "ks",
        "pricePerUnit": 450,
        "vatPercentage": 23
      },
      {
        "name": "Sadzba jedálneho lístka",
        "quantity": 6,
        "unitType": "hod",
        "pricePerUnit": 35,
        "vatPercentage": 23
      }
    ],
    "note": "Ďakujem za spoluprácu."
  }
}'
Odpoveď 201
{
  "id": 128,
  "number": "20260017",
  "document_type": "invoice",
  "status": "issued",
  "client_id": 12,
  "buyer_name": "Kaviareň pod Hradom s.r.o.",
  "currency": "EUR",
  "total": 660,
  "vat_total": 0,
  "issue_date": "2026-10-11",
  "delivery_date": "2026-10-11",
  "due_date": "2026-10-25",
  "issued_at": "2026-10-11T08:30:12+00:00",
  "sent_at": null,
  "paid_at": null,
  "source": "api",
  "recurring_invoice_id": null,
  "created_at": "2026-10-11T08:29:40+00:00",
  "updated_at": "2026-10-11T08:30:12+00:00",
  "public_url": "https://vystavfakturu.sk/f/MWA6fHUao3jjZ4Ykl4Z6LkBel55YbPH6oRZW917R",
  "recipient_email": "ucty@podhradom.sk",
  "payload": {
    "documentType": "invoice",
    "name": "20260017",
    "seller": {
      "name": "Jana Nováková – Grafika",
      "address": {
        "line": "Hlavná 12",
        "postalCode": "811 01",
        "city": "Bratislava",
        "country": "Slovensko"
      },
      "businessId": "12345678",
      "taxId": "1023456789",
      "vatId": null,
      "email": "jana@novakova-grafika.sk"
    },
    "buyer": {
      "name": "Kaviareň pod Hradom s.r.o.",
      "address": {
        "line": "Zámocká 3",
        "postalCode": "811 01",
        "city": "Bratislava",
        "country": "Slovensko"
      },
      "businessId": "87654321",
      "taxId": "2023456789",
      "vatId": "SK2023456789"
    },
    "issueDate": "2026-10-11",
    "deliveryDate": "2026-10-11",
    "paymentDate": "2026-10-25",
    "paymentMethod": {
      "type": "bank",
      "bankDetails": {
        "iban": "SK3112000000198742637541",
        "variableSymbol": "20260017",
        "constantSymbol": "0308"
      }
    },
    "items": [
      {
        "name": "Návrh loga",
        "description": null,
        "quantity": 1,
        "unitType": "ks",
        "pricePerUnit": 450,
        "vatPercentage": 23
      },
      {
        "name": "Sadzba jedálneho lístka",
        "description": null,
        "quantity": 6,
        "unitType": "hod",
        "pricePerUnit": 35,
        "vatPercentage": 23
      }
    ],
    "vatEnabled": false,
    "variableSymbolEnabled": true,
    "constantSymbolEnabled": false,
    "aboveItemsNote": null,
    "note": "Nie som platiteľ DPH.",
    "locale": "sk",
    "currencyCode": "EUR"
  },
  "events": [
    {
      "id": 301,
      "type": "created",
      "label": "Vytvorená",
      "channel": null,
      "recipient": null,
      "meta": null,
      "occurred_at": "2026-10-11T08:29:40+00:00"
    },
    {
      "id": 302,
      "type": "issued",
      "label": "Vystavená",
      "channel": null,
      "recipient": null,
      "meta": {
        "number": "20260017"
      },
      "occurred_at": "2026-10-11T08:30:12+00:00"
    }
  ]
}

Detail faktúry #

GET /invoices/{invoice}

Faktúra s celým obsahom (payload v tvare editora), e-mailom, na ktorý sa posiela, adresou stránky faktúry pre odberateľa (public_url, len vystavené) a časovou osou udalostí: vytvorenie, vystavenie, odoslanie, doručenie, otvorenie, úhrada a ďalšie.

Len v balíku Zadarmo, Štandard a eFaktúra.

Parametre v ceste

invoice integer povinný
ID faktúry.

Chyby

402
Balík firmy neobsahuje uložené faktúry (feature „invoices“).
404
Záznam neexistuje alebo patrí inej firme.
curl https://vystavfakturu.sk/api/v1/invoices/128 \
  -H "Authorization: Bearer $VF_API_KEY" \
  -H "Accept: application/json"
Odpoveď 200
{
  "id": 128,
  "number": "20260017",
  "document_type": "invoice",
  "status": "issued",
  "client_id": 12,
  "buyer_name": "Kaviareň pod Hradom s.r.o.",
  "currency": "EUR",
  "total": 660,
  "vat_total": 0,
  "issue_date": "2026-10-11",
  "delivery_date": "2026-10-11",
  "due_date": "2026-10-25",
  "issued_at": "2026-10-11T08:30:12+00:00",
  "sent_at": null,
  "paid_at": null,
  "source": "api",
  "recurring_invoice_id": null,
  "created_at": "2026-10-11T08:29:40+00:00",
  "updated_at": "2026-10-11T08:30:12+00:00",
  "public_url": "https://vystavfakturu.sk/f/MWA6fHUao3jjZ4Ykl4Z6LkBel55YbPH6oRZW917R",
  "recipient_email": "ucty@podhradom.sk",
  "payload": {
    "documentType": "invoice",
    "name": "20260017",
    "seller": {
      "name": "Jana Nováková – Grafika",
      "address": {
        "line": "Hlavná 12",
        "postalCode": "811 01",
        "city": "Bratislava",
        "country": "Slovensko"
      },
      "businessId": "12345678",
      "taxId": "1023456789",
      "vatId": null,
      "email": "jana@novakova-grafika.sk"
    },
    "buyer": {
      "name": "Kaviareň pod Hradom s.r.o.",
      "address": {
        "line": "Zámocká 3",
        "postalCode": "811 01",
        "city": "Bratislava",
        "country": "Slovensko"
      },
      "businessId": "87654321",
      "taxId": "2023456789",
      "vatId": "SK2023456789"
    },
    "issueDate": "2026-10-11",
    "deliveryDate": "2026-10-11",
    "paymentDate": "2026-10-25",
    "paymentMethod": {
      "type": "bank",
      "bankDetails": {
        "iban": "SK3112000000198742637541",
        "variableSymbol": "20260017",
        "constantSymbol": "0308"
      }
    },
    "items": [
      {
        "name": "Návrh loga",
        "description": null,
        "quantity": 1,
        "unitType": "ks",
        "pricePerUnit": 450,
        "vatPercentage": 23
      },
      {
        "name": "Sadzba jedálneho lístka",
        "description": null,
        "quantity": 6,
        "unitType": "hod",
        "pricePerUnit": 35,
        "vatPercentage": 23
      }
    ],
    "vatEnabled": false,
    "variableSymbolEnabled": true,
    "constantSymbolEnabled": false,
    "aboveItemsNote": null,
    "note": "Nie som platiteľ DPH.",
    "locale": "sk",
    "currencyCode": "EUR"
  },
  "events": [
    {
      "id": 301,
      "type": "created",
      "label": "Vytvorená",
      "channel": null,
      "recipient": null,
      "meta": null,
      "occurred_at": "2026-10-11T08:29:40+00:00"
    },
    {
      "id": 302,
      "type": "issued",
      "label": "Vystavená",
      "channel": null,
      "recipient": null,
      "meta": {
        "number": "20260017"
      },
      "occurred_at": "2026-10-11T08:30:12+00:00"
    }
  ]
}

Úprava konceptu #

PATCH /invoices/{invoice}

Nahradí obsah konceptu. Pošlite celý payload, nie len zmenené polia. Vystavenú faktúru zmeniť nemožno: vystavte dobropis alebo ju zduplikujte.

Len v balíku Zadarmo, Štandard a eFaktúra.

Parametre v ceste

invoice integer povinný
ID faktúry.

Telo požiadavky (JSON)

client_id integer|null
Iný odberateľ, alebo null. Údaje odberateľa na faktúre sú v payload.buyer.
payload object povinný
Celý obsah faktúry v tvare payload z detailu faktúry.

Chyby

402
Balík firmy neobsahuje uložené faktúry (feature „invoices“).
404
Záznam neexistuje alebo patrí inej firme.
422
Faktúra už je vystavená (status), alebo chýba payload.
curl -X PATCH https://vystavfakturu.sk/api/v1/invoices/128 \
  -H "Authorization: Bearer $VF_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
  "payload": {
    "…": "…",
    "items": [
      {
        "name": "Návrh loga",
        "quantity": 2,
        "unitType": "ks",
        "pricePerUnit": 450,
        "vatPercentage": 23
      }
    ]
  }
}'
Odpoveď 200
{
  "id": 128,
  "number": null,
  "document_type": "invoice",
  "status": "draft",
  "client_id": 12,
  "buyer_name": "Kaviareň pod Hradom s.r.o.",
  "currency": "EUR",
  "total": 660,
  "vat_total": 0,
  "issue_date": "2026-10-11",
  "delivery_date": "2026-10-11",
  "due_date": "2026-10-25",
  "issued_at": null,
  "sent_at": null,
  "paid_at": null,
  "source": "api",
  "recurring_invoice_id": null,
  "created_at": "2026-10-11T08:29:40+00:00",
  "updated_at": "2026-10-11T08:30:12+00:00",
  "recipient_email": "ucty@podhradom.sk",
  "payload": {
    "documentType": "invoice",
    "name": null,
    "seller": {
      "name": "Jana Nováková – Grafika",
      "address": {
        "line": "Hlavná 12",
        "postalCode": "811 01",
        "city": "Bratislava",
        "country": "Slovensko"
      },
      "businessId": "12345678",
      "taxId": "1023456789",
      "vatId": null,
      "email": "jana@novakova-grafika.sk"
    },
    "buyer": {
      "name": "Kaviareň pod Hradom s.r.o.",
      "address": {
        "line": "Zámocká 3",
        "postalCode": "811 01",
        "city": "Bratislava",
        "country": "Slovensko"
      },
      "businessId": "87654321",
      "taxId": "2023456789",
      "vatId": "SK2023456789"
    },
    "issueDate": "2026-10-11",
    "deliveryDate": "2026-10-11",
    "paymentDate": "2026-10-25",
    "paymentMethod": {
      "type": "bank",
      "bankDetails": {
        "iban": "SK3112000000198742637541",
        "variableSymbol": null,
        "constantSymbol": "0308"
      }
    },
    "items": [
      {
        "name": "Návrh loga",
        "description": null,
        "quantity": 1,
        "unitType": "ks",
        "pricePerUnit": 450,
        "vatPercentage": 23
      },
      {
        "name": "Sadzba jedálneho lístka",
        "description": null,
        "quantity": 6,
        "unitType": "hod",
        "pricePerUnit": 35,
        "vatPercentage": 23
      }
    ],
    "vatEnabled": false,
    "variableSymbolEnabled": true,
    "constantSymbolEnabled": false,
    "aboveItemsNote": null,
    "note": "Nie som platiteľ DPH.",
    "locale": "sk",
    "currencyCode": "EUR"
  },
  "events": [
    {
      "id": 301,
      "type": "created",
      "label": "Vytvorená",
      "channel": null,
      "recipient": null,
      "meta": null,
      "occurred_at": "2026-10-11T08:29:40+00:00"
    }
  ]
}

Zmazanie konceptu #

DELETE /invoices/{invoice}

Zmaže koncept. Vystavenú faktúru zmazať nemožno, stornujte ju dobropisom.

Len v balíku Zadarmo, Štandard a eFaktúra.

Parametre v ceste

invoice integer povinný
ID faktúry.

Chyby

402
Balík firmy neobsahuje uložené faktúry (feature „invoices“).
404
Záznam neexistuje alebo patrí inej firme.
422
Faktúra už je vystavená.
curl -X DELETE https://vystavfakturu.sk/api/v1/invoices/128 \
  -H "Authorization: Bearer $VF_API_KEY" \
  -H "Accept: application/json"

Odpoveď 204: bez tela.

Vystavenie faktúry #

POST /invoices/{invoice}/issue

Skontroluje, či je koncept úplný (rovnaké pravidlá ako pri stiahnutí PDF v editore), pridelí mu ďalšie číslo v rade (faktúra 20260001, zálohová faktúra ZF20260001, dobropis D20260001) a uzamkne ho. Ak variabilný symbol nie je vyplnený, budú ním číslice čísla faktúry. Neúplná faktúra číslo nespotrebuje.

Len v balíku Zadarmo, Štandard a eFaktúra.

Parametre v ceste

invoice integer povinný
ID faktúry.

Chyby

402
Balík firmy neobsahuje uložené faktúry (feature „invoices“).
404
Záznam neexistuje alebo patrí inej firme.
422
Faktúra už je vystavená, alebo jej niečo chýba; errors povie čo.
curl -X POST https://vystavfakturu.sk/api/v1/invoices/128/issue \
  -H "Authorization: Bearer $VF_API_KEY" \
  -H "Accept: application/json"
Odpoveď 200
{
  "id": 128,
  "number": "20260017",
  "document_type": "invoice",
  "status": "issued",
  "client_id": 12,
  "buyer_name": "Kaviareň pod Hradom s.r.o.",
  "currency": "EUR",
  "total": 660,
  "vat_total": 0,
  "issue_date": "2026-10-11",
  "delivery_date": "2026-10-11",
  "due_date": "2026-10-25",
  "issued_at": "2026-10-11T08:30:12+00:00",
  "sent_at": null,
  "paid_at": null,
  "source": "api",
  "recurring_invoice_id": null,
  "created_at": "2026-10-11T08:29:40+00:00",
  "updated_at": "2026-10-11T08:30:12+00:00",
  "public_url": "https://vystavfakturu.sk/f/MWA6fHUao3jjZ4Ykl4Z6LkBel55YbPH6oRZW917R",
  "recipient_email": "ucty@podhradom.sk",
  "payload": {
    "documentType": "invoice",
    "name": "20260017",
    "seller": {
      "name": "Jana Nováková – Grafika",
      "address": {
        "line": "Hlavná 12",
        "postalCode": "811 01",
        "city": "Bratislava",
        "country": "Slovensko"
      },
      "businessId": "12345678",
      "taxId": "1023456789",
      "vatId": null,
      "email": "jana@novakova-grafika.sk"
    },
    "buyer": {
      "name": "Kaviareň pod Hradom s.r.o.",
      "address": {
        "line": "Zámocká 3",
        "postalCode": "811 01",
        "city": "Bratislava",
        "country": "Slovensko"
      },
      "businessId": "87654321",
      "taxId": "2023456789",
      "vatId": "SK2023456789"
    },
    "issueDate": "2026-10-11",
    "deliveryDate": "2026-10-11",
    "paymentDate": "2026-10-25",
    "paymentMethod": {
      "type": "bank",
      "bankDetails": {
        "iban": "SK3112000000198742637541",
        "variableSymbol": "20260017",
        "constantSymbol": "0308"
      }
    },
    "items": [
      {
        "name": "Návrh loga",
        "description": null,
        "quantity": 1,
        "unitType": "ks",
        "pricePerUnit": 450,
        "vatPercentage": 23
      },
      {
        "name": "Sadzba jedálneho lístka",
        "description": null,
        "quantity": 6,
        "unitType": "hod",
        "pricePerUnit": 35,
        "vatPercentage": 23
      }
    ],
    "vatEnabled": false,
    "variableSymbolEnabled": true,
    "constantSymbolEnabled": false,
    "aboveItemsNote": null,
    "note": "Nie som platiteľ DPH.",
    "locale": "sk",
    "currencyCode": "EUR"
  },
  "events": [
    {
      "id": 301,
      "type": "created",
      "label": "Vytvorená",
      "channel": null,
      "recipient": null,
      "meta": null,
      "occurred_at": "2026-10-11T08:29:40+00:00"
    },
    {
      "id": 302,
      "type": "issued",
      "label": "Vystavená",
      "channel": null,
      "recipient": null,
      "meta": {
        "number": "20260017"
      },
      "occurred_at": "2026-10-11T08:30:12+00:00"
    }
  ]
}

Označiť ako uhradenú #

POST /invoices/{invoice}/pay

Označí vystavenú faktúru ako uhradenú a zapíše udalosť na časovú os.

Len v balíku Zadarmo, Štandard a eFaktúra.

Parametre v ceste

invoice integer povinný
ID faktúry.

Telo požiadavky (JSON)

paid_at string
Dátum úhrady (RRRR-MM-DD alebo ISO 8601). Predvolene teraz.

Chyby

402
Balík firmy neobsahuje uložené faktúry (feature „invoices“).
404
Záznam neexistuje alebo patrí inej firme.
422
Faktúra nie je vystavená, alebo už je uhradená.
curl -X POST https://vystavfakturu.sk/api/v1/invoices/128/pay \
  -H "Authorization: Bearer $VF_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
  "paid_at": "2026-10-20"
}'
Odpoveď 200
{
  "id": 128,
  "number": "20260017",
  "document_type": "invoice",
  "status": "paid",
  "client_id": 12,
  "buyer_name": "Kaviareň pod Hradom s.r.o.",
  "currency": "EUR",
  "total": 660,
  "vat_total": 0,
  "issue_date": "2026-10-11",
  "delivery_date": "2026-10-11",
  "due_date": "2026-10-25",
  "issued_at": "2026-10-11T08:30:12+00:00",
  "sent_at": null,
  "paid_at": "2026-10-20T00:00:00+00:00",
  "source": "api",
  "recurring_invoice_id": null,
  "created_at": "2026-10-11T08:29:40+00:00",
  "updated_at": "2026-10-11T08:30:12+00:00",
  "public_url": "https://vystavfakturu.sk/f/MWA6fHUao3jjZ4Ykl4Z6LkBel55YbPH6oRZW917R",
  "recipient_email": "ucty@podhradom.sk",
  "payload": {
    "documentType": "invoice",
    "name": "20260017",
    "seller": {
      "name": "Jana Nováková – Grafika",
      "address": {
        "line": "Hlavná 12",
        "postalCode": "811 01",
        "city": "Bratislava",
        "country": "Slovensko"
      },
      "businessId": "12345678",
      "taxId": "1023456789",
      "vatId": null,
      "email": "jana@novakova-grafika.sk"
    },
    "buyer": {
      "name": "Kaviareň pod Hradom s.r.o.",
      "address": {
        "line": "Zámocká 3",
        "postalCode": "811 01",
        "city": "Bratislava",
        "country": "Slovensko"
      },
      "businessId": "87654321",
      "taxId": "2023456789",
      "vatId": "SK2023456789"
    },
    "issueDate": "2026-10-11",
    "deliveryDate": "2026-10-11",
    "paymentDate": "2026-10-25",
    "paymentMethod": {
      "type": "bank",
      "bankDetails": {
        "iban": "SK3112000000198742637541",
        "variableSymbol": "20260017",
        "constantSymbol": "0308"
      }
    },
    "items": [
      {
        "name": "Návrh loga",
        "description": null,
        "quantity": 1,
        "unitType": "ks",
        "pricePerUnit": 450,
        "vatPercentage": 23
      },
      {
        "name": "Sadzba jedálneho lístka",
        "description": null,
        "quantity": 6,
        "unitType": "hod",
        "pricePerUnit": 35,
        "vatPercentage": 23
      }
    ],
    "vatEnabled": false,
    "variableSymbolEnabled": true,
    "constantSymbolEnabled": false,
    "aboveItemsNote": null,
    "note": "Nie som platiteľ DPH.",
    "locale": "sk",
    "currencyCode": "EUR"
  },
  "events": [
    {
      "id": 301,
      "type": "created",
      "label": "Vytvorená",
      "channel": null,
      "recipient": null,
      "meta": null,
      "occurred_at": "2026-10-11T08:29:40+00:00"
    },
    {
      "id": 302,
      "type": "issued",
      "label": "Vystavená",
      "channel": null,
      "recipient": null,
      "meta": {
        "number": "20260017"
      },
      "occurred_at": "2026-10-11T08:30:12+00:00"
    }
  ]
}

Zrušiť úhradu #

POST /invoices/{invoice}/unpay

Vráti uhradenú faktúru medzi neuhradené. Na faktúre, ktorá uhradená nie je, nič nezmení.

Len v balíku Zadarmo, Štandard a eFaktúra.

Parametre v ceste

invoice integer povinný
ID faktúry.

Chyby

402
Balík firmy neobsahuje uložené faktúry (feature „invoices“).
404
Záznam neexistuje alebo patrí inej firme.
curl -X POST https://vystavfakturu.sk/api/v1/invoices/128/unpay \
  -H "Authorization: Bearer $VF_API_KEY" \
  -H "Accept: application/json"
Odpoveď 200
{
  "id": 128,
  "number": "20260017",
  "document_type": "invoice",
  "status": "issued",
  "client_id": 12,
  "buyer_name": "Kaviareň pod Hradom s.r.o.",
  "currency": "EUR",
  "total": 660,
  "vat_total": 0,
  "issue_date": "2026-10-11",
  "delivery_date": "2026-10-11",
  "due_date": "2026-10-25",
  "issued_at": "2026-10-11T08:30:12+00:00",
  "sent_at": null,
  "paid_at": null,
  "source": "api",
  "recurring_invoice_id": null,
  "created_at": "2026-10-11T08:29:40+00:00",
  "updated_at": "2026-10-11T08:30:12+00:00",
  "public_url": "https://vystavfakturu.sk/f/MWA6fHUao3jjZ4Ykl4Z6LkBel55YbPH6oRZW917R",
  "recipient_email": "ucty@podhradom.sk",
  "payload": {
    "documentType": "invoice",
    "name": "20260017",
    "seller": {
      "name": "Jana Nováková – Grafika",
      "address": {
        "line": "Hlavná 12",
        "postalCode": "811 01",
        "city": "Bratislava",
        "country": "Slovensko"
      },
      "businessId": "12345678",
      "taxId": "1023456789",
      "vatId": null,
      "email": "jana@novakova-grafika.sk"
    },
    "buyer": {
      "name": "Kaviareň pod Hradom s.r.o.",
      "address": {
        "line": "Zámocká 3",
        "postalCode": "811 01",
        "city": "Bratislava",
        "country": "Slovensko"
      },
      "businessId": "87654321",
      "taxId": "2023456789",
      "vatId": "SK2023456789"
    },
    "issueDate": "2026-10-11",
    "deliveryDate": "2026-10-11",
    "paymentDate": "2026-10-25",
    "paymentMethod": {
      "type": "bank",
      "bankDetails": {
        "iban": "SK3112000000198742637541",
        "variableSymbol": "20260017",
        "constantSymbol": "0308"
      }
    },
    "items": [
      {
        "name": "Návrh loga",
        "description": null,
        "quantity": 1,
        "unitType": "ks",
        "pricePerUnit": 450,
        "vatPercentage": 23
      },
      {
        "name": "Sadzba jedálneho lístka",
        "description": null,
        "quantity": 6,
        "unitType": "hod",
        "pricePerUnit": 35,
        "vatPercentage": 23
      }
    ],
    "vatEnabled": false,
    "variableSymbolEnabled": true,
    "constantSymbolEnabled": false,
    "aboveItemsNote": null,
    "note": "Nie som platiteľ DPH.",
    "locale": "sk",
    "currencyCode": "EUR"
  },
  "events": [
    {
      "id": 301,
      "type": "created",
      "label": "Vytvorená",
      "channel": null,
      "recipient": null,
      "meta": null,
      "occurred_at": "2026-10-11T08:29:40+00:00"
    },
    {
      "id": 302,
      "type": "issued",
      "label": "Vystavená",
      "channel": null,
      "recipient": null,
      "meta": {
        "number": "20260017"
      },
      "occurred_at": "2026-10-11T08:30:12+00:00"
    }
  ]
}

Duplikovanie faktúry #

POST /invoices/{invoice}/duplicate

Vytvorí nový koncept s rovnakým odberateľom a položkami, s dnešnými dátumami a aktuálnymi údajmi vašej firmy. Variabilný symbol sa nekopíruje.

Len v balíku Zadarmo, Štandard a eFaktúra.

Parametre v ceste

invoice integer povinný
ID faktúry.

Chyby

402
Balík firmy neobsahuje uložené faktúry (feature „invoices“).
404
Záznam neexistuje alebo patrí inej firme.
curl -X POST https://vystavfakturu.sk/api/v1/invoices/128/duplicate \
  -H "Authorization: Bearer $VF_API_KEY" \
  -H "Accept: application/json"
Odpoveď 201
{
  "id": 128,
  "number": null,
  "document_type": "invoice",
  "status": "draft",
  "client_id": 12,
  "buyer_name": "Kaviareň pod Hradom s.r.o.",
  "currency": "EUR",
  "total": 660,
  "vat_total": 0,
  "issue_date": "2026-10-11",
  "delivery_date": "2026-10-11",
  "due_date": "2026-10-25",
  "issued_at": null,
  "sent_at": null,
  "paid_at": null,
  "source": "api",
  "recurring_invoice_id": null,
  "created_at": "2026-10-11T08:29:40+00:00",
  "updated_at": "2026-10-11T08:30:12+00:00",
  "recipient_email": "ucty@podhradom.sk",
  "payload": {
    "documentType": "invoice",
    "name": null,
    "seller": {
      "name": "Jana Nováková – Grafika",
      "address": {
        "line": "Hlavná 12",
        "postalCode": "811 01",
        "city": "Bratislava",
        "country": "Slovensko"
      },
      "businessId": "12345678",
      "taxId": "1023456789",
      "vatId": null,
      "email": "jana@novakova-grafika.sk"
    },
    "buyer": {
      "name": "Kaviareň pod Hradom s.r.o.",
      "address": {
        "line": "Zámocká 3",
        "postalCode": "811 01",
        "city": "Bratislava",
        "country": "Slovensko"
      },
      "businessId": "87654321",
      "taxId": "2023456789",
      "vatId": "SK2023456789"
    },
    "issueDate": "2026-10-11",
    "deliveryDate": "2026-10-11",
    "paymentDate": "2026-10-25",
    "paymentMethod": {
      "type": "bank",
      "bankDetails": {
        "iban": "SK3112000000198742637541",
        "variableSymbol": null,
        "constantSymbol": "0308"
      }
    },
    "items": [
      {
        "name": "Návrh loga",
        "description": null,
        "quantity": 1,
        "unitType": "ks",
        "pricePerUnit": 450,
        "vatPercentage": 23
      },
      {
        "name": "Sadzba jedálneho lístka",
        "description": null,
        "quantity": 6,
        "unitType": "hod",
        "pricePerUnit": 35,
        "vatPercentage": 23
      }
    ],
    "vatEnabled": false,
    "variableSymbolEnabled": true,
    "constantSymbolEnabled": false,
    "aboveItemsNote": null,
    "note": "Nie som platiteľ DPH.",
    "locale": "sk",
    "currencyCode": "EUR"
  },
  "events": [
    {
      "id": 301,
      "type": "created",
      "label": "Vytvorená",
      "channel": null,
      "recipient": null,
      "meta": null,
      "occurred_at": "2026-10-11T08:29:40+00:00"
    }
  ]
}

PDF faktúry #

GET /invoices/{invoice}/pdf

Faktúra v PDF, rovnaká ako z editora, s QR kódom PAY by square. Koncept sa dá stiahnuť tiež, s nadpisom „Koncept“ namiesto čísla.

Len v balíku Zadarmo, Štandard a eFaktúra.

Parametre v ceste

invoice integer povinný
ID faktúry.

Chyby

402
Balík firmy neobsahuje uložené faktúry (feature „invoices“).
404
Záznam neexistuje alebo patrí inej firme.
422
Koncept ešte nie je úplný, aby sa dal vykresliť.
curl https://vystavfakturu.sk/api/v1/invoices/128/pdf \
  -H "Authorization: Bearer $VF_API_KEY" \
  -o faktura.pdf

Odpoveď 200: Súbor PDF (Content-Type: application/pdf).

ISDOC faktúry #

GET /invoices/{invoice}/isdoc

Faktúra vo formáte ISDOC (XML), ktorý načítajú mnohé účtovné programy.

Len v balíku Zadarmo, Štandard a eFaktúra.

Parametre v ceste

invoice integer povinný
ID faktúry.

Chyby

402
Balík firmy neobsahuje uložené faktúry (feature „invoices“).
404
Záznam neexistuje alebo patrí inej firme.
422
Koncept ešte nie je úplný.
curl https://vystavfakturu.sk/api/v1/invoices/128/isdoc \
  -H "Authorization: Bearer $VF_API_KEY" \
  -o faktura.isdoc

Odpoveď 200: Súbor ISDOC (Content-Type: application/xml), pomenovaný podľa čísla faktúry.

Predvyplnený e-mail k faktúre #

GET /invoices/{invoice}/email

Komu a s akým predmetom a textom by sa faktúra alebo pripomienka poslala, ak ich nezmeníte. Pri koncepte texty uvádzajú číslo, ktoré faktúra dostane pri odoslaní. Vráti aj, koľko e-mailov môžete ešte dnes poslať.

Parametre v ceste

invoice integer povinný
ID faktúry.

Parametre dotazu

kind string
„invoice“ (predvolené) pre faktúru, „reminder“ pre pripomienku úhrady.

Chyby

402
Váš balík neobsahuje posielanie e-mailom.
404
Faktúra neexistuje alebo patrí inej firme.
curl https://vystavfakturu.sk/api/v1/invoices/1/email \
  -H "Authorization: Bearer $VF_API_KEY" \
  -H "Accept: application/json"
Odpoveď 200
{
  "kind": "invoice",
  "to": "ucty@podhradom.sk",
  "copy_to": "jana@novakova-grafika.sk",
  "subject": "Faktúra 20260017 od Jana Nováková – Grafika",
  "message": "Dobrý deň,\n\nv prílohe vám posielame faktúru 20260017 na sumu 660,00 € so splatnosťou 25. 10. 2026.\n\nS pozdravom\nJana Nováková – Grafika",
  "track_opens": true,
  "daily_limit": 200,
  "remaining_today": 197
}

Poslať faktúru e-mailom #

POST /invoices/{invoice}/send

Pošle faktúru odberateľovi e-mailom s PDF v prílohe a odkazom na stránku faktúry s QR kódom PAY by square. Koncept sa pred odoslaním vystaví. E-mail príde od „{názov firmy} cez vystavfakturu.sk“ a odpovede idú na e-mail firmy. V časovej osi faktúry pribudne Odoslaná, potom Doručená, Otvorená a Zobrazená (ak sledujete otvorenie) alebo Nedoručená. Firma môže poslať najviac 200 e-mailov za 24 hodín.

Parametre v ceste

invoice integer povinný
ID faktúry.

Telo požiadavky (JSON)

to string povinný
E-mail odberateľa. Ak ho odberateľ v adresári ešte nemá, uloží sa mu.
copy_to_me boolean
Poslať kópiu (skrytú) aj na e-mail firmy.
subject string
Predmet, najviac 200 znakov. Bez neho „Faktúra {číslo} od {firma}“.
message string
Text e-mailu, najviac 5000 znakov, prázdny riadok oddeľuje odseky. Bez neho predvolený text.

Chyby

402
Váš balík neobsahuje posielanie e-mailom.
404
Faktúra neexistuje alebo patrí inej firme.
422
Chýba alebo je neplatný e-mail, alebo koncept nie je úplný na vystavenie.
429
Firma už za posledných 24 hodín poslala denný limit e-mailov.
curl -X POST https://vystavfakturu.sk/api/v1/invoices/1/send \
  -H "Authorization: Bearer $VF_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
  "to": "text"
}'
Odpoveď 200
{
  "delivery": {
    "id": 381,
    "channel": "email",
    "recipient": "ucty@podhradom.sk",
    "status": "sent",
    "error": null,
    "sent_at": "2026-10-11T09:14:03+00:00",
    "created_at": "2026-10-11T09:14:02+00:00"
  },
  "invoice": {
    "id": 1042,
    "number": "20260017",
    "status": "issued",
    "total": 660,
    "due_date": "2026-10-25",
    "sent_at": "2026-10-11T09:14:03+00:00",
    "public_url": "https://vystavfakturu.sk/f/e2eURJ6uZ9yMGkEsF5Uw7fTY9t9JK0V0yoIvJAHV",
    "events": [
      {
        "id": 5120,
        "type": "issued",
        "label": "Vystavená",
        "channel": null,
        "recipient": null,
        "meta": {
          "number": "20260017"
        },
        "occurred_at": "2026-10-11T09:14:02+00:00"
      },
      {
        "id": 5121,
        "type": "sent",
        "label": "Odoslaná",
        "channel": "email",
        "recipient": "ucty@podhradom.sk",
        "meta": {
          "subject": "Faktúra 20260017 od Jana Nováková – Grafika"
        },
        "occurred_at": "2026-10-11T09:14:03+00:00"
      }
    ]
  }
}

Pripomenúť úhradu #

POST /invoices/{invoice}/remind

Pošle zdvorilú pripomienku vystavenej neuhradenej faktúry: sumu, splatnosť, počet dní po splatnosti, odkaz na stránku faktúry a PDF v prílohe. V časovej osi pribudne Pripomenutá. Automatické pripomienky nastavíte v nastaveniach firmy (reminder_days).

Parametre v ceste

invoice integer povinný
ID faktúry.

Telo požiadavky (JSON)

to string
E-mail odberateľa. Bez neho adresa, na ktorú faktúra naposledy prišla.
message string
Text pripomienky, najviac 5000 znakov. Bez neho predvolený text.

Chyby

402
Váš balík neobsahuje pripomienky.
404
Faktúra neexistuje alebo patrí inej firme.
422
Faktúra nie je vystavená a neuhradená, alebo chýba e-mail odberateľa.
429
Firma už za posledných 24 hodín poslala denný limit e-mailov.
curl -X POST https://vystavfakturu.sk/api/v1/invoices/1/remind \
  -H "Authorization: Bearer $VF_API_KEY" \
  -H "Accept: application/json"
Odpoveď 200
{
  "delivery": {
    "id": 402,
    "channel": "email",
    "recipient": "ucty@podhradom.sk",
    "status": "sent",
    "error": null,
    "sent_at": "2026-10-11T09:14:03+00:00",
    "created_at": "2026-10-11T09:14:02+00:00"
  },
  "invoice": {
    "id": 1042,
    "number": "20260017",
    "status": "issued",
    "total": 660,
    "due_date": "2026-10-25",
    "sent_at": "2026-10-11T09:14:03+00:00",
    "public_url": "https://vystavfakturu.sk/f/e2eURJ6uZ9yMGkEsF5Uw7fTY9t9JK0V0yoIvJAHV",
    "events": [
      {
        "id": 5120,
        "type": "issued",
        "label": "Vystavená",
        "channel": null,
        "recipient": null,
        "meta": {
          "number": "20260017"
        },
        "occurred_at": "2026-10-11T09:14:02+00:00"
      },
      {
        "id": 5121,
        "type": "sent",
        "label": "Odoslaná",
        "channel": "email",
        "recipient": "ucty@podhradom.sk",
        "meta": {
          "subject": "Faktúra 20260017 od Jana Nováková – Grafika"
        },
        "occurred_at": "2026-10-11T09:14:03+00:00"
      },
      {
        "id": 5188,
        "type": "reminded",
        "label": "Pripomenutá",
        "channel": "email",
        "recipient": "ucty@podhradom.sk",
        "meta": {
          "subject": "Pripomienka: faktúra 20260017 od Jana Nováková – Grafika"
        },
        "occurred_at": "2026-11-01T08:00:04+00:00"
      }
    ]
  }
}

eFaktúra

Stav registrácie v sieti Peppol #

GET /peppol

Či firma prijíma eFaktúry a pod akou Peppol adresou (0245 a 10-miestne DIČ). Stav je none (neregistrovaná), pending (čaká, napríklad kým nás vyberiete ako doručovateľa na portáli finančnej správy; odkaz je v action_url), active alebo failed (dôvod je v error). Uvádza aj, koľko eFaktúr firma tento mesiac odoslala a koľko je v balíku.

curl https://vystavfakturu.sk/api/v1/peppol \
  -H "Authorization: Bearer $VF_API_KEY" \
  -H "Accept: application/json"
Odpoveď 200
{
  "peppol_id": "0245:1023456789",
  "status": "active",
  "registered_at": "2026-10-11T08:02:11+00:00",
  "error": null,
  "action_url": null,
  "can_register": true,
  "can_receive": true,
  "can_send": true,
  "usage": {
    "month": "2026-10",
    "sent": 14,
    "included": 1000
  }
}

Zaregistrovať firmu na prijímanie eFaktúr #

POST /peppol/register

Zaregistruje firmu v sieti Peppol pod adresou 0245:DIČ, aby jej mohli dodávatelia posielať eFaktúry. Prijímanie je zadarmo v každom balíku. Firma potrebuje 10-miestne DIČ. Ak eFaktúry pre DIČ už prijíma iný doručovateľ, stav bude failed s vysvetlením v error. Vráti rovnaký stav ako GET /peppol.

Len v balíku Zadarmo, Štandard a eFaktúra.

Chyby

422
Firma nemá 10-miestne DIČ (chyba v errors.dic).
curl -X POST https://vystavfakturu.sk/api/v1/peppol/register \
  -H "Authorization: Bearer $VF_API_KEY" \
  -H "Accept: application/json"
Odpoveď 200
{
  "peppol_id": "0245:1023456789",
  "status": "active",
  "registered_at": "2026-10-11T08:02:11+00:00",
  "error": null,
  "action_url": null,
  "can_register": true,
  "can_receive": true,
  "can_send": true,
  "usage": {
    "month": "2026-10",
    "sent": 14,
    "included": 1000
  }
}

Odoslať eFaktúru #

POST /invoices/{invoice}/peppol

Pošle faktúru odberateľovi ako eFaktúru cez sieť Peppol (Peppol BIS Billing 3.0, UBL 2.1). Koncept sa pred odoslaním vystaví. Odberateľa nájdeme podľa jeho DIČ (0245:DIČ) a pred odoslaním eFaktúru skontrolujeme. Odosiela sa na pozadí: v časovej osi faktúry pribudne Odoslaná, potom Doručená, alebo Odmietnutá či Odoslanie zlyhalo s dôvodom. Odpoveď je faktúra s údajmi o doručení (delivery). Firma musí byť v sieti Peppol zaregistrovaná.

Len v balíku eFaktúra.

Parametre v ceste

invoice integer povinný
ID faktúry.

Chyby

402
Váš balík neobsahuje posielanie eFaktúr.
404
Faktúra neexistuje alebo patrí inej firme.
422
eFaktúru nemožno odoslať: odberateľ nemá DIČ alebo nie je v sieti Peppol, faktúre chýbajú údaje, firma nie je zaregistrovaná alebo faktúra už bola odoslaná. Dôvody sú v errors.peppol, pri neúplnom koncepte pri jednotlivých poliach.
curl -X POST https://vystavfakturu.sk/api/v1/invoices/1042/peppol \
  -H "Authorization: Bearer $VF_API_KEY" \
  -H "Accept: application/json"
Odpoveď 202
{
  "id": 1042,
  "number": "20260017",
  "status": "issued",
  "total": 811.8,
  "sent_at": null,
  "events": [
    {
      "id": 5120,
      "type": "issued",
      "label": "Vystavená",
      "channel": null,
      "recipient": null,
      "meta": {
        "number": "20260017"
      },
      "occurred_at": "2026-10-11T09:14:02+00:00"
    }
  ],
  "delivery": {
    "id": 382,
    "channel": "peppol",
    "recipient": "0245:2023456789",
    "status": "queued",
    "error": null
  }
}

Stiahnuť eFaktúru (UBL) #

GET /invoices/{invoice}/ubl

Vystavená faktúra ako eFaktúra v XML: Peppol BIS Billing 3.0 v UBL 2.1 (EN 16931). Faktúra je typu 380, zálohová 386, dobropis CreditNote 381 s odkazom na opravovanú faktúru.

Len v balíku Zadarmo, Štandard a eFaktúra.

Parametre v ceste

invoice integer povinný
ID faktúry.

Chyby

404
Faktúra neexistuje alebo patrí inej firme.
422
Faktúra je ešte koncept.
curl https://vystavfakturu.sk/api/v1/invoices/1042/ubl \
  -H "Authorization: Bearer $VF_API_KEY" \
  -o 20260017.xml

Odpoveď 200: Súbor XML (application/xml).

Odberatelia

Zoznam odberateľov #

GET /clients

Všetci odberatelia firmy podľa názvu, v data (bez stránkovania). Každý má aj stats: počet vystavených faktúr, vyfakturované v roku, neuhradené a po splatnosti.

Parametre dotazu

q string
Hľadá v názve a IČO.
year integer
Rok pre stats.total_year. Predvolene aktuálny.
curl https://vystavfakturu.sk/api/v1/clients \
  -H "Authorization: Bearer $VF_API_KEY" \
  -H "Accept: application/json"
Odpoveď 200
{
  "data": [
    {
      "id": 12,
      "name": "Kaviareň pod Hradom s.r.o.",
      "address_line": "Zámocká 3",
      "postal_code": "811 01",
      "city": "Bratislava",
      "country": "Slovensko",
      "ico": "87654321",
      "dic": "2023456789",
      "ic_dph": "SK2023456789",
      "email": "ucty@podhradom.sk",
      "peppol_id": null,
      "note": null,
      "created_at": "2026-09-02T10:12:00+00:00",
      "stats": {
        "count": 6,
        "total_year": 3960,
        "unpaid": 660,
        "overdue": 0,
        "last_issue_date": "2026-10-11"
      }
    }
  ]
}

Nový odberateľ #

POST /clients

Pridá odberateľa. Duplicitu podľa IČO nekontrolujeme, najprv si ho môžete vyhľadať cez q.

Telo požiadavky (JSON)

name string povinný
Názov alebo meno, najviac 255 znakov.
address_line string
Ulica a číslo.
postal_code string
PSČ.
city string
Mesto.
country string
Krajina, napríklad Slovensko.
ico string
IČO.
dic string
DIČ.
ic_dph string
IČ DPH, ak je odberateľ platiteľ DPH.
email string
E-mail, na ktorý sa posielajú faktúry.
note string
Interná poznámka, najviac 2000 znakov. Na faktúru sa netlačí.

Chyby

422
Chýba name alebo je neplatný e-mail.
curl -X POST https://vystavfakturu.sk/api/v1/clients \
  -H "Authorization: Bearer $VF_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Kaviareň pod Hradom s.r.o.",
  "address_line": "Zámocká 3",
  "postal_code": "811 01",
  "city": "Bratislava",
  "ico": "87654321",
  "dic": "2023456789",
  "email": "ucty@podhradom.sk"
}'
Odpoveď 201
{
  "id": 12,
  "name": "Kaviareň pod Hradom s.r.o.",
  "address_line": "Zámocká 3",
  "postal_code": "811 01",
  "city": "Bratislava",
  "country": "Slovensko",
  "ico": "87654321",
  "dic": "2023456789",
  "ic_dph": "SK2023456789",
  "email": "ucty@podhradom.sk",
  "peppol_id": null,
  "note": null,
  "created_at": "2026-09-02T10:12:00+00:00"
}

Detail odberateľa #

GET /clients/{client}

Jeden odberateľ.

Parametre v ceste

client integer povinný
ID odberateľa.

Chyby

404
Záznam neexistuje alebo patrí inej firme.
curl https://vystavfakturu.sk/api/v1/clients/12 \
  -H "Authorization: Bearer $VF_API_KEY" \
  -H "Accept: application/json"
Odpoveď 200
{
  "id": 12,
  "name": "Kaviareň pod Hradom s.r.o.",
  "address_line": "Zámocká 3",
  "postal_code": "811 01",
  "city": "Bratislava",
  "country": "Slovensko",
  "ico": "87654321",
  "dic": "2023456789",
  "ic_dph": "SK2023456789",
  "email": "ucty@podhradom.sk",
  "peppol_id": null,
  "note": null,
  "created_at": "2026-09-02T10:12:00+00:00"
}

Úprava odberateľa #

PATCH /clients/{client}

Zmení len údaje, ktoré pošlete. Vystavené faktúry si nechajú údaje, s ktorými boli vystavené.

Parametre v ceste

client integer povinný
ID odberateľa.

Telo požiadavky (JSON)

name string
Názov alebo meno, najviac 255 znakov.
address_line string
Ulica a číslo.
postal_code string
PSČ.
city string
Mesto.
country string
Krajina, napríklad Slovensko.
ico string
IČO.
dic string
DIČ.
ic_dph string
IČ DPH, ak je odberateľ platiteľ DPH.
email string
E-mail, na ktorý sa posielajú faktúry.
note string
Interná poznámka, najviac 2000 znakov. Na faktúru sa netlačí.

Chyby

404
Záznam neexistuje alebo patrí inej firme.
422
Neplatný údaj.
curl -X PATCH https://vystavfakturu.sk/api/v1/clients/12 \
  -H "Authorization: Bearer $VF_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
  "email": "ucty@podhradom.sk"
}'
Odpoveď 200
{
  "id": 12,
  "name": "Kaviareň pod Hradom s.r.o.",
  "address_line": "Zámocká 3",
  "postal_code": "811 01",
  "city": "Bratislava",
  "country": "Slovensko",
  "ico": "87654321",
  "dic": "2023456789",
  "ic_dph": "SK2023456789",
  "email": "ucty@podhradom.sk",
  "peppol_id": null,
  "note": null,
  "created_at": "2026-09-02T10:12:00+00:00"
}

Zmazanie odberateľa #

DELETE /clients/{client}

Zmaže odberateľa. Jeho faktúry zostanú, len už nebudú priradené k odberateľovi.

Parametre v ceste

client integer povinný
ID odberateľa.

Chyby

404
Záznam neexistuje alebo patrí inej firme.
curl -X DELETE https://vystavfakturu.sk/api/v1/clients/12 \
  -H "Authorization: Bearer $VF_API_KEY" \
  -H "Accept: application/json"

Odpoveď 204: bez tela.

Overiť odberateľa v sieti Peppol #

POST /clients/{client}/peppol-check

Zistí podľa DIČ, či odberateľ prijíma eFaktúry. Ak áno, uloží jeho Peppol adresu do peppol_id. Vráti odberateľa a výsledok overenia v peppol.

Parametre v ceste

client integer povinný
ID odberateľa.

Chyby

404
Odberateľ neexistuje alebo patrí inej firme.
422
Odberateľ nemá 10-miestne DIČ (chyba v errors.dic).
curl -X POST https://vystavfakturu.sk/api/v1/clients/12/peppol-check \
  -H "Authorization: Bearer $VF_API_KEY" \
  -H "Accept: application/json"
Odpoveď 200
{
  "id": 12,
  "name": "Kaviareň pod Hradom s.r.o.",
  "ico": "87654321",
  "dic": "2023456789",
  "ic_dph": "SK2023456789",
  "peppol_id": "0245:2023456789",
  "peppol": {
    "id": "0245:2023456789",
    "registered": true,
    "name": "Kaviareň pod Hradom s.r.o.",
    "checked_at": "2026-10-11T09:20:00+00:00"
  }
}

Položky

Zoznam položiek #

GET /products

Uložené položky podľa názvu, v data (bez stránkovania).

Parametre dotazu

q string
Hľadá v názve.
curl https://vystavfakturu.sk/api/v1/products \
  -H "Authorization: Bearer $VF_API_KEY" \
  -H "Accept: application/json"
Odpoveď 200
{
  "data": [
    {
      "id": 4,
      "name": "Návrh loga",
      "description": "Tri návrhy a dve kolá úprav",
      "unit": "ks",
      "price": 450,
      "vat_rate": 23
    }
  ]
}

Nová položka #

POST /products

Uloží položku, ktorú potom pridáte na faktúru jedným ťuknutím.

Telo požiadavky (JSON)

name string povinný
Názov položky, najviac 255 znakov.
description string
Popis pod názvom, najviac 1000 znakov.
unit string
Merná jednotka, napríklad ks, hod, m, kg.
price number
Cena za jednotku bez DPH.
vat_rate integer
Sadzba DPH v percentách, 0 až 100.

Chyby

422
Chýba name alebo je neplatná cena či sadzba DPH.
curl -X POST https://vystavfakturu.sk/api/v1/products \
  -H "Authorization: Bearer $VF_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Návrh loga",
  "unit": "ks",
  "price": 450,
  "vat_rate": 23
}'
Odpoveď 201
{
  "id": 4,
  "name": "Návrh loga",
  "description": "Tri návrhy a dve kolá úprav",
  "unit": "ks",
  "price": 450,
  "vat_rate": 23
}

Detail položky #

GET /products/{product}

Jedna položka.

Parametre v ceste

product integer povinný
ID položky.

Chyby

404
Záznam neexistuje alebo patrí inej firme.
curl https://vystavfakturu.sk/api/v1/products/4 \
  -H "Authorization: Bearer $VF_API_KEY" \
  -H "Accept: application/json"
Odpoveď 200
{
  "id": 4,
  "name": "Návrh loga",
  "description": "Tri návrhy a dve kolá úprav",
  "unit": "ks",
  "price": 450,
  "vat_rate": 23
}

Úprava položky #

PATCH /products/{product}

Zmení len údaje, ktoré pošlete. Faktúry, na ktorých položka už je, sa nemenia.

Parametre v ceste

product integer povinný
ID položky.

Telo požiadavky (JSON)

name string
Názov položky, najviac 255 znakov.
description string
Popis pod názvom, najviac 1000 znakov.
unit string
Merná jednotka, napríklad ks, hod, m, kg.
price number
Cena za jednotku bez DPH.
vat_rate integer
Sadzba DPH v percentách, 0 až 100.

Chyby

404
Záznam neexistuje alebo patrí inej firme.
422
Neplatný údaj.
curl -X PATCH https://vystavfakturu.sk/api/v1/products/4 \
  -H "Authorization: Bearer $VF_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
  "price": 480
}'
Odpoveď 200
{
  "id": 4,
  "name": "Návrh loga",
  "description": "Tri návrhy a dve kolá úprav",
  "unit": "ks",
  "price": 480,
  "vat_rate": 23
}

Zmazanie položky #

DELETE /products/{product}

Zmaže uloženú položku. Faktúr sa to nedotkne.

Parametre v ceste

product integer povinný
ID položky.

Chyby

404
Záznam neexistuje alebo patrí inej firme.
curl -X DELETE https://vystavfakturu.sk/api/v1/products/4 \
  -H "Authorization: Bearer $VF_API_KEY" \
  -H "Accept: application/json"

Odpoveď 204: bez tela.

Poznámky

Zoznam uložených poznámok #

GET /saved-notes

Poznámky, ktoré editor ponúka pri písaní faktúry, naposledy uložené prvé, v data (bez stránkovania). Každá patrí k jednému poľu faktúry: aboveItemsNote je poznámka nad položkami, note poznámka pod nimi.

Parametre dotazu

field string
Len poznámky jedného poľa: aboveItemsNote alebo note.

Chyby

422
Neznáme pole (field).
curl https://vystavfakturu.sk/api/v1/saved-notes \
  -H "Authorization: Bearer $VF_API_KEY" \
  -H "Accept: application/json"
Odpoveď 200
{
  "data": [
    {
      "id": 3,
      "field": "aboveItemsNote",
      "text": "Fakturujeme vám za služby v mesiaci október 2026."
    }
  ]
}

Nová uložená poznámka #

POST /saved-notes

Uloží poznámku, ktorú editor potom ponúkne v tom istom poli faktúry. Poznámku, ktorú pole už má, neuloží druhýkrát: vráti tú existujúcu so stavom 200.

Telo požiadavky (JSON)

field string povinný
Pole faktúry: aboveItemsNote (nad položkami) alebo note (pod položkami).
text string povinný
Text poznámky, najviac 1000 znakov ako poznámka na faktúre.

Chyby

422
Chýba text, je dlhší ako 1000 znakov, alebo neznáme pole (field).
curl -X POST https://vystavfakturu.sk/api/v1/saved-notes \
  -H "Authorization: Bearer $VF_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
  "field": "aboveItemsNote",
  "text": "Fakturujeme vám za služby v mesiaci október 2026."
}'
Odpoveď 201
{
  "id": 3,
  "field": "aboveItemsNote",
  "text": "Fakturujeme vám za služby v mesiaci október 2026."
}

Zmazanie uloženej poznámky #

DELETE /saved-notes/{savedNote}

Zmaže uloženú poznámku. Faktúr, na ktorých je, sa to nedotkne.

Parametre v ceste

savedNote integer povinný
ID uloženej poznámky.

Chyby

404
Záznam neexistuje alebo patrí inej firme.
curl -X DELETE https://vystavfakturu.sk/api/v1/saved-notes/3 \
  -H "Authorization: Bearer $VF_API_KEY" \
  -H "Accept: application/json"

Odpoveď 204: bez tela.

Opakované faktúry

Zoznam pravidelných faktúr #

GET /recurring-invoices

Všetky pravidelné faktúry firmy, najprv aktívne podľa dátumu najbližšieho vystavenia. Pole last_error vysvetľuje, prečo posledná faktúra ostala ako koncept.

Chyby

402
Pravidelné faktúry nie sú súčasťou vášho balíka.
curl https://vystavfakturu.sk/api/v1/recurring-invoices \
  -H "Authorization: Bearer $VF_API_KEY" \
  -H "Accept: application/json"
Odpoveď 200
{
  "data": [
    {
      "id": 12,
      "name": "Správa webu",
      "client_id": 34,
      "buyer_name": "Kaviareň pod Hradom s.r.o.",
      "frequency": "monthly",
      "frequency_label": "mesačne",
      "next_issue_on": "2026-11-01",
      "payment_term_days": 14,
      "send_automatically": true,
      "active": true,
      "last_issued_at": "2026-10-01T04:00:12+00:00",
      "last_error": null,
      "currency": "EUR",
      "total": 120,
      "payload": {
        "documentType": "invoice",
        "seller": {
          "name": "Jana Nováková – Grafika",
          "businessId": "12345678"
        },
        "buyer": {
          "name": "Kaviareň pod Hradom s.r.o.",
          "businessId": "87654321"
        },
        "paymentMethod": {
          "type": "bank",
          "bankDetails": {
            "iban": "SK3112000000198742637541",
            "variableSymbol": null
          }
        },
        "items": [
          {
            "name": "Správa webu – {mesiac} {rok}",
            "quantity": 1,
            "unitType": "ks",
            "pricePerUnit": 120,
            "vatPercentage": 23
          }
        ],
        "vatEnabled": false,
        "currencyCode": "EUR"
      },
      "invoices_count": 9,
      "created_at": "2026-01-15T10:20:00+00:00",
      "updated_at": "2026-10-01T04:00:12+00:00"
    }
  ]
}

Vytvorenie pravidelnej faktúry #

POST /recurring-invoices

Faktúra sa vystaví v deň next_issue_on s dátumom vystavenia aj dodania v ten deň, dostane ďalšie číslo z vášho číselného radu a next_issue_on sa posunie o mesiac, štvrťrok alebo rok. V názvoch položiek a v poznámkach môžete použiť {mesiac}, {rok} a {stvrtrok}, ktoré sa nahradia obdobím, za ktoré sa faktúra vystavuje (napríklad „Správa webu – {mesiac} {rok}“ sa zmení na „Správa webu – október 2026“).

Telo požiadavky (JSON)

name string povinný
Názov pravidelnej faktúry, ktorý vidíte v zóne.
client_id integer
Odberateľ z vašich odberateľov. Jeho údaje sa doplnia do faktúry, ak ich payload neobsahuje.
payload object povinný
Faktúra v rovnakom tvare ako pri POST /invoices, bez čísla a dátumov. Doplní sa o vás ako dodávateľa a o predvolené údaje faktúr. Musí byť úplná (odberateľ, položky, spôsob úhrady). V názvoch položiek a v poznámkach môžete použiť {mesiac}, {rok} a {stvrtrok}, ktoré sa nahradia obdobím, za ktoré sa faktúra vystavuje (napríklad „Správa webu – {mesiac} {rok}“ sa zmení na „Správa webu – október 2026“).
frequency string povinný
Ako často sa faktúra vystavuje: monthly, quarterly alebo yearly.
next_issue_on date povinný
Deň, keď sa vystaví najbližšia faktúra (RRRR-MM-DD, dnes alebo neskôr). Faktúry sa vystavujú ráno.
payment_term_days integer
Splatnosť v dňoch od vystavenia (0 – 365). Predvolene splatnosť z nastavení faktúr, inak 14.
send_automatically boolean
Vystavenú faktúru hneď aj odoslať odberateľovi. Predvolene false.
active boolean
Pozastavená pravidelná faktúra (false) sa nevystavuje. Predvolene true.

Chyby

402
Pravidelné faktúry nie sú súčasťou vášho balíka.
404
Odberateľ client_id neexistuje.
422
Neúplná faktúra (napríklad chýba odberateľ alebo položky), neznáma frequency alebo next_issue_on v minulosti.
curl -X POST https://vystavfakturu.sk/api/v1/recurring-invoices \
  -H "Authorization: Bearer $VF_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Správa webu",
  "client_id": 34,
  "payload": {
    "items": [
      {
        "name": "Správa webu – {mesiac} {rok}",
        "quantity": 1,
        "unitType": "ks",
        "pricePerUnit": 120,
        "vatPercentage": 23
      }
    ]
  },
  "frequency": "monthly",
  "next_issue_on": "2026-11-01",
  "send_automatically": true
}'
Odpoveď 201
{
  "id": 12,
  "name": "Správa webu",
  "client_id": 34,
  "buyer_name": "Kaviareň pod Hradom s.r.o.",
  "frequency": "monthly",
  "frequency_label": "mesačne",
  "next_issue_on": "2026-11-01",
  "payment_term_days": 14,
  "send_automatically": true,
  "active": true,
  "last_issued_at": "2026-10-01T04:00:12+00:00",
  "last_error": null,
  "currency": "EUR",
  "total": 120,
  "payload": {
    "documentType": "invoice",
    "seller": {
      "name": "Jana Nováková – Grafika",
      "businessId": "12345678"
    },
    "buyer": {
      "name": "Kaviareň pod Hradom s.r.o.",
      "businessId": "87654321"
    },
    "paymentMethod": {
      "type": "bank",
      "bankDetails": {
        "iban": "SK3112000000198742637541",
        "variableSymbol": null
      }
    },
    "items": [
      {
        "name": "Správa webu – {mesiac} {rok}",
        "quantity": 1,
        "unitType": "ks",
        "pricePerUnit": 120,
        "vatPercentage": 23
      }
    ],
    "vatEnabled": false,
    "currencyCode": "EUR"
  },
  "invoices_count": 9,
  "created_at": "2026-01-15T10:20:00+00:00",
  "updated_at": "2026-10-01T04:00:12+00:00"
}

Detail pravidelnej faktúry #

GET /recurring-invoices/{recurringInvoice}

Pravidelná faktúra s počtom faktúr, ktoré z nej vznikli (invoices_count). Tie nájdete v GET /invoices podľa recurring_invoice_id.

Parametre v ceste

recurringInvoice integer povinný
ID pravidelnej faktúry.

Chyby

402
Pravidelné faktúry nie sú súčasťou vášho balíka.
404
Pravidelná faktúra neexistuje.
curl https://vystavfakturu.sk/api/v1/recurring-invoices/12 \
  -H "Authorization: Bearer $VF_API_KEY" \
  -H "Accept: application/json"
Odpoveď 200
{
  "id": 12,
  "name": "Správa webu",
  "client_id": 34,
  "buyer_name": "Kaviareň pod Hradom s.r.o.",
  "frequency": "monthly",
  "frequency_label": "mesačne",
  "next_issue_on": "2026-11-01",
  "payment_term_days": 14,
  "send_automatically": true,
  "active": true,
  "last_issued_at": "2026-10-01T04:00:12+00:00",
  "last_error": null,
  "currency": "EUR",
  "total": 120,
  "payload": {
    "documentType": "invoice",
    "seller": {
      "name": "Jana Nováková – Grafika",
      "businessId": "12345678"
    },
    "buyer": {
      "name": "Kaviareň pod Hradom s.r.o.",
      "businessId": "87654321"
    },
    "paymentMethod": {
      "type": "bank",
      "bankDetails": {
        "iban": "SK3112000000198742637541",
        "variableSymbol": null
      }
    },
    "items": [
      {
        "name": "Správa webu – {mesiac} {rok}",
        "quantity": 1,
        "unitType": "ks",
        "pricePerUnit": 120,
        "vatPercentage": 23
      }
    ],
    "vatEnabled": false,
    "currencyCode": "EUR"
  },
  "invoices_count": 9,
  "created_at": "2026-01-15T10:20:00+00:00",
  "updated_at": "2026-10-01T04:00:12+00:00"
}

Úprava pravidelnej faktúry #

PATCH /recurring-invoices/{recurringInvoice}

Zmení len poslané polia. Zmena sa prejaví na faktúrach vystavených odteraz. Keď pozastavenú faktúru znova zapnete (active: true) bez nového next_issue_on, pokračuje najbližším dátumom v rade a zmeškané obdobia nevystaví.

Parametre v ceste

recurringInvoice integer povinný
ID pravidelnej faktúry.

Telo požiadavky (JSON)

name string
Názov pravidelnej faktúry, ktorý vidíte v zóne.
client_id integer
Odberateľ z vašich odberateľov. Jeho údaje sa doplnia do faktúry, ak ich payload neobsahuje.
payload object
Faktúra v rovnakom tvare ako pri POST /invoices, bez čísla a dátumov. Doplní sa o vás ako dodávateľa a o predvolené údaje faktúr. Musí byť úplná (odberateľ, položky, spôsob úhrady). V názvoch položiek a v poznámkach môžete použiť {mesiac}, {rok} a {stvrtrok}, ktoré sa nahradia obdobím, za ktoré sa faktúra vystavuje (napríklad „Správa webu – {mesiac} {rok}“ sa zmení na „Správa webu – október 2026“).
frequency string
Ako často sa faktúra vystavuje: monthly, quarterly alebo yearly.
next_issue_on date
Deň, keď sa vystaví najbližšia faktúra (RRRR-MM-DD, dnes alebo neskôr). Faktúry sa vystavujú ráno.
payment_term_days integer
Splatnosť v dňoch od vystavenia (0 – 365). Predvolene splatnosť z nastavení faktúr, inak 14.
send_automatically boolean
Vystavenú faktúru hneď aj odoslať odberateľovi. Predvolene false.
active boolean
Pozastavená pravidelná faktúra (false) sa nevystavuje. Predvolene true.

Chyby

402
Pravidelné faktúry nie sú súčasťou vášho balíka.
404
Pravidelná faktúra neexistuje.
422
Neplatné údaje.
curl -X PATCH https://vystavfakturu.sk/api/v1/recurring-invoices/12 \
  -H "Authorization: Bearer $VF_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
  "active": false
}'
Odpoveď 200
{
  "id": 12,
  "name": "Správa webu",
  "client_id": 34,
  "buyer_name": "Kaviareň pod Hradom s.r.o.",
  "frequency": "monthly",
  "frequency_label": "mesačne",
  "next_issue_on": "2026-11-01",
  "payment_term_days": 14,
  "send_automatically": true,
  "active": true,
  "last_issued_at": "2026-10-01T04:00:12+00:00",
  "last_error": null,
  "currency": "EUR",
  "total": 120,
  "payload": {
    "documentType": "invoice",
    "seller": {
      "name": "Jana Nováková – Grafika",
      "businessId": "12345678"
    },
    "buyer": {
      "name": "Kaviareň pod Hradom s.r.o.",
      "businessId": "87654321"
    },
    "paymentMethod": {
      "type": "bank",
      "bankDetails": {
        "iban": "SK3112000000198742637541",
        "variableSymbol": null
      }
    },
    "items": [
      {
        "name": "Správa webu – {mesiac} {rok}",
        "quantity": 1,
        "unitType": "ks",
        "pricePerUnit": 120,
        "vatPercentage": 23
      }
    ],
    "vatEnabled": false,
    "currencyCode": "EUR"
  },
  "invoices_count": 9,
  "created_at": "2026-01-15T10:20:00+00:00",
  "updated_at": "2026-10-01T04:00:12+00:00"
}

Zmazanie pravidelnej faktúry #

DELETE /recurring-invoices/{recurringInvoice}

Ďalšie faktúry sa už nevystavia. Faktúry, ktoré z nej vznikli, ostávajú.

Parametre v ceste

recurringInvoice integer povinný
ID pravidelnej faktúry.

Chyby

402
Pravidelné faktúry nie sú súčasťou vášho balíka.
404
Pravidelná faktúra neexistuje.
curl -X DELETE https://vystavfakturu.sk/api/v1/recurring-invoices/12 \
  -H "Authorization: Bearer $VF_API_KEY" \
  -H "Accept: application/json"

Odpoveď 204: bez tela.

Pravidelná faktúra z existujúcej faktúry #

POST /invoices/{invoice}/recurring

Vytvorí pravidelnú faktúru s odberateľom, položkami a poznámkami faktúry, bez jej čísla a dátumov. Splatnosť sa prevezme z faktúry. Vystavená faktúra sa stane prvou faktúrou radu. Dobropis sa opakovať nedá.

Parametre v ceste

invoice integer povinný
ID faktúry.

Telo požiadavky (JSON)

frequency string povinný
Ako často sa faktúra vystavuje: monthly, quarterly alebo yearly.
next_issue_on date povinný
Deň, keď sa vystaví najbližšia faktúra (RRRR-MM-DD, dnes alebo neskôr). Faktúry sa vystavujú ráno.
send_automatically boolean
Vystavenú faktúru hneď aj odoslať odberateľovi. Predvolene false.
name string
Názov pravidelnej faktúry. Predvolene „odberateľ – mesačne“.
payment_term_days integer
Splatnosť v dňoch od vystavenia (0 – 365). Predvolene splatnosť z nastavení faktúr, inak 14.

Chyby

402
Pravidelné faktúry nie sú súčasťou vášho balíka.
404
Faktúra neexistuje.
422
Faktúra je dobropis alebo nie je úplná, neznáma frequency alebo next_issue_on v minulosti.
curl -X POST https://vystavfakturu.sk/api/v1/invoices/101/recurring \
  -H "Authorization: Bearer $VF_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
  "frequency": "monthly",
  "next_issue_on": "2026-11-01",
  "send_automatically": true,
  "name": "Správa webu"
}'
Odpoveď 201
{
  "id": 12,
  "name": "Správa webu",
  "client_id": 34,
  "buyer_name": "Kaviareň pod Hradom s.r.o.",
  "frequency": "monthly",
  "frequency_label": "mesačne",
  "next_issue_on": "2026-11-01",
  "payment_term_days": 14,
  "send_automatically": true,
  "active": true,
  "last_issued_at": "2026-10-01T04:00:12+00:00",
  "last_error": null,
  "currency": "EUR",
  "total": 120,
  "payload": {
    "documentType": "invoice",
    "seller": {
      "name": "Jana Nováková – Grafika",
      "businessId": "12345678"
    },
    "buyer": {
      "name": "Kaviareň pod Hradom s.r.o.",
      "businessId": "87654321"
    },
    "paymentMethod": {
      "type": "bank",
      "bankDetails": {
        "iban": "SK3112000000198742637541",
        "variableSymbol": null
      }
    },
    "items": [
      {
        "name": "Správa webu – {mesiac} {rok}",
        "quantity": 1,
        "unitType": "ks",
        "pricePerUnit": 120,
        "vatPercentage": 23
      }
    ],
    "vatEnabled": false,
    "currencyCode": "EUR"
  },
  "invoices_count": 9,
  "created_at": "2026-01-15T10:20:00+00:00",
  "updated_at": "2026-10-01T04:00:12+00:00"
}

Kontroly

Kontrola odberateľa #

GET /clients/{client}/checks

Overí odberateľa vo verejných registroch: IČ DPH v systéme VIES Európskej komisie (vat, null bez IČ DPH; valid je null, keď VIES neodpovedá), či k sebe IČO, DIČ a IČ DPH patria podľa registra firiem (company, null keď firmu nenájdeme), index daňovej spoľahlivosti finančnej správy (tax_reliability) a zoznamy dlžníkov finančnej správy, Sociálnej poisťovne a VšZP (debtors, sumy v eurách). Zoznamy dlžníkov sa pri živnostníkoch a iných fyzických osobách neoverujú (debtors_checked je false). Čo stojí za pozornosť, je vo warnings ako veta po slovensky. Údaje z registrov sa pre IČO pamätajú 24 hodín, checked_at hovorí odkedy. Overuje IČO, DIČ a IČ DPH uložené pri odberateľovi.

Len v balíku Zadarmo, Štandard a eFaktúra.

Parametre v ceste

client integer povinný
ID odberateľa.

Chyby

402
Uložené faktúry nie sú súčasťou vášho balíka.
404
Odberateľ neexistuje.
curl https://vystavfakturu.sk/api/v1/clients/34/checks \
  -H "Authorization: Bearer $VF_API_KEY" \
  -H "Accept: application/json"
Odpoveď 200
{
  "checked_at": "2026-10-11T09:00:00+00:00",
  "company": {
    "name": "Zelená Lúka a.s.",
    "address_line": "Lúčna 1",
    "postal_code": "91101",
    "city": "Trenčín",
    "country": "Slovensko",
    "ico": "50421337",
    "dic": "2120123456",
    "ic_dph": "SK2120123456"
  },
  "vat": {
    "number": "SK2120123456",
    "status": "valid",
    "valid": true,
    "name": "Zelená Lúka a.s.",
    "address": "Lúčna 1\n91101 Trenčín\nSlovensko",
    "checked_at": "2026-10-11T09:00:00+00:00"
  },
  "tax_reliability": {
    "index": "menej spoľahlivý",
    "as_of": "2026-10-05"
  },
  "debtors_checked": true,
  "debtors": [
    {
      "list": "social_insurance_debtors",
      "name": "Sociálna poisťovňa",
      "amount": 313.11,
      "as_of": "2026-10-05"
    }
  ],
  "vat_deregistration_since": null,
  "warnings": [
    "Finančná správa vedie firmu v indexe daňovej spoľahlivosti ako menej spoľahlivú.",
    "Firma dlží Sociálnej poisťovni 313,11 € (k 5. 10. 2026)."
  ]
}

Kontrola firmy podľa IČO, DIČ alebo IČ DPH #

GET /checks

Overí odberateľa vo verejných registroch: IČ DPH v systéme VIES Európskej komisie (vat, null bez IČ DPH; valid je null, keď VIES neodpovedá), či k sebe IČO, DIČ a IČ DPH patria podľa registra firiem (company, null keď firmu nenájdeme), index daňovej spoľahlivosti finančnej správy (tax_reliability) a zoznamy dlžníkov finančnej správy, Sociálnej poisťovne a VšZP (debtors, sumy v eurách). Zoznamy dlžníkov sa pri živnostníkoch a iných fyzických osobách neoverujú (debtors_checked je false). Čo stojí za pozornosť, je vo warnings ako veta po slovensky. Údaje z registrov sa pre IČO pamätajú 24 hodín, checked_at hovorí odkedy. Hodí sa pre odberateľa, ktorého ešte nemáte uloženého. Stačí jedno z čísel; bez IČO firmu nájdeme podľa slovenského DIČ.

Len v balíku Zadarmo, Štandard a eFaktúra.

Parametre dotazu

ico string
IČO firmy. Povinné, ak neuvediete dic ani ic_dph.
dic string
DIČ firmy.
ic_dph string
IČ DPH s kódom krajiny, napríklad SK2120123456. Overí sa aj zahraničné IČ DPH z EÚ.

Chyby

402
Uložené faktúry nie sú súčasťou vášho balíka.
422
Chýba IČO, DIČ aj IČ DPH.
curl https://vystavfakturu.sk/api/v1/checks?ico=50421337 \
  -H "Authorization: Bearer $VF_API_KEY" \
  -H "Accept: application/json"
Odpoveď 200
{
  "checked_at": "2026-10-11T09:00:00+00:00",
  "company": {
    "name": "Zelená Lúka a.s.",
    "address_line": "Lúčna 1",
    "postal_code": "91101",
    "city": "Trenčín",
    "country": "Slovensko",
    "ico": "50421337",
    "dic": "2120123456",
    "ic_dph": "SK2120123456"
  },
  "vat": {
    "number": "SK2120123456",
    "status": "valid",
    "valid": true,
    "name": "Zelená Lúka a.s.",
    "address": "Lúčna 1\n91101 Trenčín\nSlovensko",
    "checked_at": "2026-10-11T09:00:00+00:00"
  },
  "tax_reliability": {
    "index": "menej spoľahlivý",
    "as_of": "2026-10-05"
  },
  "debtors_checked": true,
  "debtors": [
    {
      "list": "social_insurance_debtors",
      "name": "Sociálna poisťovňa",
      "amount": 313.11,
      "as_of": "2026-10-05"
    }
  ],
  "vat_deregistration_since": null,
  "warnings": [
    "Finančná správa vedie firmu v indexe daňovej spoľahlivosti ako menej spoľahlivú.",
    "Firma dlží Sociálnej poisťovni 313,11 € (k 5. 10. 2026)."
  ]
}

Prijaté eFaktúry

Zoznam prijatých eFaktúr #

GET /received-invoices

eFaktúry, ktoré firme prišli cez sieť Peppol, od najnovšej. Stav je unread, read alebo paid.

Len v balíku Zadarmo, Štandard a eFaktúra.

Parametre dotazu

status string
unread (neprečítané), paid (uhradené) alebo unpaid (neuhradené).
q string
Hľadá v čísle faktúry, názve a IČO dodávateľa.
per_page integer
Počet na stránku, 1 až 200 (predvolene 50).
page integer
Stránka.
curl https://vystavfakturu.sk/api/v1/received-invoices?status=unpaid \
  -H "Authorization: Bearer $VF_API_KEY" \
  -H "Accept: application/json"
Odpoveď 200
{
  "data": [
    {
      "id": 77,
      "document_type": "invoice",
      "number": "2026100045",
      "sender_name": "Tlačiareň Svit s.r.o.",
      "sender_peppol_id": "0245:2020123456",
      "sender_ico": "36123456",
      "issue_date": "2026-10-08",
      "due_date": "2026-10-22",
      "currency": "EUR",
      "total": 321.3,
      "status": "unread",
      "received_at": "2026-10-08T10:31:40+00:00",
      "read_at": null,
      "paid_at": null
    }
  ],
  "links": {
    "first": "https://vystavfakturu.sk/api/v1/received-invoices?page=1",
    "last": "https://vystavfakturu.sk/api/v1/received-invoices?page=1",
    "prev": null,
    "next": null
  },
  "meta": {
    "current_page": 1,
    "last_page": 1,
    "per_page": 50,
    "total": 1
  }
}

Detail prijatej eFaktúry #

GET /received-invoices/{receivedInvoice}

Prijatá eFaktúra s tým, čo obsahuje: dodávateľ a odberateľ, položky, platobné údaje (IBAN, variabilný symbol, splatnosť), poznámka a súčty.

Len v balíku Zadarmo, Štandard a eFaktúra.

Parametre v ceste

receivedInvoice integer povinný
ID prijatej eFaktúry.

Chyby

404
Prijatá eFaktúra neexistuje alebo patrí inej firme.
curl https://vystavfakturu.sk/api/v1/received-invoices/77 \
  -H "Authorization: Bearer $VF_API_KEY" \
  -H "Accept: application/json"
Odpoveď 200
{
  "id": 77,
  "document_type": "invoice",
  "number": "2026100045",
  "sender_name": "Tlačiareň Svit s.r.o.",
  "sender_peppol_id": "0245:2020123456",
  "sender_ico": "36123456",
  "issue_date": "2026-10-08",
  "due_date": "2026-10-22",
  "currency": "EUR",
  "total": 321.3,
  "status": "unread",
  "received_at": "2026-10-08T10:31:40+00:00",
  "read_at": null,
  "paid_at": null,
  "details": {
    "seller": {
      "name": "Tlačiareň Svit s.r.o.",
      "peppol_id": "0245:2020123456",
      "ico": "36123456",
      "dic": "2020123456",
      "ic_dph": "SK2020123456",
      "address": {
        "line": "Priemyselná 14",
        "postal_code": "010 01",
        "city": "Žilina",
        "country": "SK"
      },
      "email": "fakturacia@tlaciarensvit.sk"
    },
    "buyer": {
      "name": "Jana Nováková – Grafika",
      "peppol_id": "0245:1023456789",
      "ico": "12345678",
      "dic": "1023456789",
      "ic_dph": "SK1023456789",
      "address": {
        "line": "Hlavná 12",
        "postal_code": "811 01",
        "city": "Bratislava",
        "country": "SK"
      },
      "email": null
    },
    "lines": [
      {
        "name": "Vizitky, 500 ks",
        "quantity": 2,
        "unit": "H87",
        "price": 45,
        "vat_rate": 23,
        "total": 90
      },
      {
        "name": "Leták A5, obojstranný",
        "quantity": 1000,
        "unit": "H87",
        "price": 0.12,
        "vat_rate": 23,
        "total": 120
      },
      {
        "name": "Katalóg farieb (kniha)",
        "quantity": 3,
        "unit": "H87",
        "price": 20,
        "vat_rate": 5,
        "total": 60
      }
    ],
    "payment": {
      "iban": "SK8975000000000012345671",
      "variable_symbol": "2026100045",
      "due_date": "2026-10-22"
    },
    "note": "Ďakujeme za objednávku.",
    "corrected_invoice": null,
    "totals": {
      "net": 270,
      "vat": 51.3,
      "total": 321.3
    }
  }
}

Stiahnuť XML prijatej eFaktúry #

GET /received-invoices/{receivedInvoice}/xml

eFaktúra presne tak, ako prišla (UBL 2.1), napríklad na import do účtovníctva.

Len v balíku Zadarmo, Štandard a eFaktúra.

Parametre v ceste

receivedInvoice integer povinný
ID prijatej eFaktúry.

Chyby

404
Prijatá eFaktúra neexistuje alebo patrí inej firme.
curl https://vystavfakturu.sk/api/v1/received-invoices/77/xml \
  -H "Authorization: Bearer $VF_API_KEY" \
  -o 2026100045.xml

Odpoveď 200: Súbor XML (application/xml).

Označiť ako prečítanú #

POST /received-invoices/{receivedInvoice}/read

Označí prijatú eFaktúru ako prečítanú. Vráti detail.

Len v balíku Zadarmo, Štandard a eFaktúra.

Parametre v ceste

receivedInvoice integer povinný
ID prijatej eFaktúry.

Chyby

404
Prijatá eFaktúra neexistuje alebo patrí inej firme.
curl -X POST https://vystavfakturu.sk/api/v1/received-invoices/77/read \
  -H "Authorization: Bearer $VF_API_KEY" \
  -H "Accept: application/json"
Odpoveď 200
{
  "id": 77,
  "document_type": "invoice",
  "number": "2026100045",
  "sender_name": "Tlačiareň Svit s.r.o.",
  "sender_peppol_id": "0245:2020123456",
  "sender_ico": "36123456",
  "issue_date": "2026-10-08",
  "due_date": "2026-10-22",
  "currency": "EUR",
  "total": 321.3,
  "status": "read",
  "received_at": "2026-10-08T10:31:40+00:00",
  "read_at": "2026-10-11T09:30:00+00:00",
  "paid_at": null,
  "details": {
    "seller": {
      "name": "Tlačiareň Svit s.r.o.",
      "peppol_id": "0245:2020123456",
      "ico": "36123456",
      "dic": "2020123456",
      "ic_dph": "SK2020123456",
      "address": {
        "line": "Priemyselná 14",
        "postal_code": "010 01",
        "city": "Žilina",
        "country": "SK"
      },
      "email": "fakturacia@tlaciarensvit.sk"
    },
    "buyer": {
      "name": "Jana Nováková – Grafika",
      "peppol_id": "0245:1023456789",
      "ico": "12345678",
      "dic": "1023456789",
      "ic_dph": "SK1023456789",
      "address": {
        "line": "Hlavná 12",
        "postal_code": "811 01",
        "city": "Bratislava",
        "country": "SK"
      },
      "email": null
    },
    "lines": [
      {
        "name": "Vizitky, 500 ks",
        "quantity": 2,
        "unit": "H87",
        "price": 45,
        "vat_rate": 23,
        "total": 90
      },
      {
        "name": "Leták A5, obojstranný",
        "quantity": 1000,
        "unit": "H87",
        "price": 0.12,
        "vat_rate": 23,
        "total": 120
      },
      {
        "name": "Katalóg farieb (kniha)",
        "quantity": 3,
        "unit": "H87",
        "price": 20,
        "vat_rate": 5,
        "total": 60
      }
    ],
    "payment": {
      "iban": "SK8975000000000012345671",
      "variable_symbol": "2026100045",
      "due_date": "2026-10-22"
    },
    "note": "Ďakujeme za objednávku.",
    "corrected_invoice": null,
    "totals": {
      "net": 270,
      "vat": 51.3,
      "total": 321.3
    }
  }
}

Označiť ako uhradenú #

POST /received-invoices/{receivedInvoice}/pay

Zaznamená, že ste prijatú eFaktúru uhradili. Bez paid_at platí dnešok. Vráti detail.

Len v balíku Zadarmo, Štandard a eFaktúra.

Parametre v ceste

receivedInvoice integer povinný
ID prijatej eFaktúry.

Telo požiadavky (JSON)

paid_at string
Dátum úhrady (RRRR-MM-DD).

Chyby

404
Prijatá eFaktúra neexistuje alebo patrí inej firme.
422
paid_at nie je dátum.
curl -X POST https://vystavfakturu.sk/api/v1/received-invoices/77/pay \
  -H "Authorization: Bearer $VF_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
  "paid_at": "2026-10-15"
}'
Odpoveď 200
{
  "id": 77,
  "document_type": "invoice",
  "number": "2026100045",
  "sender_name": "Tlačiareň Svit s.r.o.",
  "sender_peppol_id": "0245:2020123456",
  "sender_ico": "36123456",
  "issue_date": "2026-10-08",
  "due_date": "2026-10-22",
  "currency": "EUR",
  "total": 321.3,
  "status": "paid",
  "received_at": "2026-10-08T10:31:40+00:00",
  "read_at": "2026-10-11T09:30:00+00:00",
  "paid_at": "2026-10-15T00:00:00+00:00",
  "details": {
    "seller": {
      "name": "Tlačiareň Svit s.r.o.",
      "peppol_id": "0245:2020123456",
      "ico": "36123456",
      "dic": "2020123456",
      "ic_dph": "SK2020123456",
      "address": {
        "line": "Priemyselná 14",
        "postal_code": "010 01",
        "city": "Žilina",
        "country": "SK"
      },
      "email": "fakturacia@tlaciarensvit.sk"
    },
    "buyer": {
      "name": "Jana Nováková – Grafika",
      "peppol_id": "0245:1023456789",
      "ico": "12345678",
      "dic": "1023456789",
      "ic_dph": "SK1023456789",
      "address": {
        "line": "Hlavná 12",
        "postal_code": "811 01",
        "city": "Bratislava",
        "country": "SK"
      },
      "email": null
    },
    "lines": [
      {
        "name": "Vizitky, 500 ks",
        "quantity": 2,
        "unit": "H87",
        "price": 45,
        "vat_rate": 23,
        "total": 90
      },
      {
        "name": "Leták A5, obojstranný",
        "quantity": 1000,
        "unit": "H87",
        "price": 0.12,
        "vat_rate": 23,
        "total": 120
      },
      {
        "name": "Katalóg farieb (kniha)",
        "quantity": 3,
        "unit": "H87",
        "price": 20,
        "vat_rate": 5,
        "total": 60
      }
    ],
    "payment": {
      "iban": "SK8975000000000012345671",
      "variable_symbol": "2026100045",
      "due_date": "2026-10-22"
    },
    "note": "Ďakujeme za objednávku.",
    "corrected_invoice": null,
    "totals": {
      "net": 270,
      "vat": 51.3,
      "total": 321.3
    }
  }
}

Zrušiť úhradu #

POST /received-invoices/{receivedInvoice}/unpay

Vráti prijatú eFaktúru medzi neuhradené. Vráti detail.

Len v balíku Zadarmo, Štandard a eFaktúra.

Parametre v ceste

receivedInvoice integer povinný
ID prijatej eFaktúry.

Chyby

404
Prijatá eFaktúra neexistuje alebo patrí inej firme.
curl -X POST https://vystavfakturu.sk/api/v1/received-invoices/77/unpay \
  -H "Authorization: Bearer $VF_API_KEY" \
  -H "Accept: application/json"
Odpoveď 200
{
  "id": 77,
  "document_type": "invoice",
  "number": "2026100045",
  "sender_name": "Tlačiareň Svit s.r.o.",
  "sender_peppol_id": "0245:2020123456",
  "sender_ico": "36123456",
  "issue_date": "2026-10-08",
  "due_date": "2026-10-22",
  "currency": "EUR",
  "total": 321.3,
  "status": "read",
  "received_at": "2026-10-08T10:31:40+00:00",
  "read_at": "2026-10-11T09:30:00+00:00",
  "paid_at": null,
  "details": {
    "seller": {
      "name": "Tlačiareň Svit s.r.o.",
      "peppol_id": "0245:2020123456",
      "ico": "36123456",
      "dic": "2020123456",
      "ic_dph": "SK2020123456",
      "address": {
        "line": "Priemyselná 14",
        "postal_code": "010 01",
        "city": "Žilina",
        "country": "SK"
      },
      "email": "fakturacia@tlaciarensvit.sk"
    },
    "buyer": {
      "name": "Jana Nováková – Grafika",
      "peppol_id": "0245:1023456789",
      "ico": "12345678",
      "dic": "1023456789",
      "ic_dph": "SK1023456789",
      "address": {
        "line": "Hlavná 12",
        "postal_code": "811 01",
        "city": "Bratislava",
        "country": "SK"
      },
      "email": null
    },
    "lines": [
      {
        "name": "Vizitky, 500 ks",
        "quantity": 2,
        "unit": "H87",
        "price": 45,
        "vat_rate": 23,
        "total": 90
      },
      {
        "name": "Leták A5, obojstranný",
        "quantity": 1000,
        "unit": "H87",
        "price": 0.12,
        "vat_rate": 23,
        "total": 120
      },
      {
        "name": "Katalóg farieb (kniha)",
        "quantity": 3,
        "unit": "H87",
        "price": 20,
        "vat_rate": 5,
        "total": 60
      }
    ],
    "payment": {
      "iban": "SK8975000000000012345671",
      "variable_symbol": "2026100045",
      "due_date": "2026-10-22"
    },
    "note": "Ďakujeme za objednávku.",
    "corrected_invoice": null,
    "totals": {
      "net": 270,
      "vat": 51.3,
      "total": 321.3
    }
  }
}

Export

Export vystavených faktúr #

GET /export/invoices

Vystavené a uhradené faktúry obdobia pre účtovníka. CSV je v UTF-8 s BOM a stĺpcami oddelenými bodkočiarkou, ako ho otvorí Excel so slovenským nastavením: číslo, typ, stav, odberateľ, IČO, DIČ, IČ DPH, vystavená, dodaná, splatná, uhradená, mena, základ, DPH, spolu (dátumy ako 1.10.2026, sumy s desatinnou čiarkou). ZIP obsahuje faktury.csv a ku každej faktúre PDF (pdf/číslo.pdf) a ISDOC (isdoc/číslo.isdoc), ktorý importuje Pohoda, Money S3 a ďalšie účtovné programy. Do jedného ZIP-u sa zmestí najviac 500 faktúr.

Parametre dotazu

from date povinný
Prvý deň obdobia (RRRR-MM-DD), podľa dátumu vystavenia.
to date povinný
Posledný deň obdobia (RRRR-MM-DD), vrátane.
format string
csv (predvolene) alebo zip.

Chyby

402
Export nie je súčasťou vášho balíka.
422
Chýba alebo je neplatné obdobie, neznámy formát, alebo by ZIP mal viac ako 500 faktúr (zvoľte kratšie obdobie alebo CSV).
curl https://vystavfakturu.sk/api/v1/export/invoices?from=2026-10-01&to=2026-10-31&format=csv \
  -H "Authorization: Bearer $VF_API_KEY" \
  -o faktury-2026-10-01-2026-10-31.csv

Odpoveď 200: Súbor faktury-2026-10-01-2026-10-31.csv (text/csv) alebo faktury-2026-10-01-2026-10-31.zip (application/zip).

Export prijatých eFaktúr #

GET /export/received

ZIP s prijatými eFaktúrami obdobia (podľa dátumu vystavenia, bez neho podľa dňa prijatia): ku každej jej XML (UBL) presne tak, ako prišla, a prijate-faktury.csv so stĺpcami číslo, dodávateľ, IČO, Peppol ID, vystavená, splatná, prijatá, uhradená, mena, spolu, súbor.

Parametre dotazu

from date povinný
Prvý deň obdobia (RRRR-MM-DD), podľa dátumu vystavenia.
to date povinný
Posledný deň obdobia (RRRR-MM-DD), vrátane.

Chyby

402
Export nie je súčasťou vášho balíka.
422
Chýba alebo je neplatné obdobie.
curl https://vystavfakturu.sk/api/v1/export/received?from=2026-10-01&to=2026-10-31 \
  -H "Authorization: Bearer $VF_API_KEY" \
  -o prijate-faktury-2026-10-01-2026-10-31.zip

Odpoveď 200: Súbor prijate-faktury-2026-10-01-2026-10-31.zip (application/zip).