Skip to content

Operations in the Accounting group.

Base URLhttps://api.damedoklad.cz/v1AuthenticationErrors and limitsConventions

Whether the books follow the business decree 500/2002 Sb., the non-profit decree 504/2002 Sb., or the contributory organisation forms of 410/2009 Sb.

GET/v1/ledger/accounting-kind

Whether the books follow the business decree 500/2002 Sb., the non-profit decree 504/2002 Sb., or the contributory organisation forms of 410/2009 Sb.

MCP tool: get-accounting-kind

Response · 200

kindstringrequired
regimestringrequired
GET/v1/ledger/accounting-kind
curl https://api.damedoklad.cz/v1/ledger/accounting-kind \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Set the books to the business, non-profit (504/2002 Sb.), or contributory organisation (410/2009 Sb.) chart and statements. Only while the books are empty

POST/v1/ledger/accounting-kind

Set the books to the business, non-profit (504/2002 Sb.), or contributory organisation (410/2009 Sb.) chart and statements. Only while the books are empty. Podvojné účetnictví only. It seeds the chart, the activities Hlavní and Hospodářská činnost, and the closing accounts of that decree: 961, 962, 963 for a non-profit, 491, 492, 493 for a contributory organisation.

IrreversibleThis operation cannot be undone. MCP clients ask for confirmation first.

MCP tool: set-accounting-kind

Request body

kind"business" | "nonprofit" | "contributory"required
confirmtruerequired

Response · 200

kindstringrequired
regimestringrequired
POST/v1/ledger/accounting-kind
curl -X POST https://api.damedoklad.cz/v1/ledger/accounting-kind \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "kind": "business",
  "confirm": true
}'

List the chart of accounts (účtová osnova), seeded with Czech synthetic accounts, plus analytic accounts

GET/v1/ledger/accounts

List the chart of accounts (účtová osnova), seeded with Czech synthetic accounts, plus analytic accounts

MCP tool: list-accounts

Query parameters

limitintegermin 1max 500
offsetintegermin 0max 9007199254740991
searchstringmax 200 chars
type"asset" | "liability" | "expense" | "revenue" | "closing" | "off_balance"
active"true" | "false"

Response · 200

dataobject[]required
object"account"required
idstringrequired
numberstringrequired
namestringrequired
nameEnnull | stringrequired
typestringrequired
isTaxablebooleanrequired
isSystembooleanrequired
isActivebooleanrequired
isAnalyticbooleanrequired
statementRownull | stringrequired
functionRownull | stringrequired
trackSaldobooleanrequired
totalinteger
Rows that match, on all pages.
hasMorebooleanrequired
More rows follow. Ask again with offset + the number of rows received.
GET/v1/ledger/accounts
curl https://api.damedoklad.cz/v1/ledger/accounts \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Create an analytic account under a synthetic one (343100) or a new synthetic account

POST/v1/ledger/accounts

Create an analytic account under a synthetic one (343100) or a new synthetic account

MCP tool: create-account

Request body

numberstringrequired
namestringrequiredmax 200 chars
nameEnstringmax 200 chars
type"asset" | "liability" | "expense" | "revenue" | "closing" | "off_balance"
isTaxableboolean
statementRowstringmax 24 chars

Response · 201

idstringrequired
numberstringrequired
namestringrequired
nameEnnull | stringrequired
typestringrequired
isTaxablebooleanrequired
isSystembooleanrequired
isActivebooleanrequired
isAnalyticbooleanrequired
statementRownull | stringrequired
functionRownull | stringrequired
trackSaldobooleanrequired
POST/v1/ledger/accounts
curl -X POST https://api.damedoklad.cz/v1/ledger/accounts \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "number": "518",
  "name": "Pekárna U Lípy s.r.o."
}'

Update an account you created. System synthetic accounts are read-only

PATCH/v1/ledger/accounts/{id}

Update an account you created. System synthetic accounts are read-only

MCP tool: update-account

Path parameters

idstringrequired

Request body

namestringmax 200 chars
nameEnstringmax 200 chars
isTaxableboolean
isActiveboolean
statementRowstring | null
functionRowstring | null
trackSaldoboolean

Response · 200

idstringrequired
numberstringrequired
namestringrequired
nameEnnull | stringrequired
typestringrequired
isTaxablebooleanrequired
isSystembooleanrequired
isActivebooleanrequired
isAnalyticbooleanrequired
statementRownull | stringrequired
functionRownull | stringrequired
trackSaldobooleanrequired
PATCH/v1/ledger/accounts/{id}
curl -X PATCH https://api.damedoklad.cz/v1/ledger/accounts/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Pekárna U Lípy s.r.o.",
  "nameEn": "Pekárna U Lípy s.r.o.",
  "isTaxable": false
}'

Delete an unused account you created

DELETE/v1/ledger/accounts/{id}

Delete an unused account you created

IrreversibleThis operation cannot be undone. MCP clients ask for confirmation first.

MCP tool: delete-account

Path parameters

idstringrequired

Response · 200

idstringrequired
deletedbooleanrequired
DELETE/v1/ledger/accounts/{id}
curl -X DELETE https://api.damedoklad.cz/v1/ledger/accounts/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

List časové rozlišení and dohadné položky with what is posted and what remains

GET/v1/ledger/accruals

List časové rozlišení and dohadné položky with what is posted and what remains

MCP tool: list-accrual-schedules

Query parameters

limitintegermin 1max 500
offsetintegermin 0max 9007199254740991
searchstringmax 200 chars
fromstringYYYY-MM-DD
Date as YYYY-MM-DD.
tostringYYYY-MM-DD
Date as YYYY-MM-DD.
status"active" | "finished" | "cancelled"

Response · 200

dataobject[]required
object"accrual_schedule"required
idstringrequired
kindstringrequired
namestringrequired
totalHalerintegerrequired
balanceAccountstringrequired
resultAccountstringrequired
startMonthstringrequired
monthsintegerrequired
reverseOnnull | stringrequireddate
initialEntryIdnull | stringrequired
contactIdstring | nullrequired
centerIdstring | nullrequired
activityIdstring | nullrequired
projectIdstring | nullrequired
statusstringrequired
createdAtstringrequireddate-time
postedHalerintegerrequired
remainingHalerinteger | nullrequired
nextDueOnnull | stringrequireddate
linesobject[]required
idstringrequired
positioninteger | nullrequired
kindstringrequired
dueOnnull | stringrequireddate
amountHalerinteger | nullrequired
entryIdnull | stringrequired
postedAtnull | stringrequireddate-time
totalinteger
Rows that match, on all pages.
hasMorebooleanrequired
More rows follow. Ask again with offset + the number of rows received.
GET/v1/ledger/accruals
curl https://api.damedoklad.cz/v1/ledger/accruals \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Schedule monthly entries for 381, 383, 384, or 385, or one estimate on 388 or 389 with an optional reversal. Whatever is already due posts at once

POST/v1/ledger/accruals

Schedule monthly entries for 381, 383, 384, or 385, or one estimate on 388 or 389 with an optional reversal. Whatever is already due posts at once. Set initialEntryDate when the document was booked straight to the result, so the whole amount moves to 381 or 384 first. The plan is equal months on the last day of each month, and the last month takes the rounding.

MCP tool: create-accrual-schedule

Request body

kind"prepaid_expense" | "accrued_expense" | "deferred_revenue" | "accrued_revenue" | "estimated_payable" | "estimated_receivable"required
namestringrequiredmax 200 chars
totalHalerintegerrequiredmax 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
resultAccountstringrequired
balanceAccountstring
startMonthstringrequired
monthsintegermin 1max 120
reverseOnstringYYYY-MM-DD
Date as YYYY-MM-DD.
initialEntryDatestringYYYY-MM-DD
Date as YYYY-MM-DD.
contactIdstring
ID of the contact. Find it with list-contacts.
centerIdstring
ID of the center.
activityIdstring
ID of the activity. Find it with list-activity.
projectIdstring
ID of the project.

Response · 201

idstringrequired
kindstringrequired
namestringrequired
totalHalerintegerrequired
balanceAccountstringrequired
resultAccountstringrequired
startMonthstringrequired
monthsintegerrequired
reverseOnnull | stringrequireddate
initialEntryIdnull | stringrequired
contactIdstring | nullrequired
centerIdstring | nullrequired
activityIdstring | nullrequired
projectIdstring | nullrequired
statusstringrequired
createdAtstringrequireddate-time
postedHalerintegerrequired
remainingHalerinteger | nullrequired
nextDueOnnull | stringrequireddate
linesobject[]required
idstringrequired
positioninteger | nullrequired
kindstringrequired
dueOnnull | stringrequireddate
amountHalerinteger | nullrequired
entryIdnull | stringrequired
postedAtnull | stringrequireddate-time
POST/v1/ledger/accruals
curl -X POST https://api.damedoklad.cz/v1/ledger/accruals \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "contactId": "con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
  "kind": "prepaid_expense",
  "name": "Pekárna U Lípy s.r.o.",
  "totalHaler": 1210000,
  "resultAccount": "518",
  "startMonth": "2026-10-30"
}'

Stop an accrual schedule. Rows already posted stay in the books; reverse them in the journal if they should go too

DELETE/v1/ledger/accruals/{id}

Stop an accrual schedule. Rows already posted stay in the books; reverse them in the journal if they should go too

IrreversibleThis operation cannot be undone. MCP clients ask for confirmation first.

MCP tool: cancel-accrual-schedule

Path parameters

idstringrequired

Response · 200

idstringrequired
kindstringrequired
namestringrequired
totalHalerintegerrequired
balanceAccountstringrequired
resultAccountstringrequired
startMonthstringrequired
monthsintegerrequired
reverseOnnull | stringrequireddate
initialEntryIdnull | stringrequired
contactIdstring | nullrequired
centerIdstring | nullrequired
activityIdstring | nullrequired
projectIdstring | nullrequired
statusstringrequired
createdAtstringrequireddate-time
postedHalerintegerrequired
remainingHalerinteger | nullrequired
nextDueOnnull | stringrequireddate
linesobject[]required
idstringrequired
positioninteger | nullrequired
kindstringrequired
dueOnnull | stringrequireddate
amountHalerinteger | nullrequired
entryIdnull | stringrequired
postedAtnull | stringrequireddate-time
DELETE/v1/ledger/accruals/{id}
curl -X DELETE https://api.damedoklad.cz/v1/ledger/accruals/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Post every planned accrual row due by a date, for example everything up to the year end

POST/v1/ledger/accruals/run

Post every planned accrual row due by a date, for example everything up to the year end

MCP tool: run-due-accruals

Request body

datestringYYYY-MM-DD
Date as YYYY-MM-DD.

Response · 200

datestringrequireddate
postedintegerrequired
skippedobject[]required
scheduleIdstringrequired
dueOnnull | stringrequireddate
POST/v1/ledger/accruals/run
curl -X POST https://api.damedoklad.cz/v1/ledger/accruals/run \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "date": "2026-10-30"
}'

List opravné položky with their balance, statutory and accounting ones apart

GET/v1/ledger/allowances

List opravné položky with their balance, statutory and accounting ones apart

MCP tool: list-allowances

Query parameters

limitintegermin 1max 500
offsetintegermin 0max 9007199254740991
searchstringmax 200 chars

Response · 200

dataobject[]required
object"allowance"required
idstringrequired
kindstringrequired
targetTypestringrequired
legalBasisnull | stringrequired
documentTypenull | stringrequired
documentIdnull | stringrequired
contactIdnull | stringrequired
labelnull | stringrequired
allowanceAccountstringrequired
costAccountstringrequired
baseHalerinteger | nullrequired
balanceHalerintegerrequired
createdAtstringrequireddate-time
operationsobject[]required
object"allowance_operation"required
idstringrequired
allowanceIdstringrequired
kindstringrequired
datestringrequireddate
amountHalerinteger | nullrequired
reasonnull | stringrequired
notenull | stringrequired
journalEntryIdnull | stringrequired
reversedbooleanrequired
totalinteger
Rows that match, on all pages.
hasMorebooleanrequired
More rows follow. Ask again with offset + the number of rows received.
GET/v1/ledger/allowances
curl https://api.damedoklad.cz/v1/ledger/allowances \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Create an opravná položka to a receivable or an asset and post MD 558 or 559 / D the allowance account

POST/v1/ledger/allowances

Create an opravná položka to a receivable or an asset and post MD 558 or 559 / D the allowance account. Statutory ones (zákon 593/1992 Sb.) are for receivables, are checked against § 8, § 8a, and § 8c, and are a tax cost. Accounting ones are not a tax cost and reach the income tax worksheet.

MCP tool: create-allowance

Request body

kind"statutory" | "accounting"required
targetType"receivable" | "fixed_intangible" | "fixed_tangible" | "in_progress_intangible" | "in_progress_tangible" | "advance_paid" | "financial" | "material" | "work_in_progress" | "semi_finished" | "products" | "animals" | "goods"required
legalBasis"8" | "8a" | "8c"
documentType"invoice" | "other_receivable" | "debit_note"
documentIdstring
ID of the document.
contactIdstring
ID of the contact. Find it with list-contacts.
labelstringmax 240 chars
datestringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.
amountHalerintegerrequiredmax 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
costAccountstring
notestringmax 240 chars
insolvencyFiledboolean
notRelatedPartyboolean

Response · 201

idstringrequired
kindstringrequired
targetTypestringrequired
legalBasisnull | stringrequired
documentTypenull | stringrequired
documentIdnull | stringrequired
contactIdnull | stringrequired
labelnull | stringrequired
allowanceAccountstringrequired
costAccountstringrequired
baseHalerinteger | nullrequired
balanceHalerintegerrequired
createdAtstringrequireddate-time
operationsobject[]required
object"allowance_operation"required
idstringrequired
allowanceIdstringrequired
kindstringrequired
datestringrequireddate
amountHalerinteger | nullrequired
reasonnull | stringrequired
notenull | stringrequired
journalEntryIdnull | stringrequired
reversedbooleanrequired
POST/v1/ledger/allowances
curl -X POST https://api.damedoklad.cz/v1/ledger/allowances \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "contactId": "con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
  "kind": "statutory",
  "targetType": "receivable",
  "date": "2026-10-30",
  "amountHaler": 1210000
}'

Take back an allowance operation with a reversal entry. A newer operation has to go first

POST/v1/ledger/allowances/{id}/operations/{operationId}/reverse

Take back an allowance operation with a reversal entry. A newer operation has to go first

IrreversibleThis operation cannot be undone. MCP clients ask for confirmation first.

MCP tool: reverse-allowance-operation

Path parameters

idstringrequired
operationIdstringrequired
ID of the operation.

Response · 200

idstringrequired
kindstringrequired
targetTypestringrequired
legalBasisnull | stringrequired
documentTypenull | stringrequired
documentIdnull | stringrequired
contactIdnull | stringrequired
labelnull | stringrequired
allowanceAccountstringrequired
costAccountstringrequired
baseHalerinteger | nullrequired
balanceHalerintegerrequired
createdAtstringrequireddate-time
operationsobject[]required
object"allowance_operation"required
idstringrequired
allowanceIdstringrequired
kindstringrequired
datestringrequireddate
amountHalerinteger | nullrequired
reasonnull | stringrequired
notenull | stringrequired
journalEntryIdnull | stringrequired
reversedbooleanrequired
POST/v1/ledger/allowances/{id}/operations/{operationId}/reverse
curl -X POST https://api.damedoklad.cz/v1/ledger/allowances/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/operations/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/reverse \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Settle an opravná položka, in part or whole, when the receivable is paid or written off or the reason ends: MD allowance / D 558 or 559

POST/v1/ledger/allowances/{id}/settle

Settle an opravná položka, in part or whole, when the receivable is paid or written off or the reason ends: MD allowance / D 558 or 559. Writing off the receivable itself is createReceivableWriteOff, which settles its allowances on the way.

MCP tool: settle-allowance

Path parameters

idstringrequired

Request body

datestringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.
amountHalerintegerrequiredmax 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
reason"paid" | "written_off" | "lapsed" | "no_longer_justified" | "other"required
notestringmax 240 chars

Response · 201

idstringrequired
kindstringrequired
targetTypestringrequired
legalBasisnull | stringrequired
documentTypenull | stringrequired
documentIdnull | stringrequired
contactIdnull | stringrequired
labelnull | stringrequired
allowanceAccountstringrequired
costAccountstringrequired
baseHalerinteger | nullrequired
balanceHalerintegerrequired
createdAtstringrequireddate-time
operationsobject[]required
object"allowance_operation"required
idstringrequired
allowanceIdstringrequired
kindstringrequired
datestringrequireddate
amountHalerinteger | nullrequired
reasonnull | stringrequired
notenull | stringrequired
journalEntryIdnull | stringrequired
reversedbooleanrequired
POST/v1/ledger/allowances/{id}/settle
curl -X POST https://api.damedoklad.cz/v1/ledger/allowances/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/settle \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "date": "2026-10-30",
  "amountHaler": 1210000,
  "reason": "paid"
}'

Unpaid receivables at a date, with the statutory allowance each one could have: § 8a at more than 18 or 30 months, § 8c for small claims

GET/v1/ledger/allowances/candidates

Unpaid receivables at a date, with the statutory allowance each one could have: § 8a at more than 18 or 30 months, § 8c for small claims. What the books show. Whether the debtor is a related person, or is in insolvency, you confirm when creating the allowance.

MCP tool: get-allowance-candidates

Query parameters

datestringYYYY-MM-DD
Date as YYYY-MM-DD.

Response · 200

datestringrequireddate
rowsobject[]required
documentTypenull | stringrequired
documentIdnull | stringrequired
numbernull | stringrequired
contactIdnull | stringrequired
contactNamenull | stringrequired
dueDatenull | stringrequireddate
originalHalerintegerrequired
unpaidHalerintegerrequired
monthsPastDueintegerrequired
statutoryBalanceHalerintegerrequired
accountingBalanceHalerintegerrequired
statutoryOptionsobject[]required
basisstringrequired
percentinteger | nullrequired
maxHalerintegerrequired
roomHalerintegerrequired
hasDueDebtToDebtorbooleanrequired
currencynull | string
exchangeRatenull | string
unpaidDocumentHalerinteger
limitationobject
basisstringrequired
limitationDatestringrequireddate
daysLeftintegerrequired
statestringrequired
factsanyrequired
Null in every recorded response.
allowanceToReleaseboolean
GET/v1/ledger/allowances/candidates
curl https://api.damedoklad.cz/v1/ledger/allowances/candidates \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Promlčení of unpaid receivables at a date: when each one is time-barred, on what basis, and which allowances that cancels

GET/v1/ledger/allowances/limitations

Promlčení of unpaid receivables at a date: when each one is time-barred, on what basis, and which allowances that cancels. Three years from the due date (§ 629 občanského zákoníku) unless facts you recorded say otherwise. With `days`, only what ends within that many days, or is already barred or suspended.

MCP tool: get-receivable-limitations

Query parameters

datestringYYYY-MM-DD
Date as YYYY-MM-DD.
daysintegermin 1max 3650

Response · 200

datestringrequireddate
warningDaysintegerrequired
rowsobject[]required
documentTypenull | stringrequired
documentIdnull | stringrequired
numbernull | stringrequired
contactIdnull | stringrequired
contactNamenull | stringrequired
dueDatenull | stringrequireddate
currencynull | stringrequired
exchangeRatenull | stringrequired
unpaidDocumentHalerintegerrequired
originalHalerintegerrequired
unpaidHalerintegerrequired
monthsPastDueintegerrequired
statutoryBalanceHalerintegerrequired
accountingBalanceHalerintegerrequired
statutoryOptionsobject[]required
basisstringrequired
percentinteger | nullrequired
maxHalerintegerrequired
roomHalerintegerrequired
hasDueDebtToDebtorbooleanrequired
limitationobjectrequired
basisstringrequired
limitationDatenull | stringrequireddate
daysLeftinteger | nullrequired
statestringrequired
factsnull | objectrequired
acknowledgedOnnull | stringrequireddate
acknowledgedUntilstring | nullrequired
awardedDueOnstring | nullrequired
proceedingsFromnull | stringrequireddate
proceedingsTostring | nullrequired
agreedYearsinteger | nullrequired
notenull | stringrequired
suspendedSincestringdate
allowanceToReleasebooleanrequired
countsobjectrequired
expiredintegerrequired
soonintegerrequired
suspendedintegerrequired
GET/v1/ledger/allowances/limitations
curl https://api.damedoklad.cz/v1/ledger/allowances/limitations \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Record what changes the promlčení of one receivable: an acknowledged debt, a decision, proceedings, or an agreed period

PUT/v1/ledger/allowances/limitations/{id}

Record what changes the promlčení of one receivable: an acknowledged debt, a decision, proceedings, or an agreed period. The id is the document. These are the facts a person knows; the date follows from them.

MCP tool: set-receivable-limitation

Path parameters

idstringrequired

Request body

documentType"invoice" | "other_receivable" | "debit_note"required
acknowledgedOnstring | null
Date as YYYY-MM-DD.
acknowledgedUntilstring | null
awardedDueOnstring | null
Date as YYYY-MM-DD.
proceedingsFromstring | null
Date as YYYY-MM-DD.
proceedingsTostring | null
Date as YYYY-MM-DD.
agreedYearsinteger | null
notestring | null

Response · 200

documentIdnull | stringrequired
documentTypenull | stringrequired
factsobjectrequired
acknowledgedOnnull | stringrequireddate
acknowledgedUntilstring | nullrequired
awardedDueOnstring | nullrequired
proceedingsFromnull | stringrequireddate
proceedingsTostring | nullrequired
agreedYearsinteger | nullrequired
notenull | stringrequired
limitationobjectrequired
basisstringrequired
limitationDatenull | stringrequireddate
daysLeftinteger | nullrequired
statestringrequired
suspendedSincestringdate
PUT/v1/ledger/allowances/limitations/{id}
curl -X PUT https://api.damedoklad.cz/v1/ledger/allowances/limitations/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "documentType": "invoice"
}'

What a year’s opravné položky do to the income tax base: creation of accounting ones added back, their release taken off

GET/v1/ledger/allowances/tax-effect

What a year’s opravné položky do to the income tax base: creation of accounting ones added back, their release taken off

MCP tool: get-allowance-tax-effect

Query parameters

yearintegerrequiredmin 2000max 2100

Response · 200

yearintegerrequired
statutoryCreatedHalerintegerrequired
statutoryReleasedHalerintegerrequired
accountingCreatedHalerintegerrequired
accountingReleasedHalerintegerrequired
addBackHalerintegerrequired
deductHalerintegerrequired
GET/v1/ledger/allowances/tax-effect
curl https://api.damedoklad.cz/v1/ledger/allowances/tax-effect \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

List receivables written off, with the deductible part of each

GET/v1/ledger/allowances/write-offs

List receivables written off, with the deductible part of each

MCP tool: list-receivable-write-offs

Query parameters

limitintegermin 1max 500
offsetintegermin 0max 9007199254740991
searchstringmax 200 chars

Response · 200

