SaldoDokumentace Otevřít Saldo

Reference API

Exporty a předání účetní

Soubory pro předání dat: balíček pro účetní s originály a kontrolními součty, export do POHODY a Money S3, platební příkazy ABO a SEPA a export dat firmy do JSON (bez souborů a historie změn; Saldo ho zpět nenačte). Exporty nemění účetnictví, nic neodesílají a nic neoznačí jako zaplacené.

6 operací · vygenerováno z OpenAPI · ukázky zaznamenané na smyšlené firmě

GET Export dokladů do POHODY nebo Money S3

/entities/{entity_id}/documents/export

Oprávnění
Každý člen firmy včetně role Jen čtení
Klíč jen pro čtení
Stačí

Vrátí soubor XML pro import dokladů do programu POHODA (dataPack 2.0 v kódování Windows-1250) nebo Money S3 (XML přenosy MoneyData v UTF-8). Exportují se buď doklady vybrané v ids (bez ohledu na období), nebo všechny vystavené doklady zvolených druhů, jejichž datum pro DPH spadá do období – u vydaných DUZP, jinak datum vystavení, u přijatých pozdější z DUZP a data přijetí (nebo pozdější datum pro DPH zadané u dokladu). Koncepty a stornované doklady exportovat nelze; POHODA navíc vyžaduje osmimístné IČO firmy. Soubor jen připravuje data k převzetí; doklady ani účetnictví v Saldu nemění.

Parametry

NázevKdeTypPovinnýPopis
entity_idcestacelé čísloanoÚčetní jednotka (firma). Příklad 12.
formatdotaztextanopohoda = POHODA XML, money = Money S3 XML. Hodnoty: pohoda, money. Příklad pohoda.
idsdotazpole (celé číslo)neVybrané doklady (ids[]=… nebo čísla oddělená čárkou); s ids se období ani kinds nepoužijí. Doklad cizí firmy nebo neexistující vrátí 404. Příklad [431, 432].
kindsdotazpole (text)neDruhy dokladů pro výběr podle období (kinds[]=… nebo oddělené čárkou); výchozí jsou všechny uvedené, jiné hodnoty se ignorují. Hodnoty: invoice_out, credit_out, proforma_out, advance_out, invoice_in, credit_in, proforma_in, advance_in. Příklad ["invoice_out", "credit_out"].
yeardotazcelé čísloneÚčetní období začínající v tomto roce, když chybí from nebo to; výchozí je aktuální rok. Rozsah od 2000 do 2100. Příklad 2026.
fromdotazdatumneZačátek období (YYYY-MM-DD); výchozí je začátek účetního období year. Příklad 2026-09-01.
todotazdatumneKonec období včetně; výchozí je konec účetního období year. Příklad 2026-09-30.

Odpověď

200 application/xml Soubor ke stažení (Content-Disposition attachment). Content-Type je application/xml; charset=windows-1250 u POHODY a application/xml; charset=utf-8 u Money S3. Název je pohoda-IČO-RRRRMMDD.xml nebo money-s3-IČO-RRRRMMDD.xml (u Money S3 bez IČO id firmy), s rozsahem RRRRMMDD-RRRRMMDD podle nejstaršího a nejnovějšího data vystavení.

Chyby této operace

StavKódKdy
400–format chybí nebo není pohoda či money („Zvolte formát exportu: pohoda, nebo money“).
422–Soubor nejde vytvořit – odpověď {error, problems[]}, kde problems vyjmenuje každý problém a error je ten jediný, nebo „Soubor nelze vytvořit – počet problémů: N“. Důvody – v období nejsou žádné vystavené doklady vybraných druhů, vybraný doklad není vystavený (koncept, stornovaný), druh dokladu není podporovaný, nebo firma nemá IČO (jen POHODA).

Společné chyby všech operací (přihlášení, oprávnění, limity) popisuje Chyby a limity.

Chování

Co změní
Zapíše událost documents.exported (formát, počet dokladů, výběr) do historie změn; jinak nic nemění.
Opakování
Každé volání vrátí nový soubor a přidá další událost do historie.

