# Dobropisy · API DameDokladu

> Operace ve skupině Dobropisy.

Source: https://damedoklad.cz/docs/api-reference/credit-notes/

# Dobropisy

Operace ve skupině Dobropisy.

## Seznam: dobropisy

GET `/v1/credit-notes`

List credit notes (dobropisy). \`from\` and \`to\` filter on the issue date

Nástroj MCP: `list-credit-notes`

### Parametry dotazu

`limit` integer min 1 max 500

`offset` integer min 0 max 9007199254740991

`search` string max 200 chars

`from` string YYYY-MM-DD

Date as YYYY-MM-DD.

`to` string YYYY-MM-DD

Date as YYYY-MM-DD.

`status` string

Document status, for example draft, issued, partially\_paid, paid, storno.

`contactId` string

Only documents of this contact.

`dueFrom` string

Due on or after this date, YYYY-MM-DD.

`dueTo` string

Due on or before this date, YYYY-MM-DD.

`q` string max 200 chars

Older name for \`search\`.

`unpaid` "true" | "false"

\`true\`: only documents with an open balance.

`customFieldKey` string

Only records with this custom field. Alone: it has any value. With customFieldValue: exactly that value, ignoring case.

`customFieldValue` string max 2000 chars

### Odpověď · 200

`data` object\[\] povinné

`customFields` object

`vatMode` string

`exchangeRate` integer

`templateId` string | null

`centerId` string | null

`activityId` string | null

`projectId` string | null

`object` "credit\_note" povinné

`id` string povinné

`number` null | string povinné

`variableSymbol` null | string povinné

`contactId` null | string povinné

`contactName` null | string povinné

`issueDate` string povinné date

`dueDate` null | string povinné date

`totalHaler` integer povinné

`paidHaler` integer povinné

`status` string povinné

`overdue` boolean povinné

`fileId` null | string povinné

`originalInvoiceNumber` null | string povinné

`seriesId` null | string

`reason` null | string

`taxPointDate` string date

`khDphDate` null | string date

`currency` string

`paymentMethod` string

`language` string

`notePublic` string | null

`noteInternal` null | string

`netHaler` integer

`vatHaler` integer

`stornoOfId` null | string

`contactIco` null | string

`contactDic` null | string

`contactVatPayerType` null | string

`billToStreet` null | string

`billToCity` null | string

`billToPostalCode` null | string

`billToCountry` null | string

`shipToName` string | null

`shipToStreet` string | null

`shipToCity` string | null

`shipToPostalCode` string | null

`shipToCountry` string | null

`contactEmail` null | string

`lines` object\[\]

`object` "credit\_note\_line" povinné

`id` string povinné

`description` string povinné

`quantity` integer povinné

`unit` string povinné

`unitPriceHaler` integer povinné

`vatRate` integer povinné

`netHaler` integer povinné

`vatHaler` integer povinné

`totalHaler` integer povinné

`accountNumber` string | null povinné

`lineKind` string povinné

`sourceId` string | null povinné

`itemId` null | string povinné

`warehouseId` null | string povinné

`lots` any\[\] povinné

`orderLineId` string | null povinné

`recycling` null | object

`text` string povinné

`unit` string povinné

`feeId` null | string povinné

`rateHaler` integer povinné

`totalHaler` integer povinné

`weightMilli` integer

`perUnitHaler` integer povinné

`coefficientMilli` integer povinné

`typed` boolean

`payments` object\[\]

`object` "credit\_note\_payment" povinné

`id` string povinné

`amountHaler` integer povinné

`paidOn` string povinné date

`method` string povinné

`note` null | string povinné

`links` object\[\]

`object` "document\_link" povinné

`id` string povinné

`fromKind` string povinné

`fromId` string povinné

`toKind` string povinné

`toId` string povinné

`kind` string povinné

`amountHaler` integer | null

`posting` object

`regime` string povinné

`event` string povinné

`journalLines` object\[\]

`account` null | string povinné

`side` string povinné

`amountHaler` integer | null povinné

`documentId` null | string povinné

`balanced` boolean

`cashJournal` any\[\]

`receivablesBook` object\[\]

`documentId` null | string povinné

`amountHaler` integer | null povinné

`status` string povinné

`payablesBook` any\[\]

`asset` any\[\]

`bankMovement` object

`id` string povinné

`bankAccountId` string povinné

`total` integer

Rows that match, on all pages.

`hasMore` boolean povinné

More rows follow. Ask again with offset + the number of rows received.

```bash
curl https://api.damedoklad.cz/v1/credit-notes \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/credit-notes', {
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
  },
});
const data = await response.json();
```

```python
import os
import requests