dataobject[]required
object"receivable_write_off"required
idstringrequired
documentTypenull | stringrequired
documentIdnull | stringrequired
documentNumbernull | stringrequired
contactIdnull | stringrequired
contactNamenull | stringrequired
datestringrequireddate
groundnull | stringrequired
amountHalerinteger | nullrequired
deductibleHalerintegerrequired
nonDeductibleHalerintegerrequired
timeBarredbooleanrequired
notestring | nullrequired
reversedbooleanrequired
createdAtstringrequireddate-time
totalinteger
Rows that match, on all pages.
hasMorebooleanrequired
More rows follow. Ask again with offset + the number of rows received.
GET/v1/ledger/allowances/write-offs
curl https://api.damedoklad.cz/v1/ledger/allowances/write-offs \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Write off a receivable: MD 546100 tax-deductible or 546200 not / D 311, settling its allowances, and closing the document

POST/v1/ledger/allowances/write-offs

Write off a receivable: MD 546100 tax-deductible or 546200 not / D 311, settling its allowances, and closing the document. A ground 1 to 7 of § 24 odst. 2 písm. y) ZDP needs conditionsConfirmed: the books cannot show them. Without a ground only the part covered by a statutory allowance is deductible. VAT is untouched: § 46 ZDPH has its own correction.

MCP tool: create-receivable-write-off

Request body

documentType"invoice" | "other_receivable" | "debit_note"required
documentIdstringrequired
ID of the document.
datestringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.
ground"1" | "2" | "3" | "4" | "5" | "6" | "7" | "none"required
amountHalerintegermax 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
notestringmax 240 chars
conditionsConfirmedboolean

Response · 201

idstringrequired
documentTypenull | stringrequired
documentIdnull | stringrequired
documentNumbernull | stringrequired
contactIdnull | stringrequired
contactNamenull | stringrequired
datestringrequireddate
groundnull | stringrequired
amountHalerinteger | nullrequired
deductibleHalerintegerrequired
nonDeductibleHalerintegerrequired
timeBarredbooleanrequired
notestring | nullrequired
reversedbooleanrequired
createdAtstringrequireddate-time
POST/v1/ledger/allowances/write-offs
curl -X POST https://api.damedoklad.cz/v1/ledger/allowances/write-offs \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "documentType": "invoice",
  "documentId": "obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
  "date": "2026-10-30",
  "ground": "1"
}'

Take a write-off back: the document is open again and the allowance operations it settled are reversed

POST/v1/ledger/allowances/write-offs/{id}/reverse

Take a write-off back: the document is open again and the allowance operations it settled are reversed

IrreversibleThis operation cannot be undone. MCP clients ask for confirmation first.

MCP tool: reverse-receivable-write-off

Path parameters

idstringrequired

Response · 200

idstringrequired
documentTypenull | stringrequired
documentIdnull | stringrequired
documentNumbernull | stringrequired
contactIdnull | stringrequired
contactNamenull | stringrequired
datestringrequireddate
groundnull | stringrequired
amountHalerinteger | nullrequired
deductibleHalerintegerrequired
nonDeductibleHalerintegerrequired
timeBarredbooleanrequired
notestring | nullrequired
reversedbooleanrequired
createdAtstringrequireddate-time
POST/v1/ledger/allowances/write-offs/{id}/reverse
curl -X POST https://api.damedoklad.cz/v1/ledger/allowances/write-offs/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/reverse \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

The grounds of § 24 odst. 2 písm. y) ZDP on which writing off a receivable is a tax cost

GET/v1/ledger/allowances/write-offs/grounds

The grounds of § 24 odst. 2 písm. y) ZDP on which writing off a receivable is a tax cost

MCP tool: get-write-off-grounds

Response · 200

groundsobject[]required
groundnull | stringrequired
csstringrequired
enstringrequired
GET/v1/ledger/allowances/write-offs/grounds
curl https://api.damedoklad.cz/v1/ledger/allowances/write-offs/grounds \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

What writing off a receivable would do: the tax-deductible part, the rest, the allowances it settles, and what to watch

GET/v1/ledger/allowances/write-offs/preview

What writing off a receivable would do: the tax-deductible part, the rest, the allowances it settles, and what to watch

MCP tool: preview-receivable-write-off

Query parameters

documentType"invoice" | "other_receivable" | "debit_note"required
documentIdstringrequired
ID of the document.
datestringYYYY-MM-DD
Date as YYYY-MM-DD.
ground"1" | "2" | "3" | "4" | "5" | "6" | "7" | "none"default "none"

Response · 200

documentTypenull | stringrequired
documentIdnull | stringrequired
numbernull | stringrequired
contactNamenull | stringrequired
currencynull | stringrequired
groundnull | stringrequired
groundTextnull | objectrequired
csstringrequired
enstringrequired
amountHalerinteger | nullrequired
amountCzkHalerintegerrequired
deductibleHalerintegerrequired
nonDeductibleHalerintegerrequired
coveredHalerintegerrequired
timeBarredbooleanrequired
limitationobjectrequired
basisstringrequired
limitationDatestringrequireddate
daysLeftintegerrequired
statestringrequired
factsanyrequired
Null in every recorded response.
settlesStatutoryHalerintegerrequired
settlesAccountingHalerintegerrequired
warningsobject[]required
codenull | stringrequired
messagenull | stringrequired
GET/v1/ledger/allowances/write-offs/preview
curl https://api.damedoklad.cz/v1/ledger/allowances/write-offs/preview \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

List own analyses: rows of a label and a formula over account balances

GET/v1/ledger/analyses

List own analyses: rows of a label and a formula over account balances

MCP tool: list-analyses

Query parameters

limitintegermin 1max 500
offsetintegermin 0max 9007199254740991
searchstringmax 200 chars

Response · 200

dataobject[]required
object"analysis"required
idstringrequired
namenull | stringrequired
rowsobject[]required
labelnull | stringrequired
formulastringrequired
createdAtstringrequireddate-time
updatedAtstringrequireddate-time
totalinteger
Rows that match, on all pages.
hasMorebooleanrequired
More rows follow. Ask again with offset + the number of rows received.
GET/v1/ledger/analyses
curl https://api.damedoklad.cz/v1/ledger/analyses \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Save an own analysis. A formula uses numbers, + - * /, brackets, Z(311) for a closing balance and O(6) for the year’s movement, debit positive; with a peněžní deník P(A01) for income and V(B04) for expenses by row of the přehled

POST/v1/ledger/analyses

Save an own analysis. A formula uses numbers, + - * /, brackets, Z(311) for a closing balance and O(6) for the year’s movement, debit positive; with a peněžní deník P(A01) for income and V(B04) for expenses by row of the přehled

MCP tool: create-analysis

Request body

namestringrequiredmax 200 chars
rowsobject[]required
labelstringrequiredmax 120 chars
formulastringrequiredmax 400 chars

Response · 201

idstringrequired
namenull | stringrequired
rowsobject[]required
labelnull | stringrequired
formulastringrequired
createdAtstringrequireddate-time
updatedAtstringrequireddate-time
POST/v1/ledger/analyses
curl -X POST https://api.damedoklad.cz/v1/ledger/analyses \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Pekárna U Lípy s.r.o.",
  "rows": [
    {
      "label": "string",
      "formula": "string"
    }
  ]
}'

Change an own analysis

PATCH/v1/ledger/analyses/{id}

Change an own analysis

MCP tool: update-analysis

Path parameters

idstringrequired

Request body

namestringmax 200 chars
rowsobject[]
labelstringrequiredmax 120 chars
formulastringrequiredmax 400 chars

Response · 200

idstringrequired
namenull | stringrequired
rowsobject[]required
labelnull | stringrequired
formulastringrequired
createdAtstringrequireddate-time
updatedAtstringrequireddate-time
PATCH/v1/ledger/analyses/{id}
curl -X PATCH https://api.damedoklad.cz/v1/ledger/analyses/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Pekárna U Lípy s.r.o.",
  "rows": [
    {
      "label": "string",
      "formula": "string"
    }
  ]
}'

Delete an own analysis

DELETE/v1/ledger/analyses/{id}

Delete an own analysis

IrreversibleThis operation cannot be undone. MCP clients ask for confirmation first.

MCP tool: delete-analysis

Path parameters

idstringrequired

Response · 200

idstringrequired
namenull | stringrequired
rowsobject[]required
labelnull | stringrequired
formulastringrequired
createdAtstringrequireddate-time
updatedAtstringrequireddate-time
DELETE/v1/ledger/analyses/{id}
curl -X DELETE https://api.damedoklad.cz/v1/ledger/analyses/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Download an own analysis as a PDF

GET/v1/ledger/analyses/{id}/pdf

Download an own analysis as a PDF

MCP tool: get-analysis-pdf

Path parameters

idstringrequired

Query parameters

yearsintegermin 1max 10
toYearintegermin 2000max 2100

Response · 200

Returns a application/pdf file.

GET/v1/ledger/analyses/{id}/pdf
curl https://api.damedoklad.cz/v1/ledger/analyses/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/pdf \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -o soubor

Compute an own analysis by year

GET/v1/ledger/analyses/{id}/run

Compute an own analysis by year

MCP tool: run-analysis

Path parameters

idstringrequired

Query parameters

yearsintegermin 1max 10
toYearintegermin 2000max 2100

Response · 200

idstringrequired
namenull | stringrequired
yearsinteger[]required
rowsobject[]required
labelnull | stringrequired
formulastringrequired
valuesobject[]required
yearintegerrequired
valueinteger | nullrequired
sourcestring
GET/v1/ledger/analyses/{id}/run
curl https://api.damedoklad.cz/v1/ledger/analyses/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/run \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Přehled o majetku a závazcích at the start and end of a period, for daňová evidence and jednoduché účetnictví

GET/v1/ledger/assets-liabilities

Přehled o majetku a závazcích at the start and end of a period, for daňová evidence and jednoduché účetnictví. Cash, bank, receivables, and payables (with unpaid payroll) come from the books, fixed assets from asset cards, inventory from stock movements, and loans from the loan register. Other rows are values you keep through updateBookBalances, which can also type over the computed asset, inventory, and loan rows for a period.

MCP tool: get-assets-liabilities

Query parameters

centerIdstring
ID of the center.
activityIdstring
ID of the activity. Find it with list-activity.
projectIdstring
ID of the project.
periodIdstring
ID of the period. Find it with list-periods.
fromstringYYYY-MM-DD
Date as YYYY-MM-DD.
tostringYYYY-MM-DD
Date as YYYY-MM-DD.

Response · 200

regimestringrequired
periodIdstringrequired
periodNamestringrequired
openingDatenull | stringrequireddate
closingDatestringrequireddate
assetsobject[]required
keystringrequired
labelnull | stringrequired
labelEnstringrequired
sourcestringrequired
autoSourcestring
openingHalerintegerrequired
closingHalerintegerrequired
liabilitiesobject[]required
keystringrequired
labelnull | stringrequired
labelEnstringrequired
sourcestringrequired
autoSourcestring
openingHalerintegerrequired
closingHalerintegerrequired
totalsobjectrequired
assetsOpeningHalerintegerrequired
assetsClosingHalerintegerrequired
liabilitiesOpeningHalerintegerrequired
liabilitiesClosingHalerintegerrequired
differenceOpeningHalerintegerrequired
differenceClosingHalerintegerrequired
exceedsSingleEntryLimitboolean
GET/v1/ledger/assets-liabilities
curl https://api.damedoklad.cz/v1/ledger/assets-liabilities \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Set manual rows of the přehled o majetku a závazcích, or opening cash and bank (items cash and bank)

PUT/v1/ledger/assets-liabilities

Set manual rows of the přehled o majetku a závazcích, or opening cash and bank (items cash and bank)

MCP tool: update-book-balances

Request body

periodIdstring
ID of the period. Find it with list-periods.
itemsobject[]required
itemstringrequiredmax 32 chars
openingHalerintegermin -9007199254740991max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
closingHalerintegermin -9007199254740991max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
clearboolean

Response · 200

regimestringrequired
periodIdstringrequired
periodNamestringrequired
openingDatenull | stringrequireddate
closingDatestringrequireddate
assetsobject[]required
keystringrequired
labelnull | stringrequired
labelEnstringrequired
sourcestringrequired
autoSourcestring
openingHalerintegerrequired
closingHalerintegerrequired
liabilitiesobject[]required
keystringrequired
labelnull | stringrequired
labelEnstringrequired
sourcestringrequired
autoSourcestring
openingHalerintegerrequired
closingHalerintegerrequired
totalsobjectrequired
assetsOpeningHalerintegerrequired
assetsClosingHalerintegerrequired
liabilitiesOpeningHalerintegerrequired
liabilitiesClosingHalerintegerrequired
differenceOpeningHalerintegerrequired
differenceClosingHalerintegerrequired
exceedsSingleEntryLimitboolean
PUT/v1/ledger/assets-liabilities
curl -X PUT https://api.damedoklad.cz/v1/ledger/assets-liabilities \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "items": [
    {
      "item": "string"
    }
  ]
}'

List the peněžní deník: income and expense rows with bank and cash columns

GET/v1/ledger/cash-book

List the peněžní deník: income and expense rows with bank and cash columns

MCP tool: list-cash-book-entries

Query parameters

limitintegermin 1max 500
offsetintegermin 0max 9007199254740991
searchstringmax 200 chars
fromstringYYYY-MM-DD
Date as YYYY-MM-DD.
tostringYYYY-MM-DD
Date as YYYY-MM-DD.
centerIdstring
ID of the center.
activityIdstring
ID of the activity. Find it with list-activity.
projectIdstring
ID of the project.
periodIdstring
ID of the period. Find it with list-periods.
classification"income_taxable" | "income_exempt" | "expense_deductible" | "expense_nondeductible" | "passthrough" | "transfer"
moneyAccount"bank" | "cash"
direction"in" | "out"

Response · 200

dataobject[]required
object"cash_book_entry"required
idstringrequired
periodIdstringrequired
numberintegerrequired
entryDatestringrequireddate
descriptionstringrequired
directionstringrequired
moneyAccountstringrequired
classificationstringrequired
categorynull | stringrequired
activityKindstringrequired
amountHalerintegerrequired
vatHalerintegerrequired
baseHalerinteger | nullrequired
bankInHalerintegerrequired
bankOutHalerintegerrequired
cashInHalerintegerrequired
cashOutHalerintegerrequired
sourceTypestringrequired
sourceIdnull | stringrequired
documentNumbernull | stringrequired
contactIdnull | stringrequired
centerIdnull | stringrequired
activityIdstring | nullrequired
projectIdstring | nullrequired
reversalOfIdnull | stringrequired
reversedByIdstring | null
canReversebooleanrequired
totalinteger
Rows that match, on all pages.
hasMorebooleanrequired
More rows follow. Ask again with offset + the number of rows received.
GET/v1/ledger/cash-book
curl https://api.damedoklad.cz/v1/ledger/cash-book \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Write a manual peněžní deník row. A transfer writes both sides: out of moneyAccount and into the other one

POST/v1/ledger/cash-book

Write a manual peněžní deník row. A transfer writes both sides: out of moneyAccount and into the other one

MCP tool: create-cash-book-entry

Request body

entryDatestringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.
descriptionstringrequiredmax 200 chars
direction"in" | "out"required
moneyAccount"bank" | "cash"
classification"income_taxable" | "income_exempt" | "expense_deductible" | "expense_nondeductible" | "passthrough" | "transfer"required
amountHalerintegerrequiredmax 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
vatHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
categorystring
activityKind"main" | "economic"
documentNumberstringmax 64 chars
contactIdstring
ID of the contact. Find it with list-contacts.
centerIdstring
ID of the center.
activityIdstring
ID of the activity. Find it with list-activity.
projectIdstring
ID of the project.

Response · 201

idstringrequired
periodIdstringrequired
numberintegerrequired
entryDatestringrequireddate
descriptionstringrequired
directionstringrequired
moneyAccountstringrequired
classificationstringrequired
categorynull | stringrequired
activityKindstringrequired
amountHalerintegerrequired
vatHalerintegerrequired
baseHalerinteger | nullrequired
bankInHalerintegerrequired
bankOutHalerintegerrequired
cashInHalerintegerrequired
cashOutHalerintegerrequired
sourceTypestringrequired
sourceIdnull | stringrequired
documentNumbernull | stringrequired
contactIdnull | stringrequired
centerIdnull | stringrequired
activityIdstring | nullrequired
projectIdstring | nullrequired
reversalOfIdnull | stringrequired
reversedByIdstring | null
canReversebooleanrequired
POST/v1/ledger/cash-book
curl -X POST https://api.damedoklad.cz/v1/ledger/cash-book \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "contactId": "con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
  "entryDate": "2026-10-30",
  "description": "Pečivo, říjen",
  "direction": "in",
  "classification": "income_taxable",
  "amountHaler": 1210000
}'

Reclassify a peněžní deník row (daňový / nedaňový, row of the přehled, činnost, text). Amounts cannot change

PATCH/v1/ledger/cash-book/{id}

Reclassify a peněžní deník row (daňový / nedaňový, row of the přehled, činnost, text). Amounts cannot change

MCP tool: update-cash-book-entry

Path parameters

idstringrequired

Request body

classification"income_taxable" | "income_exempt" | "expense_deductible" | "expense_nondeductible" | "passthrough" | "transfer"
categorystring | null
activityKind"main" | "economic"
descriptionstringmax 200 chars

Response · 200

idstringrequired
periodIdstringrequired
numberintegerrequired
entryDatestringrequireddate
descriptionstringrequired
directionstringrequired
moneyAccountstringrequired
classificationstringrequired
categorynull | stringrequired
activityKindstringrequired
amountHalerintegerrequired
vatHalerintegerrequired
baseHalerinteger | nullrequired
bankInHalerintegerrequired
bankOutHalerintegerrequired
cashInHalerintegerrequired
cashOutHalerintegerrequired
sourceTypestringrequired
sourceIdnull | stringrequired
documentNumbernull | stringrequired
contactIdnull | stringrequired
centerIdnull | stringrequired
activityIdstring | nullrequired
projectIdstring | nullrequired
reversalOfIdnull | stringrequired
reversedByIdstring | null
canReversebooleanrequired
PATCH/v1/ledger/cash-book/{id}
curl -X PATCH https://api.damedoklad.cz/v1/ledger/cash-book/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "classification": "income_taxable",
  "category": "string",
  "activityKind": "main"
}'

Reverse a manual peněžní deník row with an opposite one. A transfer reverses both sides

POST/v1/ledger/cash-book/{id}/reverse

Reverse a manual peněžní deník row with an opposite one. A transfer reverses both sides

MCP tool: reverse-cash-book-entry

Path parameters

idstringrequired

Response · 201

idstringrequired
periodIdstringrequired
numberintegerrequired
entryDatestringrequireddate
descriptionstringrequired
directionstringrequired
moneyAccountstringrequired
classificationstringrequired
categorynull | stringrequired
activityKindstringrequired
amountHalerintegerrequired
vatHalerintegerrequired
baseHalerinteger | nullrequired
bankInHalerintegerrequired
bankOutHalerintegerrequired
cashInHalerintegerrequired
cashOutHalerintegerrequired
sourceTypestringrequired
sourceIdnull | stringrequired
documentNumbernull | stringrequired
contactIdnull | stringrequired
centerIdnull | stringrequired
activityIdstring | nullrequired
projectIdstring | nullrequired
reversalOfIdnull | stringrequired
reversedByIdstring | null
canReversebooleanrequired
POST/v1/ledger/cash-book/{id}/reverse
curl -X POST https://api.damedoklad.cz/v1/ledger/cash-book/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/reverse \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Yearly peněžní deník totals: by classification, tax base, bank and cash balances, monthly income and expense

GET/v1/ledger/cash-book/summary

Yearly peněžní deník totals: by classification, tax base, bank and cash balances, monthly income and expense

MCP tool: get-cash-book-summary

Query parameters

centerIdstring
ID of the center.
activityIdstring
ID of the activity. Find it with list-activity.
projectIdstring
ID of the project.
periodIdstring
ID of the period. Find it with list-periods.
fromstringYYYY-MM-DD
Date as YYYY-MM-DD.
tostringYYYY-MM-DD
Date as YYYY-MM-DD.

Response · 200

periodIdstringrequired
periodNamestringrequired
fromstringrequireddate
tostringrequireddate
byClassobjectrequired
income_taxableobjectrequired
amountHalerinteger | nullrequired
vatHalerinteger | nullrequired
baseHalerinteger | nullrequired
income_exemptobjectrequired
amountHalerinteger | nullrequired
vatHalerinteger | nullrequired
baseHalerinteger | nullrequired
expense_deductibleobjectrequired
amountHalerinteger | nullrequired
vatHalerinteger | nullrequired
baseHalerinteger | nullrequired
expense_nondeductibleobjectrequired
amountHalerinteger | nullrequired
vatHalerinteger | nullrequired
baseHalerinteger | nullrequired
passthroughobjectrequired
amountHalerinteger | nullrequired
vatHalerinteger | nullrequired
baseHalerinteger | nullrequired
transferobjectrequired
amountHalerinteger | nullrequired
vatHalerinteger | nullrequired
baseHalerinteger | nullrequired
expense_nontaxobject
amountHalerinteger | nullrequired
vatHalerinteger | nullrequired
baseHalerinteger | nullrequired
non_tax_transferobject
amountHalerinteger | nullrequired
vatHalerinteger | nullrequired
baseHalerinteger | nullrequired
income_nontaxobject
amountHalerinteger | nullrequired
vatHalerinteger | nullrequired
baseHalerinteger | nullrequired
taxableIncomeHalerintegerrequired
deductibleExpenseHalerintegerrequired
taxBaseHalerintegerrequired
bankobjectrequired
openingHalerintegerrequired
inHalerintegerrequired
outHalerintegerrequired
closingHalerintegerrequired
cashobjectrequired
openingHalerintegerrequired
inHalerintegerrequired
outHalerintegerrequired
closingHalerintegerrequired
byMonthobject[]required
monthnull | stringrequired
incomeHalerintegerrequired
expenseHalerintegerrequired
GET/v1/ledger/cash-book/summary
curl https://api.damedoklad.cz/v1/ledger/cash-book/summary \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Decisions on the approval of the statements of a period, oldest first: a rejection and a later approval both stay

GET/v1/ledger/contributory/approvals

Decisions on the approval of the statements of a period, oldest first: a rejection and a later approval both stay

MCP tool: list-contributory-approvals

Query parameters

periodIdstring
ID of the period. Find it with list-periods.
asOfstringYYYY-MM-DD
Date as YYYY-MM-DD.
report"notes" | "equity" | "rozp" | "pap" | "vppv" | "zam"
limitintegermin 1max 500
offsetintegermin 0max 9007199254740991
searchstringmax 200 chars

Response · 200

