Bank and cash
Operations in the Bank and cash group.
- GET/v1/bank-accounts
- POST/v1/bank-accounts
- GET/v1/bank-accounts/{id}
- PATCH/v1/bank-accounts/{id}
- DEL/v1/bank-accounts/{id}
- PUT/v1/bank-accounts/{id}/fio
- POST/v1/bank-accounts/{id}/fio/sync
- GET/v1/bank-categories
- GET/v1/bank-collectable-documents
- GET/v1/bank-movements
- POST/v1/bank-movements
- GET/v1/bank-movements/{id}
- POST/v1/bank-movements/{id}/classify
- POST/v1/bank-movements/{id}/match
- POST/v1/bank-movements/{id}/release-rest
- POST/v1/bank-movements/{id}/unmatch
- POST/v1/bank-movements/auto-match
- GET/v1/bank-open-documents
- POST/v1/bank-opening-balances/post
- GET/v1/bank-overview
- GET/v1/bank-payable-invoices
- GET/v1/bank-rules
- POST/v1/bank-rules
- PATCH/v1/bank-rules/{id}
- DEL/v1/bank-rules/{id}
- GET/v1/bank-statements
- POST/v1/bank-statements/import
- POST/v1/bank-statements/inspect-csv
- GET/v1/card-settlements
- GET/v1/card-settlements/{id}
- DEL/v1/card-settlements/{id}
- POST/v1/card-settlements/{id}/post
- POST/v1/card-settlements/import
- GET/v1/card-settlements/settings
- PATCH/v1/card-settlements/settings
- GET/v1/cash-documents
- POST/v1/cash-documents
- GET/v1/cash-documents/{id}
- POST/v1/cash-documents/{id}/cancel
- GET/v1/cash-documents/{id}/pdf
- GET/v1/cash-registers
- POST/v1/cash-registers
- GET/v1/cash-registers/{id}
- PATCH/v1/cash-registers/{id}
- DEL/v1/cash-registers/{id}
- GET/v1/payment-orders
- POST/v1/payment-orders
- GET/v1/payment-orders/{id}
- POST/v1/payment-orders/{id}/cancel
- GET/v1/payment-orders/{id}/export
- POST/v1/payment-orders/check
- GET/v1/sepa-mandates
- POST/v1/sepa-mandates
- PATCH/v1/sepa-mandates/{id}
- POST/v1/spayd
List own bank accounts with current balance and the number of unmatched movements
/v1/bank-accountsList own bank accounts with current balance and the number of unmatched movements
MCP tool: list-bank-accounts
Query parameters
limitintegermin 1max 500offsetintegermin 0max 9007199254740991Response · 200
dataobject[]requiredobject"bank_account"requiredidstringrequiredcontactIdnull | stringlabelnull | stringaccountNumbernull | stringrequiredbankCodenull | stringrequiredibannull | stringrequiredcurrencystringrequiredisDefaultbooleanrequiredpublishedFromRegistrybooleanbicnull | stringbankNamenull | stringbankStreetstring | nullbankCitystring | nullnamestringswiftnull | stringledgerAccountstringisActivebooleanopeningBalanceHalerintegeropeningDatenull | stringdateopeningExchangeRatestring | nullopeningStatestringbankBalanceHalerinteger | nullbankBalanceOnnull | stringdatefioobjectconfiguredbooleanrequiredenabledbooleanrequiredlastSyncedAtnull | stringrequireddate-timelastSyncedOnnull | stringrequireddatelastErrornull | stringrequiredcreatedAtstringdate-timebalanceHalerintegerunmatchedCountintegerbalanceDiffHalerinteger | nullsepaCreditorIdnull | stringtotalintegerhasMorebooleanrequiredCreate a bank account. The analytic 221xxx account and the IBAN are filled in when omitted. A stated opening balance posts MD 221xxx / D 701, or the opening bank of the peněžní deník, unless opening entries already hold the account
/v1/bank-accountsCreate a bank account. The analytic 221xxx account and the IBAN are filled in when omitted. A stated opening balance posts MD 221xxx / D 701, or the opening bank of the peněžní deník, unless opening entries already hold the account
MCP tool: create-bank-account
Request body
namestringrequiredmax 200 charsaccountNumberstringrequiredbankCodestringrequiredibanstringmax 42 charsswiftstringsepaCreditorIdstringmin 5 charsmax 35 charscurrencystring3 charsledgerAccountstringisDefaultbooleanopeningBalanceHalerintegermin -9007199254740991max 9007199254740991openingDatestringYYYY-MM-DDopeningExchangeRatenumbermax 100000Response · 201
idstringrequiredcontactIdnull | stringlabelnull | stringaccountNumbernull | stringrequiredbankCodenull | stringrequiredibannull | stringrequiredcurrencystringrequiredisDefaultbooleanrequiredpublishedFromRegistrybooleanbicnull | stringbankNamenull | stringbankStreetstring | nullbankCitystring | nullnamestringswiftnull | stringledgerAccountstringisActivebooleanopeningBalanceHalerintegeropeningDatenull | stringdateopeningExchangeRatestring | nullopeningStatestringbankBalanceHalerinteger | nullbankBalanceOnnull | stringdatefioobjectconfiguredbooleanrequiredenabledbooleanrequiredlastSyncedAtnull | stringrequireddate-timelastSyncedOnnull | stringrequireddatelastErrornull | stringrequiredcreatedAtstringdate-timebalanceHalerintegerunmatchedCountintegerbalanceDiffHalerinteger | nullsepaCreditorIdnull | stringGet one bank account
/v1/bank-accounts/{id}Get one bank account
MCP tool: get-bank-account
Path parameters
idstringrequiredResponse · 200
idstringrequiredcontactIdnull | stringlabelnull | stringaccountNumbernull | stringrequiredbankCodenull | stringrequiredibannull | stringrequiredcurrencystringrequiredisDefaultbooleanrequiredpublishedFromRegistrybooleanbicnull | stringbankNamenull | stringbankStreetstring | nullbankCitystring | nullnamestringswiftnull | stringledgerAccountstringisActivebooleanopeningBalanceHalerintegeropeningDatenull | stringdateopeningExchangeRatestring | nullopeningStatestringbankBalanceHalerinteger | nullbankBalanceOnnull | stringdatefioobjectconfiguredbooleanrequiredenabledbooleanrequiredlastSyncedAtnull | stringrequireddate-timelastSyncedOnnull | stringrequireddatelastErrornull | stringrequiredcreatedAtstringdate-timebalanceHalerintegerunmatchedCountintegerbalanceDiffHalerinteger | nullsepaCreditorIdnull | stringUpdate a bank account. Currency and the analytic account are locked once movements are paired. A changed opening balance reverses what it posted and posts anew
/v1/bank-accounts/{id}Update a bank account. Currency and the analytic account are locked once movements are paired. A changed opening balance reverses what it posted and posts anew
MCP tool: update-bank-account
Path parameters
idstringrequiredRequest body
namestringmax 200 charsaccountNumberstringbankCodestringibanstring | nullswiftstring | nullsepaCreditorIdstringmin 5 charsmax 35 charscurrencystring3 charsledgerAccountstringisDefaultbooleanopeningBalanceHalerintegermin -9007199254740991max 9007199254740991openingDatestring | nullopeningExchangeRatenumbermax 100000isActivebooleanResponse · 200
idstringrequiredcontactIdnull | stringlabelnull | stringaccountNumbernull | stringrequiredbankCodenull | stringrequiredibannull | stringrequiredcurrencystringrequiredisDefaultbooleanrequiredpublishedFromRegistrybooleanbicnull | stringbankNamenull | stringbankStreetstring | nullbankCitystring | nullnamestringswiftnull | stringledgerAccountstringisActivebooleanopeningBalanceHalerintegeropeningDatenull | stringdateopeningExchangeRatestring | nullopeningStatestringbankBalanceHalerinteger | nullbankBalanceOnnull | stringdatefioobjectconfiguredbooleanrequiredenabledbooleanrequiredlastSyncedAtnull | stringrequireddate-timelastSyncedOnnull | stringrequireddatelastErrornull | stringrequiredcreatedAtstringdate-timebalanceHalerintegerunmatchedCountintegerbalanceDiffHalerinteger | nullsepaCreditorIdnull | stringDelete a bank account that has no movements, statements, or payment orders. Its posted opening balance is reversed
/v1/bank-accounts/{id}Delete a bank account that has no movements, statements, or payment orders. Its posted opening balance is reversed
IrreversibleThis operation cannot be undone. MCP clients ask for confirmation first.
MCP tool: delete-bank-account
Path parameters
idstringrequiredResponse · 200
idstringrequireddeletedbooleanrequiredSave the Fio API token of an account and turn automatic sync on or off. The token is stored encrypted and never returned
/v1/bank-accounts/{id}/fioSave the Fio API token of an account and turn automatic sync on or off. The token is stored encrypted and never returned
MCP tool: update-bank-account-fio
Path parameters
idstringrequiredRequest body
tokenstringenabledbooleanResponse · 200
idstringrequiredcontactIdnull | stringlabelnull | stringaccountNumbernull | stringrequiredbankCodenull | stringrequiredibannull | stringrequiredcurrencystringrequiredisDefaultbooleanrequiredpublishedFromRegistrybooleanbicnull | stringbankNamenull | stringbankStreetstring | nullbankCitystring | nullnamestringswiftnull | stringledgerAccountstringisActivebooleanopeningBalanceHalerintegeropeningDatenull | stringdateopeningExchangeRatestring | nullopeningStatestringbankBalanceHalerinteger | nullbankBalanceOnnull | stringdatefioobjectconfiguredbooleanrequiredenabledbooleanrequiredlastSyncedAtnull | stringrequireddate-timelastSyncedOnnull | stringrequireddatelastErrornull | stringrequiredcreatedAtstringdate-timebalanceHalerintegerunmatchedCountintegerbalanceDiffHalerinteger | nullsepaCreditorIdnull | stringDownload new movements of a Fio account now. Fio allows one call per token in 30 seconds
/v1/bank-accounts/{id}/fio/syncDownload new movements of a Fio account now. Fio allows one call per token in 30 seconds
MCP tool: sync-bank-account-fio
Path parameters
idstringrequiredResponse · 200
bankAccountIdstringrequiredfromstringrequireddatetostringrequireddateimportedCountintegerrequiredduplicateCountintegerrequiredautoMatchedCountintegerrequiredclosingBalanceHalerinteger | nullrequiredwarningsany[]requiredThe predefined choices for movements without a document: bank fee, interest, taxes, own transfer
/v1/bank-categoriesThe predefined choices for movements without a document: bank fee, interest, taxes, own transfer
MCP tool: list-bank-categories
Query parameters
limitintegermin 1max 500offsetintegermin 0max 9007199254740991searchstringmax 200 charsResponse · 200
dataobject[]requiredobject"bank_category"requiredidstringrequireddirectionstringrequiredaccountNumbernull | stringrequiredclassificationnull | stringrequirednameCsstringrequirednameEnnull | stringrequiredtotalintegerhasMorebooleanrequiredUnpaid issued invoices, debit notes, and other receivables ready for a příkaz k inkasu. `hasBankAccount` tells whether the customer has a Czech account, `mandates` how many active SEPA mandates
/v1/bank-collectable-documentsUnpaid issued invoices, debit notes, and other receivables ready for a příkaz k inkasu. `hasBankAccount` tells whether the customer has a Czech account, `mandates` how many active SEPA mandates
MCP tool: list-collectable-documents
Query parameters
limitintegermin 1max 500offsetintegermin 0max 9007199254740991searchstringmax 200 charsfromstringYYYY-MM-DDtostringYYYY-MM-DDdueTostringYYYY-MM-DDdueFromstringYYYY-MM-DDcurrencystring3 charsResponse · 200
dataobject[]requiredobject"collectable_document"requiredkindstringrequiredidstringrequirednumbernull | stringrequiredcontactIdnull | stringrequiredcontactNamenull | stringrequiredvariableSymbolnull | stringrequireddueDatenull | stringrequireddatecurrencynull | stringrequiredtotalHalerinteger | nullrequiredremainingHalerinteger | nullrequiredhasBankAccountbooleanrequiredmandatesintegerrequiredinPaymentbooleanrequiredpaymentOrderIdnull | stringrequiredtotalintegerhasMorebooleanrequiredList bank movements across accounts with their pairing and suggested matches. status=open means anything not fully paired
/v1/bank-movementsList bank movements across accounts with their pairing and suggested matches. status=open means anything not fully paired
MCP tool: list-bank-movements
Query parameters
limitintegermin 1max 500offsetintegermin 0max 9007199254740991searchstringmax 200 charsfromstringYYYY-MM-DDtostringYYYY-MM-DDstatus"unmatched" | "partial" | "matched" | "non_document" | "open"bankAccountIdstringstatementIdstringResponse · 200
dataobject[]requiredobject"bank_movement"requiredidstringrequiredbankAccountIdstringrequiredstatementIdnull | stringrequiredsourcestringrequiredexternalIdnull | stringrequiredbookedOnstringrequireddatevalueDatestring | nullrequiredamountHalerintegerrequiredcurrencystringrequiredcounterpartyAccountnull | stringrequiredcounterpartyBankCodenull | stringrequiredcounterpartyIbannull | stringrequiredcounterpartyNamenull | stringrequiredvariableSymbolnull | stringrequiredconstantSymbolnull | stringrequiredspecificSymbolstring | nullrequiredmessagenull | stringrequiredbankTypenull | stringrequiredisReversalbooleanrequiredstatusstringrequiredallocatedHalerintegerrequiredremainingHalerinteger | nullrequiredcreatedAtstringrequireddate-timeallocationsobject[]requiredobject"bank_allocation"requiredidstringrequiredkindstringrequireddocumentIdnull | stringrequireddocumentNumbernull | stringrequiredpaymentIdnull | stringrequiredamountHalerintegerrequiredcategorynull | stringrequiredaccountNumbernull | stringrequiredclassificationnull | stringrequiredcounterBankAccountIdnull | stringrequiredexchangeRatenull | numberrequiredorderItemIdnull | stringrequiredconfidencenull | numberrequiredmatchedBystringrequirednotenull | stringrequiredcreatedAtstringrequireddate-timesuggestionsobject[]requiredtypestringrequiredkindstringdocumentIdnull | stringnumbernull | stringcontactNamenull | stringorderItemIdnull | stringamountHalerintegerrequiredremainingHalerinteger | nullconfidencenull | numberrequiredlevelstringrequiredreasonnull | stringrequiredsourcestringaccountNumbernull | stringclassificationstring | nullcategorynull | stringcounterBankAccountIdnull | stringruleIdstringruleNamestringtotalintegerhasMorebooleanrequiredAdd one movement by hand, for a bank that gives no export
/v1/bank-movementsAdd one movement by hand, for a bank that gives no export
MCP tool: create-bank-movement
Request body
bankAccountIdstringrequiredbookedOnstringrequiredYYYY-MM-DDamountHalerintegerrequiredmin -9007199254740991max 9007199254740991counterpartyAccountstringmax 42 charscounterpartyBankCodestringcounterpartyNamestringmax 200 charsvariableSymbolstringconstantSymbolstringspecificSymbolstringmessagestringmax 400 charsResponse · 201
idstringrequiredbankAccountIdstringrequiredstatementIdnull | stringrequiredsourcestringrequiredexternalIdnull | stringrequiredbookedOnstringrequireddatevalueDatestring | nullrequiredamountHalerintegerrequiredcurrencystringrequiredcounterpartyAccountnull | stringrequiredcounterpartyBankCodenull | stringrequiredcounterpartyIbannull | stringrequiredcounterpartyNamenull | stringrequiredvariableSymbolnull | stringrequiredconstantSymbolnull | stringrequiredspecificSymbolstring | nullrequiredmessagenull | stringrequiredbankTypenull | stringrequiredisReversalbooleanrequiredstatusstringrequiredallocatedHalerintegerrequiredremainingHalerinteger | nullrequiredcreatedAtstringrequireddate-timeallocationsobject[]requiredobject"bank_allocation"requiredidstringrequiredkindstringrequireddocumentIdnull | stringrequireddocumentNumbernull | stringrequiredpaymentIdnull | stringrequiredamountHalerintegerrequiredcategorynull | stringrequiredaccountNumbernull | stringrequiredclassificationnull | stringrequiredcounterBankAccountIdnull | stringrequiredexchangeRatenull | numberrequiredorderItemIdnull | stringrequiredconfidencenull | numberrequiredmatchedBystringrequirednotenull | stringrequiredcreatedAtstringrequireddate-timesuggestionsobject[]requiredtypestringrequiredkindstringdocumentIdnull | stringnumbernull | stringcontactNamenull | stringorderItemIdnull | stringamountHalerintegerrequiredremainingHalerinteger | nullconfidencenull | numberrequiredlevelstringrequiredreasonnull | stringrequiredsourcestringaccountNumbernull | stringclassificationstring | nullcategorynull | stringcounterBankAccountIdnull | stringruleIdstringruleNamestringGet one bank movement with its pairing and suggestions
/v1/bank-movements/{id}Get one bank movement with its pairing and suggestions
MCP tool: get-bank-movement
Path parameters
idstringrequiredResponse · 200
idstringrequiredbankAccountIdstringrequiredstatementIdnull | stringrequiredsourcestringrequiredexternalIdnull | stringrequiredbookedOnstringrequireddatevalueDatestring | nullrequiredamountHalerintegerrequiredcurrencystringrequiredcounterpartyAccountnull | stringrequiredcounterpartyBankCodenull | stringrequiredcounterpartyIbannull | stringrequiredcounterpartyNamenull | stringrequiredvariableSymbolnull | stringrequiredconstantSymbolnull | stringrequiredspecificSymbolstring | nullrequiredmessagenull | stringrequiredbankTypenull | stringrequiredisReversalbooleanrequiredstatusstringrequiredallocatedHalerintegerrequiredremainingHalerinteger | nullrequiredcreatedAtstringrequireddate-timeallocationsobject[]requiredobject"bank_allocation"requiredidstringrequiredkindstringrequireddocumentIdnull | stringrequireddocumentNumbernull | stringrequiredpaymentIdnull | stringrequiredamountHalerintegerrequiredcategorynull | stringrequiredaccountNumbernull | stringrequiredclassificationnull | stringrequiredcounterBankAccountIdnull | stringrequiredexchangeRatenull | numberrequiredorderItemIdnull | stringrequiredconfidencenull | numberrequiredmatchedBystringrequirednotenull | stringrequiredcreatedAtstringrequireddate-timesuggestionsobject[]requiredtypestringrequiredkindstringdocumentIdnull | stringnumbernull | stringcontactNamenull | stringorderItemIdnull | stringamountHalerintegerrequiredremainingHalerinteger | nullconfidencenull | numberrequiredlevelstringrequiredreasonnull | stringrequiredsourcestringaccountNumbernull | stringclassificationstring | nullcategorynull | stringcounterBankAccountIdnull | stringruleIdstringruleNamestringBook a movement without a document: bank fee, interest, tax payment, transfer between own accounts, or a chosen account
/v1/bank-movements/{id}/classifyBook a movement without a document: bank fee, interest, tax payment, transfer between own accounts, or a chosen account
MCP tool: classify-bank-movement
Path parameters
idstringrequiredRequest body
category"bank_fee" | "interest_received" | "interest_paid" | "interest_tax" | "tax_vat" | "tax_income" | "tax_payroll" | "tax_road" | "insurance_social" | "insurance_health" | "insurance_social_own" | "insurance_health_own" | "card_settlement" | "own_transfer" | "reversal" | "other"requiredamountHalerintegermax 9007199254740991accountNumberstringclassification"income_taxable" | "income_nontax" | "expense_deductible" | "expense_nontax" | "transfer"counterBankAccountIdstringexchangeRatenumbermax 100000feeHalerintegermax 9007199254740991notestringmax 2000 charspairingSymbolstringmax 32 charsResponse · 200
idstringrequiredbankAccountIdstringrequiredstatementIdnull | stringrequiredsourcestringrequiredexternalIdnull | stringrequiredbookedOnstringrequireddatevalueDatestring | nullrequiredamountHalerintegerrequiredcurrencystringrequiredcounterpartyAccountnull | stringrequiredcounterpartyBankCodenull | stringrequiredcounterpartyIbannull | stringrequiredcounterpartyNamenull | stringrequiredvariableSymbolnull | stringrequiredconstantSymbolnull | stringrequiredspecificSymbolstring | nullrequiredmessagenull | stringrequiredbankTypenull | stringrequiredisReversalbooleanrequiredstatusstringrequiredallocatedHalerintegerrequiredremainingHalerinteger | nullrequiredcreatedAtstringrequireddate-timeallocationsobject[]requiredobject"bank_allocation"requiredidstringrequiredkindstringrequireddocumentIdnull | stringrequireddocumentNumbernull | stringrequiredpaymentIdnull | stringrequiredamountHalerintegerrequiredcategorynull | stringrequiredaccountNumbernull | stringrequiredclassificationnull | stringrequiredcounterBankAccountIdnull | stringrequiredexchangeRatenull | numberrequiredorderItemIdnull | stringrequiredconfidencenull | numberrequiredmatchedBystringrequirednotenull | stringrequiredcreatedAtstringrequireddate-timesuggestionsobject[]requiredtypestringrequiredkindstringdocumentIdnull | stringnumbernull | stringcontactNamenull | stringorderItemIdnull | stringamountHalerintegerrequiredremainingHalerinteger | nullconfidencenull | numberrequiredlevelstringrequiredreasonnull | stringrequiredsourcestringaccountNumbernull | stringclassificationstring | nullcategorynull | stringcounterBankAccountIdnull | stringruleIdstringruleNamestringPair a movement with one document, or split it across several. Also confirms a suggestion. Posts to the books, except kind hand_payment: the line takes over a payment typed by hand, which already did. When that line is for less, on another account or on another date (code hand_payment_other_date, the date of the statement coming first), resolution keep lets the payment stand, with the rest waiting and the money moved across analytics; resolution correct redoes the payment from the line
/v1/bank-movements/{id}/matchPair a movement with one document, or split it across several. Also confirms a suggestion. Posts to the books, except kind hand_payment: the line takes over a payment typed by hand, which already did. When that line is for less, on another account or on another date (code hand_payment_other_date, the date of the statement coming first), resolution keep lets the payment stand, with the rest waiting and the money moved across analytics; resolution correct redoes the payment from the line
MCP tool: match-bank-movement
Path parameters
idstringrequiredRequest body
allocationsobject[]requiredkind"invoice" | "received_invoice" | "proforma" | "proforma_refund" | "supplier_advance" | "supplier_advance_refund" | "credit_note" | "debit_note" | "other_receivable" | "other_payable" | "payroll_payment" | "travel_order" | "travel_advance" | "hand_payment"requireddocumentIdstringrequiredamountHalerintegermax 9007199254740991documentAmountHalerintegermax 9007199254740991resolution"keep" | "correct"notestringmax 2000 charsResponse · 200
idstringrequiredbankAccountIdstringrequiredstatementIdnull | stringrequiredsourcestringrequiredexternalIdnull | stringrequiredbookedOnstringrequireddatevalueDatestring | nullrequiredamountHalerintegerrequiredcurrencystringrequiredcounterpartyAccountnull | stringrequiredcounterpartyBankCodenull | stringrequiredcounterpartyIbannull | stringrequiredcounterpartyNamenull | stringrequiredvariableSymbolnull | stringrequiredconstantSymbolnull | stringrequiredspecificSymbolstring | nullrequiredmessagenull | stringrequiredbankTypenull | stringrequiredisReversalbooleanrequiredstatusstringrequiredallocatedHalerintegerrequiredremainingHalerinteger | nullrequiredcreatedAtstringrequireddate-timeallocationsobject[]requiredobject"bank_allocation"requiredidstringrequiredkindstringrequireddocumentIdnull | stringrequireddocumentNumbernull | stringrequiredpaymentIdnull | stringrequiredamountHalerintegerrequiredcategorynull | stringrequiredaccountNumbernull | stringrequiredclassificationnull | stringrequiredcounterBankAccountIdnull | stringrequiredexchangeRatenull | numberrequiredorderItemIdnull | stringrequiredconfidencenull | numberrequiredmatchedBystringrequirednotenull | stringrequiredcreatedAtstringrequireddate-timesuggestionsobject[]requiredtypestringrequiredkindstringdocumentIdnull | stringnumbernull | stringcontactNamenull | stringorderItemIdnull | stringamountHalerintegerrequiredremainingHalerinteger | nullconfidencenull | numberrequiredlevelstringrequiredreasonnull | stringrequiredsourcestringaccountNumbernull | stringclassificationstring | nullcategorynull | stringcounterBankAccountIdnull | stringruleIdstringruleNamestringThe rest of a payment typed by hand will not arrive: the payment shrinks to what statement lines confirmed, and the rest is open on the document again
/v1/bank-movements/{id}/release-restThe rest of a payment typed by hand will not arrive: the payment shrinks to what statement lines confirmed, and the rest is open on the document again
IrreversibleThis operation cannot be undone. MCP clients ask for confirmation first.
MCP tool: release-hand-payment-rest
Path parameters
idstringrequiredResponse · 200
releasedintegerrequiredconfirmedCountintegerrequiredUndo the pairing of a movement, or one part of a split. Reverses the postings
/v1/bank-movements/{id}/unmatchUndo the pairing of a movement, or one part of a split. Reverses the postings
IrreversibleThis operation cannot be undone. MCP clients ask for confirmation first.
MCP tool: unmatch-bank-movement
Path parameters
idstringrequiredRequest body
allocationIdstringResponse · 200
idstringrequiredbankAccountIdstringrequiredstatementIdnull | stringrequiredsourcestringrequiredexternalIdnull | stringrequiredbookedOnstringrequireddatevalueDatestring | nullrequiredamountHalerintegerrequiredcurrencystringrequiredcounterpartyAccountnull | stringrequiredcounterpartyBankCodenull | stringrequiredcounterpartyIbannull | stringrequiredcounterpartyNamenull | stringrequiredvariableSymbolnull | stringrequiredconstantSymbolnull | stringrequiredspecificSymbolstring | nullrequiredmessagenull | stringrequiredbankTypenull | stringrequiredisReversalbooleanrequiredstatusstringrequiredallocatedHalerintegerrequiredremainingHalerinteger | nullrequiredcreatedAtstringrequireddate-timeallocationsobject[]requiredobject"bank_allocation"requiredidstringrequiredkindstringrequireddocumentIdnull | stringrequireddocumentNumbernull | stringrequiredpaymentIdnull | stringrequiredamountHalerintegerrequiredcategorynull | stringrequiredaccountNumbernull | stringrequiredclassificationnull | stringrequiredcounterBankAccountIdnull | stringrequiredexchangeRatenull | numberrequiredorderItemIdnull | stringrequiredconfidencenull | numberrequiredmatchedBystringrequirednotenull | stringrequiredcreatedAtstringrequireddate-timesuggestionsobject[]requiredtypestringrequiredkindstringdocumentIdnull | stringnumbernull | stringcontactNamenull | stringorderItemIdnull | stringamountHalerintegerrequiredremainingHalerinteger | nullconfidencenull | numberrequiredlevelstringrequiredreasonnull | stringrequiredsourcestringaccountNumbernull | stringclassificationstring | nullcategorynull | stringcounterBankAccountIdnull | stringruleIdstringruleNamestringRun automatic pairing over all open movements. Only exact matches above the safe threshold are paired
/v1/bank-movements/auto-matchRun automatic pairing over all open movements. Only exact matches above the safe threshold are paired
MCP tool: auto-match-bank-movements
Response · 200
checkedCountintegerrequiredmatchedCountintegerrequiredmovementIdsstring[]requiredUnpaid documents a movement can be paired with. direction=in lists issued invoices, proformas, debit notes, other receivables, and refunds of advances from suppliers; out lists received invoices, advances to suppliers, credit notes, other payables, payroll payments, and advances on business trips. Business trips follow their own side, and payments typed by hand (hand_payment) wait on either for the line that takes them over
/v1/bank-open-documentsUnpaid documents a movement can be paired with. direction=in lists issued invoices, proformas, debit notes, other receivables, and refunds of advances from suppliers; out lists received invoices, advances to suppliers, credit notes, other payables, payroll payments, and advances on business trips. Business trips follow their own side, and payments typed by hand (hand_payment) wait on either for the line that takes them over
MCP tool: list-bank-open-documents
Query parameters
limitintegermin 1max 500offsetintegermin 0max 9007199254740991searchstringmax 200 charsdirection"in" | "out"Response · 200
dataobject[]requiredobject"open_document"requiredkindstringrequiredidstringrequirednumbernull | stringrequiredvariableSymbolnull | stringrequiredcurrencynull | stringrequiredtotalHalerinteger | nullrequiredremainingHalerinteger | nullrequiredissueDatenull | stringrequireddatedueDatenull | stringrequireddatecontactNamenull | stringrequiredcontactIdnull | stringrequiredinPaymentbooleanrequiredincomingbooleanbankAccountIdstringtotalintegerhasMorebooleanrequiredPost every stated opening balance of bank accounts and cash registers that is not in the books yet. A sweep does this by itself every few hours, so this only says at once what a closed period still stops. Safe to repeat
/v1/bank-opening-balances/postPost every stated opening balance of bank accounts and cash registers that is not in the books yet. A sweep does this by itself every few hours, so this only says at once what a closed period still stops. Safe to repeat. Legal effect: posts MD 221xxx or 211xxx / D 701, or sets the opening cash and bank of the peněžní deník. A balance the opening entries already hold posts nothing. notPosted lists what a closed period stopped.
MCP tool: post-stated-opening-balances
Response · 200
notPostedany[]requiredTotals for the bank page: movements waiting to be paired and how many of the newest have a confident suggestion
/v1/bank-overviewTotals for the bank page: movements waiting to be paired and how many of the newest have a confident suggestion
MCP tool: get-bank-overview
Response · 200
unmatchedCountintegerrequiredunmatchedAbsHalerintegerrequiredsuggestedCountintegerrequiredsuggestedCountPartialbooleanrequiredUnpaid received invoices, advances to suppliers, and other payables ready for a payment order, with a due date filter. `kind` tells them apart, inPayment marks those already on an order
/v1/bank-payable-invoicesUnpaid received invoices, advances to suppliers, and other payables ready for a payment order, with a due date filter. `kind` tells them apart, inPayment marks those already on an order
MCP tool: list-payable-received-invoices
Query parameters
limitintegermin 1max 500offsetintegermin 0max 9007199254740991searchstringmax 200 charsdueTostringYYYY-MM-DDdueFromstringYYYY-MM-DDcurrencystring3 charsResponse · 200
dataobject[]requiredobject"payable_invoice"requiredkindstringrequiredidstringrequirednumbernull | stringrequiredsupplierDocumentNumbernull | stringcontactNamenull | stringrequiredvariableSymbolnull | stringrequireddueDatenull | stringrequireddatecurrencynull | stringrequiredtotalHalerinteger | nullrequiredremainingHalerinteger | nullrequiredhasBankAccountbooleanrequiredinPaymentbooleanrequiredpaymentOrderIdnull | stringrequiredapprovalBlockedbooleanrequiredtotalintegerhasMorebooleanrequiredList pairing rules such as "ČEZ → 502". Rules only ever suggest, a person confirms
/v1/bank-rulesList pairing rules such as "ČEZ → 502". Rules only ever suggest, a person confirms
MCP tool: list-bank-rules
Query parameters
limitintegermin 1max 500offsetintegermin 0max 9007199254740991searchstringmax 200 charsfromstringYYYY-MM-DDtostringYYYY-MM-DDResponse · 200
dataany[]requiredtotalintegerhasMorebooleanrequiredCreate a pairing rule: what to recognise on a movement, and how to book it
/v1/bank-rulesCreate a pairing rule: what to recognise on a movement, and how to book it
MCP tool: create-bank-rule
Request body
namestringrequiredmax 200 charsdirection"any" | "in" | "out"counterpartyNameContainsstringmax 200 charscounterpartyAccountstringcounterpartyBankCodestringmessageContainsstringmax 200 charsvariableSymbolstringcategory"bank_fee" | "interest_received" | "interest_paid" | "interest_tax" | "tax_vat" | "tax_income" | "tax_payroll" | "tax_road" | "insurance_social" | "insurance_health" | "insurance_social_own" | "insurance_health_own" | "card_settlement" | "own_transfer" | "reversal" | "other"requiredaccountNumberstringclassification"income_taxable" | "income_nontax" | "expense_deductible" | "expense_nontax" | "transfer"priorityintegermin 0max 1000isActivebooleanResponse · 201
idstringrequirednamestringrequireddirectionstringrequiredcounterpartyNameContainsnull | stringrequiredcounterpartyAccountstring | nullrequiredcounterpartyBankCodestring | nullrequiredmessageContainsnull | stringrequiredvariableSymbolstring | nullrequiredcategorystringrequiredaccountNumbernull | stringrequiredclassificationstring | nullrequiredpriorityintegerrequiredisActivebooleanrequiredcreatedAtstringrequireddate-timeUpdate a pairing rule
/v1/bank-rules/{id}Update a pairing rule
MCP tool: update-bank-rule
Path parameters
idstringrequiredRequest body
namestringmax 200 charsdirection"any" | "in" | "out"counterpartyNameContainsstringmax 200 charscounterpartyAccountstringcounterpartyBankCodestringmessageContainsstringmax 200 charsvariableSymbolstringcategory"bank_fee" | "interest_received" | "interest_paid" | "interest_tax" | "tax_vat" | "tax_income" | "tax_payroll" | "tax_road" | "insurance_social" | "insurance_health" | "insurance_social_own" | "insurance_health_own" | "card_settlement" | "own_transfer" | "reversal" | "other"accountNumberstringclassification"income_taxable" | "income_nontax" | "expense_deductible" | "expense_nontax" | "transfer"priorityintegermin 0max 1000isActivebooleanResponse · 200
idstringrequirednamestringrequireddirectionstringrequiredcounterpartyNameContainsnull | stringrequiredcounterpartyAccountstring | nullrequiredcounterpartyBankCodestring | nullrequiredmessageContainsnull | stringrequiredvariableSymbolstring | nullrequiredcategorystringrequiredaccountNumbernull | stringrequiredclassificationstring | nullrequiredpriorityintegerrequiredisActivebooleanrequiredcreatedAtstringrequireddate-timeDelete a pairing rule
/v1/bank-rules/{id}Delete a pairing rule
IrreversibleThis operation cannot be undone. MCP clients ask for confirmation first.
MCP tool: delete-bank-rule
Path parameters
idstringrequiredResponse · 200
idstringrequireddeletedbooleanrequiredList imported statements with opening and closing balances and the continuity check against the previous statement
/v1/bank-statementsList imported statements with opening and closing balances and the continuity check against the previous statement
MCP tool: list-bank-statements
Query parameters
limitintegermin 1max 500offsetintegermin 0max 9007199254740991searchstringmax 200 charsfromstringYYYY-MM-DDtostringYYYY-MM-DDbankAccountIdstringResponse · 200
dataobject[]requiredobject"bank_statement"requiredidstringrequiredbankAccountIdstringrequiredformatstringrequiredfileNamenull | stringrequirednumbernull | stringrequiredperiodFromnull | stringrequireddateperiodTonull | stringrequireddateopeningBalanceHalerinteger | nullrequiredclosingBalanceHalerinteger | nullrequireddebitTotalHalerintegerrequiredcreditTotalHalerintegerrequiredmovementCountintegerrequiredimportedCountintegerrequiredduplicateCountintegerrequiredautoMatchedCountintegerrequiredwarningsobject[]requiredcodenull | stringrequiredmessagenull | stringrequireddiffHalerintegerrequiredcreatedAtstringrequireddate-timecontinuitystringcontinuityDiffHalerintegertotalintegerhasMorebooleanrequiredImport a statement file sent as base64: GPC/ABO, CAMT.053, MT940, or CSV with a column mapping. Re-importing never double-books
/v1/bank-statements/importImport a statement file sent as base64: GPC/ABO, CAMT.053, MT940, or CSV with a column mapping. Re-importing never double-books. The format is detected unless given. A file already imported to the account returns duplicateFile: true. Movements already on the account are skipped by fingerprint, also across formats. Safe exact matches are paired automatically.
MCP tool: import-bank-statement
Request body
bankAccountIdstringrequiredfileBase64stringrequiredmin 4 charsmax 20000000 charsfileNamestringmax 200 charsformat"auto" | "gpc" | "camt053" | "mt940" | "csv"encoding"windows-1250" | "utf-8" | "iso-8859-2"gpcVariant"fio" | "cs"csvobjectmappingobjectrequiredbookedOnstringamountstringcreditstringdebitstringcurrencystringcounterpartyAccountstringcounterpartyBankCodestringcounterpartyIbanstringcounterpartyNamestringvariableSymbolstringconstantSymbolstringspecificSymbolstringmessagestringexternalIdstringbankTypestringdelimiterstring1 charsnumberstringmax 40 charsopeningBalanceHalerintegermin -9007199254740991max 9007199254740991closingBalanceHalerintegermin -9007199254740991max 9007199254740991Response · 201
duplicateFilebooleanrequiredimportedCountintegerrequiredduplicateCountintegerrequiredautoMatchedCountintegerrequiredstatementsobject[]requiredobject"bank_statement"requiredidstringrequiredbankAccountIdstringrequiredformatstringrequiredfileNamenull | stringrequirednumbernull | stringrequiredperiodFromnull | stringrequireddateperiodTonull | stringrequireddateopeningBalanceHalerinteger | nullrequiredclosingBalanceHalerinteger | nullrequireddebitTotalHalerintegerrequiredcreditTotalHalerintegerrequiredmovementCountintegerrequiredimportedCountintegerrequiredduplicateCountintegerrequiredautoMatchedCountintegerrequiredwarningsobject[]requiredcodenull | stringrequiredmessagenull | stringrequireddiffHalerintegerrequiredcreatedAtstringrequireddate-timecontinuitystringcontinuityDiffHalerintegerRead the columns of a CSV file sent as base64 and suggest the mapping, without importing anything
/v1/bank-statements/inspect-csvRead the columns of a CSV file sent as base64 and suggest the mapping, without importing anything
MCP tool: inspect-bank-csv
Request body
fileBase64stringrequiredmin 4 charsmax 20000000 charsencoding"windows-1250" | "utf-8" | "iso-8859-2"delimiterstring1 charsResponse · 200
delimiterstringrequiredheadersstring[]requiredsampleRowsstring[][]requiredrowCountintegerrequiredsuggestedMappingobjectrequiredbookedOnstringrequiredamountstringrequiredvariableSymbolnull | stringrequiredImported settlements from card terminals and gateways, newest first. status=imported lists what still waits for its bank movement
/v1/card-settlementsImported settlements from card terminals and gateways, newest first. status=imported lists what still waits for its bank movement
MCP tool: list-card-settlements
Query parameters
limitintegermin 1max 500offsetintegermin 0max 9007199254740991searchstringmax 200 charsfromstringYYYY-MM-DDtostringYYYY-MM-DDstatus"imported" | "posted"Response · 200
dataobject[]requiredobject"card_settlement"requiredidstringrequiredprovidernull | stringrequiredformatstringrequiredformatStatusstringrequiredfileNamenull | stringrequiredsettledOnnull | stringrequireddatecurrencynull | stringrequiredgrossHalerintegerrequiredrefundHalerintegerrequiredfeeHalerintegerrequiredotherHalerintegerrequiredpayoutHalerintegerrequireddifferenceHalerintegerrequiredpayoutReferencenull | stringrequiredstatusstringrequiredclearingAccountnull | stringrequiredfeeAccountnull | stringrequiredmovementIdnull | stringrequiredpostedAtnull | stringrequireddate-timelinesobject[]referencenull | stringrequiredamountHalerintegerrequiredvariableSymbolnull | stringrequiredoccurredOnnull | stringrequireddatedescriptionnull | stringrequiredkindstringrequiredpositionintegerrequiredfeeHalerintegerrequiredobject"card_settlement_line"requiredidstringdocumentKindnull | stringdocumentIdnull | stringpaymentIdnull | stringmovementCandidatesobject[]idstringrequiredbookedOnstringrequireddateamountHalerinteger | nullrequiredvariableSymbolnull | stringrequiredcounterpartyNamenull | stringrequiredsymbolMatchesbooleanrequiredtotalintegerhasMorebooleanrequiredOne settlement with its lines and the bank movements that could have paid it out
/v1/card-settlements/{id}One settlement with its lines and the bank movements that could have paid it out
MCP tool: get-card-settlement
Path parameters
idstringrequiredResponse · 200
idstringrequiredprovidernull | stringrequiredformatstringrequiredformatStatusstringrequiredfileNamenull | stringrequiredsettledOnnull | stringrequireddatecurrencynull | stringrequiredgrossHalerintegerrequiredrefundHalerintegerrequiredfeeHalerintegerrequiredotherHalerintegerrequiredpayoutHalerintegerrequireddifferenceHalerintegerrequiredpayoutReferencenull | stringrequiredstatusstringrequiredclearingAccountnull | stringrequiredfeeAccountnull | stringrequiredmovementIdnull | stringrequiredpostedAtnull | stringrequireddate-timelinesobject[]referencenull | stringrequiredamountHalerintegerrequiredvariableSymbolnull | stringrequiredoccurredOnnull | stringrequireddatedescriptionnull | stringrequiredkindstringrequiredpositionintegerrequiredfeeHalerintegerrequiredobject"card_settlement_line"requiredidstringdocumentKindnull | stringdocumentIdnull | stringpaymentIdnull | stringmovementCandidatesobject[]idstringrequiredbookedOnstringrequireddateamountHalerinteger | nullrequiredvariableSymbolnull | stringrequiredcounterpartyNamenull | stringrequiredsymbolMatchesbooleanrequiredRemove an imported settlement that has not been posted
/v1/card-settlements/{id}Remove an imported settlement that has not been posted
IrreversibleThis operation cannot be undone. MCP clients ask for confirmation first.
MCP tool: delete-card-settlement
Path parameters
idstringrequiredResponse · 200
idstringrequireddeletedbooleanrequiredPair a settlement with the bank movement of its payout and post it: the payout and the fee clear the clearing account. Pays open invoices named by symbol
/v1/card-settlements/{id}/postPair a settlement with the bank movement of its payout and post it: the payout and the fee clear the clearing account. Pays open invoices named by symbol. Refused if the file does not add up or the movement is for another amount. Unpairing the movement in Banka reverses all of it.
MCP tool: post-card-settlement
Path parameters
idstringrequiredRequest body
movementIdstringrequiredclearingAccountstringfeeAccountstringResponse · 200
idstringrequiredprovidernull | stringrequiredformatstringrequiredformatStatusstringrequiredfileNamenull | stringrequiredsettledOnnull | stringrequireddatecurrencynull | stringrequiredgrossHalerintegerrequiredrefundHalerintegerrequiredfeeHalerintegerrequiredotherHalerintegerrequiredpayoutHalerintegerrequireddifferenceHalerintegerrequiredpayoutReferencenull | stringrequiredstatusstringrequiredclearingAccountnull | stringrequiredfeeAccountnull | stringrequiredmovementIdnull | stringrequiredpostedAtnull | stringrequireddate-timelinesobject[]referencenull | stringrequiredamountHalerintegerrequiredvariableSymbolnull | stringrequiredoccurredOnnull | stringrequireddatedescriptionnull | stringrequiredkindstringrequiredpositionintegerrequiredfeeHalerintegerrequiredobject"card_settlement_line"requiredidstringdocumentKindnull | stringdocumentIdnull | stringpaymentIdnull | stringmovementCandidatesobject[]idstringrequiredbookedOnstringrequireddateamountHalerinteger | nullrequiredvariableSymbolnull | stringrequiredcounterpartyNamenull | stringrequiredsymbolMatchesbooleanrequiredRead a settlement file from a card terminal or gateway sent as base64. dryRun shows the result without saving. Importing the same file again changes nothing
/v1/card-settlements/importRead a settlement file from a card terminal or gateway sent as base64. dryRun shows the result without saving. Importing the same file again changes nothing. Only ComGate publishes what its rows mean. For GoPay, ThePay, KB SmartPay and PayU the rows are read by a rule of thumb, so saving needs confirmUnverified: true after a person checked the preview. PayU needs columns. Nothing is posted until postCardSettlement.
MCP tool: import-card-settlement
Request body
provider"comgate" | "gopay" | "thepay" | "kb_smartpay" | "payu"requiredfileBase64stringrequiredmin 4 charsmax 20000000 charsfileNamestringmax 200 charsencoding"windows-1250" | "utf-8" | "iso-8859-2"settledOnstringYYYY-MM-DDcolumnsobjectgrossstringrequiredmax 120 charsfeestringmax 120 charsnetstringmax 120 charsdatestringmax 120 charsvariableSymbolstringmax 120 charsreferencestringmax 120 charsbatchstringmax 120 charsdryRunbooleanconfirmUnverifiedbooleanResponse · 201
providernull | stringrequiredformatstringrequiredformatStatusstringrequiredsettledOnnull | stringrequireddatecurrencynull | stringrequiredgrossHalerintegerrequiredrefundHalerintegerrequiredfeeHalerintegerrequiredotherHalerintegerrequiredpayoutHalerintegerrequireddifferenceHalerintegerrequiredpayoutReferencenull | stringrequiredwarningsstring[]requiredlinesobject[]referencenull | stringrequiredamountHalerintegerrequiredvariableSymbolnull | stringrequiredoccurredOnnull | stringrequireddatedescriptionnull | stringrequiredkindstringrequiredpositionintegerrequiredfeeHalerintegerrequiredobject"card_settlement_line"requiredidstringdocumentKindnull | stringdocumentIdnull | stringpaymentIdnull | stringidstringfileNamenull | stringstatusstringclearingAccountstring | nullfeeAccountstring | nullmovementIdstring | nullpostedAtstring | nullduplicateFilebooleanThe clearing and fee accounts for card settlements, and which provider formats are published and which are unverified
/v1/card-settlements/settingsThe clearing and fee accounts for card settlements, and which provider formats are published and which are unverified
MCP tool: get-card-settlement-settings
Response · 200
clearingAccountnull | stringrequiredfeeAccountnull | stringrequiredprovidersobject[]requiredidstringrequiredlabelnull | stringrequiredformatstringrequiredformatStatusstringrequiredSet the clearing account card sales wait on, and the account for fees. Applies to card sales from now on
/v1/card-settlements/settingsSet the clearing account card sales wait on, and the account for fees. Applies to card sales from now on. The clearing account must exist in the chart. Default is 261; an analytic such as 261100 keeps card money apart from cash on its way to the bank.
MCP tool: update-card-settlement-settings
Request body
clearingAccountstringfeeAccountstringResponse · 200
clearingAccountnull | stringrequiredfeeAccountnull | stringrequiredprovidersobject[]requiredidstringrequiredlabelnull | stringrequiredformatstringrequiredformatStatusstringrequiredList cash documents, newest first. With registerId each row carries the running balance
/v1/cash-documentsList cash documents, newest first. With registerId each row carries the running balance
MCP tool: list-cash-documents
Query parameters
limitintegermin 1max 500offsetintegermin 0max 9007199254740991searchstringmax 200 charsfromstringYYYY-MM-DDtostringYYYY-MM-DDregisterIdstringkind"receipt" | "expense"Response · 200
dataobject[]requiredobject"cash_document"requiredidstringrequiredregisterIdstringrequiredkindstringrequirednumberstringrequiredissuedOnstringrequireddateamountHalerintegerrequirednetHalerintegerrequiredvatHalerintegerrequiredvatRateintegerrequiredexchangeRatenull | numberrequiredcounterpartyNamenull | stringrequiredcontactIdnull | stringrequireddescriptionstringrequireddocumentKindnull | stringrequireddocumentIdnull | stringrequireddocumentNumbernull | stringrequiredcategorynull | stringrequiredaccountNumbernull | stringrequiredclassificationnull | stringrequirednegativeOverridebooleanrequiredstatusstringrequiredcreatedAtstringrequireddate-timebalanceHalerinteger | nulleetPrepaidLoadHalerintegereetPrepaidUseHalerintegereetVoucherIdnull | stringeetMandateIdstring | nullpaidAtnull | stringdate-timeregisterBalanceHalerintegerwarningsobject[]codenull | stringrequiredlimitHalerintegerrequiredtotalHalerinteger | nullrequiredmessagenull | stringrequiredtotalintegerhasMorebooleanrequiredIssue a receipt or expense cash document and post it. Refuses a negative register balance unless allowNegative is true, and warns over the 270 000 Kč cash limit
/v1/cash-documentsIssue a receipt or expense cash document and post it. Refuses a negative register balance unless allowNegative is true, and warns over the 270 000 Kč cash limit
MCP tool: create-cash-document
Request body
registerIdstringrequiredkind"receipt" | "expense"requiredissuedOnstringrequiredYYYY-MM-DDamountHalerintegerrequiredmax 9007199254740991descriptionstringrequiredmax 400 charscounterpartyNamestringmax 200 charscontactIdstringdocumentKind"invoice" | "received_invoice" | "proforma" | "proforma_refund" | "supplier_advance" | "supplier_advance_refund" | "credit_note" | "debit_note" | "other_receivable" | "other_payable"documentIdstringdocumentAmountHalerintegermax 9007199254740991category"bank_fee" | "interest_received" | "interest_paid" | "interest_tax" | "tax_vat" | "tax_income" | "tax_payroll" | "tax_road" | "insurance_social" | "insurance_health" | "insurance_social_own" | "insurance_health_own" | "card_settlement" | "own_transfer" | "reversal" | "other"accountNumberstringclassification"income_taxable" | "income_nontax" | "expense_deductible" | "expense_nontax" | "transfer"vatRatenumbermin 0max 100vatMode"domestic" | "eu_registration" | "margin_used_goods" | "margin_art" | "margin_collectibles" | "margin_travel"vatCountrystring2 charspurchaseHalerintegermin 0max 9007199254740991purchaseLineIdstringexchangeRatenumbermax 100000allowNegativebooleaneetPrepaidLoadHalerintegermin 0max 9007199254740991eetPrepaidUseHalerintegermin 0max 9007199254740991eetVoucherIdstringeetMandateIdstringeetOwnSalebooleanpaidAtstringdate-timeResponse · 201
idstringrequiredregisterIdstringrequiredkindstringrequirednumberstringrequiredissuedOnstringrequireddateamountHalerintegerrequirednetHalerintegerrequiredvatHalerintegerrequiredvatRateintegerrequiredexchangeRatenull | numberrequiredcounterpartyNamenull | stringrequiredcontactIdnull | stringrequireddescriptionstringrequireddocumentKindnull | stringrequireddocumentIdnull | stringrequireddocumentNumbernull | stringrequiredcategorynull | stringrequiredaccountNumbernull | stringrequiredclassificationnull | stringrequirednegativeOverridebooleanrequiredstatusstringrequiredcreatedAtstringrequireddate-timebalanceHalerinteger | nulleetPrepaidLoadHalerintegereetPrepaidUseHalerintegereetVoucherIdnull | stringeetMandateIdstring | nullpaidAtnull | stringdate-timeregisterBalanceHalerintegerwarningsobject[]codenull | stringrequiredlimitHalerintegerrequiredtotalHalerinteger | nullrequiredmessagenull | stringrequiredGet one cash document
/v1/cash-documents/{id}Get one cash document
MCP tool: get-cash-document
Path parameters
idstringrequiredResponse · 200
idstringrequiredregisterIdstringrequiredkindstringrequirednumberstringrequiredissuedOnstringrequireddateamountHalerintegerrequirednetHalerintegerrequiredvatHalerintegerrequiredvatRateintegerrequiredexchangeRatenull | numberrequiredcounterpartyNamenull | stringrequiredcontactIdnull | stringrequireddescriptionstringrequireddocumentKindnull | stringrequireddocumentIdnull | stringrequireddocumentNumbernull | stringrequiredcategorynull | stringrequiredaccountNumbernull | stringrequiredclassificationnull | stringrequirednegativeOverridebooleanrequiredstatusstringrequiredcreatedAtstringrequireddate-timebalanceHalerinteger | nulleetPrepaidLoadHalerintegereetPrepaidUseHalerintegereetVoucherIdnull | stringeetMandateIdstring | nullpaidAtnull | stringdate-timeregisterBalanceHalerintegerwarningsobject[]codenull | stringrequiredlimitHalerintegerrequiredtotalHalerinteger | nullrequiredmessagenull | stringrequiredCancel a cash document: the number stays used and the postings are reversed
/v1/cash-documents/{id}/cancelCancel a cash document: the number stays used and the postings are reversed
IrreversibleThis operation cannot be undone. MCP clients ask for confirmation first.
MCP tool: cancel-cash-document
Path parameters
idstringrequiredRequest body
allowNegativebooleanResponse · 200
idstringrequiredregisterIdstringrequiredkindstringrequirednumberstringrequiredissuedOnstringrequireddateamountHalerintegerrequirednetHalerintegerrequiredvatHalerintegerrequiredvatRateintegerrequiredexchangeRatenull | numberrequiredcounterpartyNamenull | stringrequiredcontactIdnull | stringrequireddescriptionstringrequireddocumentKindnull | stringrequireddocumentIdnull | stringrequireddocumentNumbernull | stringrequiredcategorynull | stringrequiredaccountNumbernull | stringrequiredclassificationnull | stringrequirednegativeOverridebooleanrequiredstatusstringrequiredcreatedAtstringrequireddate-timebalanceHalerinteger | nulleetPrepaidLoadHalerintegereetPrepaidUseHalerintegereetVoucherIdnull | stringeetMandateIdstring | nullpaidAtnull | stringdate-timeregisterBalanceHalerintegerwarningsobject[]codenull | stringrequiredlimitHalerintegerrequiredtotalHalerinteger | nullrequiredmessagenull | stringrequiredDownload a cash document as PDF
/v1/cash-documents/{id}/pdfDownload a cash document as PDF
MCP tool: get-cash-document-pdf
Path parameters
idstringrequiredResponse · 200
Returns a application/pdf file.
List cash registers with current balance
/v1/cash-registersList cash registers with current balance
MCP tool: list-cash-registers
Query parameters
limitintegermin 1max 500offsetintegermin 0max 9007199254740991Response · 200
dataobject[]requiredobject"cash_register"requiredidstringrequirednamestringrequiredcurrencystringrequiredledgerAccountstringrequiredopeningBalanceHalerintegerrequiredopeningDatenull | stringrequireddateopeningExchangeRatenull | numberrequiredopeningStatestringrequiredreceiptPrefixstringrequiredexpensePrefixstringrequiredisActivebooleanrequiredcreatedAtstringrequireddate-timebalanceHalerintegerrequiredtotalintegerhasMorebooleanrequiredCreate a cash register. The analytic 211xxx account is filled in when omitted. A stated opening balance posts MD 211xxx / D 701, or the opening cash of the peněžní deník, unless opening entries already hold the account
/v1/cash-registersCreate a cash register. The analytic 211xxx account is filled in when omitted. A stated opening balance posts MD 211xxx / D 701, or the opening cash of the peněžní deník, unless opening entries already hold the account
MCP tool: create-cash-register
Request body
namestringrequiredmax 200 charscurrencystring3 charsledgerAccountstringopeningBalanceHalerintegermin -9007199254740991max 9007199254740991openingDatestringYYYY-MM-DDopeningExchangeRatenumbermax 100000receiptPrefixstringexpensePrefixstringResponse · 201
idstringrequirednamestringrequiredcurrencystringrequiredledgerAccountstringrequiredopeningBalanceHalerintegerrequiredopeningDatenull | stringrequireddateopeningExchangeRatenull | numberrequiredopeningStatestringrequiredreceiptPrefixstringrequiredexpensePrefixstringrequiredisActivebooleanrequiredcreatedAtstringrequireddate-timebalanceHalerintegerrequiredGet one cash register
/v1/cash-registers/{id}Get one cash register
MCP tool: get-cash-register
Path parameters
idstringrequiredResponse · 200
idstringrequirednamestringrequiredcurrencystringrequiredledgerAccountstringrequiredopeningBalanceHalerintegerrequiredopeningDatenull | stringrequireddateopeningExchangeRatenull | numberrequiredopeningStatestringrequiredreceiptPrefixstringrequiredexpensePrefixstringrequiredisActivebooleanrequiredcreatedAtstringrequireddate-timebalanceHalerintegerrequiredUpdate a cash register. Currency, analytic account, and opening balance are locked once it has documents
/v1/cash-registers/{id}Update a cash register. Currency, analytic account, and opening balance are locked once it has documents
MCP tool: update-cash-register
Path parameters
idstringrequiredRequest body
namestringmax 200 charscurrencystring3 charsledgerAccountstringopeningBalanceHalerintegermin -9007199254740991max 9007199254740991openingDatestring | nullopeningExchangeRatenumbermax 100000receiptPrefixstringexpensePrefixstringisActivebooleanResponse · 200
idstringrequirednamestringrequiredcurrencystringrequiredledgerAccountstringrequiredopeningBalanceHalerintegerrequiredopeningDatenull | stringrequireddateopeningExchangeRatenull | numberrequiredopeningStatestringrequiredreceiptPrefixstringrequiredexpensePrefixstringrequiredisActivebooleanrequiredcreatedAtstringrequireddate-timebalanceHalerintegerrequiredDelete a cash register that has no documents. Its posted opening balance is reversed
/v1/cash-registers/{id}Delete a cash register that has no documents. Its posted opening balance is reversed
IrreversibleThis operation cannot be undone. MCP clients ask for confirmation first.
MCP tool: delete-cash-register
Path parameters
idstringrequiredResponse · 200
idstringrequireddeletedbooleanrequiredList payment orders
/v1/payment-ordersList payment orders
MCP tool: list-payment-orders
Query parameters
limitintegermin 1max 500offsetintegermin 0max 9007199254740991searchstringmax 200 charsfromstringYYYY-MM-DDtostringYYYY-MM-DDstatus"draft" | "exported" | "completed" | "cancelled"kind"payment" | "collection"Response · 200
dataobject[]requiredobject"payment_order"requiredidstringrequiredbankAccountIdstringrequirednumberintegerrequiredexecutionDatestringrequireddatecurrencystringrequiredtotalHalerintegerrequiredstatusstringrequiredexportedFormatnull | stringrequiredexportedAtnull | stringrequireddate-timecreatedAtstringrequireddate-timeitemsobject[]requiredobject"payment_order_item"requiredidstringrequiredorderIdstringrequiredreceivedInvoiceIdnull | stringrequiredsupplierAdvanceIdnull | stringrequiredotherPayableIdnull | stringrequiredpayrollPaymentIdnull | stringrequiredamountHalerintegerrequiredcounterpartyNamenull | stringrequiredcounterpartyAccountnull | stringrequiredcounterpartyBankCodenull | stringrequiredcounterpartyIbannull | stringrequiredvariableSymbolnull | stringrequiredconstantSymbolnull | stringrequiredspecificSymbolstring | nullrequiredmessagenull | stringrequiredstatusstringrequiredmovementIdnull | stringrequiredsalesDocumentIdnull | stringinvoiceIdnull | stringmandateIdnull | stringsequenceTypenull | stringcounterpartyBicnull | stringcounterpartyCountrynull | stringchargeBearernull | stringpaymentReasonnull | stringkindstringschemestringwarningsobject[]receivedInvoiceIdnull | stringrequirednumberstringrequiredcontactNamenull | stringrequiredstatusnull | stringrequiredwarningsobject[]requiredcodenull | stringrequiredlevelstringrequiredreasonnull | stringrequiredliabilitystringtotalintegerhasMorebooleanrequiredCreate a payment order from unpaid received invoices, advances to suppliers, and other payables, or with kind collection a příkaz k inkasu from issued invoices, debit notes, and other receivables. scheme foreign pays abroad in the document's currency from any account. They are marked as in payment and pair when the movement arrives. The answer lists supplier warnings (§ 109), which never block
/v1/payment-ordersCreate a payment order from unpaid received invoices, advances to suppliers, and other payables, or with kind collection a příkaz k inkasu from issued invoices, debit notes, and other receivables. scheme foreign pays abroad in the document's currency from any account. They are marked as in payment and pair when the movement arrives. The answer lists supplier warnings (§ 109), which never block
MCP tool: create-payment-order
Request body
bankAccountIdstringrequiredexecutionDatestringrequiredYYYY-MM-DDkind"payment" | "collection"scheme"domestic" | "sepa" | "foreign"itemsobject[]requiredreceivedInvoiceIdstringsupplierAdvanceIdstringotherPayableIdstringinvoiceIdstringdebitNoteIdstringotherReceivableIdstringmandateIdstringamountHalerintegermax 9007199254740991messagestringmax 140 charsforeignobjectaccountstringmax 34 charsbicstringstreetstringmax 70 charscitystringmax 35 charscountrystringbankNamestringmax 70 charsbankStreetstringmax 70 charsbankCitystringmax 35 charschargeBearer"SHA" | "OUR" | "BEN"paymentReasonstringResponse · 201
idstringrequiredbankAccountIdstringrequirednumberintegerrequiredexecutionDatestringrequireddatecurrencystringrequiredtotalHalerintegerrequiredstatusstringrequiredexportedFormatnull | stringrequiredexportedAtnull | stringrequireddate-timecreatedAtstringrequireddate-timeitemsobject[]requiredobject"payment_order_item"requiredidstringrequiredorderIdstringrequiredreceivedInvoiceIdnull | stringrequiredsupplierAdvanceIdnull | stringrequiredotherPayableIdnull | stringrequiredpayrollPaymentIdnull | stringrequiredamountHalerintegerrequiredcounterpartyNamenull | stringrequiredcounterpartyAccountnull | stringrequiredcounterpartyBankCodenull | stringrequiredcounterpartyIbannull | stringrequiredvariableSymbolnull | stringrequiredconstantSymbolnull | stringrequiredspecificSymbolstring | nullrequiredmessagenull | stringrequiredstatusstringrequiredmovementIdnull | stringrequiredsalesDocumentIdnull | stringinvoiceIdnull | stringmandateIdnull | stringsequenceTypenull | stringcounterpartyBicnull | stringcounterpartyCountrynull | stringchargeBearernull | stringpaymentReasonnull | stringkindstringschemestringwarningsobject[]receivedInvoiceIdnull | stringrequirednumberstringrequiredcontactNamenull | stringrequiredstatusnull | stringrequiredwarningsobject[]requiredcodenull | stringrequiredlevelstringrequiredreasonnull | stringrequiredliabilitystringGet a payment order with its items
/v1/payment-orders/{id}Get a payment order with its items
MCP tool: get-payment-order
Path parameters
idstringrequiredResponse · 200
idstringrequiredbankAccountIdstringrequirednumberintegerrequiredexecutionDatestringrequireddatecurrencystringrequiredtotalHalerintegerrequiredstatusstringrequiredexportedFormatnull | stringrequiredexportedAtnull | stringrequireddate-timecreatedAtstringrequireddate-timeitemsobject[]requiredobject"payment_order_item"requiredidstringrequiredorderIdstringrequiredreceivedInvoiceIdnull | stringrequiredsupplierAdvanceIdnull | stringrequiredotherPayableIdnull | stringrequiredpayrollPaymentIdnull | stringrequiredamountHalerintegerrequiredcounterpartyNamenull | stringrequiredcounterpartyAccountnull | stringrequiredcounterpartyBankCodenull | stringrequiredcounterpartyIbannull | stringrequiredvariableSymbolnull | stringrequiredconstantSymbolnull | stringrequiredspecificSymbolstring | nullrequiredmessagenull | stringrequiredstatusstringrequiredmovementIdnull | stringrequiredsalesDocumentIdnull | stringinvoiceIdnull | stringmandateIdnull | stringsequenceTypenull | stringcounterpartyBicnull | stringcounterpartyCountrynull | stringchargeBearernull | stringpaymentReasonnull | stringkindstringschemestringwarningsobject[]receivedInvoiceIdnull | stringrequirednumberstringrequiredcontactNamenull | stringrequiredstatusnull | stringrequiredwarningsobject[]requiredcodenull | stringrequiredlevelstringrequiredreasonnull | stringrequiredliabilitystringCancel a payment order and release its invoices. An order with a paid item cannot be cancelled
/v1/payment-orders/{id}/cancelCancel a payment order and release its invoices. An order with a paid item cannot be cancelled
IrreversibleThis operation cannot be undone. MCP clients ask for confirmation first.
MCP tool: cancel-payment-order
Path parameters
idstringrequiredResponse · 200
idstringrequiredbankAccountIdstringrequirednumberintegerrequiredexecutionDatestringrequireddatecurrencystringrequiredtotalHalerintegerrequiredstatusstringrequiredexportedFormatnull | stringrequiredexportedAtnull | stringrequireddate-timecreatedAtstringrequireddate-timeitemsobject[]requiredobject"payment_order_item"requiredidstringrequiredorderIdstringrequiredreceivedInvoiceIdnull | stringrequiredsupplierAdvanceIdnull | stringrequiredotherPayableIdnull | stringrequiredpayrollPaymentIdnull | stringrequiredamountHalerintegerrequiredcounterpartyNamenull | stringrequiredcounterpartyAccountnull | stringrequiredcounterpartyBankCodenull | stringrequiredcounterpartyIbannull | stringrequiredvariableSymbolnull | stringrequiredconstantSymbolnull | stringrequiredspecificSymbolstring | nullrequiredmessagenull | stringrequiredstatusstringrequiredmovementIdnull | stringrequiredsalesDocumentIdnull | stringinvoiceIdnull | stringmandateIdnull | stringsequenceTypenull | stringcounterpartyBicnull | stringcounterpartyCountrynull | stringchargeBearernull | stringpaymentReasonnull | stringkindstringschemestringwarningsobject[]receivedInvoiceIdnull | stringrequirednumberstringrequiredcontactNamenull | stringrequiredstatusnull | stringrequiredwarningsobject[]requiredcodenull | stringrequiredlevelstringrequiredreasonnull | stringrequiredliabilitystringDownload an order for the bank. kpc: domestic KPC/ABO in CZK, also a příkaz k inkasu. xml: domestic pain.001, or pain.008 for a collection, as the Czech Banking Association describes. sepa: pain.001 in EUR. foreign: pain.001 for a foreign payment. direct_debit: pain.008 SEPA in EUR
/v1/payment-orders/{id}/exportDownload an order for the bank. kpc: domestic KPC/ABO in CZK, also a příkaz k inkasu. xml: domestic pain.001, or pain.008 for a collection, as the Czech Banking Association describes. sepa: pain.001 in EUR. foreign: pain.001 for a foreign payment. direct_debit: pain.008 SEPA in EUR
MCP tool: export-payment-order
Path parameters
idstringrequiredQuery parameters
format"kpc" | "sepa" | "xml" | "foreign" | "direct_debit"Response · 200
Returns a application/octet-stream file.
Before paying: warn about unreliable VAT payers and bank accounts not published in the ADIS register, with the § 109 liability they bring. Warns and never blocks. A registry that cannot be reached is reported, not an error
/v1/payment-orders/checkBefore paying: warn about unreliable VAT payers and bank accounts not published in the ADIS register, with the § 109 liability they bring. Warns and never blocks. A registry that cannot be reached is reported, not an error
MCP tool: check-payment-order
Request body
itemsobject[]requiredreceivedInvoiceIdstringsupplierAdvanceIdstringotherPayableIdstringResponse · 200
dataobject[]requiredreceivedInvoiceIdnull | stringrequirednumbernull | stringrequiredcontactNamenull | stringrequiredstatusnull | stringrequiredwarningsobject[]requiredcodenull | stringrequiredlevelstringrequiredreasonnull | stringrequiredliabilitystringCustomers' SEPA mandates, which a SEPA direct debit draws on
/v1/sepa-mandatesCustomers' SEPA mandates, which a SEPA direct debit draws on
MCP tool: list-sepa-mandates
Query parameters
limitintegermin 1max 500offsetintegermin 0max 9007199254740991searchstringmax 200 charsfromstringYYYY-MM-DDtostringYYYY-MM-DDcontactIdstringstatus"active" | "revoked"Response · 200
dataobject[]requiredobject"sepa_mandate"requiredidstringrequiredcontactIdstringrequiredreferencestringrequiredsignedOnstringrequireddateschemestringrequiredrecurrencestringrequireddebtorIbanstringrequireddebtorBicnull | stringrequiredstatusstringrequiredcreatedAtstringrequireddate-timetotalintegerhasMorebooleanrequiredRecord a customer's signed SEPA mandate. The paper stays with the company, and the bank asks only for its identifier and date
/v1/sepa-mandatesRecord a customer's signed SEPA mandate. The paper stays with the company, and the bank asks only for its identifier and date
MCP tool: create-sepa-mandate
Request body
contactIdstringrequiredreferencestringrequiredmax 35 charssignedOnstringrequiredYYYY-MM-DDscheme"CORE" | "B2B"recurrence"recurring" | "one_off"debtorIbanstringrequiredmin 5 charsmax 42 charsdebtorBicstringResponse · 201
idstringrequiredcontactIdstringrequiredreferencestringrequiredsignedOnstringrequireddateschemestringrequiredrecurrencestringrequireddebtorIbanstringrequireddebtorBicnull | stringrequiredstatusstringrequiredcreatedAtstringrequireddate-timeRevoke a SEPA mandate with status revoked, which stops any order that has not left yet, or correct its BIC. Another account or other terms are a new mandate
/v1/sepa-mandates/{id}Revoke a SEPA mandate with status revoked, which stops any order that has not left yet, or correct its BIC. Another account or other terms are a new mandate
MCP tool: update-sepa-mandate
Path parameters
idstringrequiredRequest body
debtorBicstring | nullstatus"active" | "revoked"Response · 200
idstringrequiredcontactIdstringrequiredreferencestringrequiredsignedOnstringrequireddateschemestringrequiredrecurrencestringrequireddebtorIbanstringrequireddebtorBicnull | stringrequiredstatusstringrequiredcreatedAtstringrequireddate-timeBuild a Czech QR payment string (SPAYD) from payment details
/v1/spaydBuild a Czech QR payment string (SPAYD) from payment details
MCP tool: create-spayd
Request body
ibanstringrequiredmax 42 charsbicstringamountHalerintegermin 0max 9007199254740991currencystring3 charsvariableSymbolstringspecificSymbolstringconstantSymbolstringrecipientNamestringmax 200 charsmessagestringmax 400 charsdueDatestringYYYY-MM-DDResponse · 200
spaydstringrequired