response = requests.get(
    "https://api.damedoklad.cz/v1/credit-notes",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```

## Vytvoření: dobropis

POST `/v1/credit-notes`

Create a draft credit note. Line prices are negative. Prefer create-credit-note-from-invoice when there is an invoice

Nástroj MCP: `create-credit-note`

### Tělo požadavku

`vatMode` "domestic" | "reverse\_charge" | "eu\_goods" | "eu\_services" | "third\_country\_goods" | "third\_country\_services" | "oss" | "eu\_triangular" | "eu\_new\_vehicle" | "goods\_installation\_networks" | "eu\_registration" | "eu\_sme" | "group\_internal" | "margin\_used\_goods" | "margin\_art" | "margin\_collectibles" | "margin\_travel" | "exempt" | "none"

`exchangeRate` number

`templateId` string | null

ID of the template.

`centerId` string | null

ID of the center.

`activityId` string | null

ID of the activity. Find it with list-activity.

`projectId` string | null

ID of the project.

`contactId` string

ID of the contact. Find it with list-contacts.

`contactName` string max 160 chars

`contactIco` string max 16 chars

Czech company number (IČO), 8 digits.

`contactDic` string max 16 chars

VAT number (DIČ), for example CZ12345678.

`seriesId` string

ID of the series. Find it with list-series.

`invoiceId` string

ID of the invoice. Find it with list-invoices.

`originalInvoiceNumber` string | null

`reason` string max 500 chars

`issueDate` string povinné YYYY-MM-DD

Date as YYYY-MM-DD.

`taxPointDate` string povinné YYYY-MM-DD

Date as YYYY-MM-DD.

`khDphDate` string | null

Date as YYYY-MM-DD.

`dueDate` string YYYY-MM-DD

Date as YYYY-MM-DD.

`currency` string 3 chars

ISO 4217 currency code, for example CZK or EUR.

`paymentMethod` "transfer" | "cash" | "proforma" | "card" | "cod"

`language` "cs" | "en" | "sk" | "de" | "fr" | "pl"

`notePublic` string | null

`noteInternal` string | null

`issue` boolean

`lines` object\[\]

`purchaseHaler` integer min 0 max 9007199254740991

Integer amount in haléře: 100 = 1 Kč.

`exemptPercent` number min 0 max 100

`purchaseLineId` string | null

ID of the purchase line.

`description` string povinné max 240 chars

`quantity` number povinné

`unit` string max 16 chars

`unitPriceHaler` integer povinné min -9007199254740991 max 9007199254740991

Integer amount in haléře: 100 = 1 Kč.

`vatRate` number povinné min 0 max 30

`itemId` string

ID of the item. Find it with list-items.

`warehouseId` string

ID of the warehouse. Find it with list-warehouses.

`lots` object\[\]

`itemId` string

ID of the item. Find it with list-items.

`lotId` string

ID of the lot.

`code` string max 64 chars

`quantity` number

`expiryDate` string | null

Date as YYYY-MM-DD.

`serialNumbers` string\[\]

`orderLineId` string

ID of the order line.

`recyclingFeeId` string | null

A fee from the list. null means no fee on this line, whatever the item says

`recyclingPerUnitHaler` integer min 0 max 9007199254740991

The amount per fee unit: with recyclingFeeId it replaces the rate of the fee on this line, without it the line carries a typed fee

`recyclingText` string max 120 chars

`recyclingUnit` "ks" | "kg"

The unit of a typed fee

`recyclingCoefficient` number min 0 max 1000000

How many times the fee applies to one unit of the line

`accountNumber` string | null

Account number from the chart of accounts, for example 311. list-accounts lists them.

`roundingMode` "auto" | "crown" | "none"

### Odpověď · 201

`customFields` object

`vatMode` string

`exchangeRate` integer

`templateId` string | null

`centerId` string | null

`activityId` string | null

`projectId` string | null

`id` string povinné

`number` null | string povinné

`variableSymbol` null | string povinné

`contactId` null | string povinné

`contactName` null | string povinné

`issueDate` string povinné date

`dueDate` null | string povinné date

`totalHaler` integer povinné

`paidHaler` integer povinné

`status` string povinné

`overdue` boolean povinné

`fileId` null | string povinné

`originalInvoiceNumber` null | string povinné

`seriesId` null | string

`reason` null | string

`taxPointDate` string date

`khDphDate` null | string date

`currency` string

`paymentMethod` string

`language` string

`notePublic` string | null

`noteInternal` null | string

`netHaler` integer

`vatHaler` integer

`stornoOfId` null | string

`contactIco` null | string

`contactDic` null | string

`contactVatPayerType` null | string

`billToStreet` null | string

`billToCity` null | string

`billToPostalCode` null | string

`billToCountry` null | string

`shipToName` string | null

`shipToStreet` string | null

`shipToCity` string | null

`shipToPostalCode` string | null

`shipToCountry` string | null

`contactEmail` null | string

`lines` object\[\]

`object` "credit\_note\_line" povinné

`id` string povinné

`description` string povinné

`quantity` integer povinné

`unit` string povinné

`unitPriceHaler` integer povinné

`vatRate` integer povinné

`netHaler` integer povinné

`vatHaler` integer povinné

`totalHaler` integer povinné

`accountNumber` string | null povinné

`lineKind` string povinné

`sourceId` string | null povinné

`itemId` null | string povinné

`warehouseId` null | string povinné

`lots` any\[\] povinné

`orderLineId` string | null povinné

`recycling` null | object

`text` string povinné

`unit` string povinné

`feeId` null | string povinné

`rateHaler` integer povinné

`totalHaler` integer povinné

`weightMilli` integer

`perUnitHaler` integer povinné

`coefficientMilli` integer povinné

`typed` boolean

`payments` object\[\]

`object` "credit\_note\_payment" povinné

`id` string povinné

`amountHaler` integer povinné

`paidOn` string povinné date

`method` string povinné

`note` null | string povinné

`links` object\[\]

`object` "document\_link" povinné

`id` string povinné

`fromKind` string povinné

`fromId` string povinné

`toKind` string povinné

`toId` string povinné

`kind` string povinné

`amountHaler` integer | null

`posting` object

`regime` string povinné

`event` string povinné

`journalLines` object\[\]

`account` null | string povinné

`side` string povinné

`amountHaler` integer | null povinné

`documentId` null | string povinné

`balanced` boolean

`cashJournal` any\[\]

`receivablesBook` object\[\]

`documentId` null | string povinné

`amountHaler` integer | null povinné

`status` string povinné

`payablesBook` any\[\]

`asset` any\[\]

`bankMovement` object

`id` string povinné

`bankAccountId` string povinné

```bash
curl -X POST https://api.damedoklad.cz/v1/credit-notes \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "invoiceId": "inv_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
  "issueDate": "2026-10-30",
  "taxPointDate": "2026-10-30",
  "reason": "Vrácené zboží"
}'
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/credit-notes', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "invoiceId": "inv_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
    "issueDate": "2026-10-30",
    "taxPointDate": "2026-10-30",
    "reason": "Vrácené zboží"
  }),
});
const data = await response.json();
```

```python
import os
import requests