dataobject[]required
object"contributory_approval"required
idstringrequired
periodIdstringrequired
decisionstringrequired
decidedOnstringrequireddate
organstringrequired
personsstring[]required
extraordinarybooleanrequired
rejectionNotenull | stringrequired
rejectionDeadlinenull | stringrequireddate
evidencenull | stringrequired
unitStatementnull | stringrequired
votesstring | nullrequired
createdAtstringrequireddate-time
totalinteger
Rows that match, on all pages.
hasMorebooleanrequired
More rows follow. Ask again with offset + the number of rows received.
GET/v1/ledger/contributory/approvals
curl https://api.damedoklad.cz/v1/ledger/contributory/approvals \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Record the decision of the approving body per vyhláška 220/2013 Sb. § 6 and § 7: approved, rejected on substance or for missing papers, or not decided in time

POST/v1/ledger/contributory/approvals

Record the decision of the approving body per vyhláška 220/2013 Sb. § 6 and § 7: approved, rejected on substance or for missing papers, or not decided in time. A rejection needs its note and a deadline (§ 7 odst. 3). Part of the statements cannot be approved (§ 6 odst. 4), so a decision is always about all of them.

MCP tool: create-contributory-approval

Request body

periodIdstringrequired
ID of the period. Find it with list-periods.
decision"approved" | "rejected_substantive" | "rejected_formal" | "not_decided_in_time"required
decidedOnstringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.
organ"PovereneOsoby" | "ZrizovatelOSS" | "ZrizovatelSPO" | "OrganDSO" | "ZastupitelstvoObce" | "RadaObce" | "ZastupitelstvoKraje" | "RadaKraje" | "ZastupitelstvoHMP" | "RadaHMP"required
personsstring[]required
extraordinaryboolean
rejectionNotestringmax 10000 chars
rejectionDeadlinestringYYYY-MM-DD
evidencestringmax 10000 chars
unitStatementstringmax 10000 chars
votesstringmax 10000 chars

Response · 201

idstringrequired
periodIdstringrequired
decisionstringrequired
decidedOnstringrequireddate
organstringrequired
personsstring[]required
extraordinarybooleanrequired
rejectionNotenull | stringrequired
rejectionDeadlinenull | stringrequireddate
evidencenull | stringrequired
unitStatementnull | stringrequired
votesstring | nullrequired
createdAtstringrequireddate-time
POST/v1/ledger/contributory/approvals
curl -X POST https://api.damedoklad.cz/v1/ledger/contributory/approvals \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "periodId": "per_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
  "decision": "approved",
  "decidedOn": "2026-10-30",
  "organ": "PovereneOsoby",
  "persons": [
    "string"
  ]
}'

Protokol o schvalování účetní závěrky per § 11 odst. 2 of vyhláška 220/2013 Sb. as a PDF

GET/v1/ledger/contributory/approvals/{id}/protocol

Protokol o schvalování účetní závěrky per § 11 odst. 2 of vyhláška 220/2013 Sb. as a PDF

MCP tool: download-contributory-approval-protocol

Path parameters

idstringrequired

Response · 200

Returns a application/pdf file.

GET/v1/ledger/contributory/approvals/{id}/protocol
curl https://api.damedoklad.cz/v1/ledger/contributory/approvals/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/protocol \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -o soubor

Výkaz peněžních příjmů a výdajů (C007) of vyhláška 272/2017 Sb., from the entries that moved money, with a person's moves between rows. A state organisation sends it, monthly or quarterly by its costs

GET/v1/ledger/contributory/cash-report

Výkaz peněžních příjmů a výdajů (C007) of vyhláška 272/2017 Sb., from the entries that moved money, with a person's moves between rows. A state organisation sends it, monthly or quarterly by its costs

MCP tool: get-contributory-cash-report

Query parameters

periodIdstring
ID of the period. Find it with list-periods.
asOfstringYYYY-MM-DD
Date as YYYY-MM-DD.
report"notes" | "equity" | "rozp" | "pap" | "vppv" | "zam"

Response · 200

periodIdstringrequired
asOfstringrequireddate
requiredbooleanrequired
rowsobject[]required
codenull | stringrequired
labelnull | stringrequired
levelintegerrequired
leafbooleanrequired
valueHalerinteger | nullrequired
moneyInHalerintegerrequired
unclassifiedobject[]required
accountnull | stringrequired
amountHalerinteger | nullrequired
movesobject[]required
tostringrequired
fromstringrequired
amountHalerinteger | nullrequired
frequencystringrequired
GET/v1/ledger/contributory/cash-report
curl https://api.damedoklad.cz/v1/ledger/contributory/cash-report \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

The checks of Kontrolní vazby výkazů pro CSÚIS, verze 70, as far as this application holds their data: what the portal would refuse, before it is uploaded

GET/v1/ledger/contributory/controls

The checks of Kontrolní vazby výkazů pro CSÚIS, verze 70, as far as this application holds their data: what the portal would refuse, before it is uploaded

MCP tool: get-contributory-controls

Query parameters

periodIdstring
ID of the period. Find it with list-periods.
asOfstringYYYY-MM-DD
Date as YYYY-MM-DD.
report"notes" | "equity" | "rozp" | "pap" | "vppv" | "zam"

Response · 200

periodIdstringrequired
asOfstringrequireddate
versionintegerrequired
okbooleanrequired
checksobject[]required
idstringrequired
bondintegerrequired
labelnull | stringrequired
leftinteger
rightinteger
okbooleanrequired
differenceHalerinteger
balanceHalerinteger
accountsstring[]
itemsstring[]
failedintegerrequired
overviewsDueboolean
GET/v1/ledger/contributory/controls
curl https://api.damedoklad.cz/v1/ledger/contributory/controls \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

A further CSÚIS message for upload on its portal: příloha, approval, ROZP 1-01 SPO, PAP with its detail parts, the cash report C007, ZAM 1-04 U, and for 2025 and earlier the cash flow with equity changes. Validated against package 57, unsigned, sent nowhere

POST/v1/ledger/contributory/csuis

A further CSÚIS message for upload on its portal: příloha, approval, ROZP 1-01 SPO, PAP with its detail parts, the cash report C007, ZAM 1-04 U, and for 2025 and earlier the cash flow with equity changes. Validated against package 57, unsigned, sent nowhere

MCP tool: export-csuis-report

Request body

report"cash_flow" | "notes" | "approval" | "rozp" | "pap" | "pap_x" | "pap_xi" | "pap_xii" | "pap_xiii" | "pap_xv" | "pap_xvi" | "vppv" | "zam"required
sequencePartintegermin 1max 9007199254740991
periodIdstringrequired
ID of the period. Find it with list-periods.
asOfstringYYYY-MM-DD
Date as YYYY-MM-DD.
personNamestringrequiredmax 200 chars
emailstringrequiredemail
personIdstringrequiredmax 15 chars
ID of the person.
phonestringmax 30 chars
chapterstringmax 3 chars

Response · 200

Returns a application/xml file.

POST/v1/ledger/contributory/csuis
curl -X POST https://api.damedoklad.cz/v1/ledger/contributory/csuis \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "report": "cash_flow",
  "periodId": "per_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
  "personName": "Pekárna U Lípy s.r.o.",
  "email": "info@example.cz",
  "personId": "obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL"
}' \
  -o soubor

ZAM 1-04 U of vyhláška 5/2014 Sb. as entered: the headcount of a state organisation whose employment the government regulates, per quarter

GET/v1/ledger/contributory/employment

ZAM 1-04 U of vyhláška 5/2014 Sb. as entered: the headcount of a state organisation whose employment the government regulates, per quarter

MCP tool: get-contributory-employment

Query parameters

periodIdstring
ID of the period. Find it with list-periods.
asOfstringYYYY-MM-DD
Date as YYYY-MM-DD.
report"notes" | "equity" | "rozp" | "pap" | "vppv" | "zam"

Response · 200

periodIdstringrequired
asOfstringrequireddate
requiredbooleanrequired
quarternull | stringrequired
columnsobject[]required
keystringrequired
labelnull | stringrequired
rowsobjectrequired
employmentobjectrequired
budgetintegerrequired
budgetEuintegerrequired
adjustedintegerrequired
adjustedEuintegerrequired
actualnumberrequired
limitEunumberrequired
limitOthernumberrequired
unspentEuintegerrequired
unspentOtherintegerrequired
outsideEuintegerrequired
outsideOtherintegerrequired
endintegerrequired
endEuintegerrequired
civilobjectrequired
budgetintegerrequired
budgetEuintegerrequired
adjustedintegerrequired
adjustedEuintegerrequired
actualintegerrequired
limitEuintegerrequired
limitOtherintegerrequired
unspentEuintegerrequired
unspentOtherintegerrequired
outsideEuintegerrequired
outsideOtherintegerrequired
endintegerrequired
endEuintegerrequired
totalobjectrequired
budgetintegerrequired
budgetEuintegerrequired
adjustedintegerrequired
adjustedEuintegerrequired
actualnumberrequired
limitEunumberrequired
limitOthernumberrequired
unspentEuintegerrequired
unspentOtherintegerrequired
outsideEuintegerrequired
outsideOtherintegerrequired
endintegerrequired
endEuintegerrequired
firstQuarterobjectrequired
employmentobjectrequired
budgetintegerrequired
budgetEuintegerrequired
adjustedintegerrequired
adjustedEuintegerrequired
actualnumberrequired
limitEuintegerrequired
limitOthernumberrequired
unspentEuintegerrequired
unspentOtherintegerrequired
outsideEuintegerrequired
outsideOtherintegerrequired
endintegerrequired
endEuintegerrequired
civilobjectrequired
budgetintegerrequired
budgetEuintegerrequired
adjustedintegerrequired
adjustedEuintegerrequired
actualintegerrequired
limitEuintegerrequired
limitOtherintegerrequired
unspentEuintegerrequired
unspentOtherintegerrequired
outsideEuintegerrequired
outsideOtherintegerrequired
endintegerrequired
endEuintegerrequired
GET/v1/ledger/contributory/employment
curl https://api.damedoklad.cz/v1/ledger/contributory/employment \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Reverse a transfer or fund posting made by a guide

POST/v1/ledger/contributory/entries/{id}/reverse

Reverse a transfer or fund posting made by a guide

MCP tool: reverse-contributory-entry

Path parameters

idstringrequired

Response · 200

entryIdnull | stringrequired
reversalIdstringrequired
POST/v1/ledger/contributory/entries/{id}/reverse
curl -X POST https://api.damedoklad.cz/v1/ledger/contributory/entries/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/reverse \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Post a creation or use of a fund per ČÚS 704: the guide picks the accounts by the founder and the kind, and the amount lands on its row of part F of the příloha

POST/v1/ledger/contributory/funds/post

Post a creation or use of a fund per ČÚS 704: the guide picks the accounts by the founder and the kind, and the amount lands on its row of part F of the příloha

MCP tool: post-contributory-fund

Request body

kindstringrequiredmax 40 chars
datestringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.
amountHalerintegerrequiredmax 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
reserveAccount"413" | "414"
revenueAccount"671" | "672"
moneyAccountstring
rowstring
descriptionstringmax 200 chars

Response · 201

entryIdnull | stringrequired
kindstringrequired
refstringrequired
linesobject[]required
accountNumbernull | stringrequired
debitHalerintegerrequired
creditHalerintegerrequired
POST/v1/ledger/contributory/funds/post
curl -X POST https://api.damedoklad.cz/v1/ledger/contributory/funds/post \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "kind": "string",
  "date": "2026-10-30",
  "amountHaler": 1210000
}'

What was saved for the příloha, the equity overview, ROZP 1-01 SPO, PAP, the cash report or ZAM 1-04 U of a period

GET/v1/ledger/contributory/inputs

What was saved for the příloha, the equity overview, ROZP 1-01 SPO, PAP, the cash report or ZAM 1-04 U of a period

MCP tool: get-contributory-inputs

Query parameters

periodIdstring
ID of the period. Find it with list-periods.
asOfstringYYYY-MM-DD
Date as YYYY-MM-DD.
report"notes" | "equity" | "rozp" | "pap" | "vppv" | "zam"

Response · 200

periodIdstringrequired
reportstringrequired
dataobjectrequired
eobject
E1object[]required
itemstringrequired
commentnull | stringrequired
amountHalerinteger | nullrequired
itemMapobject
quartersobject
allocationobject
A.I.2.objectrequired
increaseHalerintegerrequired
partIobject
partIIobject
changesobject[]
partintegerrequired
itemstringrequired
changeTypestringrequired
amountHalerinteger | nullrequired
partnerstring
assetPartnerstring
textsobject
A.1.stringrequired
dobject
d2integerrequired
accountPartnersobject
movesobject[]
fromstringrequired
tostringrequired
amountHalerinteger | nullrequired
GET/v1/ledger/contributory/inputs
curl https://api.damedoklad.cz/v1/ledger/contributory/inputs \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Save what the books cannot say: texts and breakdowns of the příloha, the allocation of equity movements, the budget of ROZP 1-01 SPO, the change types and partners of PAP, moves in the cash report, the headcount of ZAM 1-04 U

PUT/v1/ledger/contributory/inputs

Save what the books cannot say: texts and breakdowns of the příloha, the allocation of equity movements, the budget of ROZP 1-01 SPO, the change types and partners of PAP, moves in the cash report, the headcount of ZAM 1-04 U

MCP tool: save-contributory-inputs

Request body

periodIdstringrequired
ID of the period. Find it with list-periods.
report"notes" | "equity" | "rozp" | "pap" | "vppv" | "zam"required
dataobjectrequired

Response · 200

periodIdstringrequired
reportstringrequired
dataobjectrequired
eobject
E1object[]required
itemstringrequired
commentnull | stringrequired
amountHalerinteger | nullrequired
itemMapobject
quartersobject
allocationobject
A.I.2.objectrequired
increaseHalerintegerrequired
partIobject
partIIobject
changesobject[]
partintegerrequired
itemstringrequired
changeTypestringrequired
amountHalerinteger | nullrequired
partnerstring
assetPartnerstring
textsobject
A.1.stringrequired
dobject
d2integerrequired
accountPartnersobject
movesobject[]
fromstringrequired
tostringrequired
amountHalerinteger | nullrequired
PUT/v1/ledger/contributory/inputs
curl -X PUT https://api.damedoklad.cz/v1/ledger/contributory/inputs \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "periodId": "per_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
  "report": "notes",
  "data": {}
}'

Příloha per § 45 and Příloha 5 of vyhláška 410/2009 Sb.: off-balance accounts, transfers, funds, buildings and land from the books, the texts as saved

GET/v1/ledger/contributory/notes

Příloha per § 45 and Příloha 5 of vyhláška 410/2009 Sb.: off-balance accounts, transfers, funds, buildings and land from the books, the texts as saved

MCP tool: get-contributory-notes

Query parameters

periodIdstring
ID of the period. Find it with list-periods.
asOfstringYYYY-MM-DD
Date as YYYY-MM-DD.
report"notes" | "equity" | "rozp" | "pap" | "vppv" | "zam"

Response · 200

periodIdstringrequired
periodNamestringrequired
asOfstringrequireddate
structurestringrequired
founderstringrequired
entityobjectrequired
namenull | stringrequired
iconull | stringrequired
textsobject[]required
codenull | stringrequired
labelnull | stringrequired
hintstringrequired
textstringrequired
a4object[]required
codenull | stringrequired
labelnull | stringrequired
levelintegerrequired
currentHalerintegerrequired
priorHalerintegerrequired
accountnull | string
partCobject[]required
codenull | stringrequired
labelnull | stringrequired
currentHalerintegerrequired
priorHalerintegerrequired
b3objectrequired
codenull | stringrequired
labelnull | stringrequired
valueHalerinteger | nullrequired
textstringrequired
dobjectrequired
d1objectrequired
codenull | stringrequired
labelnull | stringrequired
valueintegerrequired
textstringrequired
d2objectrequired
codenull | stringrequired
labelnull | stringrequired
valueintegerrequired
d3objectrequired
codenull | stringrequired
labelnull | stringrequired
valueHalerinteger | nullrequired
d4objectrequired
codenull | stringrequired
labelnull | stringrequired
valueintegerrequired
d5objectrequired
codenull | stringrequired
labelnull | stringrequired
valueHalerinteger | nullrequired
d7objectrequired
codenull | stringrequired
labelnull | stringrequired
textstringrequired
d6objectrequired
codenull | stringrequired
labelnull | stringrequired
valueHalerinteger | nullrequired
eobjectrequired
E1object[]required
itemstringrequired
commentnull | stringrequired
amountHalerinteger | nullrequired
E2any[]required
E3any[]required
E4any[]required
fundsobject[]required
letterstringrequired
titlenull | stringrequired
rowsobject[]required
codenull | stringrequired
labelnull | stringrequired
valueHalerinteger | nullrequired
levelintegerrequired
gobjectrequired
letterstringrequired
titlenull | stringrequired
totalobjectrequired
codenull | stringrequired
labelnull | stringrequired
grossHalerintegerrequired
correctionHalerintegerrequired
netHalerintegerrequired
priorNetHalerintegerrequired
rowsobject[]required
codenull | stringrequired
labelnull | stringrequired
grossHalerintegerrequired
correctionHalerintegerrequired
priorNetHalerintegerrequired
netHalerintegerrequired
hobjectrequired
letterstringrequired
titlenull | stringrequired
totalobjectrequired
codenull | stringrequired
labelnull | stringrequired
grossHalerintegerrequired
correctionHalerintegerrequired
netHalerintegerrequired
priorNetHalerintegerrequired
rowsobject[]required
codenull | stringrequired
labelnull | stringrequired
grossHalerintegerrequired
correctionHalerintegerrequired
priorNetHalerintegerrequired
netHalerintegerrequired
iobject[]required
codenull | stringrequired
labelnull | stringrequired
currentHalerintegerrequired
priorHalerintegerrequired
jobject[]required
codenull | stringrequired
labelnull | stringrequired
currentHalerintegerrequired
priorHalerintegerrequired
GET/v1/ledger/contributory/notes
curl https://api.damedoklad.cz/v1/ledger/contributory/notes \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Příloha of a contributory organisation as a PDF

GET/v1/ledger/contributory/notes/pdf

Příloha of a contributory organisation as a PDF

MCP tool: download-contributory-notes

Query parameters

periodIdstring
ID of the period. Find it with list-periods.
asOfstringYYYY-MM-DD
Date as YYYY-MM-DD.
report"notes" | "equity" | "rozp" | "pap" | "vppv" | "zam"

Response · 200

Returns a application/pdf file.

GET/v1/ledger/contributory/notes/pdf
curl https://api.damedoklad.cz/v1/ledger/contributory/notes/pdf \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -o soubor

Pomocný analytický přehled of vyhláška 383/2009 Sb. Parts I to III and the breakdowns by partner in X, XI, XV and XVI from the books, the change types of IV to VIII and their partners in XII and XIII as entered

GET/v1/ledger/contributory/pap

Pomocný analytický přehled of vyhláška 383/2009 Sb. Parts I to III and the breakdowns by partner in X, XI, XV and XVI from the books, the change types of IV to VIII and their partners in XII and XIII as entered. Part XIV is for organisational units of the state and territorial self-governing units only, so a contributory organisation has none.

MCP tool: get-contributory-pap

Query parameters

periodIdstring
ID of the period. Find it with list-periods.
asOfstringYYYY-MM-DD
Date as YYYY-MM-DD.
report"notes" | "equity" | "rozp" | "pap" | "vppv" | "zam"

Response · 200

periodIdstringrequired
asOfstringrequireddate
part1object[]required
itemstringrequired
openingintegerrequired
debitintegerrequired
creditintegerrequired
closingintegerrequired
part2object[]required
itemstringrequired
mainintegerrequired
economicintegerrequired
part3object[]required
itemstringrequired
mainintegerrequired
economicintegerrequired
partsobjectrequired
requiredbooleanrequired
part10object[]
itemstringrequired
partnerstringrequired
partnerNamenull | stringrequired
openingintegerrequired
debitintegerrequired
creditintegerrequired
closingintegerrequired
unidentifiedbooleanrequired
markerstringrequired
contractanyrequired
Null in every recorded response.
part11object[]
itemstringrequired
partnerstringrequired
partnerNamestringrequired
mainintegerrequired
economicintegerrequired
unidentifiedbooleanrequired
markerstringrequired
part12object[]
itemstringrequired
changeTypestringrequired
partnerstringrequired
partnerNameanyrequired
Null in every recorded response.
amountHalerinteger | nullrequired
unidentifiedbooleanrequired
part13object[]
itemstringrequired
changeTypestringrequired
assetPartnerstringrequired
partnerstringrequired
partnerNameanyrequired
Null in every recorded response.
assetPartnerNameanyrequired
Null in every recorded response.
amountHalerinteger | nullrequired
unidentifiedbooleanrequired
part15object[]
itemstringrequired
labelnull | stringrequired
openingintegerrequired
closingintegerrequired
part16object[]
itemstringrequired
partnerstringrequired
partnerNamenull | stringrequired
openingintegerrequired
closingintegerrequired
unidentifiedbooleanrequired
unassignedobject[]
accountnull | stringrequired
syntheticstringrequired
itemMapobject
accountPartnersobject
GET/v1/ledger/contributory/pap
curl https://api.damedoklad.cz/v1/ledger/contributory/pap \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

The form of PAP itself: the items of parts I to III and XV with their partner markers, what each of parts IV to VIII lists, and the change types

GET/v1/ledger/contributory/pap/form

The form of PAP itself: the items of parts I to III and XV with their partner markers, what each of parts IV to VIII lists, and the change types

MCP tool: get-contributory-pap-form

Response · 200

part1object[]required
itemstringrequired
labelnull | stringrequired
markernull | stringrequired
part2object[]required
itemstringrequired
labelnull | stringrequired
markernull | stringrequired
part3object[]required
itemstringrequired
labelnull | stringrequired
markernull | stringrequired
part15object[]required
itemstringrequired
labelnull | stringrequired
markerstringrequired
rangesobjectrequired
changeCodesobjectrequired
GET/v1/ledger/contributory/pap/form
curl https://api.damedoklad.cz/v1/ledger/contributory/pap/form \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Costs and income of the period by účelový znak: every line marked with a project that has one, invoices and payroll included

GET/v1/ledger/contributory/purpose-codes

Costs and income of the period by účelový znak: every line marked with a project that has one, invoices and payroll included

MCP tool: get-contributory-purpose-codes

Query parameters

periodIdstring
ID of the period. Find it with list-periods.
asOfstringYYYY-MM-DD
Date as YYYY-MM-DD.
report"notes" | "equity" | "rozp" | "pap" | "vppv" | "zam"

Response · 200

dataobject[]required
purposeCodenull | stringrequired
namenull | stringrequired
costHalerintegerrequired
incomeHalerintegerrequired
advanceHalerintegerrequired
differenceHalerintegerrequired
totalintegerrequired
hasMorebooleanrequired
GET/v1/ledger/contributory/purpose-codes
curl https://api.damedoklad.cz/v1/ledger/contributory/purpose-codes \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

ROZP 1-01 SPO of vyhláška 5/2014 Sb.: last year from the books, the budget as entered. It replaced nothing for territorial organisations, which send no financial statement

GET/v1/ledger/contributory/rozp