Příklad

cURL

curl \
  -H "X-API-Key: $SALDO_API_KEY" \
  "https://techtools.cz/ucetnictvi-api/entities/1/documents/export?format=pohoda&ids=143"

JavaScript

const response = await fetch('https://techtools.cz/ucetnictvi-api/entities/1/documents/export?format=pohoda&ids=143', {
  headers: { 'X-API-Key': process.env.SALDO_API_KEY }
});
const data = await response.json();
Odpověď 200 OK
<?xml version="1.0" encoding="Windows-1250"?>
<dat:dataPack xmlns:dat="http://www.stormware.cz/schema/version_2/data.xsd" xmlns:inv="http://www.stormware.cz/schema/version_2/invoice.xsd" xmlns:int="http://www.stormware.cz/schema/version_2/intDoc.xsd" xmlns:typ="http://www.stormware.cz/schema/version_2/type.xsd" version="2.0" id="SALDO-1-d6f0c71ef0c88e45" ico="99999994" application="Saldo" note="Export ze Saldo – Ukázková firma s.r.o., počet dokladů 1 (28. 9. 2026)">
  <dat:dataPackItem version="2.0" id="SALDO-1-143">
    <inv:invoice version="2.0">
      <inv:invoiceHeader>
        <inv:invoiceType>issuedInvoice</inv:invoiceType>
        <inv:number>
          <typ:numberRequested>FV20260025</typ:numberRequested>
        </inv:number>
        <inv:symVar>20260025</inv:symVar>
        <inv:date>2026-09-28</inv:date>
        <inv:dateTax>2026-09-28</inv:dateTax>
        <inv:dateAccounting>2026-09-28</inv:dateAccounting>
        <inv:dateDue>2026-10-12</inv:dateDue>
        <inv:classificationVAT>
          <typ:ids>UD</typ:ids>
        </inv:classificationVAT>
        <inv:text>Správa webu – září</inv:text>
        <inv:partnerIdentity>
          <typ:address>
            <typ:company>Nordwood Studio s.r.o.</typ:company>
            <typ:city>Praha 10</typ:city>
            <typ:street>Korunní 1208/74</typ:street>
            <typ:zip>10100</typ:zip>
            <typ:ico>90000013</typ:ico>
            <typ:dic>CZ90000013</typ:dic>
            <typ:email>fakturace@example.cz</typ:email>
          </typ:address>
        </inv:partnerIdentity>
        <inv:paymentType>
          <typ:paymentType>draft</typ:paymentType>
        </inv:paymentType>
        <inv:account>
          <typ:accountNo>2900001227</typ:accountNo>
          <typ:bankCode>2010</typ:bankCode>
        </inv:account>
      </inv:invoiceHeader>
      <inv:invoiceDetail>
        <inv:invoiceItem>
          <inv:text>Správa webu – září</inv:text>
          <inv:quantity>12</inv:quantity>
          <inv:unit>hod</inv:unit>
          <inv:payVAT>false</inv:payVAT>
          <inv:rateVAT>high</inv:rateVAT>
          <inv:homeCurrency>
            <typ:unitPrice>1650</typ:unitPrice>
            <typ:price>19800.00</typ:price>
            <typ:priceVAT>4158.00</typ:priceVAT>
          </inv:homeCurrency>
        </inv:invoiceItem>
      </inv:invoiceDetail>
      <inv:invoiceSummary>
        <inv:roundingDocument>none</inv:roundingDocument>
        <inv:roundingVAT>none</inv:roundingVAT>
        <inv:homeCurrency>
          <typ:priceHigh>19800.00</typ:priceHigh>
          <typ:priceHighVAT>4158.00</typ:priceHighVAT>
          <typ:priceHighSum>23958.00</typ:priceHighSum>
        </inv:homeCurrency>
      </inv:invoiceSummary>
    </inv:invoice>
  </dat:dataPackItem>
</dat:dataPack>

GET Neuhrazené přijaté faktury pro příkaz k úhradě

/entities/{entity_id}/documents/payables