response = requests.post(
    "https://api.damedoklad.cz/v1/credit-notes",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "invoiceId": "inv_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
        "issueDate": "2026-10-30",
        "taxPointDate": "2026-10-30",
        "reason": "Vrácené zboží"
    },
)
data = response.json()
```

## Detail: dobropis

GET `/v1/credit-notes/{id}`

Get a credit note with lines, VAT recap, and payments

Nástroj MCP: `get-credit-note`

### Parametry v cestě

`id` string povinné

### Odpověď · 200

`customFields` object

`vatMode` string

`exchangeRate` integer

`templateId` string | null

`centerId` string | null

`activityId` string | null

`projectId` string | null

`id` string povinné

`number` null | string povinné

`variableSymbol` null | string povinné

`contactId` null | string povinné

`contactName` null | string povinné

`issueDate` string povinné date

`dueDate` null | string povinné date

`totalHaler` integer povinné

`paidHaler` integer povinné

`status` string povinné

`overdue` boolean povinné

`fileId` null | string povinné

`originalInvoiceNumber` null | string povinné

`seriesId` null | string

`reason` null | string

`taxPointDate` string date

`khDphDate` null | string date

`currency` string

`paymentMethod` string

`language` string

`notePublic` string | null

`noteInternal` null | string

`netHaler` integer

`vatHaler` integer

`stornoOfId` null | string

`contactIco` null | string

`contactDic` null | string

`contactVatPayerType` null | string

`billToStreet` null | string

`billToCity` null | string

`billToPostalCode` null | string

`billToCountry` null | string

`shipToName` string | null

`shipToStreet` string | null

`shipToCity` string | null

`shipToPostalCode` string | null

`shipToCountry` string | null

`contactEmail` null | string

`lines` object\[\]

`object` "credit\_note\_line" povinné

`id` string povinné

`description` string povinné

`quantity` integer povinné

`unit` string povinné

`unitPriceHaler` integer povinné

`vatRate` integer povinné

`netHaler` integer povinné

`vatHaler` integer povinné

`totalHaler` integer povinné

`accountNumber` string | null povinné

`lineKind` string povinné

`sourceId` string | null povinné

`itemId` null | string povinné

`warehouseId` null | string povinné

`lots` any\[\] povinné

`orderLineId` string | null povinné

`recycling` null | object

`text` string povinné

`unit` string povinné

`feeId` null | string povinné

`rateHaler` integer povinné

`totalHaler` integer povinné

`weightMilli` integer

`perUnitHaler` integer povinné

`coefficientMilli` integer povinné

`typed` boolean

`payments` object\[\]

`object` "credit\_note\_payment" povinné

`id` string povinné

`amountHaler` integer povinné

`paidOn` string povinné date

`method` string povinné

`note` null | string povinné

`links` object\[\]

`object` "document\_link" povinné

`id` string povinné

`fromKind` string povinné

`fromId` string povinné

`toKind` string povinné

`toId` string povinné

`kind` string povinné

`amountHaler` integer | null

`posting` object

`regime` string povinné

`event` string povinné

`journalLines` object\[\]

`account` null | string povinné

`side` string povinné

`amountHaler` integer | null povinné

`documentId` null | string povinné

`balanced` boolean

`cashJournal` any\[\]

`receivablesBook` object\[\]

`documentId` null | string povinné

`amountHaler` integer | null povinné

`status` string povinné

`payablesBook` any\[\]

`asset` any\[\]

`bankMovement` object

`id` string povinné

`bankAccountId` string povinné

```bash
curl https://api.damedoklad.cz/v1/credit-notes/crn_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/credit-notes/crn_2n9F4kT7wQ1xYz0aBcDeFgHiJkL', {
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
  },
});
const data = await response.json();
```

```python
import os
import requests