ROZP 1-01 SPO of vyhláška 5/2014 Sb.: last year from the books, the budget as entered. It replaced nothing for territorial organisations, which send no financial statement. FIN 2-04 U no longer exists: the CSÚIS manual lists it as abolished.

MCP tool: get-contributory-rozp

Query parameters

periodIdstring
ID of the period. Find it with list-periods.
asOfstringYYYY-MM-DD
Date as YYYY-MM-DD.
report"notes" | "equity" | "rozp" | "pap" | "vppv" | "zam"

Response · 200

periodIdstringrequired
founderstringrequired
requiredbooleanrequired
partIobject[]required
numberinteger | nullrequired
labelnull | stringrequired
accountnull | stringrequired
actualintegerrequired
budgetintegerrequired
next1integerrequired
next2integerrequired
partIIobject[]required
numberinteger | nullrequired
labelnull | stringrequired
actualintegerrequired
budgetintegerrequired
next1integerrequired
next2integerrequired
GET/v1/ledger/contributory/rozp
curl https://api.damedoklad.cz/v1/ledger/contributory/rozp \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Founder of a contributory organisation (state or territorial), which decides the fund tables, ROZP 1-01 SPO and whether PAP is due, with the guides on offer

GET/v1/ledger/contributory/settings

Founder of a contributory organisation (state or territorial), which decides the fund tables, ROZP 1-01 SPO and whether PAP is due, with the guides on offer

MCP tool: get-contributory-settings

Response · 200

founderstringrequired
chapternull | stringrequired
transferStepsstring[]
fundPostingsobject[]
keystringrequired
refstringrequired
labelnull | stringrequired
tablenull | stringrequired
rowChoicearray | nullrequired
fromReservebooleanrequired
revenueAccountbooleanrequired
approvalOrgansstring[]
approvalDecisionsstring[]
papChangeCodesobject
employmentRegulatedboolean
GET/v1/ledger/contributory/settings
curl https://api.damedoklad.cz/v1/ledger/contributory/settings \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Say who founded the contributory organisation, its budget chapter if the state did, and whether the government regulates its employment, which brings ZAM 1-04 U

PUT/v1/ledger/contributory/settings

Say who founded the contributory organisation, its budget chapter if the state did, and whether the government regulates its employment, which brings ZAM 1-04 U

MCP tool: update-contributory-settings

Request body

founder"state" | "territorial"required
chapterstring | null
employmentRegulatedboolean

Response · 200

founderstringrequired
chapternull | stringrequired
transferStepsstring[]
fundPostingsobject[]
keystringrequired
refstringrequired
labelnull | stringrequired
tablenull | stringrequired
rowChoicearray | nullrequired
fromReservebooleanrequired
revenueAccountbooleanrequired
approvalOrgansstring[]
approvalDecisionsstring[]
papChangeCodesobject
employmentRegulatedboolean
PUT/v1/ledger/contributory/settings
curl -X PUT https://api.damedoklad.cz/v1/ledger/contributory/settings \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "founder": "state"
}'

Transfers received, with the entries each one made

GET/v1/ledger/contributory/transfers

Transfers received, with the entries each one made

MCP tool: list-contributory-transfers

Query parameters

limitintegermin 1max 500
offsetintegermin 0max 9007199254740991
searchstringmax 200 chars

Response · 200

dataobject[]required
object"contributory_transfer"required
idstringrequired
namestringrequired
providerNamestringrequired
providerIconull | stringrequired
purposeCodenull | stringrequired
projectIdnull | stringrequired
kindstringrequired
revenueAccountstringrequired
receivableAccountstringrequired
amountHalerintegerrequired
yearintegerrequired
entriesobject[]required
idstringrequired
datestringrequireddate
numberinteger | nullrequired
descriptionnull | stringrequired
stepstringrequired
reversedbooleanrequired
totalinteger
Rows that match, on all pages.
hasMorebooleanrequired
More rows follow. Ask again with offset + the number of rows received.
GET/v1/ledger/contributory/transfers
curl https://api.damedoklad.cz/v1/ledger/contributory/transfers \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Record a transfer received: operating or for fixed assets, with its provider and účelový znak. Nothing posts until a step does

POST/v1/ledger/contributory/transfers

Record a transfer received: operating or for fixed assets, with its provider and účelový znak. Nothing posts until a step does

MCP tool: create-contributory-transfer

Request body

namestringrequiredmax 200 chars
providerNamestringrequiredmax 200 chars
providerIcostring
Czech company number (IČO), 8 digits.
purposeCodestring
kind"operating" | "investment"required
revenueAccount"671" | "672"
receivableAccount"344" | "346" | "348"
amountHalerintegermin -9007199254740991max 9007199254740991default 0
Integer amount in haléře: 100 = 1 Kč.
yearintegerrequiredmin 2000max 2100

Response · 201

idstringrequired
namestringrequired
providerNamestringrequired
providerIconull | stringrequired
purposeCodenull | stringrequired
projectIdnull | stringrequired
kindstringrequired
revenueAccountstringrequired
receivableAccountstringrequired
amountHalerintegerrequired
yearintegerrequired
entriesobject[]required
idstringrequired
datestringrequireddate
numberinteger | nullrequired
descriptionnull | stringrequired
stepstringrequired
reversedbooleanrequired
POST/v1/ledger/contributory/transfers
curl -X POST https://api.damedoklad.cz/v1/ledger/contributory/transfers \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Pekárna U Lípy s.r.o.",
  "providerName": "Pekárna U Lípy s.r.o.",
  "kind": "operating",
  "year": 2026
}'

Post one step of a transfer per ČÚS 703: advance, settlement, surplus returned, estimate, no-settlement claim, money received, or release of 403 to income

POST/v1/ledger/contributory/transfers/{id}/post

Post one step of a transfer per ČÚS 703: advance, settlement, surplus returned, estimate, no-settlement claim, money received, or release of 403 to income. Points 5.3.1 to 5.3.7, 5.5.1 and 4.17 for a recipient that is no organisational unit of the state. Reverse a step with reverseContributoryEntry.

MCP tool: post-contributory-transfer-step

Path parameters

idstringrequired

Request body

step"advance_received" | "long_advance_received" | "settled_in_year" | "advance_cleared" | "long_advance_cleared" | "surplus_returned" | "top_up_received" | "estimate" | "settled_later" | "no_settlement" | "received" | "release"required
datestringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.
amountHalerintegerrequiredmax 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
estimateHalerintegermin -9007199254740991max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
moneyAccountstring
descriptionstringmax 200 chars

Response · 201

transferIdstringrequired
entryIdnull | stringrequired
stepstringrequired
linesobject[]required
accountNumbernull | stringrequired
debitHalerintegerrequired
creditHalerintegerrequired
POST/v1/ledger/contributory/transfers/{id}/post
curl -X POST https://api.damedoklad.cz/v1/ledger/contributory/transfers/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/post \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "step": "advance_received",
  "date": "2026-10-30",
  "amountHaler": 1210000
}'

The rozvaha or výkaz zisku a ztráty of a contributory organisation as an XML message for CSÚIS, for upload on its portal

POST/v1/ledger/csuis/export

The rozvaha or výkaz zisku a ztráty of a contributory organisation as an XML message for CSÚIS, for upload on its portal. Validated against package no. 57 of the XSD schemas of the Státní pokladna. Unsigned, and nothing is sent: the responsible person uploads it. personId is the number CSÚIS gave that person.

MCP tool: export-csuis-statement

Request body

report"balance_sheet" | "income_statement"required
periodIdstringrequired
ID of the period. Find it with list-periods.
asOfstringYYYY-MM-DD
Date as YYYY-MM-DD.
personNamestringrequiredmax 200 chars
emailstringrequiredemail
personIdstringrequiredmax 15 chars
ID of the person.
phonestringmax 30 chars
chapterstringmax 3 chars

Response · 200

Returns a application/xml file.

POST/v1/ledger/csuis/export
curl -X POST https://api.damedoklad.cz/v1/ledger/csuis/export \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "report": "balance_sheet",
  "periodId": "per_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
  "personName": "Pekárna U Lípy s.r.o.",
  "email": "info@example.cz",
  "personId": "obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL"
}' \
  -o soubor

Who a contributory organisation last sent as the responsible person of a CSÚIS message

GET/v1/ledger/csuis/sender

Who a contributory organisation last sent as the responsible person of a CSÚIS message

MCP tool: get-csuis-sender

Response · 200

iconull | stringrequired
namenull | stringrequired
emailnull | string
personIdstring
personNamestring
GET/v1/ledger/csuis/sender
curl https://api.damedoklad.cz/v1/ledger/csuis/sender \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

List střediska, činnosti, and zakázky

GET/v1/ledger/dimensions

List střediska, činnosti, and zakázky

MCP tool: list-dimensions

Query parameters

limitintegermin 1max 500
offsetintegermin 0max 9007199254740991
searchstringmax 200 chars
kind"center" | "activity" | "project"
active"true" | "false"

Response · 200

dataobject[]required
object"dimension"required
idstringrequired
kindstringrequired
codestringrequired
namestringrequired
isActivebooleanrequired
purposeCodestring | null
totalinteger
Rows that match, on all pages.
hasMorebooleanrequired
More rows follow. Ask again with offset + the number of rows received.
GET/v1/ledger/dimensions
curl https://api.damedoklad.cz/v1/ledger/dimensions \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Create a středisko (center), činnost (activity), or zakázka (project)

POST/v1/ledger/dimensions

Create a středisko (center), činnost (activity), or zakázka (project)

MCP tool: create-dimension

Request body

kind"center" | "activity" | "project"required
codestringrequiredmax 24 chars
namestringrequiredmax 200 chars
purposeCodestring

Response · 201

idstringrequired
kindstringrequired
codestringrequired
namestringrequired
isActivebooleanrequired
purposeCodestring | null
POST/v1/ledger/dimensions
curl -X POST https://api.damedoklad.cz/v1/ledger/dimensions \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "kind": "center",
  "code": "string",
  "name": "Pekárna U Lípy s.r.o."
}'

Get a středisko, činnost, or zakázka

GET/v1/ledger/dimensions/{id}

Get a středisko, činnost, or zakázka

MCP tool: get-dimension

Path parameters

idstringrequired

Response · 200

idstringrequired
kindstringrequired
codestringrequired
namestringrequired
isActivebooleanrequired
purposeCodestring | null
GET/v1/ledger/dimensions/{id}
curl https://api.damedoklad.cz/v1/ledger/dimensions/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Rename or deactivate a středisko, činnost, or zakázka

PATCH/v1/ledger/dimensions/{id}

Rename or deactivate a středisko, činnost, or zakázka

MCP tool: update-dimension

Path parameters

idstringrequired

Request body

namestringmax 200 chars
isActiveboolean
purposeCodestring | null

Response · 200

idstringrequired
kindstringrequired
codestringrequired
namestringrequired
isActivebooleanrequired
purposeCodestring | null
PATCH/v1/ledger/dimensions/{id}
curl -X PATCH https://api.damedoklad.cz/v1/ledger/dimensions/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Pekárna U Lípy s.r.o.",
  "isActive": false,
  "purposeCode": "string"
}'

Delete a dimension nothing has been posted to. Otherwise deactivate it

DELETE/v1/ledger/dimensions/{id}

Delete a dimension nothing has been posted to. Otherwise deactivate it

IrreversibleThis operation cannot be undone. MCP clients ask for confirmation first.

MCP tool: delete-dimension

Path parameters

idstringrequired

Response · 200

idstringrequired
deletedbooleanrequired
DELETE/v1/ledger/dimensions/{id}
curl -X DELETE https://api.damedoklad.cz/v1/ledger/dimensions/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

The ČNB rate list for a date. Fetches and caches it when it is not stored yet

GET/v1/ledger/exchange-rates

The ČNB rate list for a date. Fetches and caches it when it is not stored yet

MCP tool: list-exchange-rates

Query parameters

datestringYYYY-MM-DD
Date as YYYY-MM-DD.
currencystring3 chars
ISO 4217 currency code, for example CZK or EUR.
limitintegermin 1max 500
offsetintegermin 0max 9007199254740991
searchstringmax 200 chars

Response · 200

dataobject[]required
object"exchange_rate"required
currencystringrequired
countrynull | string
currencyNamestring
amountintegerrequired
ratenumberrequired
ratePerUnitnumberrequired
sourcestringrequired
idnull | string
datestringdate
validDatestringdate
staleboolean
totalinteger
Rows that match, on all pages.
hasMorebooleanrequired
More rows follow. Ask again with offset + the number of rows received.
GET/v1/ledger/exchange-rates
curl https://api.damedoklad.cz/v1/ledger/exchange-rates \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Set a manual rate for a currency and date, for currencies or days ČNB does not publish

POST/v1/ledger/exchange-rates

Set a manual rate for a currency and date, for currencies or days ČNB does not publish

MCP tool: set-exchange-rate

Request body

currencystringrequired3 chars
ISO 4217 currency code, for example CZK or EUR.
datestringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.
ratenumberrequired
amountintegermax 9007199254740991

Response · 201

currencystringrequired
countrynull | string
currencyNamestring
amountintegerrequired
ratenumberrequired
ratePerUnitnumberrequired
sourcestringrequired
idnull | string
datestringdate
validDatestringdate
staleboolean
POST/v1/ledger/exchange-rates
curl -X POST https://api.damedoklad.cz/v1/ledger/exchange-rates \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "currency": "CZK",
  "date": "2026-10-30",
  "rate": 1
}'

Download the ČNB daily rates for a date and cache them. Manual rates stay

POST/v1/ledger/exchange-rates/fetch

Download the ČNB daily rates for a date and cache them. Manual rates stay

MCP tool: fetch-exchange-rates

Request body

datestringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.

Response · 200

datestringrequireddate
validDatestringrequireddate
countintegerrequired
POST/v1/ledger/exchange-rates/fetch
curl -X POST https://api.damedoklad.cz/v1/ledger/exchange-rates/fetch \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "date": "2026-10-30"
}'

List the pevné kurzy this firm uses during the year

GET/v1/ledger/exchange-rates/fixed

List the pevné kurzy this firm uses during the year

MCP tool: list-fixed-rates

Query parameters

limitintegermin 1max 500
offsetintegermin 0max 9007199254740991
searchstringmax 200 chars

Response · 200

dataobject[]required
object"fx_fixed_rate"required
idstringrequired
currencystringrequired
validFromstringrequireddate
validTostringrequireddate
amountintegerrequired
ratenumberrequired
ratePerUnitnumberrequired
sourceValidDatestringrequireddate
createdAtstringrequireddate-time
totalinteger
Rows that match, on all pages.
hasMorebooleanrequired
More rows follow. Ask again with offset + the number of rows received.
GET/v1/ledger/exchange-rates/fixed
curl https://api.damedoklad.cz/v1/ledger/exchange-rates/fixed \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Use a pevný kurz for a currency over a period: the ČNB rate of its first day, ending at the latest with the accounting period

POST/v1/ledger/exchange-rates/fixed

Use a pevný kurz for a currency over a period: the ČNB rate of its first day, ending at the latest with the accounting period. Zákon 563/1991 Sb. § 24d odst. 4 fixes the rate to the one published for the first day, so it cannot be typed in. Documents and payments dated in the period use it. The balance sheet date keeps the general rate. Banks, insurers, and similar institutions may not use a pevný kurz (§ 24d odst. 5).

MCP tool: create-fixed-rate

Request body

currencystringrequired3 chars
ISO 4217 currency code, for example CZK or EUR.
validFromstringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.
validTostringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.

Response · 201

idstringrequired
currencystringrequired
validFromstringrequireddate
validTostringrequireddate
amountintegerrequired
ratenumberrequired
ratePerUnitnumberrequired
sourceValidDatestringrequireddate
createdAtstringrequireddate-time
POST/v1/ledger/exchange-rates/fixed
curl -X POST https://api.damedoklad.cz/v1/ledger/exchange-rates/fixed \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "currency": "CZK",
  "validFrom": "2026-10-30",
  "validTo": "2026-10-30"
}'

Stop using a pevný kurz. Anything already posted keeps the rate it was posted at

DELETE/v1/ledger/exchange-rates/fixed/{id}

Stop using a pevný kurz. Anything already posted keeps the rate it was posted at

IrreversibleThis operation cannot be undone. MCP clients ask for confirmation first.

MCP tool: delete-fixed-rate

Path parameters

idstringrequired

Response · 200

idstringrequired
currencystringrequired
validFromstringrequireddate
validTostringrequireddate
amountintegerrequired
ratenumberrequired
ratePerUnitnumberrequired
sourceValidDatestringrequireddate
createdAtstringrequireddate-time
DELETE/v1/ledger/exchange-rates/fixed/{id}
curl -X DELETE https://api.damedoklad.cz/v1/ledger/exchange-rates/fixed/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

The rate for a currency on a date, for filling exchangeRate on a document

GET/v1/ledger/exchange-rates/lookup

The rate for a currency on a date, for filling exchangeRate on a document. ratePerUnit is CZK per one unit of the currency. stale means ČNB was unreachable and a recent rate stands in.

MCP tool: lookup-exchange-rate

Query parameters

currencystringrequired3 chars
ISO 4217 currency code, for example CZK or EUR.
datestringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.

Response · 200

currencystringrequired
countrynull | string
currencyNamestring
amountintegerrequired
ratenumberrequired
ratePerUnitnumberrequired
sourcestringrequired
idnull | string
datestringdate
validDatestringdate
staleboolean
GET/v1/ledger/exchange-rates/lookup
curl https://api.damedoklad.cz/v1/ledger/exchange-rates/lookup \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

The ČNB monthly list of other currencies (kurzy ostatních měn), published on the last working day of a month for the whole next month

GET/v1/ledger/exchange-rates/monthly

The ČNB monthly list of other currencies (kurzy ostatních měn), published on the last working day of a month for the whole next month. year and month name the month of publication. Rate lookups use the list automatically for currencies outside the daily rates.

MCP tool: list-monthly-exchange-rates

Query parameters

yearintegerrequiredmin 2000max 2100
monthintegerrequiredmin 1max 12
limitintegermin 1max 500
offsetintegermin 0max 9007199254740991
searchstringmax 200 chars

Response · 200

dataobject[]required
object"exchange_rate"required
currencystringrequired
countrynull | string
currencyNamestring
amountintegerrequired
ratenumberrequired
ratePerUnitnumberrequired
sourcestringrequired
idnull | string
datestringdate
validDatestringdate
staleboolean
totalinteger
Rows that match, on all pages.
hasMorebooleanrequired
More rows follow. Ask again with offset + the number of rows received.
GET/v1/ledger/exchange-rates/monthly
curl https://api.damedoklad.cz/v1/ledger/exchange-rates/monthly \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Download an accounting report as CSV (semicolons, decimal comma, UTF-8 with BOM)

GET/v1/ledger/exports/{report}/csv

Download an accounting report as CSV (semicolons, decimal comma, UTF-8 with BOM). report: balance-sheet, income-statement, income-statement-functional, cash-flow, equity-changes, trial-balance, journal, cash-book, receivables, payables, income-expense, assets-liabilities. Takes the same filters as the report, plus unit and lang.

MCP tool: export-accounting-report-csv

Path parameters

reportstringrequired

Query parameters

centerIdstring
ID of the center.
activityIdstring
ID of the activity. Find it with list-activity.
projectIdstring
ID of the project.
periodIdstring
ID of the period. Find it with list-periods.
fromstringYYYY-MM-DD
Date as YYYY-MM-DD.
tostringYYYY-MM-DD
Date as YYYY-MM-DD.
asOfstringYYYY-MM-DD
Date as YYYY-MM-DD.
datestringYYYY-MM-DD
Date as YYYY-MM-DD.
structure"full" | "short" | "micro"
level"analytic" | "synthetic"
unit"czk" | "thousands"
lang"cs" | "en"
accountstringmax 8 chars
sourceTypestringmax 32 chars
searchstringmax 200 chars

Response · 200

Returns a text/csv; charset=utf-8 file.

GET/v1/ledger/exports/{report}/csv
curl https://api.damedoklad.cz/v1/ledger/exports/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/csv \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -o soubor

Download an accounting report as a printable PDF, such as the rozvaha or výkaz zisku a ztráty in the statutory layout

GET/v1/ledger/exports/{report}/pdf

Download an accounting report as a printable PDF, such as the rozvaha or výkaz zisku a ztráty in the statutory layout. Same reports and filters as the CSV export. unit=thousands prints whole thousands of CZK, as the statements are filed.

MCP tool: export-accounting-report-pdf

Path parameters

reportstringrequired

Query parameters

centerIdstring
ID of the center.
activityIdstring
ID of the activity. Find it with list-activity.
projectIdstring
ID of the project.
periodIdstring
ID of the period. Find it with list-periods.
fromstringYYYY-MM-DD
Date as YYYY-MM-DD.
tostringYYYY-MM-DD
Date as YYYY-MM-DD.
asOfstringYYYY-MM-DD
Date as YYYY-MM-DD.
datestringYYYY-MM-DD
Date as YYYY-MM-DD.
structure"full" | "short" | "micro"
level"analytic" | "synthetic"
unit"czk" | "thousands"
lang"cs" | "en"
accountstringmax 8 chars
sourceTypestringmax 32 chars
searchstringmax 200 chars

Response · 200

Returns a application/pdf file.

GET/v1/ledger/exports/{report}/pdf
curl https://api.damedoklad.cz/v1/ledger/exports/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/pdf \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -o soubor

Download an accounting report as an Excel workbook

GET/v1/ledger/exports/{report}/xlsx

Download an accounting report as an Excel workbook. Same reports and filters as the CSV export. Money cells are real numbers.

MCP tool: export-accounting-report-xlsx

Path parameters

reportstringrequired

Query parameters

centerIdstring
ID of the center.
activityIdstring
ID of the activity. Find it with list-activity.
projectIdstring
ID of the project.
periodIdstring
ID of the period. Find it with list-periods.
fromstringYYYY-MM-DD
Date as YYYY-MM-DD.
tostringYYYY-MM-DD
Date as YYYY-MM-DD.
asOfstringYYYY-MM-DD
Date as YYYY-MM-DD.
datestringYYYY-MM-DD
Date as YYYY-MM-DD.
structure"full" | "short" | "micro"
level"analytic" | "synthetic"
unit"czk" | "thousands"
lang"cs" | "en"
accountstringmax 8 chars
sourceTypestringmax 32 chars
searchstringmax 200 chars

Response · 200

Returns a application/vnd.openxmlformats-officedocument.spreadsheetml.sheet file.

GET/v1/ledger/exports/{report}/xlsx
curl https://api.damedoklad.cz/v1/ledger/exports/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/xlsx \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -o soubor

Hlavní kniha for one account: opening balance, movements with running balance, monthly turnover

GET/v1/ledger/general-ledger/{number}

Hlavní kniha for one account: opening balance, movements with running balance, monthly turnover. A synthetic number includes its analytic accounts.

MCP tool: get-account-ledger

Path parameters

numberstringrequired

Query parameters

