Accounting outputs don't have to be generated only through the desktop application or the web interface. Like other data, you can retrieve them using the ABRA Flexi REST API.
This article lists all accounting outputs that can be generated through the REST API, including their URLs and parameters. The outputs are available in both PDF and XLSX (for print reports, see exporting print reports), and some of them are also available in XML, JSON, and CSV.
Overview of Outputs
Output | URL |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
Where {firma} is the database company identifier. All outputs are retrieved using the method GET, and the required format is selected by the extension in the URL.
⚠️ For these outputs, the server silently ignores unknown parameters and returns 200 OK — an incorrectly named parameter therefore does not cause an error, but produces an output without the requested restriction. Copy parameter names exactly as shown in the tables below.
Account Balances
URL: /c/{firma}/stav-uctu[.xml]. You can also use a detail level and filtering.
If you need balances for an accounting period other than the current one, add the parameter ucetniObdobi to the URL, with the abbreviation of the required accounting period as its value. Another option is the parameter idUcetniObdobi, which allows you to use accounting period identifiers. If used, it takes precedence over the parameter ucetniObdobi.
Account balances can be split by cost centers using groupByStredisko=true or by activities using groupByCinnost=true. Each row then contains the account balance for a specific cost center or activity.
Usage examples
URL | Description |
| Account balances for the current accounting period |
| Account balances for the accounting period with ID 3 |
| Account balances for the accounting period with the abbreviation 2016 |
| Account balances for the accounting period with the abbreviation 2016 |
| Account balances split by cost centers |
| Account balances split by activities |
| Account balances split by both cost centers and activities at the same time |
ℹ️ Account balances are covered in more detail in the article Account Balances, and their recalculation in Recalculating Account Balances.
General Journal and Account Movements
URLs: /c/{firma}/ucetni-denik, /c/{firma}/pohyb-na-uctech, and /c/{firma}/ucetni-denik-zjednoduseny. These are standard records, so you can use detail levels, filtering, and pagination.
In all three records, you can use the parameter postingState to filter records by posting status:
Value | Description |
| Returns only posted documents ( |
| Returns only unposted documents ( |
| Returns all documents regardless of posting status. |
If you omit the parameter, the default behavior depends on the company's legislation: for DACH legislation (Germany, Austria, Switzerland), the default value is posted; for other legislations (e.g., CZ, SK), it is all. The value is case-insensitive, so POSTED, Posted, and posted are all valid.
Call examples
GET https://demo.flexibee.eu/c/demo/ucetni-denik.json?postingState=posted
GET https://demo.flexibee.eu/c/demo/ucetni-denik.json?postingState=unposted
GET https://demo.flexibee.eu/c/demo/pohyb-na-uctech.json?postingState=all
If you specify any other value, the server returns 400 with the code stavZauctovaniNeplatnaHodnota and a list of allowed values.
Performance of General Journal Queries
The general journal is not a standalone table but a view that is rebuilt from documents with every query. Processing time therefore grows with the number of records in the queried period, not with the number of rows returned. A query for a single day takes a few seconds; a query for several months can take minutes.
⚠️ Pagination using the parameters start and limit works for the general journal, but the entire calculation for the period is repeated with each additional page. For large periods, pagination therefore tends to make loading longer rather than shorter.
Recommendations for integrations:
Do not use the parameter
add-row-count=true; it triggers an additional database query.Download data in shorter ranges, ideally day by day, for example by filtering on
lastUpdatewithin a one-day range.Limit the output to only the columns you actually need by using the detail level
custom.For regular reading of large volumes, the most efficient option performance-wise is a custom user query that retrieves the data directly.
ℹ️ Since version 2026.6.0, reading the general journal is faster, especially when reading page by page, and the database may compute demanding listings in parallel on multiple cores. A query over a long period will still not be instant, though, because the journal is still assembled from documents.
💡 Do you need to regularly download large volumes of data from the general journal? We can prepare a custom user query for you — contact us at podporaflexi@abra.eu.
General Ledger
URL: /c/{firma}/hlavni-kniha.{přípona}. Supported formats are pdf, xlsx, xml, json, and csv.
Parameters
ucetniObdobi— accounting period code in the form withcode:(e.g.,code:2024)koncovyMesicRok— general ledger up to the specified month in the formatMM/yyyy(e.g.,06/2024)pocetMesicu— number of months in the general ledgerstredisko— object code from the /stredisko record; can be specified multiple times (e.g.,stredisko=code:C&stredisko=code:B)mena— currency code; can be specified multiple times (e.g.,mena=code:CZK&mena=code:EUR)filtrUcty— account codes, or their prefix or range, separated by commas (e.g.,311000,32,3-4)ucet— account code; can be specified multiple times (e.g.,ucet=code:211001&ucet=code:112001)
If no parameters are specified, the general ledger for the current accounting period is returned. The resulting period can be selected either with the parameter ucetniObdobi or with a combination of the parameters koncovyMesicRok and pocetMesicu.
GET https://demo.flexibee.eu/c/demo/hlavni-kniha.pdf?ucetniObdobi=code:2024
GET https://demo.flexibee.eu/c/demo/hlavni-kniha.pdf?koncovyMesicRok=12/2024&pocetMesicu=12
GET https://demo.flexibee.eu/c/demo/hlavni-kniha.json?ucetniObdobi=code:2024&filtrUcty=311
Trial Balance
URL: /c/{firma}/obratova-predvaha.{přípona}, typically pdf or xlsx. The parameters ucetniObdobi, koncovyMesicRok, pocetMesicu, stredisko, mena, filtrUcty, and ucet behave the same as for the general ledger.
In addition, you can use the parameter report-name to choose the report layout:
Predvaha— Trial balancePredvahaPort— Trial balance (portrait)
If you do not specify any parameters, the Trial balance (portrait) for the current accounting period is generated.
GET https://demo.flexibee.eu/c/demo/obratova-predvaha.pdf?report-name=Predvaha&ucetniObdobi=code:2024&koncovyMesicRok=06/2024&pocetMesicu=12&stredisko=code:C&mena=code:CZK&filtrUcty=3&ucet=code:211001
⚠️ For both the trial balance and the general ledger, the parameter ucetniObdobi requires the form with the prefix code:. A value without the prefix (e.g., ucetniObdobi=2024) results in the error 404. For the statement of operations, it is the other way around — see Statement of Operations.
Balance Sheet
URL: /c/{firma}/sestava.{přípona}. The required parameter report-name specifies the print report you want:
rozvaha$$SUM_ZAKL— Balance sheet in basic formatrozvaha$$SUM— Balance sheet in abridged formatrozvaha$$NES— Balance sheet in full format
GET https://demo.flexibee.eu/c/demo/sestava.pdf?report-name=rozvaha$$SUM_ZAKL
GET https://demo.flexibee.eu/c/demo/sestava.pdf?report-name=rozvaha$$SUM
GET https://demo.flexibee.eu/c/demo/sestava.pdf?report-name=rozvaha$$NES
In all cases, the response is 200 OK and the requested document.
ℹ️ Without the parameter report-name, the URL /c/{firma}/sestava.pdf returns an overview of accounting report definitions, not a specific statement. Recalculation and the structure of reports are covered in the article Accounting Reports in the API.
Profit and Loss Statement
URL: /c/{firma}/sestava.{přípona}, values of the parameter report-name:
vysledovka$$SUM— Profit and loss statement in abridged formatvysledovka$$NES— Profit and loss statement in full format
GET https://demo.flexibee.eu/c/demo/sestava.pdf?report-name=vysledovka$$SUM
GET https://demo.flexibee.eu/c/demo/sestava.pdf?report-name=vysledovka$$NES
Cash Flow Statement
URL: /c/{firma}/sestava.{přípona}, values of the parameter report-name:
cashFlow$$NES— Cash flow statementcashFlow$$MIN_OBDOBI— Cash flow statement including data for the previous period
GET https://demo.flexibee.eu/c/demo/sestava.pdf?report-name=cashFlow$$NES
GET https://demo.flexibee.eu/c/demo/sestava.pdf?report-name=cashFlow$$MIN_OBDOBI
Balance Sheet and Profit and Loss Statement in XML
URL: /c/{firma}/rozvaha-vykaz.xml. The output is an XML document for the tax authority. The service requires three mandatory parameters — druh, rozsah, and typ (of the reporting entity):
Parameter | Values |
|
|
|
|
|
|
Error when a report has not been calculated
GET https://demo.flexibee.eu/c/demo/rozvaha-vykaz.xml?druh=B&rozsah=P&typ=M
The response is 400 Bad Request with the code priznaniDanPoNeniVypocet:
<?xml version="1.0" ?>
<winstrom version="1.0">
<success>false</success>
<message>Pro vygenerování Rozvaha a výkaz zisku a ztráty v XML musí být vypočtené sestavy Rozvaha v plném rozsahu a Výkaz zisku a ztráty - druhové členění.</message>
</winstrom>
Successful call
After the required reports have been recalculated, the same call returns 200 OK and XML in the following structure (values are illustrative):
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Pisemnost nazevSW="ABRA Flexi" verzeSW="2026.5.2">
<DPPDP8 verzePis="05.01.01">
<VetaD c_nace="582000" c_ufo_cil="451" dapdpp_forma="B" dokument="DP8" k_uladis="DPP" kat_uj="M" typ_dapdpp="A" typ_popldpp="1" typ_zo="A" uv_vyhl="500" zdobd_do="31.12.2024" zdobd_od="01.01.2024"/>
<VetaP c_pop="1" c_pracufo="2005" dic="CZ12345678" naz_obce="Praha" opr_jmeno="Jan" opr_postaveni="Jednatel" opr_prijmeni="Vzorový" psc="10000" ulice="Ulice 1" zkrobchjm="Vzorová firma s.r.o."/>
<VetaO/>
<VetaUA c_radku="1" kc_brutto="0" kc_korekce="0" kc_netto="0" kc_netto_min="0"/>
<VetaUB c_radku="1" kc_min="13817245.31" kc_sled="3788007.63"/>
<VetaUD c_radku="66" kc_min="0" kc_sled="0"/>
</DPPDP8>
</Pisemnost>
Expenses and Revenues Listing
URL: /c/{firma}/vysledovka-po-uctech.{přípona}.
Parameters
report-name— print report code (e.g.,vysledovkaPoUctechStavy)ucetniObdobi— accounting period code (e.g.,2024); the default is the current accounting periodfiltrUcty— account codes, or their prefix or range, separated by commas (e.g.,311000,32,3-4)ucet— account code; can be specified multiple times (e.g.,ucet=code:211001&ucet=code:112001)danoveUcty— if not specified, both tax-deductible and non-deductible accounts are includedstredisko— object code from the /stredisko record; can be specified multiple timescinnost— object code from the /cinnost record; can be specified multiple timesmena— currency code; can be specified multiple timesgroupByStredisko—true/false, enables or disables breakdown by cost centersgroupByCinnost—true/false, enables or disables breakdown by activities
GET https://demo.flexibee.eu/c/demo/vysledovka-po-uctech.pdf?report-name=vysledovkaPoUctechStavy&ucetniObdobi=2024&mena=code:CZK&danoveUcty=true&stredisko=code:C
⚠️ If the company does not have the corresponding print report available, the service returns 406 with the code neexistujeReport. In that case, it is the report definition that is missing, not a call parameter.
Assets and Liabilities Listing
URL: /c/{firma}/rozvaha-po-uctech.{přípona}. The parameters are identical to those of the expenses and revenues listing, only without the parameter danoveUcty.
GET https://demo.flexibee.eu/c/demo/rozvaha-po-uctech.pdf?report-name=rozvahaPoUctechObraty&mena=code:CZK&filtrUcty=2,32,022001&ucet=code:082001&stredisko=code:C
Statement of Operations
URL: /c/{firma}/vykaz-hospodareni.{přípona}.
Parameters
report-name— required valuevykazHospodarenimesicRok— required month and year in the formatMM/yyyy(e.g.,04/2024)ucetniObdobi— accounting period code without the prefixcode:(e.g.,2024); the default is the current accounting periodfiltrUcty,ucet,stredisko,cinnost,mena— same meaning as for the expenses and revenues listing
GET https://demo.flexibee.eu/c/demo/vykaz-hospodareni.pdf?report-name=vykazHospodareni&ucetniObdobi=2024&mesicRok=04/2024&mena=code:CZK
⚠️ The month in the parameter mesicRok must fall within the selected accounting period. If it does not match, the service returns 400 with a message stating that the values of the parameters mesicRok and ucetniObdobi are not compatible with each other. Without the parameter report-name, the call fails with the error 406.
Accounting Analysis of a Project
URL: /c/{firma}/analyza-zakazky.{přípona}. Only the period parameters are required.
Parameters
uctovaniOd— required posting start date in the formatyyyy-MM-dd(e.g.,2024-01-01)uctovaniDo— required posting end date in the formatyyyy-MM-dd(e.g.,2024-12-31)report-name— if not specified,analyzaZakazkyis usedzakazka— object code from the /zakazka record; can be specified multiple times (e.g.,zakazka=code:ZAK1&zakazka=code:ZAK2)stredisko— object code from the /stredisko record; can be specified multiple times (e.g.,stredisko=code:C&stredisko=code:B)cinnost— object code from the /cinnost record; can be specified multiple times (e.g.,cinnost=code:1&cinnost=code:2)
GET https://demo.flexibee.eu/c/demo/analyza-zakazky.pdf?uctovaniOd=2024-01-01&uctovaniDo=2024-12-31&zakazka=code:ZAK1&zakazka=code:ZAK2
A missing period parameter results in the error 400 with the code missing_param_exception; a nonexistent project, cost center, or activity results in the error 404.
Unpaid Overdue Receivables and Payables
URL: /c/{firma}/po-splatnosti.{přípona}.
Parameters
datumVypoctu— required report calculation date in the formatyyyy-MM-dd(e.g.,2024-09-01)report-name— if not specified,poSplatnostiis used;poSplatnostiDleDokladuis also availablemodul— accounting module code; can be specified multiple times (e.g.,modul=FAV&modul=PHL). Valid values areFAP,FAV,PHL, andZAV.rozmezi1torozmezi6— overdue ranges in days; the default values are30,60,90,180,360, and720
GET https://demo.flexibee.eu/c/demo/po-splatnosti.pdf?report-name=poSplatnostiDleDokladu&datumVypoctu=2024-09-01&rozmezi1=0&modul=FAP&modul=PHL
⚠️ If you specify the parameters rozmezi1 to rozmezi6, each value must be equal to or greater than the previous one. Otherwise, the call fails with the error 400. An invalid module code returns 404.
VAT Recapitulative Statement
URL: /c/{firma}/souhrnne-hlaseni-dph.{přípona}.
Parameters
rok— return year (e.g.,2024), always requiredctvrtleti— for quarterly filing, values1to4mesic— for monthly filing, values1to12stat— country for which the statement is to be processed. Values areCZandSK; if not specified, the country of the company's legislation is used.
You must always specify a pair of period parameters — either rok and ctvrtleti, or rok and mesic. rok alone results in the error 400 with the code missing_param_exception.
GET https://demo.flexibee.eu/c/demo/souhrnne-hlaseni-dph.pdf?rok=2024&mesic=2&stat=CZ
ℹ️ The VAT recapitulative statement, including the XML output for the tax authority, is covered in detail in the article VAT Recapitulative Statement - REST API.