Oprávnění
Každý člen firmy včetně role Jen čtení
Klíč jen pro čtení
Stačí

Vrátí všechny vystavené a dosud neuhrazené (i částečně uhrazené) přijaté faktury a přijaté zálohové faktury seřazené podle splatnosti. U každé uvede, zda ji lze zařadit do příkazu k úhradě – ABO pro doklady v CZK, SEPA pro doklady v EUR – s účtem příjemce, nebo důvod, proč to nejde. Doklady už zařazené do dřívějšího příkazu se nijak neodlišují, protože příkaz úhradu nezapisuje.

Parametry

NázevKdeTypPovinnýPopis
entity_idcestacelé čísloanoÚčetní jednotka (firma). Příklad 12.

Odpověď

200 application/json Objekt s polem rows.

PoleVýznam
rowsDoklady podle splatnosti, pak podle id.
rows[].idDoklad; number je číslo v Saldu, original_number číslo dodavatele, kind a kind_label druh.
rows[].variable_symbolVariabilní symbol; partner_name příjemce.
rows[].due_dateSplatnost; payment_state (unpaid, partial, overdue) a days_overdue.
rows[].remainingZbývá uhradit v měně dokladu (currency).
rows[].schemeabo (CZK), sepa (EUR), nebo null u jiné měny.
rows[].accountÚčet příjemce – české číslo účtu; u SEPA nebo bez českého čísla IBAN (s BIC, je-li uveden); null, když dodavatel účet nemá.
rows[].problemDůvod, proč doklad do příkazu nejde (chybí účet, neplatný IBAN, jiná měna…), jinak null.

Chování

Co změní
Nic nezapisuje.
Limity
Bez stránkování – vrací všechny takové doklady.

Příklad

cURL

curl \
  -H "X-API-Key: $SALDO_API_KEY" \
  https://techtools.cz/ucetnictvi-api/entities/1/documents/payables

JavaScript

const response = await fetch('https://techtools.cz/ucetnictvi-api/entities/1/documents/payables', {
  headers: { 'X-API-Key': process.env.SALDO_API_KEY }
});
const data = await response.json();
Odpověď 200 OK
{
  "rows": [
    {
      "id": 144,
      "number": "FP20260039",
      "kind": "invoice_in",
      "kind_label": "Faktura přijatá",
      "original_number": "2026090417",
      "variable_symbol": "2026090417",
      "partner_name": "Coworking Karlín s.r.o.",
      "due_date": "2026-10-09",
      "currency": "CZK",
      "remaining": 17545.0,
      "payment_state": "unpaid",
      "days_overdue": 0,
      "scheme": "abo",
      "account": "2397734510/0100",
      "problem": null
    }
  ]
}

POST Příkaz k úhradě ABO nebo SEPA z přijatých faktur

/entities/{entity_id}/documents/payment_order

Oprávnění
Vlastník, účetní nebo editor
Klíč jen pro čtení
Nestačí, vrátí 403 READ_ONLY_KEY

Vytvoří soubor hromadného příkazu k úhradě pro banku z vybraných neuhrazených přijatých faktur a přijatých zálohových faktur: ABO (formát KPC) z účtu v CZK pro doklady v CZK, nebo SEPA pain.001.001.03 pro doklady v EUR. Platí se zbývající částka dokladu; datum platby je execution_date, bez něj pozdější ze splatnosti a dneška, v obou případech posunuté na nejbližší pracovní den. Soubor jen připravuje platby k nahrání do banky – úhradu v Saldu nezapíše ani doklad neoznačí jako uhrazený; uhrazený bude až spárováním s bankovním pohybem.

Parametry

NázevKdeTypPovinnýPopis
entity_idcestacelé čísloanoÚčetní jednotka (firma). Příklad 12.

Tělo požadavku

Formát application/json.

PoleTypPovinnéPopis
idspole (celé číslo)anoDoklady k úhradě (pole id; čárkou oddělený řetězec se tu nepodporuje). Neexistující nebo cizí doklad vrátí 404.
bank_account_idcelé čísloanoBankovní účet firmy, ze kterého se platí (ne pokladna); cizí nebo neexistující vrátí 404.
formattextneauto = podle měny dokladů (všechny CZK → ABO, všechny EUR → SEPA). Hodnoty: auto, abo, sepa. Výchozí auto.
execution_datedatumneDatum splatnosti příkazu (YYYY-MM-DD), nejdříve dnes.