centerIdstring
ID of the center.
activityIdstring
ID of the activity. Find it with list-activity.
projectIdstring
ID of the project.
periodIdstring
ID of the period. Find it with list-periods.
fromstringYYYY-MM-DD
Date as YYYY-MM-DD.
tostringYYYY-MM-DD
Date as YYYY-MM-DD.

Response · 200

accountnull | objectrequired
numbernull | stringrequired
namenull | stringrequired
nameEnnull | stringrequired
typestringrequired
periodIdstringrequired
periodNamestringrequired
fromstringrequireddate
tostringrequireddate
openingHalerintegerrequired
debitHalerintegerrequired
creditHalerintegerrequired
closingHalerintegerrequired
movementsobject[]required
idstringrequired
entryIdnull | stringrequired
entryNumberintegerrequired
entryDatestringrequireddate
accountNumbernull | stringrequired
descriptionnull | stringrequired
documentNumbernull | stringrequired
sourceTypenull | stringrequired
sourceIdnull | stringrequired
debitHalerintegerrequired
creditHalerintegerrequired
contactIdnull | stringrequired
centerIdnull | stringrequired
activityIdstring | nullrequired
projectIdnull | stringrequired
balanceHalerintegerrequired
byMonthobject[]required
monthnull | stringrequired
debitHalerintegerrequired
creditHalerintegerrequired
balanceHalerintegerrequired
GET/v1/ledger/general-ledger/{number}
curl https://api.damedoklad.cz/v1/ledger/general-ledger/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Výkaz o příjmech a výdajích for jednoduché účetnictví, by hlavní and hospodářská činnost

GET/v1/ledger/income-expense-statement

Výkaz o příjmech a výdajích for jednoduché účetnictví, by hlavní and hospodářská činnost

MCP tool: get-income-expense-statement

Query parameters

centerIdstring
ID of the center.
activityIdstring
ID of the activity. Find it with list-activity.
projectIdstring
ID of the project.
periodIdstring
ID of the period. Find it with list-periods.
fromstringYYYY-MM-DD
Date as YYYY-MM-DD.
tostringYYYY-MM-DD
Date as YYYY-MM-DD.

Response · 200

periodIdstringrequired
periodNamestringrequired
incomeobjectrequired
rowsobject[]required
keystringrequired
codenull | stringrequired
labelnull | stringrequired
labelEnstringrequired
mainHalerintegerrequired
economicHalerintegerrequired
totalHalerinteger | nullrequired
totalobjectrequired
keystringrequired
codenull | stringrequired
labelnull | stringrequired
labelEnstringrequired
mainHalerintegerrequired
economicHalerintegerrequired
totalHalerinteger | nullrequired
expenseobjectrequired
rowsobject[]required
keystringrequired
codenull | stringrequired
labelnull | stringrequired
labelEnstringrequired
mainHalerintegerrequired
economicHalerintegerrequired
totalHalerinteger | nullrequired
totalobjectrequired
keystringrequired
codenull | stringrequired
labelnull | stringrequired
labelEnstringrequired
mainHalerintegerrequired
economicHalerintegerrequired
totalHalerinteger | nullrequired
differenceobjectrequired
keystringrequired
codenull | stringrequired
labelnull | stringrequired
labelEnstringrequired
mainHalerintegerrequired
economicHalerintegerrequired
totalHalerinteger | nullrequired
exceedsSingleEntryLimitbooleanrequired
GET/v1/ledger/income-expense-statement
curl https://api.damedoklad.cz/v1/ledger/income-expense-statement \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

List the účetní deník with lines. Filter by period, dates, account, contact, source, or dimension

GET/v1/ledger/journal

List the účetní deník with lines. Filter by period, dates, account, contact, source, or dimension

MCP tool: list-journal-entries

Query parameters

limitintegermin 1max 500
offsetintegermin 0max 9007199254740991
searchstringmax 200 chars
fromstringYYYY-MM-DD
Date as YYYY-MM-DD.
tostringYYYY-MM-DD
Date as YYYY-MM-DD.
centerIdstring
ID of the center.
activityIdstring
ID of the activity. Find it with list-activity.
projectIdstring
ID of the project.
accountstringmax 8 chars
periodIdstring
ID of the period. Find it with list-periods.
sourceTypestringmax 32 chars
contactIdstring
ID of the contact. Find it with list-contacts.

Response · 200

dataobject[]required
object"journal_entry"required
idstringrequired
periodIdstringrequired
numberintegerrequired
entryDatestringrequireddate
descriptionstringrequired
sourceTypestringrequired
sourceIdnull | stringrequired
sourceEventnull | stringrequired
documentNumbernull | stringrequired
reversalOfIdnull | stringrequired
reversedByIdnull | stringrequired
canReversebooleanrequired
totalHalerinteger | nullrequired
linesobject[]required
object"journal_line"required
idstringrequired
accountNumberstringrequired
debitHalerintegerrequired
creditHalerintegerrequired
descriptionnull | stringrequired
contactIdnull | stringrequired
centerIdnull | stringrequired
activityIdnull | stringrequired
projectIdnull | stringrequired
currencynull | stringrequired
foreignAmountnull | numberrequired
totalinteger
Rows that match, on all pages.
hasMorebooleanrequired
More rows follow. Ask again with offset + the number of rows received.
GET/v1/ledger/journal
curl https://api.damedoklad.cz/v1/ledger/journal \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Post an interní doklad: a balanced manual entry with at least two lines

POST/v1/ledger/journal

Post an interní doklad: a balanced manual entry with at least two lines. Debit must equal credit. Set isOpening for počáteční stavy of the first year in the app, posted against 701. Accounts 702 and 710 belong to the year-end close.

MCP tool: create-journal-entry

Request body

entryDatestringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.
descriptionstringrequiredmax 200 chars
documentNumberstringmax 64 chars
isOpeningboolean
linesobject[]required
accountNumberstringrequired
Account number from the chart of accounts, for example 311. list-accounts lists them.
debitHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
creditHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
descriptionstringmax 240 chars
contactIdstring
ID of the contact. Find it with list-contacts.
centerIdstring
ID of the center.
activityIdstring
ID of the activity. Find it with list-activity.
projectIdstring
ID of the project.
pairingSymbolstringmax 32 chars

Response · 201

idstringrequired
periodIdstringrequired
numberintegerrequired
entryDatestringrequireddate
descriptionstringrequired
sourceTypestringrequired
sourceIdnull | stringrequired
sourceEventnull | stringrequired
documentNumbernull | stringrequired
reversalOfIdnull | stringrequired
reversedByIdnull | stringrequired
canReversebooleanrequired
totalHalerinteger | nullrequired
linesobject[]required
object"journal_line"required
idstringrequired
accountNumberstringrequired
debitHalerintegerrequired
creditHalerintegerrequired
descriptionnull | stringrequired
contactIdnull | stringrequired
centerIdnull | stringrequired
activityIdnull | stringrequired
projectIdnull | stringrequired
currencynull | stringrequired
foreignAmountnull | numberrequired
POST/v1/ledger/journal
curl -X POST https://api.damedoklad.cz/v1/ledger/journal \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "entryDate": "2026-10-30",
  "description": "Pečivo, říjen",
  "lines": [
    {
      "contactId": "con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
      "accountNumber": "518"
    },
    {
      "contactId": "con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
      "accountNumber": "518"
    }
  ]
}'

Get one journal entry with its lines

GET/v1/ledger/journal/{id}

Get one journal entry with its lines

MCP tool: get-journal-entry

Path parameters

idstringrequired

Response · 200

idstringrequired
periodIdstringrequired
numberintegerrequired
entryDatestringrequireddate
descriptionstringrequired
sourceTypestringrequired
sourceIdnull | stringrequired
sourceEventnull | stringrequired
documentNumbernull | stringrequired
reversalOfIdnull | stringrequired
reversedByIdnull | stringrequired
canReversebooleanrequired
totalHalerinteger | nullrequired
linesobject[]required
object"journal_line"required
idstringrequired
accountNumberstringrequired
debitHalerintegerrequired
creditHalerintegerrequired
descriptionnull | stringrequired
contactIdnull | stringrequired
centerIdnull | stringrequired
activityIdnull | stringrequired
projectIdnull | stringrequired
currencynull | stringrequired
foreignAmountnull | numberrequired
GET/v1/ledger/journal/{id}
curl https://api.damedoklad.cz/v1/ledger/journal/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Reverse a manual entry with swapped sides. Posted entries are never edited

POST/v1/ledger/journal/{id}/reverse

Reverse a manual entry with swapped sides. Posted entries are never edited. Entries that came from a document, the close, or a revaluation are undone from there instead.

MCP tool: reverse-journal-entry

Path parameters

idstringrequired

Request body

datestringYYYY-MM-DD
Date as YYYY-MM-DD.
descriptionstringmax 200 chars

Response · 201

idstringrequired
periodIdstringrequired
numberintegerrequired
entryDatestringrequireddate
descriptionstringrequired
sourceTypestringrequired
sourceIdnull | stringrequired
sourceEventnull | stringrequired
documentNumbernull | stringrequired
reversalOfIdnull | stringrequired
reversedByIdnull | stringrequired
canReversebooleanrequired
totalHalerinteger | nullrequired
linesobject[]required
object"journal_line"required
idstringrequired
accountNumberstringrequired
debitHalerintegerrequired
creditHalerintegerrequired
descriptionnull | stringrequired
contactIdnull | stringrequired
centerIdnull | stringrequired
activityIdnull | stringrequired
projectIdnull | stringrequired
currencynull | stringrequired
foreignAmountnull | numberrequired
POST/v1/ledger/journal/{id}/reverse
curl -X POST https://api.damedoklad.cz/v1/ledger/journal/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/reverse \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "date": "2026-10-30",
  "description": "Pečivo, říjen"
}'

List úvěry and zápůjčky of daňová evidence and jednoduché účetnictví with their balances

GET/v1/ledger/loans

List úvěry and zápůjčky of daňová evidence and jednoduché účetnictví with their balances

MCP tool: list-loans

Query parameters

limitintegermin 1max 500
offsetintegermin 0max 9007199254740991
searchstringmax 200 chars

Response · 200

dataobject[]required
object"ledger_loan"required
idstringrequired
kindstringrequired
namestringrequired
contactIdstring | nullrequired
balanceHalerintegerrequired
movementsobject[]required
object"ledger_loan_movement"required
idstringrequired
movedOnstringrequireddate
kindstringrequired
amountHalerintegerrequired
moneyAccountnull | stringrequired
cashEntryIdnull | stringrequired
notestring | nullrequired
totalinteger
Rows that match, on all pages.
hasMorebooleanrequired
More rows follow. Ask again with offset + the number of rows received.
GET/v1/ledger/loans
curl https://api.damedoklad.cz/v1/ledger/loans \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Add a loan received or granted. Its movements feed the přehled o majetku a závazcích

POST/v1/ledger/loans

Add a loan received or granted. Its movements feed the přehled o majetku a závazcích

MCP tool: create-loan

Request body

kind"received" | "granted"required
namestringrequiredmax 200 chars
contactIdstring
ID of the contact. Find it with list-contacts.

Response · 201

idstringrequired
kindstringrequired
namestringrequired
contactIdstring | nullrequired
balanceHalerintegerrequired
movementsobject[]required
object"ledger_loan_movement"required
idstringrequired
movedOnstringrequireddate
kindstringrequired
amountHalerintegerrequired
moneyAccountnull | stringrequired
cashEntryIdnull | stringrequired
notestring | nullrequired
POST/v1/ledger/loans
curl -X POST https://api.damedoklad.cz/v1/ledger/loans \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "contactId": "con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
  "kind": "received",
  "name": "Pekárna U Lípy s.r.o."
}'

Record a loan movement: an opening balance, a drawdown, or a repayment. With moneyAccount it also writes the pass-through peněžní deník row

POST/v1/ledger/loans/{id}/movements

Record a loan movement: an opening balance, a drawdown, or a repayment. With moneyAccount it also writes the pass-through peněžní deník row. Loan principal is neither income nor an expense, so the row is a pass-through. Interest is an ordinary expense row of its own.

MCP tool: create-loan-movement

Path parameters

idstringrequired

Request body

movedOnstringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.
kind"opening" | "drawdown" | "repayment"required
amountHalerintegerrequiredmax 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
moneyAccount"bank" | "cash"
notestringmax 240 chars

Response · 201

idstringrequired
kindstringrequired
namestringrequired
contactIdstring | nullrequired
balanceHalerintegerrequired
movementsobject[]required
object"ledger_loan_movement"required
idstringrequired
movedOnstringrequireddate
kindstringrequired
amountHalerintegerrequired
moneyAccountnull | stringrequired
cashEntryIdnull | stringrequired
notestring | nullrequired
POST/v1/ledger/loans/{id}/movements
curl -X POST https://api.damedoklad.cz/v1/ledger/loans/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/movements \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "movedOn": "2026-10-30",
  "kind": "opening",
  "amountHaler": 1210000
}'

Remove a loan movement, reversing its peněžní deník row, while its period is open

DELETE/v1/ledger/loans/{id}/movements/{movementId}

Remove a loan movement, reversing its peněžní deník row, while its period is open

IrreversibleThis operation cannot be undone. MCP clients ask for confirmation first.

MCP tool: delete-loan-movement

Path parameters

idstringrequired
movementIdstringrequired
ID of the movement. Find it with list-movements.

Response · 200

idstringrequired
kindstringrequired
namestringrequired
contactIdstring | nullrequired
balanceHalerintegerrequired
movementsobject[]required
object"ledger_loan_movement"required
idstringrequired
movedOnstringrequireddate
kindstringrequired
amountHalerintegerrequired
moneyAccountnull | stringrequired
cashEntryIdnull | stringrequired
notestring | nullrequired
DELETE/v1/ledger/loans/{id}/movements/{movementId}
curl -X DELETE https://api.damedoklad.cz/v1/ledger/loans/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/movements/mov_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

List date locks by area (books, stock, orders, assets, vat, service) and the single records that are locked

GET/v1/ledger/locks

List date locks by area (books, stock, orders, assets, vat, service) and the single records that are locked

MCP tool: list-date-locks

Query parameters

limitintegermin 1max 500
offsetintegermin 0max 9007199254740991
searchstringmax 200 chars

Response · 200

dataobject[]required
object"date_lock"required
idstringrequired
areastringrequired
lockedThroughstringrequireddate
levelintegerrequired
notenull | stringrequired
appliesToMebooleanrequired
updatedAtstringrequireddate-time
totalinteger
Rows that match, on all pages.
hasMorebooleanrequired
More rows follow. Ask again with offset + the number of rows received.
GET/v1/ledger/locks
curl https://api.damedoklad.cz/v1/ledger/locks \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Lock an area up to a date, or move the lock. Level 1 leaves owner and accountant free to write, level 2 stops everyone

PUT/v1/ledger/locks/{area}

Lock an area up to a date, or move the lock. Level 1 leaves owner and accountant free to write, level 2 stops everyone. The books lock also stops automatic postings dated inside it. Moving the date back reopens those days, and the change is in the audit log.

MCP tool: set-date-lock

Path parameters

areastringrequired

Request body

lockedThroughstringrequiredYYYY-MM-DD
level1 | 2default 1
notestringmax 240 chars

Response · 200

idstringrequired
areastringrequired
lockedThroughstringrequireddate
levelintegerrequired
notenull | stringrequired
appliesToMebooleanrequired
updatedAtstringrequireddate-time
PUT/v1/ledger/locks/{area}
curl -X PUT https://api.damedoklad.cz/v1/ledger/locks/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "lockedThrough": "2026-10-30"
}'

Remove the date lock of an area

DELETE/v1/ledger/locks/{area}

Remove the date lock of an area

IrreversibleThis operation cannot be undone. MCP clients ask for confirmation first.

MCP tool: delete-date-lock

Path parameters

areastringrequired

Response · 200

idstringrequired
areastringrequired
deletedbooleanrequired
DELETE/v1/ledger/locks/{area}
curl -X DELETE https://api.damedoklad.cz/v1/ledger/locks/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

List single records that are locked

GET/v1/ledger/locks/records

List single records that are locked

MCP tool: list-record-locks

Query parameters

limitintegermin 1max 500
offsetintegermin 0max 9007199254740991
searchstringmax 200 chars

Response · 200

dataobject[]required
object"record_lock"required
idstringrequired
objectTypenull | stringrequired
objectIdnull | stringrequired
labelnull | stringrequired
levelintegerrequired
notenull | stringrequired
createdAtstringrequireddate-time
totalinteger
Rows that match, on all pages.
hasMorebooleanrequired
More rows follow. Ask again with offset + the number of rows received.
GET/v1/ledger/locks/records
curl https://api.damedoklad.cz/v1/ledger/locks/records \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Lock one record by its id: a document, stock document, asset, journal entry, complaint, service job, or bank movement. Every write addressed to it is refused until unlocked, and so is paying a locked document from the bank or the till

POST/v1/ledger/locks/records

Lock one record by its id: a document, stock document, asset, journal entry, complaint, service job, or bank movement. Every write addressed to it is refused until unlocked, and so is paying a locked document from the bank or the till

MCP tool: create-record-lock

Request body

objectIdstringrequired
ID of the object.
level1 | 2default 1
notestringmax 240 chars

Response · 201

idstringrequired
objectTypenull | stringrequired
objectIdnull | stringrequired
labelnull | stringrequired
levelintegerrequired
notenull | stringrequired
createdAtstringrequireddate-time
POST/v1/ledger/locks/records
curl -X POST https://api.damedoklad.cz/v1/ledger/locks/records \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "objectId": "obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL"
}'

Unlock one record, by the id of the lock

DELETE/v1/ledger/locks/records/{id}

Unlock one record, by the id of the lock

IrreversibleThis operation cannot be undone. MCP clients ask for confirmation first.

MCP tool: delete-record-lock

Path parameters

idstringrequired

Response · 200

idstringrequired
objectTypenull | stringrequired
objectIdnull | stringrequired
labelnull | stringrequired
levelintegerrequired
notenull | stringrequired
createdAtstringrequireddate-time
DELETE/v1/ledger/locks/records/{id}
curl -X DELETE https://api.damedoklad.cz/v1/ledger/locks/records/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Lock a VAT month once filed: documents reported in it are refused until it is unlocked

POST/v1/ledger/locks/vat/period

Lock a VAT month once filed: documents reported in it are refused until it is unlocked. A quarterly payer locks the whole quarter. A correction of a filed month is a dodatečné přiznání, so unlock first, or date the correction in an open month where the law allows it.

MCP tool: lock-vat-period

Request body

yearintegerrequiredmin 2000max 2100
monthintegerrequiredmin 1max 12
level1 | 2default 1

Response · 200

idstringrequired
areastringrequired
lockedThroughstringrequireddate
levelintegerrequired
notenull | stringrequired
appliesToMebooleanrequired
updatedAtstringrequireddate-time
POST/v1/ledger/locks/vat/period
curl -X POST https://api.damedoklad.cz/v1/ledger/locks/vat/period \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "year": 2026,
  "month": 1
}'

The opening balances posted through the migration screen, if any

GET/v1/ledger/opening-balances

The opening balances posted through the migration screen, if any

MCP tool: get-opening-balances

Response · 200

postedbooleanrequired
datenull | stringrequireddate
entryIdsstring[]required
resultHalerinteger
GET/v1/ledger/opening-balances
curl https://api.damedoklad.cz/v1/ledger/opening-balances \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Post opening balances for a company migrating mid-life: balance sheet accounts through 701, and result accounts of a year under way as turnover

POST/v1/ledger/opening-balances

Post opening balances for a company migrating mid-life: balance sheet accounts through 701, and result accounts of a year under way as turnover. Debits must equal credits across all rows. Allowed once; undo it to enter it again. A stated opening balance of a bank account or register in these rows gives way to them.

MCP tool: post-opening-balances

Request body

datestringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.
documentNumberstringmax 64 chars
rowsobject[]required
accountNumberstringrequired
Account number from the chart of accounts, for example 311. list-accounts lists them.
debitHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
creditHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.

Response · 201

postedbooleanrequired
datenull | stringrequireddate
entryIdsstring[]required
resultHalerinteger
POST/v1/ledger/opening-balances
curl -X POST https://api.damedoklad.cz/v1/ledger/opening-balances \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "date": "2026-10-30",
  "rows": [
    {
      "accountNumber": "518"
    }
  ]
}'

Undo the opening balances with reversal entries, while their period is open

DELETE/v1/ledger/opening-balances

Undo the opening balances with reversal entries, while their period is open

IrreversibleThis operation cannot be undone. MCP clients ask for confirmation first.

MCP tool: undo-opening-balances

Response · 200

postedbooleanrequired
datenull | stringrequireddate
entryIdsstring[]required
resultHalerinteger
DELETE/v1/ledger/opening-balances
curl -X DELETE https://api.damedoklad.cz/v1/ledger/opening-balances \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Check opening balances before posting: the difference that must be zero, the running result, and the entries that would post

POST/v1/ledger/opening-balances/preview

Check opening balances before posting: the difference that must be zero, the running result, and the entries that would post

MCP tool: preview-opening-balances

Request body

datestringYYYY-MM-DD
Date as YYYY-MM-DD.
documentNumberstringmax 64 chars
rowsobject[]required
accountNumberstringrequired
Account number from the chart of accounts, for example 311. list-accounts lists them.
debitHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
creditHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.

Response · 200

differenceHalerintegerrequired
resultHalerintegerrequired
openingLinesobject[]required
accountNumbernull | stringrequired
debitHalerinteger
creditHalerinteger
descriptionnull | string
turnoverLinesobject[]required
accountNumbernull | stringrequired
creditHalerinteger
debitHalerinteger
descriptionnull | string
canPostbooleanrequired
POST/v1/ledger/opening-balances/preview
curl -X POST https://api.damedoklad.cz/v1/ledger/opening-balances/preview \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "rows": [
    {
      "accountNumber": "518"
    }
  ]
}'

Kniha závazků at any date, derived from received invoices and their settlements. Without a journal it also holds what payroll still owes

GET/v1/ledger/payables

Kniha závazků at any date, derived from received invoices and their settlements. Without a journal it also holds what payroll still owes

MCP tool: get-payables-book

Query parameters

centerIdstring
ID of the center.
activityIdstring
ID of the activity. Find it with list-activity.
projectIdstring
ID of the project.
datestringYYYY-MM-DD
Date as YYYY-MM-DD.
contactIdstring
ID of the contact. Find it with list-contacts.
limitintegermin 1max 500
offsetintegermin 0max 9007199254740991

Response · 200

datestringrequireddate
rowsobject[]required
idstringrequired
numbernull | stringrequired
contactIdnull | stringrequired
contactNamenull | stringrequired
issueDatenull | stringrequireddate
dueDatenull | stringrequireddate
currencynull | stringrequired
totalHalerinteger | nullrequired
paidHalerintegerrequired
openHalerintegerrequired
openCzkHalerintegerrequired
overdueDaysintegerrequired
typestring
kindstring
totalsobjectrequired
openCzkHalerintegerrequired
overdueCzkHalerintegerrequired
payrollCzkHalerinteger
retainedCzkHalerinteger
totalintegerrequired
hasMorebooleanrequired
GET/v1/ledger/payables
curl https://api.damedoklad.cz/v1/ledger/payables \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

