Dokumenty
Faktúry, ponuky, zálohové faktúry, objednávky, dobropisy, dodacie listy a drafty. PDF + odoslanie emailom.
Univerzálny endpoint pre všetky obchodné dokumenty: faktúry, ponuky, zálohové faktúry, objednávky, dobropisy, dodacie listy a drafty. Dokumenty sú immutable - PATCH vytvorí novú verziu, history zostáva. Pri vytvorení sa automaticky priradí poradové číslo z aktívneho číselného radu.
Typy dokumentov
Field type riadi celý lifecycle a ovplyvňuje validačné pravidlá. Povolené hodnoty: invoice, quote, proforma, order, credit_note, delivery_note, draft. Detail ku každému typu nájdeš v Reference → Typy dokumentov.
Query parametre pre GET /documents
- •
type- filter na konkrétny typ (invoice / quote / proforma / order / credit_note / delivery_note / draft / advance_tax_document). Daňový doklad k prijatej platbe (advance_tax_document) sa cez API len číta. - •
status- filter na stav dokumentu (open, sent, paid, cancelled, ...). - •
contact_id- filter na konkrétneho kontakta. - •
search- fulltext (number, contact name, ...). - •
from/to- range nadissue_date(ISO 8601). - •
sort_order-ascalebodescnadissue_date. Defaultdesc(najnovšie prvé). - •
page,limit- stránkovanie (default page=1, limit=20, max limit=100).
Endpointy
/api/v1/documentsdocuments:readZoznam dokumentov so stránkovaním a filtrami.
curl "https://monivio.sk/api/v1/documents?type=invoice&status=open&limit=5&sort_order=desc" \
-H "Authorization: Bearer mk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"{
"data": [
{
"id": "doc_4kp9mxn8tq3vyz2lwbcr5shg",
"version": 1,
"type": "invoice",
"status": "open",
"number": "FA260042",
"contact_id": "con_2hf8pq3rxn4mlkzyt9abwvve",
"issue_date": "2026-06-01",
"due_date": "2026-06-15",
"currency": "EUR",
"amount_without_tax": 415,
"amount_tax": 80,
"amount_total": 495,
"payment_reference": "260042",
"created_at": "2026-06-01T10:00:00.000Z"
}
],
"meta": {
"page": 1,
"limit": 5,
"total": 1,
"total_pages": 1
}
}/api/v1/documentsdocuments:writeVytvorí dokument zo zoznamu line_items. Service vypočíta amount_without_tax, amount_tax a amount_total. Číslo sa pridelí z aktívnej série pre daný type.
curl -X POST "https://monivio.sk/api/v1/documents" \
-H "Authorization: Bearer mk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"type": "invoice",
"contact_id": "con_2hf8pq3rxn4mlkzyt9abwvve",
"issue_date": "2026-06-01",
"tax_date": "2026-06-01",
"due_date": "2026-06-15",
"currency": "EUR",
"payment_terms_days": 14,
"line_items": [
{
"name": "Konzultácia",
"quantity": 8,
"unit": "h",
"unit_price": 50,
"tax_rate": 23
},
{
"name": "Doprava",
"quantity": 1,
"unit_price": 15,
"tax_rate": 0
}
]
}'{
"data": {
"id": "doc_4kp9mxn8tq3vyz2lwbcr5shg",
"version": 1,
"type": "invoice",
"status": "open",
"number": "FA260042",
"contact_id": "con_2hf8pq3rxn4mlkzyt9abwvve",
"issue_date": "2026-06-01",
"due_date": "2026-06-15",
"currency": "EUR",
"amount_without_tax": 415,
"amount_tax": 80,
"amount_total": 495,
"payment_reference": "260042",
"created_at": "2026-06-01T10:00:00.000Z",
"delivery_date": null,
"valid_until": null,
"exchange_rate": 1,
"exchange_rate_date": null,
"exchange_rate_source": null,
"base_currency": "EUR",
"amount_total_base": 495,
"amount_tax_base": 80,
"contact_snapshot": {
"name": "ACME s.r.o.",
"email": "info@acme.sk",
"company_name": "ACME s.r.o.",
"company_id": "12345678",
"tax_id": "2023456789",
"vat_id": "SK2023456789",
"street": "Hlavná 12",
"city": "Bratislava",
"postal_code": "81101",
"country": "SK"
},
"source_document_id": null,
"public_token": "pub_xKZqL9bM7nT4vR8sCdHfWgYjE2pUaQ",
"tag_ids": [],
"updated_at": "2026-06-01T10:00:00.000Z"
}
}/api/v1/documents/{id}documents:readDetail jedného dokumentu (najnovšia verzia).
curl "https://monivio.sk/api/v1/documents/con_2hf8pq3rxn4mlkzyt9abwvve" \
-H "Authorization: Bearer mk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"{
"data": {
"id": "doc_4kp9mxn8tq3vyz2lwbcr5shg",
"version": 1,
"type": "invoice",
"status": "open",
"number": "FA260042",
"contact_id": "con_2hf8pq3rxn4mlkzyt9abwvve",
"issue_date": "2026-06-01",
"due_date": "2026-06-15",
"currency": "EUR",
"amount_without_tax": 415,
"amount_tax": 80,
"amount_total": 495,
"payment_reference": "260042",
"created_at": "2026-06-01T10:00:00.000Z",
"delivery_date": null,
"valid_until": null,
"exchange_rate": 1,
"exchange_rate_date": null,
"exchange_rate_source": null,
"base_currency": "EUR",
"amount_total_base": 495,
"amount_tax_base": 80,
"contact_snapshot": {
"name": "ACME s.r.o.",
"email": "info@acme.sk",
"company_name": "ACME s.r.o.",
"company_id": "12345678",
"tax_id": "2023456789",
"vat_id": "SK2023456789",
"street": "Hlavná 12",
"city": "Bratislava",
"postal_code": "81101",
"country": "SK"
},
"source_document_id": null,
"public_token": "pub_xKZqL9bM7nT4vR8sCdHfWgYjE2pUaQ",
"tag_ids": [],
"updated_at": "2026-06-01T10:00:00.000Z"
}
}/api/v1/documents/{id}documents:writeVytvorí novú verziu dokumentu (id zostáva, version+1). Ak pošleš line_items, totals sa prepočítajú. Type sa nedá zmeniť.
curl -X PATCH "https://monivio.sk/api/v1/documents/con_2hf8pq3rxn4mlkzyt9abwvve" \
-H "Authorization: Bearer mk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"due_date": "2026-06-30",
"line_items": [
{
"name": "Konzultácia - upravená sadzba",
"quantity": 8,
"unit": "h",
"unit_price": 60,
"tax_rate": 23
}
]
}'{
"data": {
"id": "doc_4kp9mxn8tq3vyz2lwbcr5shg",
"version": 2,
"type": "invoice",
"status": "open",
"number": "FA260042",
"contact_id": "con_2hf8pq3rxn4mlkzyt9abwvve",
"issue_date": "2026-06-01",
"due_date": "2026-06-30",
"currency": "EUR",
"amount_without_tax": 480,
"amount_tax": 110.4,
"amount_total": 590.4,
"payment_reference": "260042",
"created_at": "2026-06-01T10:00:00.000Z",
"delivery_date": null,
"valid_until": null,
"exchange_rate": 1,
"exchange_rate_date": null,
"exchange_rate_source": null,
"base_currency": "EUR",
"amount_total_base": 590.4,
"amount_tax_base": 110.4,
"contact_snapshot": {
"name": "ACME s.r.o.",
"email": "info@acme.sk",
"company_name": "ACME s.r.o.",
"company_id": "12345678",
"tax_id": "2023456789",
"vat_id": "SK2023456789",
"street": "Hlavná 12",
"city": "Bratislava",
"postal_code": "81101",
"country": "SK"
},
"source_document_id": null,
"public_token": "pub_xKZqL9bM7nT4vR8sCdHfWgYjE2pUaQ",
"tag_ids": [],
"updated_at": "2026-06-05T08:42:11.000Z"
}
}/api/v1/documents/{id}/pdfdocuments:readStiahne dokument ako PDF. Ak ešte nebolo vygenerované, server ho vytvorí inline (Gotenberg). Vracia binárne PDF s Content-Disposition: attachment.
curl "https://monivio.sk/api/v1/documents/con_2hf8pq3rxn4mlkzyt9abwvve/pdf" \
-H "Authorization: Bearer mk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"/api/v1/documents/{id}/einvoice/xmldocuments:readStiahne e-faktúru dokumentu ako Peppol BIS Billing 3.0 UBL XML. Vytvára sa a kontroluje pri uložení faktúry alebo dobropisu pre firmu so slovenským DIČ. Hlavička X-Einvoice-Valid hovorí, či XML prešlo kontrolou pravidiel Peppol. Pre doklady, ktoré e-faktúrou nie sú, vráti 404.
curl "https://monivio.sk/api/v1/documents/con_2hf8pq3rxn4mlkzyt9abwvve/einvoice/xml" \
-H "Authorization: Bearer mk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"/api/v1/documents/{id}/einvoicedocuments:readStav odovzdania dokladu epoštárovi: kedy je naplánované, kedy ho epoštár prevzal a kedy sa doklad zamkol. Odpovedá pre každý doklad - ten, ktorý e-faktúrou nikdy nebude, má status not_applicable.
curl "https://monivio.sk/api/v1/documents/con_2hf8pq3rxn4mlkzyt9abwvve/einvoice" \
-H "Authorization: Bearer mk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"{
"data": {
"document_id": "doc_4kp9mxn8tq3vyz2lwbcr5shg",
"status": "scheduled",
"scheduled_at": "2026-06-03T10:00:00.000Z",
"locked_at": null,
"provider_code": "verteco",
"provider_message_id": null,
"submitted_at": null,
"delivered_at": null,
"accepted_at": null,
"fs_reported_at": null,
"error": null
}
}/api/v1/documents/{id}/einvoicedocuments:writeOdovzdá doklad epoštárovi. send: "now" preskočí čakaciu lehotu z nastavení, send: "scheduled" naplánuje odovzdanie podľa nich. Volanie je idempotentné - doklad, ktorý epoštár už má, vráti 200 s aktuálnym stavom. Dôvod odmietnutia je v error.details.reason.
curl -X POST "https://monivio.sk/api/v1/documents/con_2hf8pq3rxn4mlkzyt9abwvve/einvoice" \
-H "Authorization: Bearer mk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"send": "scheduled"
}'{
"data": {
"document_id": "doc_4kp9mxn8tq3vyz2lwbcr5shg",
"status": "scheduled",
"scheduled_at": "2026-06-03T10:00:00.000Z",
"locked_at": null,
"provider_code": "verteco",
"provider_message_id": null,
"submitted_at": null,
"delivered_at": null,
"accepted_at": null,
"fs_reported_at": null,
"error": null
}
}/api/v1/documents/{id}/einvoicedocuments:writeZruší naplánované odovzdanie, kým doklad neodišiel. Keď ho epoštár už má, opravou je dobropis - vtedy vráti 409 s reason already_submitted.
curl -X DELETE "https://monivio.sk/api/v1/documents/con_2hf8pq3rxn4mlkzyt9abwvve/einvoice" \
-H "Authorization: Bearer mk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"/api/v1/documents/{id}/senddocuments:writePošle dokument emailom (PDF v prílohe). Funguje pre invoice, proforma, credit_note, quote a delivery_note. Predmet a telo môžeš overridnúť.
curl -X POST "https://monivio.sk/api/v1/documents/con_2hf8pq3rxn4mlkzyt9abwvve/send" \
-H "Authorization: Bearer mk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"to": [
"odberatel@firma.sk"
],
"cc": [
"uctaren@nasa-firma.sk"
],
"change_status": true
}'{
"data": {
"email_log_ids": [
"eml_8kHt3pX9bN2vRyM6sCdQfWgYjE5uZaQT"
],
"status_updated": true
}
}/api/v1/documents/{id}documents:writeVymaže dokument. Faktúry označené ako sent/paid zostávajú v daňovej histórii.
curl -X DELETE "https://monivio.sk/api/v1/documents/con_2hf8pq3rxn4mlkzyt9abwvve" \
-H "Authorization: Bearer mk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"Objekt Document
idreadonlydoc_4kp9mxn8tq3vyz2lwbcr5shgversionreadonlytyperequiredstatusreadonlyopennumberreadonlycontact_idcontactname (povinné), email, company_name, company_id, tax_id, vat_id, street, city, postal_code, country (ISO 3166-1 alpha-2). Použi keď nechceš ukladať kontakt do CRM.contact_snapshotreadonlyseries_idtype.issue_datedue_datedelivery_datevalid_untilcurrencyexchange_rateamount_total_base.exchange_rate_datereadonlyexchange_rate_sourcereadonlylanguagesk.amount_without_taxreadonlyamount_taxreadonlyamount_totalreadonlybase_currencyreadonlyamount_total_basereadonlyamount_tax_basereadonlypayment_referencespecific_symbolpayment_terms_daysdue_date ak nie je explicitne poslaný.bank_account_idsnote_before_itemsnote_after_itemstag_idstag_ids.source_document_idpublic_tokenreadonlyline_itemsname (povinné), quantity, unit_price, tax_rate a voliteľne description, unit, discount, catalog_item_id.created_atreadonlyupdated_atreadonly