Odpověď

200 application/octet-stream Soubor ke stažení. ABO – Content-Type text/plain; charset=windows-1250, název prikaz-abo-RRRRMMDD.kpc; SEPA – application/xml; charset=utf-8, název prikaz-sepa-RRRRMMDD.xml (datum vytvoření).

Chyby této operace

StavKódKdy
400–format není auto, abo ani sepa („Formát příkazu je auto, abo, nebo sepa“).
422–Chybí bank_account_id („Vyberte bankovní účet, ze kterého se bude platit“).
422–Příkaz nejde vytvořit – odpověď {error, problems[]}. Důvody – žádný doklad, zvolená pokladna, execution_date v minulosti, doklady v různých měnách u format=auto, doklad není vystavený, není přijatá faktura ani zálohová faktura, je už uhrazený, má jinou měnu než formát, příjemce nemá české číslo účtu (ABO) nebo platný IBAN (SEPA; BIC je nepovinný, uvedený ale musí být platný), účet neprošel kontrolou modulo 11, konstantní symbol má víc než 4 číslice, částka přesahuje limit formátu, nebo platební účet firmy nemá české číslo, není v CZK (ABO) či nemá platný IBAN (SEPA).

Společné chyby všech operací (přihlášení, oprávnění, limity) popisuje Chyby a limity.

Chování

Co změní
Zapíše událost documents.payment_order do historie změn. Úhrady, stav dokladů ani účetní zápisy nemění.
Limity
Částka jednoho dokladu nejvýše 9 999 999 999,99 Kč (ABO) nebo 999 999 999,99 EUR (SEPA).
Opakování
Každé volání vytvoří nový soubor; tytéž doklady lze zařadit opakovaně, Saldo nehlídá, že už v jiném příkazu byly.

Příklad

cURL

curl \
  -X POST \
  -H "X-API-Key: $SALDO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"ids":[144],"bank_account_id":2,"format":"abo"}' \
  https://techtools.cz/ucetnictvi-api/entities/1/documents/payment_order

JavaScript

const response = await fetch('https://techtools.cz/ucetnictvi-api/entities/1/documents/payment_order', {
  headers: { 'X-API-Key': process.env.SALDO_API_KEY, 'Content-Type': 'application/json' },
  method: 'POST',
  body: JSON.stringify({
    "ids": [
      144
    ],
    "bank_account_id": 2,
    "format": "abo"
  })
});
const data = await response.json();
Odpověď 200 OK
UHL1280926UKAZKOVA FIRMA S.R.O2900001227001999111111222222
1 1501 001000 2010
2 2900001227 00000001754500 091026
2397734510 000001754500 2026090417 01000000 0000000000 AV:Uhrada faktury 2026090417
3 +
5 +

GET Náhled balíčku pro účetní

/entities/{entity_id}/accounting_package/preview

Oprávnění
Vlastník nebo účetní
Klíč jen pro čtení
Stačí

Spočítá, co by obsahoval balíček pro účetní za období – počty dokladů, konceptů, příloh, výpisů a podání, názvy sestav, velikost originálů – a co v Saldu chybí, bez sestavení balíčku a bez generování sestav. Období se zadává po měsících nebo po dnech a nesmí přesáhnout 800 dní.

Parametry

NázevKdeTypPovinnýPopis
entity_idcestacelé čísloanoÚčetní jednotka (firma). Příklad 12.
fromdotaztextneZačátek období – YYYY-MM (první den měsíce) nebo YYYY-MM-DD. Výchozí je začátek aktuálního účetního období (začíná-li v budoucnu, o 12 měsíců dřív). Příklad 2026-09.
todotaztextneKonec období – YYYY-MM (poslední den měsíce) nebo YYYY-MM-DD; výchozí je dnešek. Příklad 2026-09.