List accounting periods with their status, entry counts, and year-end close

GET/v1/ledger/periods

List accounting periods with their status, entry counts, and year-end close

MCP tool: list-periods

Query parameters

limitintegermin 1max 500
offsetintegermin 0max 9007199254740991
searchstringmax 200 chars

Response · 200

dataobject[]required
object"period"required
idstringrequired
namestringrequired
startsOnstringrequireddate
endsOnstringrequireddate
closedAtnull | stringrequireddate-time
statusstringrequired
journalEntryCountintegerrequired
cashEntryCountintegerrequired
closingnull | objectrequired
idstringrequired
resultHalerintegerrequired
createdAtstringrequireddate-time
earlierPeriodOpenbooleanrequired
laterPeriodClosedbooleanrequired
totalinteger
Rows that match, on all pages.
hasMorebooleanrequired
More rows follow. Ask again with offset + the number of rows received.
GET/v1/ledger/periods
curl https://api.damedoklad.cz/v1/ledger/periods \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

What must be done before the year-end close: unpaired movements, drafts, depreciation, stocktake, revaluation, accruals, VAT, income tax

GET/v1/ledger/periods/{id}/checklist

What must be done before the year-end close: unpaired movements, drafts, depreciation, stocktake, revaluation, accruals, VAT, income tax. Each item says done, todo, or not_applicable, how many things are open, and where to fix them. Items the books cannot prove are confirmed by hand with confirmYearEndChecklistItem. The checklist advises and never blocks the close.

MCP tool: get-year-end-checklist

Path parameters

idstringrequired

Response · 200

periodIdstringrequired
periodNamestringrequired
itemsobject[]required
paramsobjectrequired
monthsstring[]
fromstringdate
tostringdate
accountsany[]
periodsstring[]
datestringdate
keystringrequired
statusstringrequired
countintegerrequired
actionobjectrequired
pathnull | string
tabstring
canConfirmbooleanrequired
confirmationnull | objectrequired
atstringrequireddate-time
notenull | stringrequired
openCountintegerrequired
readybooleanrequired
GET/v1/ledger/periods/{id}/checklist
curl https://api.damedoklad.cz/v1/ledger/periods/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/checklist \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Confirm or clear one item of the year-end checklist that a person has to vouch for

PUT/v1/ledger/periods/{id}/checklist/{item}

Confirm or clear one item of the year-end checklist that a person has to vouch for

MCP tool: confirm-year-end-checklist-item

Path parameters

idstringrequired
itemstringrequired

Request body

confirmedbooleanrequired
notestringmax 500 chars

Response · 200

periodIdstringrequired
periodNamestringrequired
itemsobject[]required
paramsobjectrequired
monthsstring[]
fromstringdate
tostringdate
accountsany[]
periodsstring[]
datestringdate
keystringrequired
statusstringrequired
countintegerrequired
actionobjectrequired
pathnull | string
tabstring
canConfirmbooleanrequired
confirmationnull | objectrequired
atstringrequireddate-time
notenull | stringrequired
openCountintegerrequired
readybooleanrequired
PUT/v1/ledger/periods/{id}/checklist/{item}
curl -X PUT https://api.damedoklad.cz/v1/ledger/periods/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/checklist/itm_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "confirmed": false
}'

Lock a period of daňová evidence or jednoduché účetnictví. Podvojné účetnictví closes through the year-end close

POST/v1/ledger/periods/{id}/close

Lock a period of daňová evidence or jednoduché účetnictví. Podvojné účetnictví closes through the year-end close

MCP tool: close-period

Path parameters

idstringrequired

Request body

confirmtruerequired

Response · 200

idstringrequired
namestringrequired
startsOnstringrequireddate
endsOnstringrequireddate
closedAtnull | stringrequireddate-time
statusstringrequired
journalEntryCountintegerrequired
cashEntryCountintegerrequired
closingnull | objectrequired
idstringrequired
resultHalerintegerrequired
createdAtstringrequireddate-time
earlierPeriodOpenbooleanrequired
laterPeriodClosedbooleanrequired
POST/v1/ledger/periods/{id}/close
curl -X POST https://api.damedoklad.cz/v1/ledger/periods/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/close \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "confirm": true
}'

Year-end close preview: the result, the 710, 702, and 701 entries, and blocking errors and warnings

GET/v1/ledger/periods/{id}/closing

Year-end close preview: the result, the 710, 702, and 701 entries, and blocking errors and warnings

MCP tool: preview-closing

Path parameters

idstringrequired

Response · 200

periodIdstringrequired
periodNamestringrequired
closingDatestringrequireddate
openingDatenull | stringrequireddate
nextPeriodNamestringrequired
resultHalerintegerrequired
legalFormstringrequired
entriesobjectrequired
resultCarryobject[]required
accountNumbernull | stringrequired
namenull | stringrequired
nameEnnull | stringrequired
debitHalerintegerrequired
creditHalerintegerrequired
profitAndLossobject[]required
accountNumbernull | stringrequired
namenull | stringrequired
nameEnnull | stringrequired
debitHalerintegerrequired
creditHalerintegerrequired
resultTransferobject[]required
accountNumbernull | stringrequired
namenull | stringrequired
nameEnnull | stringrequired
debitHalerintegerrequired
creditHalerintegerrequired
balanceSheetobject[]required
accountNumbernull | stringrequired
namenull | stringrequired
nameEnnull | stringrequired
debitHalerintegerrequired
creditHalerintegerrequired
openingobject[]required
accountNumbernull | stringrequired
namenull | stringrequired
nameEnnull | stringrequired
debitHalerintegerrequired
creditHalerintegerrequired
ownerTransferobject[]required
accountNumbernull | stringrequired
namenull | stringrequired
nameEnnull | stringrequired
debitHalerintegerrequired
creditHalerintegerrequired
errorsobject[]required
codenull | stringrequired
messagenull | stringrequired
paramsobjectrequired
differenceHalerinteger
periodstring
warningsobject[]required
codenull | stringrequired
messagenull | stringrequired
paramsobjectrequired
countinteger
accountsobject[]
accountNumbernull | stringrequired
balanceHalerintegerrequired
datestringdate
missingRatesany[]
canClosebooleanrequired
GET/v1/ledger/periods/{id}/closing
curl https://api.damedoklad.cz/v1/ledger/periods/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/closing \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Run the year-end close: post 710 and 702 closing entries and 701 opening entries, carry the result to 431 (491 for a sole trader), lock the period

POST/v1/ledger/periods/{id}/closing

Run the year-end close: post 710 and 702 closing entries and 701 opening entries, carry the result to 431 (491 for a sole trader), lock the period. Creates the next period if needed. An earlier result still on 431 moves to 428 or 429 (491 for a sole trader), per ČÚS 018 bod 3.1.11. A v.o.s. must post the partners share first. Can be undone until something else is posted into the next period.

MCP tool: run-closing

Path parameters

idstringrequired

Request body

confirmtruerequired

Response · 201

idstringrequired
namestringrequired
startsOnstringrequireddate
endsOnstringrequireddate
closedAtnull | stringrequireddate-time
statusstringrequired
journalEntryCountintegerrequired
cashEntryCountintegerrequired
closingnull | objectrequired
idstringrequired
resultHalerintegerrequired
createdAtstringrequireddate-time
earlierPeriodOpenbooleanrequired
laterPeriodClosedbooleanrequired
POST/v1/ledger/periods/{id}/closing
curl -X POST https://api.damedoklad.cz/v1/ledger/periods/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/closing \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "confirm": true
}'

Undo the year-end close with reversal entries and reopen the period, if nothing else is posted into the next period

DELETE/v1/ledger/periods/{id}/closing

Undo the year-end close with reversal entries and reopen the period, if nothing else is posted into the next period

IrreversibleThis operation cannot be undone. MCP clients ask for confirmation first.

MCP tool: undo-closing

Path parameters

idstringrequired

Response · 200

idstringrequired
namestringrequired
startsOnstringrequireddate
endsOnstringrequireddate
closedAtnull | stringrequireddate-time
statusstringrequired
journalEntryCountintegerrequired
cashEntryCountintegerrequired
closingnull | objectrequired
idstringrequired
resultHalerintegerrequired
createdAtstringrequireddate-time
earlierPeriodOpenbooleanrequired
laterPeriodClosedbooleanrequired
DELETE/v1/ledger/periods/{id}/closing
curl -X DELETE https://api.damedoklad.cz/v1/ledger/periods/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/closing \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Reopen the latest closed period. A year-end close must be undone instead

POST/v1/ledger/periods/{id}/reopen

Reopen the latest closed period. A year-end close must be undone instead

IrreversibleThis operation cannot be undone. MCP clients ask for confirmation first.

MCP tool: reopen-period

Path parameters

idstringrequired

Request body

confirmtruerequired

Response · 200

idstringrequired
namestringrequired
startsOnstringrequireddate
endsOnstringrequireddate
closedAtnull | stringrequireddate-time
statusstringrequired
journalEntryCountintegerrequired
cashEntryCountintegerrequired
closingnull | objectrequired
idstringrequired
resultHalerintegerrequired
createdAtstringrequireddate-time
earlierPeriodOpenbooleanrequired
laterPeriodClosedbooleanrequired
POST/v1/ledger/periods/{id}/reopen
curl -X POST https://api.damedoklad.cz/v1/ledger/periods/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/reopen \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "confirm": true
}'

The result before and after tax, the legal form, and the tax, provision, and partner share postings already made for a period

GET/v1/ledger/periods/{id}/year-end

The result before and after tax, the legal form, and the tax, provision, and partner share postings already made for a period

MCP tool: get-year-end-overview

Path parameters

idstringrequired

Response · 200

periodIdstringrequired
periodNamestringrequired
legalFormstringrequired
resultHalerintegerrequired
taxHalerintegerrequired
shareHalerintegerrequired
beforeTaxHalerintegerrequired
beforeShareHalerintegerrequired
stepsobject[]required
object"year_end_step"required
idstringrequired
periodIdstringrequired
kindstringrequired
datestringrequireddate
amountHalerintegerrequired
detailsobjectrequired
resultHalerinteger
sharePercentinteger
kindstring
notenull | string
allocationsobject[]
amountHalerintegerrequired
accountNumbernull | stringrequired
entryIdnull | stringrequired
createdAtstringrequireddate-time
undoneAtnull | stringrequireddate-time
GET/v1/ledger/periods/{id}/year-end
curl https://api.damedoklad.cz/v1/ledger/periods/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/year-end \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Transfer the partners share of the result through 596: all of it for a v.o.s., the komplementář percentage for a k.s.

POST/v1/ledger/periods/{id}/year-end/partner-share

Transfer the partners share of the result through 596: all of it for a v.o.s., the komplementář percentage for a k.s.

MCP tool: create-partner-share

Path parameters

idstringrequired

Request body

sharePercentnumbermax 100

Response · 201

idstringrequired
periodIdstringrequired
kindstringrequired
datestringrequireddate
amountHalerintegerrequired
detailsobjectrequired
resultHalerinteger
sharePercentinteger
kindstring
notenull | string
allocationsobject[]
amountHalerintegerrequired
accountNumbernull | stringrequired
entryIdnull | stringrequired
createdAtstringrequireddate-time
undoneAtnull | stringrequireddate-time
POST/v1/ledger/periods/{id}/year-end/partner-share
curl -X POST https://api.damedoklad.cz/v1/ledger/periods/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/year-end/partner-share \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "sharePercent": 1
}'

Post income tax (591/341), an income tax provision (599/453) or its release (453/599), a statutory provision (552/451), or another provision (554/459) at the last day of the period

POST/v1/ledger/periods/{id}/year-end/steps

Post income tax (591/341), an income tax provision (599/453) or its release (453/599), a statutory provision (552/451), or another provision (554/459) at the last day of the period

MCP tool: create-year-end-step

Path parameters

idstringrequired

Request body

kind"income_tax" | "tax_provision" | "tax_provision_release" | "statutory_provision" | "other_provision"required
amountHalerintegerrequiredmax 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
descriptionstringmax 200 chars

Response · 201

idstringrequired
periodIdstringrequired
kindstringrequired
datestringrequireddate
amountHalerintegerrequired
detailsobjectrequired
resultHalerinteger
sharePercentinteger
kindstring
notenull | string
allocationsobject[]
amountHalerintegerrequired
accountNumbernull | stringrequired
entryIdnull | stringrequired
createdAtstringrequireddate-time
undoneAtnull | stringrequireddate-time
POST/v1/ledger/periods/{id}/year-end/steps
curl -X POST https://api.damedoklad.cz/v1/ledger/periods/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/year-end/steps \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "kind": "income_tax",
  "amountHaler": 1210000
}'

Create the accounting period after the latest one

POST/v1/ledger/periods/next

Create the accounting period after the latest one

MCP tool: create-next-period

Response · 201

idstringrequired
namestringrequired
startsOnstringrequireddate
endsOnstringrequireddate
closedAtnull | stringrequireddate-time
statusstringrequired
journalEntryCountintegerrequired
cashEntryCountintegerrequired
closingnull | objectrequired
idstringrequired
resultHalerintegerrequired
createdAtstringrequireddate-time
earlierPeriodOpenbooleanrequired
laterPeriodClosedbooleanrequired
POST/v1/ledger/periods/next
curl -X POST https://api.damedoklad.cz/v1/ledger/periods/next \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Ekonomické ukazatele by year: liquidity, profitability, activity, and debt, each with its stated formula

GET/v1/ledger/ratios

Ekonomické ukazatele by year: liquidity, profitability, activity, and debt, each with its stated formula. Textbook formulas, stated on every row. Read from balances before the closing entries; the current year is a running figure.

MCP tool: get-economic-ratios

Query parameters

yearsintegermin 1max 10
toYearintegermin 2000max 2100

Response · 200

yearsinteger[]required
currentYearintegerrequired
ratiosobject[]required
keystringrequired
groupstringrequired
csstringrequired
enstringrequired
formulaobjectrequired
csstringrequired
enstringrequired
unitnull | stringrequired
valuesobject[]required
yearintegerrequired
valuenull | numberrequired
longTermobject[]
yearintegerrequired
receivablesHalerintegerrequired
payablesHalerintegerrequired
GET/v1/ledger/ratios
curl https://api.damedoklad.cz/v1/ledger/ratios \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Download the ekonomické ukazatele as a PDF

GET/v1/ledger/ratios/pdf

Download the ekonomické ukazatele as a PDF

MCP tool: get-economic-ratios-pdf

Query parameters

yearsintegermin 1max 10
toYearintegermin 2000max 2100

Response · 200

Returns a application/pdf file.

GET/v1/ledger/ratios/pdf
curl https://api.damedoklad.cz/v1/ledger/ratios/pdf \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -o soubor

Kniha pohledávek at any date, derived from issued invoices and credit notes and their payments

GET/v1/ledger/receivables

Kniha pohledávek at any date, derived from issued invoices and credit notes and their payments

MCP tool: get-receivables-book

Query parameters

centerIdstring
ID of the center.
activityIdstring
ID of the activity. Find it with list-activity.
projectIdstring
ID of the project.
datestringYYYY-MM-DD
Date as YYYY-MM-DD.
contactIdstring
ID of the contact. Find it with list-contacts.
limitintegermin 1max 500
offsetintegermin 0max 9007199254740991

Response · 200

datestringrequireddate
rowsobject[]required
idstringrequired
numbernull | stringrequired
contactIdnull | stringrequired
contactNamenull | stringrequired
issueDatenull | stringrequireddate
dueDatenull | stringrequireddate
currencynull | stringrequired
totalHalerinteger | nullrequired
paidHalerintegerrequired
openHalerintegerrequired
openCzkHalerintegerrequired
overdueDaysintegerrequired
retentionsobject[]
amountHalerinteger | nullrequired
dueDatenull | stringrequireddate
retainedNotDueHalerinteger
retainedNotDueCzkHalerinteger
retainedHalerinteger
retainedCzkHalerinteger
totalsobjectrequired
openCzkHalerintegerrequired
overdueCzkHalerintegerrequired
retainedCzkHalerinteger
totalintegerrequired
hasMorebooleanrequired
GET/v1/ledger/receivables
curl https://api.damedoklad.cz/v1/ledger/receivables \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

List batch re-classifications: who moved what, when, and why

GET/v1/ledger/reclassifications

List batch re-classifications: who moved what, when, and why

MCP tool: list-reclassifications

Query parameters

limitintegermin 1max 500
offsetintegermin 0max 9007199254740991
searchstringmax 200 chars

Response · 200

dataobject[]required
object"reclassification_batch"required
idstringrequired
datestringrequireddate
reasonstringrequired
toAccountnull | stringrequired
toCenterIdnull | stringrequired
toActivityIdstring | nullrequired
toProjectIdstring | nullrequired
filtersobjectrequired
tostringrequireddate
fromstringrequireddate
searchstring
accountnull | stringrequired
lineCountintegerrequired
amountHalerintegerrequired
entryIdnull | stringrequired
createdByIdnull | stringrequired
createdAtstringrequireddate-time
undoneAtnull | stringrequireddate-time
totalinteger
Rows that match, on all pages.
hasMorebooleanrequired
More rows follow. Ask again with offset + the number of rows received.
GET/v1/ledger/reclassifications
curl https://api.damedoklad.cz/v1/ledger/reclassifications \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Move selected journal lines to another account or dimension with one correcting entry. Originals stay, and the batch is recorded in the audit log

POST/v1/ledger/reclassifications

Move selected journal lines to another account or dimension with one correcting entry. Originals stay, and the batch is recorded in the audit log. The entry date must be in the same open period as every line, because moving a cost across years would change a result that is already reported.

MCP tool: create-reclassification

Request body

filterobjectrequired
centerIdstring
ID of the center.
activityIdstring
ID of the activity. Find it with list-activity.
projectIdstring
ID of the project.
accountstringrequiredmin 3 charsmax 8 chars
fromstringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.
tostringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.
contactIdstring
ID of the contact. Find it with list-contacts.
searchstringmax 200 chars
targetobjectrequired
toAccountstring
toCenterIdstring | null
ID of the to center.
toActivityIdstring | null
ID of the to activity.
toProjectIdstring | null
ID of the to project.
lineIdsstring[]required
datestringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.
reasonstringrequiredmax 200 chars

Response · 201

idstringrequired
datestringrequireddate
reasonstringrequired
toAccountnull | stringrequired
toCenterIdnull | stringrequired
toActivityIdstring | nullrequired
toProjectIdstring | nullrequired
filtersobjectrequired
tostringrequireddate
fromstringrequireddate
searchstring
accountnull | stringrequired
lineCountintegerrequired
amountHalerintegerrequired
entryIdnull | stringrequired
createdByIdnull | stringrequired
createdAtstringrequireddate-time
undoneAtnull | stringrequireddate-time
POST/v1/ledger/reclassifications
curl -X POST https://api.damedoklad.cz/v1/ledger/reclassifications \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "filter": {
    "contactId": "con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
    "account": "string",
    "from": "2026-10-30",
    "to": "2026-10-30"
  },
  "target": {
    "toAccount": "518",
    "toCenterId": "obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
    "toActivityId": "obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL"
  },
  "lineIds": [
    "obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL"
  ],
  "date": "2026-10-30",
  "reason": "string"
}'

Undo a batch re-classification with a reversal entry, which frees its lines to be moved again

DELETE/v1/ledger/reclassifications/{id}

Undo a batch re-classification with a reversal entry, which frees its lines to be moved again

IrreversibleThis operation cannot be undone. MCP clients ask for confirmation first.

MCP tool: undo-reclassification

Path parameters

idstringrequired

Response · 200

idstringrequired
datestringrequireddate
reasonstringrequired
toAccountnull | stringrequired
toCenterIdnull | stringrequired
toActivityIdstring | nullrequired
toProjectIdstring | nullrequired
filtersobjectrequired
tostringrequireddate
fromstringrequireddate
searchstring
accountnull | stringrequired
lineCountintegerrequired
amountHalerintegerrequired
entryIdnull | stringrequired
createdByIdnull | stringrequired
createdAtstringrequireddate-time
undoneAtnull | stringrequireddate-time
DELETE/v1/ledger/reclassifications/{id}
curl -X DELETE https://api.damedoklad.cz/v1/ledger/reclassifications/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

The journal lines a batch re-classification could move: account, date range, and optional dimension, contact, and text filters

GET/v1/ledger/reclassifications/preview

The journal lines a batch re-classification could move: account, date range, and optional dimension, contact, and text filters. Lines of closed periods, reversed entries, and the year-end close are left out. Control accounts that a document payment reads (311, 321, 314, 051, 052, 151, 152, 153, 324, 343) cannot be moved.

MCP tool: preview-reclassification

Query parameters

centerIdstring
ID of the center.
activityIdstring
ID of the activity. Find it with list-activity.
projectIdstring
ID of the project.
accountstringrequiredmin 3 charsmax 8 chars
fromstringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.
tostringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.
contactIdstring
ID of the contact. Find it with list-contacts.
searchstringmax 200 chars

Response · 200

truncatedbooleanrequired
lineCountintegerrequired
debitHalerintegerrequired
creditHalerintegerrequired
linesobject[]required
idstringrequired
entryIdnull | stringrequired
datestringrequireddate
documentNumberstring | nullrequired
descriptionnull | stringrequired
accountNumbernull | stringrequired
debitHalerintegerrequired
creditHalerintegerrequired
centerIdstring | nullrequired
activityIdstring | nullrequired
projectIdstring | nullrequired
sourceTypenull | stringrequired
GET/v1/ledger/reclassifications/preview
curl https://api.damedoklad.cz/v1/ledger/reclassifications/preview \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Reconcile synthetic and analytic accounts, and 311 and 315, 321 and 325, fixed assets, and inventories against their own records

GET/v1/ledger/reconciliation

Reconcile synthetic and analytic accounts, and 311 and 315, 321 and 325, fixed assets, and inventories against their own records. A synthetic account with analytics should hold nothing directly. A difference on a subledger row means the ledger and the record disagree: a year-end revaluation of foreign documents is one honest cause, and způsob B inventories another.

MCP tool: get-ledger-reconciliation

Query parameters

periodIdstring
ID of the period. Find it with list-periods.
tostringYYYY-MM-DD
Date as YYYY-MM-DD.

Response · 200

periodIdstringrequired
periodNamestringrequired
datestringrequireddate
accountsobject[]required
accountNumbernull | stringrequired
namenull | stringrequired
nameEnnull | stringrequired
balanceHalerintegerrequired
analyticHalerintegerrequired
unassignedHalerintegerrequired
usesAnalyticsbooleanrequired
analyticsobject[]required
accountNumbernull | stringrequired
balanceHalerintegerrequired
inChartbooleanrequired
okbooleanrequired
subledgersobject[]required
keystringrequired
labelnull | stringrequired
labelEnstringrequired
ledgerHalerintegerrequired
subledgerHalerintegerrequired
differenceHalerintegerrequired
okbooleanrequired
okbooleanrequired
GET/v1/ledger/reconciliation
curl https://api.damedoklad.cz/v1/ledger/reconciliation \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