response = requests.get(
    "https://api.damedoklad.cz/v1/credit-notes/crn_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```

## Úprava: dobropis

PATCH `/v1/credit-notes/{id}`

Change a draft credit note

Nástroj MCP: `update-credit-note`

### Parametry v cestě

`id` string povinné

### Tělo požadavku

`vatMode` "domestic" | "reverse\_charge" | "eu\_goods" | "eu\_services" | "third\_country\_goods" | "third\_country\_services" | "oss" | "eu\_triangular" | "eu\_new\_vehicle" | "goods\_installation\_networks" | "eu\_registration" | "eu\_sme" | "group\_internal" | "margin\_used\_goods" | "margin\_art" | "margin\_collectibles" | "margin\_travel" | "exempt" | "none"

`exchangeRate` number

`templateId` string | null

ID of the template.

`centerId` string | null

ID of the center.

`activityId` string | null

ID of the activity. Find it with list-activity.

`projectId` string | null

ID of the project.

`contactId` string

ID of the contact. Find it with list-contacts.

`seriesId` string

ID of the series. Find it with list-series.

`originalInvoiceNumber` string | null

`reason` string | null

`issueDate` string YYYY-MM-DD

Date as YYYY-MM-DD.

`taxPointDate` string YYYY-MM-DD

Date as YYYY-MM-DD.

`khDphDate` string | null

Date as YYYY-MM-DD.

`dueDate` string | null

Date as YYYY-MM-DD.

`currency` string 3 chars

ISO 4217 currency code, for example CZK or EUR.

`paymentMethod` "transfer" | "cash" | "proforma" | "card" | "cod"

`language` "cs" | "en" | "sk" | "de" | "fr" | "pl"

`notePublic` string | null

`noteInternal` string | null

`lines` object\[\]

`purchaseHaler` integer min 0 max 9007199254740991

Integer amount in haléře: 100 = 1 Kč.

`exemptPercent` number min 0 max 100

`purchaseLineId` string | null

ID of the purchase line.

`description` string povinné max 240 chars

`quantity` number povinné

`unit` string max 16 chars

`unitPriceHaler` integer povinné min -9007199254740991 max 9007199254740991

Integer amount in haléře: 100 = 1 Kč.

`vatRate` number povinné min 0 max 30

`itemId` string

ID of the item. Find it with list-items.

`warehouseId` string

ID of the warehouse. Find it with list-warehouses.

`lots` object\[\]

`itemId` string

ID of the item. Find it with list-items.

`lotId` string

ID of the lot.

`code` string max 64 chars

`quantity` number

`expiryDate` string | null

Date as YYYY-MM-DD.

`serialNumbers` string\[\]

`orderLineId` string

ID of the order line.

`recyclingFeeId` string | null

A fee from the list. null means no fee on this line, whatever the item says

`recyclingPerUnitHaler` integer min 0 max 9007199254740991

The amount per fee unit: with recyclingFeeId it replaces the rate of the fee on this line, without it the line carries a typed fee

`recyclingText` string max 120 chars

`recyclingUnit` "ks" | "kg"

The unit of a typed fee

`recyclingCoefficient` number min 0 max 1000000

How many times the fee applies to one unit of the line

`accountNumber` string | null

Account number from the chart of accounts, for example 311. list-accounts lists them.

`roundingMode` "auto" | "crown" | "none"

### Odpověď · 200

`customFields` object

`vatMode` string

`exchangeRate` integer

`templateId` string | null

`centerId` string | null

`activityId` string | null

`projectId` string | null

`id` string povinné

`number` null | string povinné

`variableSymbol` null | string povinné

`contactId` null | string povinné

`contactName` null | string povinné

`issueDate` string povinné date

`dueDate` null | string povinné date

`totalHaler` integer povinné

`paidHaler` integer povinné

`status` string povinné

`overdue` boolean povinné

`fileId` null | string povinné

`originalInvoiceNumber` null | string povinné

`seriesId` null | string

`reason` null | string

`taxPointDate` string date

`khDphDate` null | string date

`currency` string

`paymentMethod` string

`language` string

`notePublic` string | null

`noteInternal` null | string

`netHaler` integer

`vatHaler` integer

`stornoOfId` null | string

`contactIco` null | string

`contactDic` null | string

`contactVatPayerType` null | string

`billToStreet` null | string

`billToCity` null | string

`billToPostalCode` null | string

`billToCountry` null | string

`shipToName` string | null

`shipToStreet` string | null

`shipToCity` string | null

`shipToPostalCode` string | null

`shipToCountry` string | null

`contactEmail` null | string

`lines` object\[\]

`object` "credit\_note\_line" povinné

`id` string povinné

`description` string povinné

`quantity` integer povinné

`unit` string povinné

`unitPriceHaler` integer povinné

`vatRate` integer povinné

`netHaler` integer povinné

`vatHaler` integer povinné

`totalHaler` integer povinné

`accountNumber` string | null povinné

`lineKind` string povinné

`sourceId` string | null povinné

`itemId` null | string povinné

`warehouseId` null | string povinné

`lots` any\[\] povinné

`orderLineId` string | null povinné

`recycling` null | object

`text` string povinné

`unit` string povinné

`feeId` null | string povinné

`rateHaler` integer povinné

`totalHaler` integer povinné

`weightMilli` integer

`perUnitHaler` integer povinné

`coefficientMilli` integer povinné

`typed` boolean

`payments` object\[\]

`object` "credit\_note\_payment" povinné

`id` string povinné

`amountHaler` integer povinné

`paidOn` string povinné date

`method` string povinné

`note` null | string povinné

`links` object\[\]

`object` "document\_link" povinné

`id` string povinné

`fromKind` string povinné

`fromId` string povinné

`toKind` string povinné

`toId` string povinné

`kind` string povinné

`amountHaler` integer | null

`posting` object

`regime` string povinné

`event` string povinné

`journalLines` object\[\]

`account` null | string povinné

`side` string povinné

`amountHaler` integer | null povinné

`documentId` null | string povinné

`balanced` boolean

`cashJournal` any\[\]

`receivablesBook` object\[\]

`documentId` null | string povinné

`amountHaler` integer | null povinné

`status` string povinné

`payablesBook` any\[\]

`asset` any\[\]

`bankMovement` object

`id` string povinné

`bankAccountId` string povinné

```bash
curl -X PATCH https://api.damedoklad.cz/v1/credit-notes/crn_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "vatMode": "domestic",
  "exchangeRate": 1,
  "templateId": "obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL"
}'
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/credit-notes/crn_2n9F4kT7wQ1xYz0aBcDeFgHiJkL', {
  method: 'PATCH',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "vatMode": "domestic",
    "exchangeRate": 1,
    "templateId": "obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL"
  }),
});
const data = await response.json();
```

```python
import os
import requests

response = requests.patch(
    "https://api.damedoklad.cz/v1/credit-notes/crn_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "vatMode": "domestic",
        "exchangeRate": 1,
        "templateId": "obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL"
    },
)
data = response.json()
```

## Kopie: dobropis

POST `/v1/credit-notes/{id}/copy`

Create a new draft credit note from an existing one

Nástroj MCP: `copy-credit-note`

### Parametry v cestě

`id` string povinné

### Odpověď · 201

`customFields` object

`vatMode` string

`exchangeRate` integer

`templateId` string | null

`centerId` string | null

`activityId` string | null

`projectId` string | null

`id` string povinné

`number` null | string povinné

`variableSymbol` null | string povinné

`contactId` null | string povinné

`contactName` null | string povinné

`issueDate` string povinné date

`dueDate` null | string povinné date

`totalHaler` integer povinné

`paidHaler` integer povinné

`status` string povinné

`overdue` boolean povinné

`fileId` null | string povinné

`originalInvoiceNumber` null | string povinné

`seriesId` null | string

`reason` null | string

`taxPointDate` string date

`khDphDate` null | string date

`currency` string

`paymentMethod` string

`language` string

`notePublic` string | null

`noteInternal` null | string

`netHaler` integer

`vatHaler` integer

`stornoOfId` null | string

`contactIco` null | string

`contactDic` null | string

`contactVatPayerType` null | string

`billToStreet` null | string

`billToCity` null | string

`billToPostalCode` null | string

`billToCountry` null | string

`shipToName` string | null

`shipToStreet` string | null

`shipToCity` string | null

`shipToPostalCode` string | null

`shipToCountry` string | null

`contactEmail` null | string

`lines` object\[\]

`object` "credit\_note\_line" povinné

`id` string povinné

`description` string povinné

`quantity` integer povinné

`unit` string povinné

`unitPriceHaler` integer povinné

`vatRate` integer povinné

`netHaler` integer povinné

`vatHaler` integer povinné

`totalHaler` integer povinné

`accountNumber` string | null povinné

`lineKind` string povinné

`sourceId` string | null povinné

`itemId` null | string povinné

`warehouseId` null | string povinné

`lots` any\[\] povinné

`orderLineId` string | null povinné

`recycling` null | object

`text` string povinné

`unit` string povinné

`feeId` null | string povinné

`rateHaler` integer povinné

`totalHaler` integer povinné

`weightMilli` integer

`perUnitHaler` integer povinné

`coefficientMilli` integer povinné

`typed` boolean

`payments` object\[\]

`object` "credit\_note\_payment" povinné

`id` string povinné

`amountHaler` integer povinné

`paidOn` string povinné date

`method` string povinné

`note` null | string povinné

`links` object\[\]

`object` "document\_link" povinné

`id` string povinné

`fromKind` string povinné

`fromId` string povinné

`toKind` string povinné

`toId` string povinné

`kind` string povinné

`amountHaler` integer | null

`posting` object

`regime` string povinné

`event` string povinné

`journalLines` object\[\]

`account` null | string povinné

`side` string povinné

`amountHaler` integer | null povinné

`documentId` null | string povinné

`balanced` boolean

`cashJournal` any\[\]

`receivablesBook` object\[\]

`documentId` null | string povinné

`amountHaler` integer | null povinné

`status` string povinné

`payablesBook` any\[\]

`asset` any\[\]

`bankMovement` object

`id` string povinné

`bankAccountId` string povinné

```bash
curl -X POST https://api.damedoklad.cz/v1/credit-notes/crn_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/copy \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/credit-notes/crn_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/copy', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
  },
});
const data = await response.json();
```

```python
import os
import requests

response = requests.post(
    "https://api.damedoklad.cz/v1/credit-notes/crn_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/copy",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```

## Vystavení: dobropis

POST `/v1/credit-notes/{id}/issue`

Issue a draft credit note. Legal effect: this assigns the final document number, creates a tax document, and posts to the books. Confirm with the user first.

Nástroj MCP: `issue-credit-note`

### Parametry v cestě

`id` string povinné

### Tělo požadavku

`reason` string max 500 chars

Why the credit note is issued, printed on it.

### Odpověď · 200

`customFields` object

`vatMode` string

`exchangeRate` integer

`templateId` string | null

`centerId` string | null

`activityId` string | null

`projectId` string | null

`id` string povinné

`number` null | string povinné

`variableSymbol` null | string povinné

`contactId` null | string povinné

`contactName` null | string povinné

`issueDate` string povinné date

`dueDate` null | string povinné date

`totalHaler` integer povinné

`paidHaler` integer povinné

`status` string povinné

`overdue` boolean povinné

`fileId` null | string povinné

`originalInvoiceNumber` null | string povinné

`seriesId` null | string

`reason` null | string

`taxPointDate` string date

`khDphDate` null | string date

`currency` string

`paymentMethod` string

`language` string

`notePublic` string | null

`noteInternal` null | string

`netHaler` integer

`vatHaler` integer

`stornoOfId` null | string

`contactIco` null | string

`contactDic` null | string

`contactVatPayerType` null | string

`billToStreet` null | string

`billToCity` null | string

`billToPostalCode` null | string

`billToCountry` null | string

`shipToName` string | null

`shipToStreet` string | null

`shipToCity` string | null

`shipToPostalCode` string | null

`shipToCountry` string | null

`contactEmail` null | string

`lines` object\[\]

`object` "credit\_note\_line" povinné

`id` string povinné

`description` string povinné

`quantity` integer povinné

`unit` string povinné

`unitPriceHaler` integer povinné

`vatRate` integer povinné

`netHaler` integer povinné

`vatHaler` integer povinné

`totalHaler` integer povinné

`accountNumber` string | null povinné

`lineKind` string povinné

`sourceId` string | null povinné

`itemId` null | string povinné

`warehouseId` null | string povinné

`lots` any\[\] povinné

`orderLineId` string | null povinné

`recycling` null | object

`text` string povinné

`unit` string povinné

`feeId` null | string povinné

`rateHaler` integer povinné

`totalHaler` integer povinné

`weightMilli` integer

`perUnitHaler` integer povinné

`coefficientMilli` integer povinné

`typed` boolean

`payments` object\[\]

`object` "credit\_note\_payment" povinné

`id` string povinné

`amountHaler` integer povinné

`paidOn` string povinné date

`method` string povinné

`note` null | string povinné

`links` object\[\]

`object` "document\_link" povinné

`id` string povinné

`fromKind` string povinné

`fromId` string povinné

`toKind` string povinné

`toId` string povinné

`kind` string povinné

`amountHaler` integer | null

`posting` object

`regime` string povinné

`event` string povinné

`journalLines` object\[\]

`account` null | string povinné

`side` string povinné

`amountHaler` integer | null povinné

`documentId` null | string povinné

`balanced` boolean

`cashJournal` any\[\]

`receivablesBook` object\[\]

`documentId` null | string povinné

`amountHaler` integer | null povinné

`status` string povinné

`payablesBook` any\[\]

`asset` any\[\]

`bankMovement` object

`id` string povinné

`bankAccountId` string povinné

```bash
curl -X POST https://api.damedoklad.cz/v1/credit-notes/crn_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/issue \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "reason": "string"
}'
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/credit-notes/crn_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/issue', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "reason": "string"
  }),
});
const data = await response.json();
```

```python
import os
import requests

response = requests.post(
    "https://api.damedoklad.cz/v1/credit-notes/crn_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/issue",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "reason": "string"
    },
)
data = response.json()
```

## Přidání: úhrada, dobropis

POST `/v1/credit-notes/{id}/payments`

Record a refund paid against a credit note. Legal effect: posts to the books. Cash goes through a cash document of a register and a transfer through a bank account; with several name registerId or bankAccountId. In another currency than the document, moneyAmountHaler says what moved on the account.

Nástroj MCP: `add-credit-note-payment`

### Parametry v cestě

`id` string povinné

### Tělo požadavku

`amountHaler` integer povinné max 9007199254740991

Integer amount in haléře: 100 = 1 Kč.

`paidOn` string povinné YYYY-MM-DD

Date as YYYY-MM-DD.

`method` "transfer" | "cash" | "card" | "other"

`inPerson` boolean

`note` string | null

`registerId` string

ID of the register.

`bankAccountId` string

ID of the bank account. Find it with list-bank-accounts.

`moneyAmountHaler` integer max 9007199254740991

Integer amount in haléře: 100 = 1 Kč.

`allowNegative` boolean

`eetPrepaidLoadHaler` integer min 0 max 9007199254740991

Integer amount in haléře: 100 = 1 Kč.

`eetPrepaidUseHaler` integer min 0 max 9007199254740991

Integer amount in haléře: 100 = 1 Kč.

`eetVoucherId` string

ID of the eet voucher. Find it with list-eet-vouchers.

`eetMandateId` string

ID of the eet mandate. Find it with list-eet-mandates.

`eetOwnSale` boolean

`paidAt` string date-time

### Odpověď · 201

`customFields` object

`vatMode` string

`exchangeRate` integer

`templateId` string | null

`centerId` string | null

`activityId` string | null

`projectId` string | null

`id` string povinné

`number` null | string povinné

`variableSymbol` null | string povinné

`contactId` null | string povinné

`contactName` null | string povinné

`issueDate` string povinné date

`dueDate` null | string povinné date

`totalHaler` integer povinné

`paidHaler` integer povinné

`status` string povinné

`overdue` boolean povinné

`fileId` null | string povinné

`originalInvoiceNumber` null | string povinné

`seriesId` null | string

`reason` null | string

`taxPointDate` string date

`khDphDate` null | string date

`currency` string

`paymentMethod` string

`language` string

`notePublic` string | null

`noteInternal` null | string

`netHaler` integer

`vatHaler` integer

`stornoOfId` null | string

`contactIco` null | string

`contactDic` null | string

`contactVatPayerType` null | string

`billToStreet` null | string

`billToCity` null | string

`billToPostalCode` null | string

`billToCountry` null | string

`shipToName` string | null

`shipToStreet` string | null

`shipToCity` string | null

`shipToPostalCode` string | null

`shipToCountry` string | null

`contactEmail` null | string

`lines` object\[\]

`object` "credit\_note\_line" povinné

`id` string povinné

`description` string povinné

`quantity` integer povinné

`unit` string povinné

`unitPriceHaler` integer povinné

`vatRate` integer povinné

`netHaler` integer povinné

`vatHaler` integer povinné

`totalHaler` integer povinné

`accountNumber` string | null povinné

`lineKind` string povinné

`sourceId` string | null povinné

`itemId` null | string povinné

`warehouseId` null | string povinné

`lots` any\[\] povinné

`orderLineId` string | null povinné

`recycling` null | object

`text` string povinné

`unit` string povinné

`feeId` null | string povinné

`rateHaler` integer povinné

`totalHaler` integer povinné

`weightMilli` integer

`perUnitHaler` integer povinné

`coefficientMilli` integer povinné

`typed` boolean

`payments` object\[\]

`object` "credit\_note\_payment" povinné

`id` string povinné

`amountHaler` integer povinné

`paidOn` string povinné date

`method` string povinné

`note` null | string povinné

`links` object\[\]

`object` "document\_link" povinné

`id` string povinné

`fromKind` string povinné

`fromId` string povinné

`toKind` string povinné

`toId` string povinné

`kind` string povinné

`amountHaler` integer | null

`posting` object

`regime` string povinné

`event` string povinné

`journalLines` object\[\]

`account` null | string povinné

`side` string povinné

`amountHaler` integer | null povinné

`documentId` null | string povinné

`balanced` boolean

`cashJournal` any\[\]

`receivablesBook` object\[\]

`documentId` null | string povinné

`amountHaler` integer | null povinné

`status` string povinné

`payablesBook` any\[\]

`asset` any\[\]

`bankMovement` object

`id` string povinné

`bankAccountId` string povinné

```bash
curl -X POST https://api.damedoklad.cz/v1/credit-notes/crn_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/payments \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "amountHaler": 1210000,
  "paidOn": "2026-10-30"
}'
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/credit-notes/crn_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/payments', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "amountHaler": 1210000,
    "paidOn": "2026-10-30"
  }),
});
const data = await response.json();
```

```python
import os
import requests

response = requests.post(
    "https://api.damedoklad.cz/v1/credit-notes/crn_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/payments",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "amountHaler": 1210000,
        "paidOn": "2026-10-30"
    },
)
data = response.json()
```

## Detail: PDF, dobropis

GET `/v1/credit-notes/{id}/pdf`

Download the credit note as a PDF

Nástroj MCP: `get-credit-note-pdf`

### Parametry v cestě

`id` string povinné

### Odpověď · 200

Vrací soubor application/pdf.

```bash
curl https://api.damedoklad.cz/v1/credit-notes/crn_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/pdf \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -o soubor
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/credit-notes/crn_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/pdf', {
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
  },
});
const file = await response.arrayBuffer();
```

```python
import os
import requests

response = requests.get(
    "https://api.damedoklad.cz/v1/credit-notes/crn_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/pdf",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
content = response.content
```

## Storno: dobropis

POST `/v1/credit-notes/{id}/storno`

Cancel an issued credit note with a reversing document. Legal effect: reverses the tax document and the bookings. Confirm with the user first.

Nevratná operaceTato operace se nedá vrátit. MCP klienti se před ní ptají na potvrzení.

Nástroj MCP: `storno-credit-note`

### Parametry v cestě

`id` string povinné

### Odpověď · 200

`customFields` object

`vatMode` string

`exchangeRate` integer

`templateId` string | null

`centerId` string | null

`activityId` string | null

`projectId` string | null

`id` string povinné

`number` null | string povinné

`variableSymbol` null | string povinné

`contactId` null | string povinné

`contactName` null | string povinné

`issueDate` string povinné date

`dueDate` null | string povinné date

`totalHaler` integer povinné

`paidHaler` integer povinné

`status` string povinné

`overdue` boolean povinné

`fileId` null | string povinné

`originalInvoiceNumber` null | string povinné

`seriesId` null | string

`reason` null | string

`taxPointDate` string date

`khDphDate` null | string date

`currency` string

`paymentMethod` string

`language` string

`notePublic` string | null

`noteInternal` null | string

`netHaler` integer

`vatHaler` integer

`stornoOfId` null | string

`contactIco` null | string

`contactDic` null | string

`contactVatPayerType` null | string

`billToStreet` null | string

`billToCity` null | string

`billToPostalCode` null | string

`billToCountry` null | string

`shipToName` string | null

`shipToStreet` string | null

`shipToCity` string | null

`shipToPostalCode` string | null

`shipToCountry` string | null

`contactEmail` null | string

`lines` object\[\]

`object` "credit\_note\_line" povinné

`id` string povinné

`description` string povinné

`quantity` integer povinné

`unit` string povinné

`unitPriceHaler` integer povinné

`vatRate` integer povinné

`netHaler` integer povinné

`vatHaler` integer povinné

`totalHaler` integer povinné

`accountNumber` string | null povinné

`lineKind` string povinné

`sourceId` string | null povinné

`itemId` null | string povinné

`warehouseId` null | string povinné

`lots` any\[\] povinné

`orderLineId` string | null povinné

`recycling` null | object

`text` string povinné

`unit` string povinné

`feeId` null | string povinné

`rateHaler` integer povinné

`totalHaler` integer povinné

`weightMilli` integer

`perUnitHaler` integer povinné

`coefficientMilli` integer povinné

`typed` boolean

`payments` object\[\]

`object` "credit\_note\_payment" povinné

`id` string povinné

`amountHaler` integer povinné

`paidOn` string povinné date

`method` string povinné

`note` null | string povinné

`links` object\[\]

`object` "document\_link" povinné

`id` string povinné

`fromKind` string povinné

`fromId` string povinné

`toKind` string povinné

`toId` string povinné

`kind` string povinné

`amountHaler` integer | null

`posting` object

`regime` string povinné

`event` string povinné

`journalLines` object\[\]

`account` null | string povinné

`side` string povinné

`amountHaler` integer | null povinné

`documentId` null | string povinné

`balanced` boolean

`cashJournal` any\[\]

`receivablesBook` object\[\]

`documentId` null | string povinné

`amountHaler` integer | null povinné

`status` string povinné

`payablesBook` any\[\]

`asset` any\[\]

`bankMovement` object

`id` string povinné

`bankAccountId` string povinné

```bash
curl -X POST https://api.damedoklad.cz/v1/credit-notes/crn_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/storno \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/credit-notes/crn_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/storno', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
  },
});
const data = await response.json();
```

```python
import os
import requests

response = requests.post(
    "https://api.damedoklad.cz/v1/credit-notes/crn_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/storno",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```