Odpověď

200 application/json Obsah budoucího balíčku.

PoleVýznam
periodObdobí {from, to}.
countsdocuments, drafts, attachments, bank_statements, bank_files, filings, filing_files, reports.
reportsCesty sestav v balíčku (např. sestavy/doklady.csv, sestavy/obratova-predvaha.csv).
source_bytesVelikost originálů (přílohy, výpisy, doručenky) v bajtech; too_large je true nad 1 GB.
missing_countPočet chybějících podkladů; missing prvních 50 z nich (area, issue, reference, date, amount, currency, note).
notesPoznámky k balíčku (např. že vydané faktury nejsou jako neměnné originály, proč nevznikl POHODA XML).

Chyby této operace

StavKódKdy
422–Začátek je po konci („Začátek období musí být před koncem“).
422–Období je delší než 800 dní („Balíček lze vytvořit nejvýš za 800 dní – rozdělte období“).

Společné chyby všech operací (přihlášení, oprávnění, limity) popisuje Chyby a limity.

Chování

Co změní
Nic nezapisuje.
Limity
Období nejvýše 800 dní; missing vrací nejvýše 50 položek.

Příklad

cURL

curl \
  -H "X-API-Key: $SALDO_API_KEY" \
  "https://techtools.cz/ucetnictvi-api/entities/1/accounting_package/preview?from=2026-08&to=2026-08"

JavaScript

const response = await fetch('https://techtools.cz/ucetnictvi-api/entities/1/accounting_package/preview?from=2026-08&to=2026-08', {
  headers: { 'X-API-Key': process.env.SALDO_API_KEY }
});
const data = await response.json();
Odpověď 200 OK
{
  "period": {
    "from": "2026-08-01",
    "to": "2026-08-31"
  },
  "counts": {
    "documents": 8,
    "drafts": 0,
    "attachments": 0,
    "bank_statements": 1,
    "bank_files": 1,
    "filings": 1,
    "filing_files": 2,
    "reports": 7
  },
  "reports": [
    "sestavy/doklady.csv",
    "sestavy/bankovni-pohyby.csv"
  ],
  "source_bytes": 1677,
  "too_large": false,
  "missing_count": 9,
  "missing": [
    {
      "area": "Doklady",
      "issue": "Přijatý doklad nemá přiložený originál",
      "reference": "FP20260029",
      "date": "2026-08-02",
      "amount": 17545.0,
      "currency": "CZK",
      "note": "Coworking Karlín s.r.o."
    },
    {
      "area": "Doklady",
      "issue": "Přijatý doklad nemá přiložený originál",
      "reference": "FP20260030",
      "date": "2026-08-05",
      "amount": 4719.0,
      "currency": "CZK",
      "note": "Serverovna Holešovice s.r.o."
    }
  ],
  "notes": [
    "Vydané faktury zatím nejsou v balíčku jako neměnné originály, Saldo je tiskne z aktuálních údajů. Jejich údaje jsou v sestavy/doklady.csv a export/pohoda.xml.",
    "Balíček vznikl jen čtením dat; nic se nezaúčtovalo ani nezměnilo."
  ]
}

Dlouhé seznamy jsou v ukázce zkrácené na první položky.

GET Stažení balíčku pro účetní (ZIP)

/entities/{entity_id}/accounting_package

Oprávnění
Vlastník nebo účetní
Klíč jen pro čtení
Stačí

Sestaví a vrátí ZIP za období (do 800 dní) se složkou saldo-IČO-od-do: sestavy/ (CSV se středníkem v UTF-8 s BOM – doklady, bankovní pohyby, v podvojném účetnictví deník, předvaha, saldokonto pohledávek a závazků a rozvaha s výsledovkou v JSON za každé dotčené účetní období, v daňové evidenci peněžní deník), doklady/ (původní přílohy a přijaté ISDOC dokladů s datem vystavení, DUZP nebo datem pro DPH v období nebo se zápisem či úhradou v období), doklady/koncepty/ (přílohy konceptů), banka/ (archivované datové soubory a PDF výpisů), podani/ (XML podání a doručenky), export/pohoda.xml (pokud jde vytvořit), chybejici-podklady.csv, README.txt, manifest.json s velikostí a SHA-256 každého souboru a SHA256SUMS. Balíček vzniká jen čtením dat; soubor, který v úložišti chybí nebo nesouhlasí s kontrolním součtem, se uvede v chybejici-podklady.csv a manifest označí balíček jako neúplný.