List recurring internal documents

GET/v1/ledger/recurring-documents

List recurring internal documents

MCP tool: list-recurring-journal-documents

Query parameters

limitintegermin 1max 500
offsetintegermin 0max 9007199254740991
searchstringmax 200 chars

Response · 200

dataobject[]required
object"recurring_journal_document"required
idstringrequired
namestringrequired
descriptionstringrequired
frequencystringrequired
nextDatestringrequireddate
endDatenull | stringrequireddate
statusstringrequired
linesobject[]required
debitHalerinteger
accountNumbernull | stringrequired
creditHalerinteger
lastPostedOnnull | stringrequireddate
lastErrornull | stringrequired
createdAtstringrequireddate-time
totalinteger
Rows that match, on all pages.
hasMorebooleanrequired
More rows follow. Ask again with offset + the number of rows received.
GET/v1/ledger/recurring-documents
curl https://api.damedoklad.cz/v1/ledger/recurring-documents \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Create a recurring internal document: balanced lines posted monthly, quarterly, or yearly from a start date

POST/v1/ledger/recurring-documents

Create a recurring internal document: balanced lines posted monthly, quarterly, or yearly from a start date. Dates already due post at once. The hourly job posts the rest, once per date.

MCP tool: create-recurring-journal-document

Request body

namestringrequiredmax 200 chars
descriptionstringrequiredmax 200 chars
frequency"monthly" | "quarterly" | "yearly"required
startDatestringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.
endDatestringYYYY-MM-DD
Date as YYYY-MM-DD.
linesobject[]required
accountNumberstringrequired
Account number from the chart of accounts, for example 311. list-accounts lists them.
debitHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
creditHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
descriptionstringmax 240 chars
contactIdstring
ID of the contact. Find it with list-contacts.
centerIdstring
ID of the center.
activityIdstring
ID of the activity. Find it with list-activity.
projectIdstring
ID of the project.
pairingSymbolstringmax 32 chars

Response · 201

idstringrequired
namestringrequired
descriptionstringrequired
frequencystringrequired
nextDatestringrequireddate
endDatenull | stringrequireddate
statusstringrequired
linesobject[]required
debitHalerinteger
accountNumbernull | stringrequired
creditHalerinteger
lastPostedOnnull | stringrequireddate
lastErrornull | stringrequired
createdAtstringrequireddate-time
POST/v1/ledger/recurring-documents
curl -X POST https://api.damedoklad.cz/v1/ledger/recurring-documents \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Pekárna U Lípy s.r.o.",
  "description": "Pečivo, říjen",
  "frequency": "monthly",
  "startDate": "2026-10-30",
  "lines": [
    {
      "contactId": "con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
      "accountNumber": "518"
    },
    {
      "contactId": "con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
      "accountNumber": "518"
    }
  ]
}'

Change, pause, or resume a recurring internal document. Entries already posted do not change

PATCH/v1/ledger/recurring-documents/{id}

Change, pause, or resume a recurring internal document. Entries already posted do not change

MCP tool: update-recurring-journal-document

Path parameters

idstringrequired

Request body

namestringmax 200 chars
descriptionstringmax 200 chars
frequency"monthly" | "quarterly" | "yearly"
nextDatestringYYYY-MM-DD
Date as YYYY-MM-DD.
endDatestring | null
Date as YYYY-MM-DD.
status"active" | "paused"
linesobject[]
accountNumberstringrequired
Account number from the chart of accounts, for example 311. list-accounts lists them.
debitHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
creditHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
descriptionstringmax 240 chars
contactIdstring
ID of the contact. Find it with list-contacts.
centerIdstring
ID of the center.
activityIdstring
ID of the activity. Find it with list-activity.
projectIdstring
ID of the project.
pairingSymbolstringmax 32 chars

Response · 200

idstringrequired
namestringrequired
descriptionstringrequired
frequencystringrequired
nextDatestringrequireddate
endDatenull | stringrequireddate
statusstringrequired
linesobject[]required
debitHalerinteger
accountNumbernull | stringrequired
creditHalerinteger
lastPostedOnnull | stringrequireddate
lastErrornull | stringrequired
createdAtstringrequireddate-time
PATCH/v1/ledger/recurring-documents/{id}
curl -X PATCH https://api.damedoklad.cz/v1/ledger/recurring-documents/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Pekárna U Lípy s.r.o.",
  "description": "Pečivo, říjen",
  "frequency": "monthly"
}'

Post every recurring internal document due by a date

POST/v1/ledger/recurring-documents/run

Post every recurring internal document due by a date

MCP tool: run-due-recurring-journal-documents

Request body

datestringYYYY-MM-DD
Date as YYYY-MM-DD.

Response · 200

datestringrequireddate
documentsintegerrequired
postedintegerrequired
failedobject[]required
documentIdstringrequired
datestringrequireddate
errornull | stringrequired
POST/v1/ledger/recurring-documents/run
curl -X POST https://api.damedoklad.cz/v1/ledger/recurring-documents/run \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "date": "2026-10-30"
}'

The transition to accounting of this company, if any, with its tax adjustment plan by year

GET/v1/ledger/regime-transition

The transition to accounting of this company, if any, with its tax adjustment plan by year

MCP tool: get-regime-transition

Response · 200

idnull | stringrequired
statusstringrequired
effectiveFromnull | stringdate
methodnull | string
snapshotnull | object
payablesobject[]required
numbernull | stringrequired
netHalerintegerrequired
contactOidstringrequired
amountHalerinteger | nullrequired
contactNamenull | stringrequired
descriptionnull | stringrequired
pairingSymbolnull | stringrequired
adjustmentobjectrequired
netHalerintegerrequired
decreaseHalerintegerrequired
increaseHalerintegerrequired
spreadableHalerintegerrequired
immediateIncreaseHalerintegerrequired
fromRegimestringrequired
receivablesobject[]required
numbernull | stringrequired
netHalerintegerrequired
contactOidstringrequired
amountHalerinteger | nullrequired
contactNamenull | stringrequired
descriptionnull | stringrequired
pairingSymbolnull | stringrequired
advancesPaidany[]required
inventoryHalerintegerrequired
advancesReceivedany[]required
planobject[]
yearintegerrequired
decreaseHalerintegerrequired
increaseHalerintegerrequired
increaseHalerinteger
decreaseHalerinteger
journalEntryIdnull | string
endedYearinteger | null
postedAtnull | stringdate-time
GET/v1/ledger/regime-transition
curl https://api.damedoklad.cz/v1/ledger/regime-transition \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Move from daňová evidence or jednoduché účetnictví to podvojné účetnictví from the first day of a period: post the opening entry against 701 and 491, keep the Příloha 3 adjustment for the tax return, and switch the regime

POST/v1/ledger/regime-transition

Move from daňová evidence or jednoduché účetnictví to podvojné účetnictví from the first day of a period: post the opening entry against 701 and 491, keep the Příloha 3 adjustment for the tax return, and switch the regime. One-off, or § 23 odst. 14 ZDP over 9 tax periods for zásoby and pohledávky. The date must have arrived and hold no cash book rows. The tax base is adjusted in the return, not in the books.

MCP tool: start-regime-transition

Request body

effectiveFromstringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.
method"one_off" | "spread"default "one_off"
inventoryHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
stampsHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
advancesPaidTangibleHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
otherobject[]
accountNumberstringrequired
Account number from the chart of accounts, for example 311. list-accounts lists them.
side"debit" | "credit"required
amountHalerintegerrequiredmax 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
descriptionstringmax 240 chars
confirmtruerequired

Response · 201

idnull | stringrequired
statusstringrequired
effectiveFromnull | stringdate
methodnull | string
snapshotnull | object
payablesobject[]required
numbernull | stringrequired
netHalerintegerrequired
contactOidstringrequired
amountHalerinteger | nullrequired
contactNamenull | stringrequired
descriptionnull | stringrequired
pairingSymbolnull | stringrequired
adjustmentobjectrequired
netHalerintegerrequired
decreaseHalerintegerrequired
increaseHalerintegerrequired
spreadableHalerintegerrequired
immediateIncreaseHalerintegerrequired
fromRegimestringrequired
receivablesobject[]required
numbernull | stringrequired
netHalerintegerrequired
contactOidstringrequired
amountHalerinteger | nullrequired
contactNamenull | stringrequired
descriptionnull | stringrequired
pairingSymbolnull | stringrequired
advancesPaidany[]required
inventoryHalerintegerrequired
advancesReceivedany[]required
planobject[]
yearintegerrequired
decreaseHalerintegerrequired
increaseHalerintegerrequired
increaseHalerinteger
decreaseHalerinteger
journalEntryIdnull | string
endedYearinteger | null
postedAtnull | stringdate-time
POST/v1/ledger/regime-transition
curl -X POST https://api.damedoklad.cz/v1/ledger/regime-transition \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "effectiveFrom": "2026-10-30",
  "confirm": true
}'

Undo the transition while nothing else is posted in its period: reverse the opening entry and go back to daňová evidence

DELETE/v1/ledger/regime-transition/{id}

Undo the transition while nothing else is posted in its period: reverse the opening entry and go back to daňová evidence

IrreversibleThis operation cannot be undone. MCP clients ask for confirmation first.

MCP tool: undo-regime-transition

Path parameters

idstringrequired

Response · 200

idnull | stringrequired
statusstringrequired
effectiveFromnull | stringdate
methodnull | string
snapshotnull | object
payablesobject[]required
numbernull | stringrequired
netHalerintegerrequired
contactOidstringrequired
amountHalerinteger | nullrequired
contactNamenull | stringrequired
descriptionnull | stringrequired
pairingSymbolnull | stringrequired
adjustmentobjectrequired
netHalerintegerrequired
decreaseHalerintegerrequired
increaseHalerintegerrequired
spreadableHalerintegerrequired
immediateIncreaseHalerintegerrequired
fromRegimestringrequired
receivablesobject[]required
numbernull | stringrequired
netHalerintegerrequired
contactOidstringrequired
amountHalerinteger | nullrequired
contactNamenull | stringrequired
descriptionnull | stringrequired
pairingSymbolnull | stringrequired
advancesPaidany[]required
inventoryHalerintegerrequired
advancesReceivedany[]required
planobject[]
yearintegerrequired
decreaseHalerintegerrequired
increaseHalerintegerrequired
increaseHalerinteger
decreaseHalerinteger
journalEntryIdnull | string
endedYearinteger | null
postedAtnull | stringdate-time
DELETE/v1/ledger/regime-transition/{id}
curl -X DELETE https://api.damedoklad.cz/v1/ledger/regime-transition/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Say the activity ended or stopped: § 23 odst. 14 ZDP brings the rest of the zásoby and pohledávky into that tax year

POST/v1/ledger/regime-transition/{id}/end-spread

Say the activity ended or stopped: § 23 odst. 14 ZDP brings the rest of the zásoby and pohledávky into that tax year

MCP tool: end-regime-transition-spread

Path parameters

idstringrequired

Request body

endedYearintegerrequiredmin 2000max 2100
confirmtruerequired

Response · 200

idnull | stringrequired
statusstringrequired
effectiveFromnull | stringdate
methodnull | string
snapshotnull | object
payablesobject[]required
numbernull | stringrequired
netHalerintegerrequired
contactOidstringrequired
amountHalerinteger | nullrequired
contactNamenull | stringrequired
descriptionnull | stringrequired
pairingSymbolnull | stringrequired
adjustmentobjectrequired
netHalerintegerrequired
decreaseHalerintegerrequired
increaseHalerintegerrequired
spreadableHalerintegerrequired
immediateIncreaseHalerintegerrequired
fromRegimestringrequired
receivablesobject[]required
numbernull | stringrequired
netHalerintegerrequired
contactOidstringrequired
amountHalerinteger | nullrequired
contactNamenull | stringrequired
descriptionnull | stringrequired
pairingSymbolnull | stringrequired
advancesPaidany[]required
inventoryHalerintegerrequired
advancesReceivedany[]required
planobject[]
yearintegerrequired
decreaseHalerintegerrequired
increaseHalerintegerrequired
increaseHalerinteger
decreaseHalerinteger
journalEntryIdnull | string
endedYearinteger | null
postedAtnull | stringdate-time
POST/v1/ledger/regime-transition/{id}/end-spread
curl -X POST https://api.damedoklad.cz/v1/ledger/regime-transition/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/end-spread \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "endedYear": 2026,
  "confirm": true
}'

Přechod z daňové evidence nebo jednoduchého účetnictví na účetnictví: the opening entry and the tax adjustment under Příloha 3 ZDP for a date. Posts nothing

GET/v1/ledger/regime-transition/preview

Přechod z daňové evidence nebo jednoduchého účetnictví na účetnictví: the opening entry and the tax adjustment under Příloha 3 ZDP for a date. Posts nothing

MCP tool: preview-regime-transition

Query parameters

effectiveFromstringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.

Response · 200

effectiveFromnull | stringrequireddate
closingDatestringrequireddate
moneyobject[]required
accountNumbernull | stringrequired
amountHalerinteger | nullrequired
descriptionnull | stringrequired
receivablesobject[]required
amountHalerinteger | nullrequired
contactOidstringrequired
descriptionnull | stringrequired
pairingSymbolnull | stringrequired
netHalerintegerrequired
numbernull | stringrequired
contactNamenull | stringrequired
payablesobject[]required
amountHalerinteger | nullrequired
contactOidstringrequired
descriptionnull | stringrequired
pairingSymbolnull | stringrequired
netHalerintegerrequired
numbernull | stringrequired
contactNamenull | stringrequired
advancesReceivedany[]required
advancesPaidany[]required
inventoryHalerintegerrequired
inventoryobject[]required
accountNumbernull | stringrequired
amountHalerinteger | nullrequired
descriptionnull | stringrequired
assetsany[]required
loansany[]required
entryobjectrequired
linesobject[]required
accountNumbernull | stringrequired
debitHalerintegerrequired
creditHalerintegerrequired
contactOidstring
descriptionnull | stringrequired
pairingSymbolnull | string
equityHalerintegerrequired
debitHalerintegerrequired
adjustmentobjectrequired
increaseHalerintegerrequired
decreaseHalerintegerrequired
netHalerintegerrequired
spreadableHalerintegerrequired
immediateIncreaseHalerintegerrequired
plansobjectrequired
one_offobject[]required
yearintegerrequired
increaseHalerintegerrequired
decreaseHalerintegerrequired
spreadobject[]required
yearintegerrequired
increaseHalerintegerrequired
decreaseHalerintegerrequired
warningsobject[]required
codenull | stringrequired
messagenull | stringrequired
GET/v1/ledger/regime-transition/preview
curl https://api.damedoklad.cz/v1/ledger/regime-transition/preview \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

What is on 431 at a date, which accounts it can go to, and the distributions already posted

GET/v1/ledger/result-distribution

What is on 431 at a date, which accounts it can go to, and the distributions already posted

MCP tool: get-result-distribution

Query parameters

datestringYYYY-MM-DD
Date as YYYY-MM-DD.

Response · 200

datestringrequireddate
legalFormstringrequired
balanceHalerintegerrequired
kindstringrequired
earlierOpenPeriodnull | stringrequired
targetsobject[]required
accountNumbernull | stringrequired
namenull | stringrequired
nameEnnull | stringrequired
distributionsany[]required
GET/v1/ledger/result-distribution
curl https://api.damedoklad.cz/v1/ledger/result-distribution \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Post the owners decision on the result on 431: to 428, 429, 364, or funds. Every haléř must be allocated

POST/v1/ledger/result-distribution

Post the owners decision on the result on 431: to 428, 429, 364, or funds. Every haléř must be allocated. A dividend goes to 364 gross. Withholding tax under § 36 ZDP is a separate entry when it is paid out. Sole traders move the result to 491 at opening instead, and a v.o.s. uses 596.

MCP tool: distribute-result

Request body

datestringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.
notestringmax 500 chars
allocationsobject[]required
accountNumberstringrequired
Account number from the chart of accounts, for example 311. list-accounts lists them.
amountHalerintegerrequiredmax 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
descriptionstringmax 240 chars

Response · 201

idstringrequired
periodIdstringrequired
kindstringrequired
datestringrequireddate
amountHalerintegerrequired
detailsobjectrequired
resultHalerinteger
sharePercentinteger
kindstring
notenull | string
allocationsobject[]
amountHalerintegerrequired
accountNumbernull | stringrequired
entryIdnull | stringrequired
createdAtstringrequireddate-time
undoneAtnull | stringrequireddate-time
POST/v1/ledger/result-distribution
curl -X POST https://api.damedoklad.cz/v1/ledger/result-distribution \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "date": "2026-10-30",
  "allocations": [
    {
      "accountNumber": "518",
      "amountHaler": 1210000
    }
  ]
}'

List posted revaluations of foreign-currency documents

GET/v1/ledger/revaluations

List posted revaluations of foreign-currency documents

MCP tool: list-revaluations

Query parameters

limitintegermin 1max 500
offsetintegermin 0max 9007199254740991
searchstringmax 200 chars

Response · 200

dataany[]required
totalinteger
Rows that match, on all pages.
hasMorebooleanrequired
More rows follow. Ask again with offset + the number of rows received.
GET/v1/ledger/revaluations
curl https://api.damedoklad.cz/v1/ledger/revaluations \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Revalue open foreign-currency receivables and payables, and foreign bank and cash balances, at the ČNB rate of a date, posting to 563 and 663

POST/v1/ledger/revaluations

Revalue open foreign-currency receivables and payables, and foreign bank and cash balances, at the ČNB rate of a date, posting to 563 and 663. One entry per document or money account. Later payments differ from the restated value. Zákon 563/1991 Sb. § 24 odst. 2 písm. b) and § 24c odst. 1.

MCP tool: post-revaluation

Request body

datestringrequiredYYYY-MM-DD
Date as YYYY-MM-DD.

Response · 201

idstringrequired
datestringrequireddate
gainHalerintegerrequired
lossHalerintegerrequired
documentCountintegerrequired
createdAtstringrequireddate-time
undoneAtnull | stringrequireddate-time
POST/v1/ledger/revaluations
curl -X POST https://api.damedoklad.cz/v1/ledger/revaluations \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "date": "2026-10-30"
}'

Undo a revaluation with reversal entries, while its period is open and its documents have no later postings

DELETE/v1/ledger/revaluations/{id}

Undo a revaluation with reversal entries, while its period is open and its documents have no later postings

IrreversibleThis operation cannot be undone. MCP clients ask for confirmation first.

MCP tool: undo-revaluation

Path parameters

idstringrequired

Response · 200

idstringrequired
datestringrequireddate
gainHalerintegerrequired
lossHalerintegerrequired
documentCountintegerrequired
createdAtstringrequireddate-time
undoneAtnull | stringrequireddate-time
DELETE/v1/ledger/revaluations/{id}
curl -X DELETE https://api.damedoklad.cz/v1/ledger/revaluations/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

What a year-end revaluation of open foreign-currency receivables and payables, and foreign bank and cash balances, would post to 563 and 663

GET/v1/ledger/revaluations/preview

What a year-end revaluation of open foreign-currency receivables and payables, and foreign bank and cash balances, would post to 563 and 663

MCP tool: preview-revaluation

Query parameters

datestringYYYY-MM-DD
Date as YYYY-MM-DD.

Response · 200

datestringrequireddate
gainHalerintegerrequired
lossHalerintegerrequired
missingRatesstring[]required
notesobject[]required
accountNumbernull | stringrequired
namenull | stringrequired
codenull | stringrequired
messagenull | stringrequired
documentsobject[]required
sourceTypenull | stringrequired
sourceIdnull | stringrequired
documentNumbernull | stringrequired
accountNumbernull | stringrequired
currencynull | stringrequired
balanceForeignintegerrequired
balanceCzkHalerintegerrequired
ratenumberrequired
rateAmountintegerrequired
rateValidDatestringrequireddate
restatedCzkHalerintegerrequired
adjustmentHalerintegerrequired
GET/v1/ledger/revaluations/preview
curl https://api.damedoklad.cz/v1/ledger/revaluations/preview \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Saldo at a date on any account: journal lines grouped by párovací symbol, else by document number, with what stays open

GET/v1/ledger/saldo

Saldo at a date on any account: journal lines grouped by párovací symbol, else by document number, with what stays open. With no accountNumber it reads accounts marked trackSaldo, and 311, 314, 315, 321, 324, 325. Periods run together, so an item stays open across a year end.

MCP tool: get-saldo

Query parameters

accountNumberstring
Account number from the chart of accounts, for example 311. list-accounts lists them.
datestringYYYY-MM-DD
Date as YYYY-MM-DD.
toleranceHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
settled"true" | "false"
byContact"true" | "false"
detail"true" | "false"
format"csv" | "xlsx"

Response · 200

datestringrequireddate
rowsobject[]required
accountNumbernull | stringrequired
symbolstringrequired
contactIdnull | stringrequired
contactNamenull | stringrequired
debitHalerintegerrequired
creditHalerintegerrequired
balanceHalerintegerrequired
firstDatestringrequireddate
lastDatestringrequireddate
currencynull | stringrequired
foreignBalanceinteger | nullrequired
settledbooleanrequired
linesobject[]
accountNumbernull | stringrequired
pairingSymbolnull | stringrequired
contactNamestring | nullrequired
debitHalerintegerrequired
creditHalerintegerrequired
currencystring | nullrequired
foreignAmountstring | nullrequired
descriptionstring | nullrequired
entryDatestringrequireddate
documentNumberstring | nullrequired
entryNumberintegerrequired
entryIdnull | stringrequired
contactIdstring | nullrequired
foreignBalancesobject[]
currencynull | stringrequired
balanceintegerrequired
documentTypenull | string
documentIdnull | string
totalsobjectrequired
debitHalerintegerrequired
creditHalerintegerrequired
balanceHalerintegerrequired
foreignobject[]
currencynull | stringrequired
balanceintegerrequired
GET/v1/ledger/saldo
curl https://api.damedoklad.cz/v1/ledger/saldo \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

The párovací symbol set on a document, or null when it groups by its number

GET/v1/ledger/saldo/documents/{id}/symbol

The párovací symbol set on a document, or null when it groups by its number

MCP tool: get-document-pairing-symbol

Path parameters

idstringrequired

Response · 200

documentIdnull | stringrequired
documentTypenull | stringrequired
symbolnull | stringrequired
GET/v1/ledger/saldo/documents/{id}/symbol
curl https://api.damedoklad.cz/v1/ledger/saldo/documents/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/symbol \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Put a párovací symbol on a document, or clear it: every line of the document and its payments then groups under it in saldo

PUT/v1/ledger/saldo/documents/{id}/symbol

Put a párovací symbol on a document, or clear it: every line of the document and its payments then groups under it in saldo. Nothing posted changes: saldo reads the symbol through the document, so this also works on an issued document in a closed period. A symbol typed on a journal line goes first.

MCP tool: set-document-pairing-symbol

Path parameters

idstringrequired

Request body