Parametry

NázevKdeTypPovinnýPopis
entity_idcestacelé čísloanoÚčetní jednotka (firma). Příklad 12.
fromdotaztextneZačátek období – YYYY-MM nebo YYYY-MM-DD; výchozí je začátek aktuálního účetního období (začíná-li v budoucnu, o 12 měsíců dřív). Příklad 2026-09.
todotaztextneKonec období – YYYY-MM (poslední den měsíce) nebo YYYY-MM-DD; výchozí je dnešek. Příklad 2026-09.

Odpověď

200 application/zip ZIP ke stažení (Content-Disposition attachment; filename saldo-IČO-RRRR-MM-DD-RRRR-MM-DD.zip, bez IČO id firmy) s hlavičkami Content-Length, Cache-Control private, no-store a X-Content-Type-Options nosniff.

Chyby této operace

StavKódKdy
405–Metoda HEAD – balíček se nesestaví, odpověď nese hlavičku Allow GET.
403CROSS_SITEHlavička Sec-Fetch-Site má jinou hodnotu než same-origin nebo none (odkaz z jiného webu). Klienti API, kteří tuto hlavičku neposílají, nejsou dotčeni.
409PACKAGE_BUSYPro tutéž firmu se právě sestavuje jiný balíček („Balíček pro tuto firmu se právě vytváří…“).
422–Začátek je po konci („Začátek období musí být před koncem“), nebo je období delší než 800 dní.
422–Originály za období mají víc než 1 GB („Přílohy a výpisy za období mají N MB, víc než 1024 MB – zvolte kratší období“).

Společné chyby všech operací (přihlášení, oprávnění, limity) popisuje Chyby a limity.

Chování

Co změní
Nic v účetnictví nemění. Balíček se sestaví do dočasného souboru na serveru, který se po odeslání smaže (spolu s pozůstatky staršími 6 hodin), a zapíše se událost accounting_package.exported s obdobím, úplností a SHA-256 souboru manifest.json do historie změn.
Limity
Období nejvýše 800 dní, originály nejvýše 1 GB, pro jednu firmu se najednou sestavuje jen jeden balíček. Balíček se celý sestaví dřív, než začne odpověď.
Opakování
Každé stažení sestaví balíček znovu podle aktuálních dat a zapíše další událost; souběžný požadavek pro tutéž firmu dostane 409 PACKAGE_BUSY.

Příklad

cURL

curl \
  -H "X-API-Key: $SALDO_API_KEY" \
  "https://techtools.cz/ucetnictvi-api/entities/1/accounting_package?from=2026-08&to=2026-08"

JavaScript

const response = await fetch('https://techtools.cz/ucetnictvi-api/entities/1/accounting_package?from=2026-08&to=2026-08', {
  headers: { 'X-API-Key': process.env.SALDO_API_KEY }
});
const data = await response.json();
Odpověď 200 OK
application/zip, 21924 bajtů (soubor saldo-99999994-2026-08-01-2026-08-31.zip)

GET Export účetních dat firmy v JSON (bez souborů)

/entities/{id}/export

Oprávnění
Každý člen firmy včetně role Jen čtení
Klíč jen pro čtení
Stačí

Vrátí jeden soubor JSON se všemi záznamy těchto tabulek firmy: údaje a nastavení firmy (bez loga), účty, kontakty, bankovní účty (bez tokenu Fio), doklady s položkami (bez tokenu sdílení), úhrady, bankovní pohyby, účetní zápisy, majetek, zaměstnanci, výplatní pásky, cesty, opakované faktury, podání včetně XML a bankovní pravidla. Neobsahuje soubory (přílohy dokladů, výpisy, doručenky), historii změn, členy, žádosti o podklady, historii schvalování, číselné řady ani archiv výpisů. Saldo nemá operaci, která by takový soubor nahrála zpět.

Parametry

NázevKdeTypPovinnýPopis
idcestacelé čísloanoÚčetní jednotka (firma), jejímž jste přijatým členem. Příklad 12.

Odpověď

200 application/json Soubor ke stažení (Content-Disposition attachment; filename saldo-IČO-RRRR-MM-DD.json, bez IČO id firmy), záznamy se všemi sloupci tabulek.

PoleVýznam
formatVždy saldo-backup; version je 1, exported_at čas exportu.
entitySloupce firmy kromě logo_data (včetně settings s daňovým profilem).
accountsÚčty; dále partners, bank_accounts, payments, bank_transactions, entries, assets, employees, payslips, trips, recurrences, filings, bank_rules.
documentsDoklady bez share_token, každý s polem lines (položky).

Chování

Co změní
Nic nezapisuje, ani do historie změn.
Limity
Celá firma v jedné odpovědi bez stránkování.

Příklad

cURL

curl \
  -H "X-API-Key: $SALDO_API_KEY" \
  https://techtools.cz/ucetnictvi-api/entities/1/export

JavaScript

const response = await fetch('https://techtools.cz/ucetnictvi-api/entities/1/export', {
  headers: { 'X-API-Key': process.env.SALDO_API_KEY }
});
const data = await response.json();
Odpověď 200 OK
{
  "format": "saldo-backup",
  "version": 1,
  "exported_at": "2026-09-28 10:00:00 UTC",
  "entity": {
    "id": 1,
    "accent_color": null,
    "archived": false,
    "bookkeeping": "double_entry",
    "city": "Praha",
    "company_id": null,
    "country": "CZ",
    "created_at": "2026-09-28 10:00:00 UTC",
    "currency": "CZK",
    "databox": null,
    "default_due_days": 14,
    "dic": "CZ99999994",
    "email": "demo@example.cz",
    "first_name": null,
    "fiscal_year_start": 1,
    "flat_expense_rate": null,
    "house_number": "859",
    "ico": "99999994",
    "invoice_footer": null,
    "last_name": null,
    "legal_form": "sro",
    "locked_until": null,
    "nace": "621000",
    "name": "Ukázková firma s.r.o.",
    "orientation_number": "22",
    "owner_id": 1,
    "phone": "+420 777 000 000",
    "register_note": "Zapsáno v obchodním rejstříku vedeném Městským soudem v Praze, oddíl C, vložka 999999 (ukázková data).",
    "settings": {
      "round_total": "always",
      "demo": true,
      "statement_category": "mikro",
      "submitter": {
        "first_name": "Jana",
        "last_name": "Ukázková",
        "relation": "jednatelka"
      },
      "tax_profile": {
        "children": [
          {
            "order": 1,
            "first_name": "Eliška",
            "last_name": "Ukázková",
            "birth_number": "1855120003"
          }
        ],
        "main_activity": true,
        "birth_number": "8001010006"
      },
      "ossz_code": "110",
      "cssz_variable_symbol": "1234567890",
      "jmhz_workplace": {
        "municipality": "Praha",
        "municipality_code": "554782",
        "country": "CZ"
      }
    },
    "street": "Na Příkopě",
    "tax_office_code": "451",
    "tax_office_workplace": "2001",
    "title": null,
    "updated_at": "2026-09-28 10:00:00 UTC",
    "vat_registered_on": "2023-01-01",
    "vat_status": "monthly",
    "web": null,
    "zip": "11000"
  },
  "accounts": [
    {
      "id": 1,
      "active": true,
      "code": "012",
      "created_at": "2026-09-28 10:00:00 UTC",
      "entity_id": 1,
      "kind": "asset",
      "name": "Nehmotné výsledky vývoje",
      "statement_line": null,
      "tax_relevant": true,
      "updated_at": "2026-09-28 10:00:00 UTC"
    },
    {
      "id": 2,
      "active": true,
      "code": "013",
      "created_at": "2026-09-28 10:00:00 UTC",
      "entity_id": 1,
      "kind": "asset",
      "name": "Software",
      "statement_line": null,
      "tax_relevant": true,
      "updated_at": "2026-09-28 10:00:00 UTC"
    }
  ],
  "partners": [
    {
      "id": 11,
      "bank_account": "4434938563/0300",
      "bic": null,
      "checked_at": null,
      "city": "Praha 1",
      "company_id": null,
      "country": "CZ",
      "created_at": "2026-09-28 10:00:00 UTC",
      "default_account_code": null,
      "dic": "CZ90000099",
      "due_days": null,
      "email": null,
      "entity_id": 1,
      "iban": null,
      "ico": "90000099",
      "insolvency_checked_at": null,
      "insolvency_note": null,
      "insolvent": null,
      "name": "Alfa Computers s.r.o.",
      "note": null,
      "phone": null,
      "street": "Vodičkova 30",
      "unreliable": null,
      "updated_at": "2026-09-28 10:00:00 UTC",
      "vat_payer": null,
      "web": null,
      "zip": "11000"
    },
    {
      "id": 3,
      "bank_account": null,
      "bic": null,
      "checked_at": null,
      "city": "Olomouc",
      "company_id": null,
      "country": "CZ",
      "created_at": "2026-09-28 10:00:00 UTC",
      "default_account_code": null,
      "dic": "CZ90000030",
      "due_days": 21,
      "email": "fakturace@example.cz",
      "entity_id": 1,
      "iban": null,
      "ico": "90000030",
      "insolvency_checked_at": null,
      "insolvency_note": null,
      "insolvent": null,
      "name": "Atelier Lumen s.r.o.",
      "note": null,
      "phone": null,
      "street": "Masarykova 45",
      "unreliable": null,
      "updated_at": "2026-09-28 10:00:00 UTC",
      "vat_payer": null,
      "web": null,
      "zip": "77900"
    }
  ],
  "bank_accounts": [
    {
      "id": 1,
      "account_code": "211001",
      "archived": false,
      "bank_code": null,
      "bic": null,
      "created_at": "2026-09-28 10:00:00 UTC",
      "currency": "CZK",
      "entity_id": 1,
      "iban": null,
      "is_default": false,
      "kind": "cash",
      "name": "Pokladna",
      "number": null,
      "opening_balance": 15000.0,
      "opening_date": "2026-01-01",
      "sync_error": null,
      "synced_at": null,
      "updated_at": "2026-09-28 10:00:00 UTC"
    },
    {
      "id": 2,
      "account_code": "221001",
      "archived": false,
      "bank_code": "2010",
      "bic": null,
      "created_at": "2026-09-28 10:00:00 UTC",
      "currency": "CZK",
      "entity_id": 1,
      "iban": "CZ3820100000002900001227",
      "is_default": true,
      "kind": "bank",
      "name": "Provozní účet",
      "number": "2900001227",
      "opening_balance": 420000.0,
      "opening_date": "2026-01-01",
      "sync_error": null,
      "synced_at": null,
      "updated_at": "2026-09-28 10:00:00 UTC"
    }
  ],
  "documents": [
    {
      "id": 145,
      "approval_amount_czk": null,
      "approval_fingerprint": null,
      "approval_state": null,
      "bank_account_id": 2,
      "capture_key": null,
      "constant_symbol": null,
      "cost_center": null,
      "created_at": "2026-09-28 10:00:00 UTC",
      "created_by_id": 1,
      "currency": "CZK",
      "description": "Návrh úvodní stránky",
      "due_date": "2026-10-12",
      "entity_id": 1,
      "exchange_rate": 1.0,
      "internal_note": null,
      "issue_date": "2026-09-28",
      "kh_section": null,
      "kind": "invoice_out",
      "language": "cs",
      "last_reminder_on": null,
      "note": null,
      "number": null,
      "original_number": null,
      "outcome": null,
      "paid_amount": 0.0,
      "paid_on": null,
      "partner_id": 1,
    
…

Dlouhé seznamy jsou v ukázce zkrácené na první položky.