documentType"invoice" | "received_invoice" | "credit_note" | "proforma" | "supplier_advance" | "other_receivable" | "other_payable" | "debit_note"required
symbolstring | nullrequired

Response · 200

documentIdnull | stringrequired
documentTypenull | stringrequired
symbolnull | stringrequired
PUT/v1/ledger/saldo/documents/{id}/symbol
curl -X PUT https://api.damedoklad.cz/v1/ledger/saldo/documents/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/symbol \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "documentType": "invoice",
  "symbol": "string"
}'

Download the saldo as CSV or XLSX

GET/v1/ledger/saldo/export

Download the saldo as CSV or XLSX

MCP tool: export-saldo

Query parameters

accountNumberstring
Account number from the chart of accounts, for example 311. list-accounts lists them.
datestringYYYY-MM-DD
Date as YYYY-MM-DD.
toleranceHalerintegermin 0max 9007199254740991
Integer amount in haléře: 100 = 1 Kč.
settled"true" | "false"
byContact"true" | "false"
detail"true" | "false"
format"csv" | "xlsx"

Response · 200

Returns a text/csv file.

GET/v1/ledger/saldo/export
curl https://api.damedoklad.cz/v1/ledger/saldo/export \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -o soubor

Legal form and size category the year-end close and the příloha depend on

GET/v1/ledger/settings

Legal form and size category the year-end close and the příloha depend on

MCP tool: get-ledger-settings

Response · 200

legalFormstringrequired
entitySizestringrequired
GET/v1/ledger/settings
curl https://api.damedoklad.cz/v1/ledger/settings \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Set the legal form (company, sole_trader, vos, ks) and size category (micro, small, medium, large)

PUT/v1/ledger/settings

Set the legal form (company, sole_trader, vos, ks) and size category (micro, small, medium, large)

MCP tool: update-ledger-settings

Request body

legalForm"company" | "sole_trader" | "vos" | "ks"
entitySize"micro" | "small" | "medium" | "large"

Response · 200

legalFormstringrequired
entitySizestringrequired
PUT/v1/ledger/settings
curl -X PUT https://api.damedoklad.cz/v1/ledger/settings \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "legalForm": "company",
  "entitySize": "micro"
}'

List balance sheet and income statement rows an account can be mapped to through statementRow

GET/v1/ledger/statement-rows

List balance sheet and income statement rows an account can be mapped to through statementRow

MCP tool: get-statement-rows

Response · 200

dataobject[]required
keystringrequired
codenull | stringrequired
labelnull | stringrequired
labelEnstringrequired
statementstringrequired
sidestring
functionRowsobject[]required
keystringrequired
codenull | stringrequired
labelnull | stringrequired
labelEnstringrequired
hasMorebooleanrequired
GET/v1/ledger/statement-rows
curl https://api.damedoklad.cz/v1/ledger/statement-rows \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Rozvaha in the statutory layout of vyhláška 500/2002 Sb. with brutto, korekce, netto, and the prior period

GET/v1/ledger/statements/balance-sheet

Rozvaha in the statutory layout of vyhláška 500/2002 Sb. with brutto, korekce, netto, and the prior period. structure: full (plný rozsah), short (zkrácený), micro (písmena). Every row has exact haléře and a `thousands` block in whole thousands of CZK, footed as the law requires. Filter by dimension for an internal view.

MCP tool: get-balance-sheet

Query parameters

centerIdstring
ID of the center.
activityIdstring
ID of the activity. Find it with list-activity.
projectIdstring
ID of the project.
periodIdstring
ID of the period. Find it with list-periods.
asOfstringYYYY-MM-DD
Date as YYYY-MM-DD.
structure"full" | "short" | "micro"

Response · 200

entityobjectrequired
namenull | stringrequired
iconull | stringrequired
dicnull | stringrequired
regimestringrequired
periodIdstringrequired
periodNamestringrequired
periodFromnull | stringrequireddate
periodTonull | stringrequireddate
asOfstringrequireddate
priorPeriodNamenull | stringrequired
priorAsOfnull | stringrequireddate
structurestringrequired
currencynull | stringrequired
legalBasisnull | stringrequired
assetsobjectrequired
totalobjectrequired
keystringrequired
codenull | stringrequired
labelnull | stringrequired
labelEnstringrequired
levelintegerrequired
grossHalerintegerrequired
correctionHalerintegerrequired
netHalerintegerrequired
priorNetHalerintegerrequired
thousandsobjectrequired
grossintegerrequired
correctionintegerrequired
netintegerrequired
priorNetintegerrequired
rowsobject[]required
keystringrequired
codenull | stringrequired
labelnull | stringrequired
labelEnstringrequired
levelintegerrequired
grossHalerintegerrequired
correctionHalerintegerrequired
netHalerintegerrequired
priorNetHalerintegerrequired
thousandsobjectrequired
grossintegerrequired
correctionintegerrequired
netintegerrequired
priorNetintegerrequired
liabilitiesobjectrequired
totalobjectrequired
keystringrequired
codenull | stringrequired
labelnull | stringrequired
labelEnstringrequired
levelintegerrequired
valueHalerinteger | nullrequired
priorHalerintegerrequired
thousandsobjectrequired
valueintegerrequired
priorintegerrequired
rowsobject[]required
keystringrequired
codenull | stringrequired
labelnull | stringrequired
labelEnstringrequired
levelintegerrequired
valueHalerinteger | nullrequired
priorHalerintegerrequired
thousandsobjectrequired
valueintegerrequired
priorintegerrequired
balancedbooleanrequired
differenceHalerintegerrequired
unmappedAccountsany[]required
GET/v1/ledger/statements/balance-sheet
curl https://api.damedoklad.cz/v1/ledger/statements/balance-sheet \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Přehled o peněžních tocích by the indirect method (§§ 40–43 of vyhláška 500/2002 Sb., ČÚS 023), reconciled to the real closing cash

GET/v1/ledger/statements/cash-flow

Přehled o peněžních tocích by the indirect method (§§ 40–43 of vyhláška 500/2002 Sb., ČÚS 023), reconciled to the real closing cash

MCP tool: get-cash-flow-statement

Query parameters

centerIdstring
ID of the center.
activityIdstring
ID of the activity. Find it with list-activity.
projectIdstring
ID of the project.
periodIdstring
ID of the period. Find it with list-periods.
asOfstringYYYY-MM-DD
Date as YYYY-MM-DD.

Response · 200

entityobjectrequired
namenull | stringrequired
iconull | stringrequired
dicnull | stringrequired
regimestringrequired
periodIdstringrequired
periodNamestringrequired
periodFromnull | stringrequireddate
periodTonull | stringrequireddate
asOfstringrequireddate
priorPeriodNamenull | stringrequired
priorAsOfnull | stringrequireddate
structurestringrequired
currencynull | stringrequired
legalBasisnull | stringrequired
methodnull | stringrequired
rowsobject[]required
keystringrequired
codenull | stringrequired
labelnull | stringrequired
labelEnstringrequired
levelintegerrequired
kindstringrequired
valueHalerinteger | nullrequired
thousandsobjectrequired
valueintegerrequired
openingCashHalerintegerrequired
closingCashHalerintegerrequired
computedClosingHalerinteger
differenceHalerintegerrequired
balancedbooleanrequired
voluntaryboolean
GET/v1/ledger/statements/cash-flow
curl https://api.damedoklad.cz/v1/ledger/statements/cash-flow \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Přehled o změnách vlastního kapitálu (§ 44 of vyhláška 500/2002 Sb.): opening, increases, decreases, and closing of each equity item

GET/v1/ledger/statements/equity-changes

Přehled o změnách vlastního kapitálu (§ 44 of vyhláška 500/2002 Sb.): opening, increases, decreases, and closing of each equity item

MCP tool: get-equity-changes-statement

Query parameters

centerIdstring
ID of the center.
activityIdstring
ID of the activity. Find it with list-activity.
projectIdstring
ID of the project.
periodIdstring
ID of the period. Find it with list-periods.
asOfstringYYYY-MM-DD
Date as YYYY-MM-DD.

Response · 200

entityobjectrequired
namenull | stringrequired
iconull | stringrequired
dicnull | stringrequired
regimestringrequired
periodIdstringrequired
periodNamestringrequired
periodFromnull | stringrequireddate
periodTonull | stringrequireddate
asOfstringrequireddate
priorPeriodNamenull | stringrequired
priorAsOfnull | stringrequireddate
structurestringrequired
currencynull | stringrequired
legalBasisnull | stringrequired
resultHalerintegerrequired
rowsobject[]required
keystringrequired
codenull | stringrequired
labelnull | stringrequired
labelEnstringrequired
openingHalerintegerrequired
increaseHalerintegerrequired
decreaseHalerintegerrequired
closingHalerintegerrequired
thousandsobject
openingintegerrequired
increaseintegerrequired
decreaseintegerrequired
closingintegerrequired
levelinteger
kindstring
leafboolean
totalobjectrequired
keystringrequired
codenull | stringrequired
labelnull | stringrequired
labelEnstringrequired
openingHalerintegerrequired
increaseHalerintegerrequired
decreaseHalerintegerrequired
closingHalerintegerrequired
levelinteger
kindstring
balancedboolean
mismatchedany[]
issuesany[]
voluntaryboolean
GET/v1/ledger/statements/equity-changes
curl https://api.damedoklad.cz/v1/ledger/statements/equity-changes \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Výkaz zisku a ztráty (druhové členění) in the statutory layout of vyhláška 500/2002 Sb. with the prior period

GET/v1/ledger/statements/income-statement

Výkaz zisku a ztráty (druhové členění) in the statutory layout of vyhláška 500/2002 Sb. with the prior period. structure: full or short (římské číslice, písmena, výpočtové řádky). Same amount blocks as the balance sheet.

MCP tool: get-income-statement

Query parameters

centerIdstring
ID of the center.
activityIdstring
ID of the activity. Find it with list-activity.
projectIdstring
ID of the project.
periodIdstring
ID of the period. Find it with list-periods.
asOfstringYYYY-MM-DD
Date as YYYY-MM-DD.
structure"full" | "short" | "micro"

Response · 200

entityobjectrequired
namenull | stringrequired
iconull | stringrequired
dicnull | stringrequired
regimestringrequired
periodIdstringrequired
periodNamestringrequired
periodFromnull | stringrequireddate
periodTonull | stringrequireddate
asOfstringrequireddate
priorPeriodNamenull | stringrequired
priorAsOfnull | stringrequireddate
structurestringrequired
currencynull | stringrequired
legalBasisnull | stringrequired
rowsobject[]required
keystringrequired
codenull | stringrequired
labelnull | stringrequired
labelEnstringrequired
kindstringrequired
levelintegerrequired
valueHalerinteger | nullrequired
priorHalerintegerrequired
thousandsobjectrequired
valueintegerrequired
priorintegerrequired
mainHalerinteger
economicHalerinteger
priorMainHalerinteger
priorEconomicHalerinteger
resultHalerintegerrequired
priorResultHalerinteger
netTurnoverHalerinteger
unmappedAccountsany[]required
mainobject
beforeTaxHalerintegerrequired
afterTaxHalerintegerrequired
economicobject
beforeTaxHalerintegerrequired
afterTaxHalerintegerrequired
costsobject[]
keystringrequired
codenull | stringrequired
labelnull | stringrequired
labelEnstringrequired
levelintegerrequired
kindstringrequired
mainHalerintegerrequired
economicHalerintegerrequired
priorMainHalerintegerrequired
priorEconomicHalerintegerrequired
valueHalerinteger | nullrequired
priorHalerintegerrequired
thousandsobjectrequired
valueintegerrequired
priorintegerrequired
revenueobject[]
keystringrequired
codenull | stringrequired
labelnull | stringrequired
labelEnstringrequired
levelintegerrequired
kindstringrequired
mainHalerintegerrequired
economicHalerintegerrequired
priorMainHalerintegerrequired
priorEconomicHalerintegerrequired
valueHalerinteger | nullrequired
priorHalerintegerrequired
thousandsobjectrequired
valueintegerrequired
priorintegerrequired
resultarray | null
keystringrequired
codenull | stringrequired
labelnull | stringrequired
labelEnstringrequired
levelintegerrequired
kindstringrequired
mainHalerintegerrequired
economicHalerintegerrequired
priorMainHalerintegerrequired
priorEconomicHalerintegerrequired
valueHalerinteger | nullrequired
priorHalerintegerrequired
thousandsobjectrequired
valueintegerrequired
priorintegerrequired
GET/v1/ledger/statements/income-statement
curl https://api.damedoklad.cz/v1/ledger/statements/income-statement \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Výkaz zisku a ztráty in účelové členění (příloha č. 3 of vyhláška 500/2002 Sb.) with the prior period. Same result as the druhové výkaz

GET/v1/ledger/statements/income-statement-functional

Výkaz zisku a ztráty in účelové členění (příloha č. 3 of vyhláška 500/2002 Sb.) with the prior period. Same result as the druhové výkaz. The decree does not say which cost is sales, distribution, or administration. defaultedAccounts counts cost accounts still on the default split; point an account elsewhere with functionRow.

MCP tool: get-functional-income-statement

Query parameters

centerIdstring
ID of the center.
activityIdstring
ID of the activity. Find it with list-activity.
projectIdstring
ID of the project.
periodIdstring
ID of the period. Find it with list-periods.
asOfstringYYYY-MM-DD
Date as YYYY-MM-DD.

Response · 200

entityobjectrequired
namenull | stringrequired
iconull | stringrequired
dicnull | stringrequired
regimestringrequired
periodIdstringrequired
periodNamestringrequired
periodFromnull | stringrequireddate
periodTonull | stringrequireddate
asOfstringrequireddate
priorPeriodNameanyrequired
Null in every recorded response.
priorAsOfanyrequired
Null in every recorded response.
structurestringrequired
currencynull | stringrequired
legalBasisnull | stringrequired
rowsobject[]required
keystringrequired
codenull | stringrequired
labelnull | stringrequired
labelEnstringrequired
kindstringrequired
levelintegerrequired
valueHalerinteger | nullrequired
priorHalerintegerrequired
thousandsobjectrequired
valueintegerrequired
priorintegerrequired
resultHalerintegerrequired
priorResultHalerintegerrequired
netTurnoverHalerintegerrequired
defaultedAccountsintegerrequired
unmappedAccountsany[]required
GET/v1/ledger/statements/income-statement-functional
curl https://api.damedoklad.cz/v1/ledger/statements/income-statement-functional \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

The saved příloha k účetní závěrce for a period, or a fresh draft generated from the books if none is saved yet

GET/v1/ledger/statements/notes

The saved příloha k účetní závěrce for a period, or a fresh draft generated from the books if none is saved yet

MCP tool: get-statement-notes

Query parameters

periodIdstring
ID of the period. Find it with list-periods.

Response · 200

idnull | stringrequired
periodIdstringrequired
periodNamestringrequired
categorystringrequired
sectionsobject[]required
keystringrequired
legalstring
titlenull | stringrequired
titleEnstring
sourcestring
textstringrequired
editedboolean
generatedAtnull | stringrequireddate-time
updatedAtnull | stringrequireddate-time
openSectionsintegerrequired
GET/v1/ledger/statements/notes
curl https://api.damedoklad.cz/v1/ledger/statements/notes \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Generate and save the příloha k účetní závěrce from the books. An edited příloha stays unless regenerate is set

POST/v1/ledger/statements/notes

Generate and save the příloha k účetní závěrce from the books. An edited příloha stays unless regenerate is set

MCP tool: generate-statement-notes

Request body

periodIdstring
ID of the period. Find it with list-periods.
category"micro" | "small" | "medium" | "large"
regenerateboolean

Response · 201

idnull | stringrequired
periodIdstringrequired
periodNamestringrequired
categorystringrequired
sectionsobject[]required
keystringrequired
legalstring
titlenull | stringrequired
titleEnstring
sourcestring
textstringrequired
editedboolean
generatedAtnull | stringrequireddate-time
updatedAtnull | stringrequireddate-time
openSectionsintegerrequired
POST/v1/ledger/statements/notes
curl -X POST https://api.damedoklad.cz/v1/ledger/statements/notes \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "periodId": "per_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
  "category": "micro",
  "regenerate": false
}'

Save edited text of příloha sections. Sections not named stay as they are

PATCH/v1/ledger/statements/notes

Save edited text of příloha sections. Sections not named stay as they are

MCP tool: update-statement-notes

Request body

periodIdstring
ID of the period. Find it with list-periods.
sectionsobject[]required
keystringrequiredmax 40 chars
textstringrequiredmax 20000 chars

Response · 200

idnull | stringrequired
periodIdstringrequired
periodNamestringrequired
categorystringrequired
sectionsobject[]required
keystringrequired
legalstring
titlenull | stringrequired
titleEnstring
sourcestring
textstringrequired
editedboolean
generatedAtnull | stringrequireddate-time
updatedAtnull | stringrequireddate-time
openSectionsintegerrequired
PATCH/v1/ledger/statements/notes
curl -X PATCH https://api.damedoklad.cz/v1/ledger/statements/notes \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "sections": [
    {
      "key": "string",
      "text": "string"
    }
  ]
}'

Download the saved příloha k účetní závěrce as a PDF

GET/v1/ledger/statements/notes/pdf

Download the saved příloha k účetní závěrce as a PDF. Sign it and file it yourself. Refused while sections still hold bracketed prompts.

MCP tool: download-statement-notes

Query parameters

periodIdstring
ID of the period. Find it with list-periods.

Response · 200

Returns a application/pdf file.

GET/v1/ledger/statements/notes/pdf
curl https://api.damedoklad.cz/v1/ledger/statements/notes/pdf \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -o soubor

List předkontace: which accounts each document type posts to

GET/v1/ledger/templates

List předkontace: which accounts each document type posts to

MCP tool: list-accounting-templates

Query parameters

limitintegermin 1max 500
offsetintegermin 0max 9007199254740991
searchstringmax 200 chars
documentType"issued_invoice" | "received_invoice" | "credit_note" | "proforma"

Response · 200

dataobject[]required
object"accounting_template"required
idstringrequired
codestringrequired
namestringrequired
documentTypestringrequired
debitAccountstringrequired
creditAccountstringrequired
isDefaultbooleanrequired
isSystembooleanrequired
totalinteger
Rows that match, on all pages.
hasMorebooleanrequired
More rows follow. Ask again with offset + the number of rows received.
GET/v1/ledger/templates
curl https://api.damedoklad.cz/v1/ledger/templates \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Create a předkontace. Set isDefault to use it for documents of that type that name none

POST/v1/ledger/templates

Create a předkontace. Set isDefault to use it for documents of that type that name none

MCP tool: create-accounting-template

Request body

codestringrequiredmax 24 chars
namestringrequiredmax 200 chars
documentType"issued_invoice" | "received_invoice" | "credit_note" | "proforma"required
debitAccountstringrequired
creditAccountstringrequired
isDefaultboolean

Response · 201

idstringrequired
codestringrequired
namestringrequired
documentTypestringrequired
debitAccountstringrequired
creditAccountstringrequired
isDefaultbooleanrequired
isSystembooleanrequired
POST/v1/ledger/templates
curl -X POST https://api.damedoklad.cz/v1/ledger/templates \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "code": "string",
  "name": "Pekárna U Lípy s.r.o.",
  "documentType": "issued_invoice",
  "debitAccount": "518",
  "creditAccount": "518"
}'

Update a předkontace. It applies to documents posted from now on

PATCH/v1/ledger/templates/{id}

Update a předkontace. It applies to documents posted from now on

MCP tool: update-accounting-template

Path parameters

idstringrequired

Request body

codestringmax 24 chars
namestringmax 200 chars
debitAccountstring
creditAccountstring
isDefaultboolean

Response · 200

idstringrequired
codestringrequired
namestringrequired
documentTypestringrequired
debitAccountstringrequired
creditAccountstringrequired
isDefaultbooleanrequired
isSystembooleanrequired
PATCH/v1/ledger/templates/{id}
curl -X PATCH https://api.damedoklad.cz/v1/ledger/templates/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "code": "string",
  "name": "Pekárna U Lípy s.r.o.",
  "debitAccount": "518"
}'

Delete a předkontace no document uses

DELETE/v1/ledger/templates/{id}

Delete a předkontace no document uses

IrreversibleThis operation cannot be undone. MCP clients ask for confirmation first.

MCP tool: delete-accounting-template

Path parameters

idstringrequired

Response · 200

idstringrequired
deletedbooleanrequired
DELETE/v1/ledger/templates/{id}
curl -X DELETE https://api.damedoklad.cz/v1/ledger/templates/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Obratová předvaha: opening balance, debit and credit turnover, closing balance per account

GET/v1/ledger/trial-balance

Obratová předvaha: opening balance, debit and credit turnover, closing balance per account. Filter by period, dates, and dimension. level=synthetic folds analytic accounts into their parent.

MCP tool: get-trial-balance

Query parameters

centerIdstring
ID of the center.
activityIdstring
ID of the activity. Find it with list-activity.
projectIdstring
ID of the project.
periodIdstring
ID of the period. Find it with list-periods.
fromstringYYYY-MM-DD
Date as YYYY-MM-DD.
tostringYYYY-MM-DD
Date as YYYY-MM-DD.
level"analytic" | "synthetic"

Response · 200

periodIdnull | stringrequired
periodNamestringrequired
fromstringrequireddate
tostringrequireddate
provisionalResultHalerintegerrequired
rowsobject[]required
accountNumbernull | stringrequired
openingHalerintegerrequired
debitHalerintegerrequired
creditHalerintegerrequired
namenull | stringrequired
openingDebitHalerintegerrequired
openingCreditHalerintegerrequired
closingHalerintegerrequired
closingDebitHalerintegerrequired
closingCreditHalerintegerrequired
nameEnnull | stringrequired
totalsobjectrequired
openingDebitHalerintegerrequired
openingCreditHalerintegerrequired
debitHalerintegerrequired
creditHalerintegerrequired
closingDebitHalerintegerrequired
closingCreditHalerintegerrequired
balancedbooleanrequired
GET/v1/ledger/trial-balance
curl https://api.damedoklad.cz/v1/ledger/trial-balance \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"

Undo a tax, provision, partner share, or result distribution posting with a reversal entry, while its period is open

DELETE/v1/ledger/year-end/steps/{id}

Undo a tax, provision, partner share, or result distribution posting with a reversal entry, while its period is open

IrreversibleThis operation cannot be undone. MCP clients ask for confirmation first.

MCP tool: undo-year-end-step

Path parameters

idstringrequired

Response · 200

idstringrequired
periodIdstringrequired
kindstringrequired
datestringrequireddate
amountHalerintegerrequired
detailsobjectrequired
resultHalerinteger
sharePercentinteger
kindstring
notenull | string
allocationsobject[]
amountHalerintegerrequired
accountNumbernull | stringrequired
entryIdnull | stringrequired
createdAtstringrequireddate-time
undoneAtnull | stringrequireddate-time
DELETE/v1/ledger/year-end/steps/{id}
curl -X DELETE https://api.damedoklad.cz/v1/ledger/year-end/steps/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"