# Received invoices · DameDoklad API

> Operations in the Received invoices group.

Source: https://damedoklad.cz/en/docs/api-reference/received-invoices/

# Received invoices

Operations in the Received invoices group.

## List received invoices (faktury přijaté). \`from\` and \`to\` filter on the issue date; \`unpaid=true\` keeps those still to pay

GET `/v1/received-invoices`

List received invoices (faktury přijaté). \`from\` and \`to\` filter on the issue date; \`unpaid=true\` keeps those still to pay

MCP tool: `list-received-invoices`

### Query parameters

`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

### Response · 200

`data` object\[\] required

`object` "received\_invoice" required

`id` string required

`number` null | string required

`supplierDocumentNumber` null | string required

`variableSymbol` null | string required

`contactId` null | string required

`contactName` null | string required

`issueDate` string required date

`dueDate` null | string required date

`currency` string required

`totalHaler` integer required

`paidHaler` integer required

`status` string required

`overdue` boolean required

`fileId` null | string required

`customFields` object

`vatMode` string

`exchangeRate` integer

`templateId` null | string

`centerId` string | null

`activityId` string | null

`projectId` null | string

`seriesId` null | string

`constantSymbol` string | null

`receivedOn` null | string date

`taxPointDate` string date

`paymentMethod` string

`theirAccountNumber` null | string

`theirBankCode` null | string

`theirIban` null | string

`notePublic` string | null

`noteInternal` null | string

`netHaler` integer

`vatHaler` integer

`stornoOfId` null | string

`duplicateOfId` 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` "received\_invoice\_line" required

`id` string required

`description` string required

`quantity` integer required

`unit` string required

`unitPriceHaler` integer required

`vatRate` integer required

`netHaler` integer required

`vatHaler` integer required

`totalHaler` integer required

`accountNumber` null | string required

`lineKind` string required

`sourceId` null | string required

`itemId` null | string required

`warehouseId` null | string required

`lots` object\[\] required

`lotId` string | null required

`code` null | string required

`quantity` integer required

`expiryDate` string | null required

`orderLineId` null | string required

`recycling` null | object

`text` string required

`unit` string required

`feeId` null | string required

`rateHaler` integer required

`totalHaler` integer required

`weightMilli` integer

`perUnitHaler` integer required

`coefficientMilli` integer required

`typed` boolean

`vatLines` object\[\]

`object` "received\_invoice\_vat\_line" required

`id` string required

`vatRate` integer required

`netHaler` integer required

`vatHaler` integer required

`settlements` object\[\]

`object` "received\_invoice\_settlement" required

`id` string required

`amountHaler` integer required

`paidOn` string required date

`method` string required

`note` null | string required

`supplierAdvances` object\[\]

`id` string required

`number` null | string required

`supplierDocumentNumber` null | string required

`posting` object

`regime` string required

`event` string required

`journalLines` object\[\]

`account` null | string required

`side` string required

`amountHaler` integer | null required

`documentId` null | string required

`balanced` boolean

`cashJournal` object\[\]

`account` null | string required

`amountHaler` integer | null required

`documentId` null | string required

`receivablesBook` any\[\]

`payablesBook` object\[\]

`documentId` null | string required

`amountHaler` integer | null required

`status` string required

`asset` any\[\]

`retentions` any\[\]

`duplicate` object

`existingId` string required

`bankMovement` object

`id` string required

`bankAccountId` string required

`cashDocument` object

`id` string required

`number` null | string required

`warnings` any\[\] required

`imported` object

`uuid` string required

`documentType` integer | null required

`warnings` string\[\] required

`total` integer

Rows that match, on all pages.

`hasMore` boolean required

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

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

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/received-invoices', {
  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/received-invoices",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```

## Record a received invoice

POST `/v1/received-invoices`

Record a received invoice. Legal effect: posts to the books, and to the VAT evidence when the supplier is a VAT payer. Answers 409 when the supplier document number is already recorded. To record one from a PDF or a photo, use record-received-invoice-from-file.

MCP tool: `create-received-invoice`

### Request body

`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.

`supplierDocumentNumber` string required max 64 chars

`variableSymbol` string | null

`constantSymbol` string | null

`receivedOn` string YYYY-MM-DD

Date as YYYY-MM-DD.

`issueDate` string required YYYY-MM-DD

Date as YYYY-MM-DD.

`taxPointDate` string required YYYY-MM-DD

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"

`theirAccountNumber` string | null

`theirBankCode` string | null

`theirIban` string | null

IBAN without spaces.

`notePublic` string | null

`noteInternal` string | null

`record` boolean

`confirmDuplicate` boolean

`supplierAdvanceIds` string\[\]

`lines` object\[\] required

`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 required max 240 chars

`quantity` number required

`unit` string max 16 chars

`unitPriceHaler` integer required min -9007199254740991 max 9007199254740991

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

`vatRate` 0 | 10 | 12 | 15 | 21 required

`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"

### Response · 201

`id` string required

`number` null | string required

`supplierDocumentNumber` null | string required

`variableSymbol` null | string required

`contactId` null | string required

`contactName` null | string required

`issueDate` string required date

`dueDate` null | string required date

`currency` string required

`totalHaler` integer required

`paidHaler` integer required

`status` string required

`overdue` boolean required

`fileId` null | string required

`customFields` object

`vatMode` string

`exchangeRate` integer

`templateId` null | string

`centerId` string | null

`activityId` string | null

`projectId` null | string

`seriesId` null | string

`constantSymbol` string | null

`receivedOn` null | string date

`taxPointDate` string date

`paymentMethod` string

`theirAccountNumber` null | string

`theirBankCode` null | string

`theirIban` null | string

`notePublic` string | null

`noteInternal` null | string

`netHaler` integer

`vatHaler` integer

`stornoOfId` null | string

`duplicateOfId` 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` "received\_invoice\_line" required

`id` string required

`description` string required

`quantity` integer required

`unit` string required

`unitPriceHaler` integer required

`vatRate` integer required

`netHaler` integer required

`vatHaler` integer required

`totalHaler` integer required

`accountNumber` null | string required

`lineKind` string required

`sourceId` null | string required

`itemId` null | string required

`warehouseId` null | string required

`lots` object\[\] required

`lotId` string | null required

`code` null | string required

`quantity` integer required

`expiryDate` string | null required

`orderLineId` null | string required

`recycling` null | object

`text` string required

`unit` string required

`feeId` null | string required

`rateHaler` integer required

`totalHaler` integer required

`weightMilli` integer

`perUnitHaler` integer required

`coefficientMilli` integer required

`typed` boolean

`vatLines` object\[\]

`object` "received\_invoice\_vat\_line" required

`id` string required

`vatRate` integer required

`netHaler` integer required

`vatHaler` integer required

`settlements` object\[\]

`object` "received\_invoice\_settlement" required

`id` string required

`amountHaler` integer required

`paidOn` string required date

`method` string required

`note` null | string required

`supplierAdvances` object\[\]

`id` string required

`number` null | string required

`supplierDocumentNumber` null | string required

`posting` object

`regime` string required

`event` string required

`journalLines` object\[\]

`account` null | string required

`side` string required

`amountHaler` integer | null required

`documentId` null | string required

`balanced` boolean

`cashJournal` object\[\]

`account` null | string required

`amountHaler` integer | null required

`documentId` null | string required

`receivablesBook` any\[\]

`payablesBook` object\[\]

`documentId` null | string required

`amountHaler` integer | null required

`status` string required

`asset` any\[\]

`retentions` any\[\]

`duplicate` object

`existingId` string required

`bankMovement` object

`id` string required

`bankAccountId` string required

`cashDocument` object

`id` string required

`number` null | string required

`warnings` any\[\] required

`imported` object

`uuid` string required

`documentType` integer | null required

`warnings` string\[\] required

```bash
curl -X POST https://api.damedoklad.cz/v1/received-invoices \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "contactId": "con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
  "supplierDocumentNumber": "string",
  "issueDate": "2026-10-30",
  "taxPointDate": "2026-10-30",
  "lines": [
    {
      "description": "Pečivo, říjen",
      "quantity": 1,
      "unitPriceHaler": 1210000,
      "vatRate": 0
    }
  ]
}'
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/received-invoices', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "contactId": "con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
    "supplierDocumentNumber": "string",
    "issueDate": "2026-10-30",
    "taxPointDate": "2026-10-30",
    "lines": [
      {
        "description": "Pečivo, říjen",
        "quantity": 1,
        "unitPriceHaler": 1210000,
        "vatRate": 0
      }
    ]
  }),
});
const data = await response.json();
```

```python
import os
import requests

response = requests.post(
    "https://api.damedoklad.cz/v1/received-invoices",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "contactId": "con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
        "supplierDocumentNumber": "string",
        "issueDate": "2026-10-30",
        "taxPointDate": "2026-10-30",
        "lines": [
            {
                "description": "Pečivo, říjen",
                "quantity": 1,
                "unitPriceHaler": 1210000,
                "vatRate": 0
            }
        ]
    },
)
data = response.json()
```

## Get a received invoice with lines, VAT recap, settlements, and the amount still to pay

GET `/v1/received-invoices/{id}`

Get a received invoice with lines, VAT recap, settlements, and the amount still to pay

MCP tool: `get-received-invoice`

### Path parameters

`id` string required

### Response · 200

`id` string required

`number` null | string required

`supplierDocumentNumber` null | string required

`variableSymbol` null | string required

`contactId` null | string required

`contactName` null | string required

`issueDate` string required date

`dueDate` null | string required date

`currency` string required

`totalHaler` integer required

`paidHaler` integer required

`status` string required

`overdue` boolean required

`fileId` null | string required

`customFields` object

`vatMode` string

`exchangeRate` integer

`templateId` null | string

`centerId` string | null

`activityId` string | null

`projectId` null | string

`seriesId` null | string

`constantSymbol` string | null

`receivedOn` null | string date

`taxPointDate` string date

`paymentMethod` string

`theirAccountNumber` null | string

`theirBankCode` null | string

`theirIban` null | string

`notePublic` string | null

`noteInternal` null | string

`netHaler` integer

`vatHaler` integer

`stornoOfId` null | string

`duplicateOfId` 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` "received\_invoice\_line" required

`id` string required

`description` string required

`quantity` integer required

`unit` string required

`unitPriceHaler` integer required

`vatRate` integer required

`netHaler` integer required

`vatHaler` integer required

`totalHaler` integer required

`accountNumber` null | string required

`lineKind` string required

`sourceId` null | string required

`itemId` null | string required

`warehouseId` null | string required

`lots` object\[\] required

`lotId` string | null required

`code` null | string required

`quantity` integer required

`expiryDate` string | null required

`orderLineId` null | string required

`recycling` null | object

`text` string required

`unit` string required

`feeId` null | string required

`rateHaler` integer required

`totalHaler` integer required

`weightMilli` integer

`perUnitHaler` integer required

`coefficientMilli` integer required

`typed` boolean

`vatLines` object\[\]

`object` "received\_invoice\_vat\_line" required

`id` string required

`vatRate` integer required

`netHaler` integer required

`vatHaler` integer required

`settlements` object\[\]

`object` "received\_invoice\_settlement" required

`id` string required

`amountHaler` integer required

`paidOn` string required date

`method` string required

`note` null | string required

`supplierAdvances` object\[\]

`id` string required

`number` null | string required

`supplierDocumentNumber` null | string required

`posting` object

`regime` string required

`event` string required

`journalLines` object\[\]

`account` null | string required

`side` string required

`amountHaler` integer | null required

`documentId` null | string required

`balanced` boolean

`cashJournal` object\[\]

`account` null | string required

`amountHaler` integer | null required

`documentId` null | string required

`receivablesBook` any\[\]

`payablesBook` object\[\]

`documentId` null | string required

`amountHaler` integer | null required

`status` string required

`asset` any\[\]

`retentions` any\[\]

`duplicate` object

`existingId` string required

`bankMovement` object

`id` string required

`bankAccountId` string required

`cashDocument` object

`id` string required

`number` null | string required

`warnings` any\[\] required

`imported` object

`uuid` string required

`documentType` integer | null required

`warnings` string\[\] required

```bash
curl https://api.damedoklad.cz/v1/received-invoices/rin_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/received-invoices/rin_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/received-invoices/rin_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```

## Change a received invoice

PATCH `/v1/received-invoices/{id}`

Change a received invoice

MCP tool: `update-received-invoice`

### Path parameters

`id` string required

### Request body

`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.

`supplierDocumentNumber` string max 64 chars

`variableSymbol` string | null

`constantSymbol` string | null

`receivedOn` string | null

Date as YYYY-MM-DD.

`issueDate` string YYYY-MM-DD

Date as YYYY-MM-DD.

`taxPointDate` string YYYY-MM-DD

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"

`theirAccountNumber` string | null

`theirBankCode` string | null

`theirIban` string | null

IBAN without spaces.

`notePublic` string | null

`noteInternal` string | null

`confirmDuplicate` boolean

`supplierAdvanceIds` string\[\]

`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 required max 240 chars

`quantity` number required

`unit` string max 16 chars

`unitPriceHaler` integer required min -9007199254740991 max 9007199254740991

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

`vatRate` 0 | 10 | 12 | 15 | 21 required

`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.

`record` boolean

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

### Response · 200

`id` string required

`number` null | string required

`supplierDocumentNumber` null | string required

`variableSymbol` null | string required

`contactId` null | string required

`contactName` null | string required

`issueDate` string required date

`dueDate` null | string required date

`currency` string required

`totalHaler` integer required

`paidHaler` integer required

`status` string required

`overdue` boolean required

`fileId` null | string required

`customFields` object

`vatMode` string

`exchangeRate` integer

`templateId` null | string

`centerId` string | null

`activityId` string | null

`projectId` null | string

`seriesId` null | string

`constantSymbol` string | null

`receivedOn` null | string date

`taxPointDate` string date

`paymentMethod` string

`theirAccountNumber` null | string

`theirBankCode` null | string

`theirIban` null | string

`notePublic` string | null

`noteInternal` null | string

`netHaler` integer

`vatHaler` integer

`stornoOfId` null | string

`duplicateOfId` 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` "received\_invoice\_line" required

`id` string required

`description` string required

`quantity` integer required

`unit` string required

`unitPriceHaler` integer required

`vatRate` integer required

`netHaler` integer required

`vatHaler` integer required

`totalHaler` integer required

`accountNumber` null | string required

`lineKind` string required

`sourceId` null | string required

`itemId` null | string required

`warehouseId` null | string required

`lots` object\[\] required

`lotId` string | null required

`code` null | string required

`quantity` integer required

`expiryDate` string | null required

`orderLineId` null | string required

`recycling` null | object

`text` string required

`unit` string required

`feeId` null | string required

`rateHaler` integer required

`totalHaler` integer required

`weightMilli` integer

`perUnitHaler` integer required

`coefficientMilli` integer required

`typed` boolean

`vatLines` object\[\]

`object` "received\_invoice\_vat\_line" required

`id` string required

`vatRate` integer required

`netHaler` integer required

`vatHaler` integer required

`settlements` object\[\]

`object` "received\_invoice\_settlement" required

`id` string required

`amountHaler` integer required

`paidOn` string required date

`method` string required

`note` null | string required

`supplierAdvances` object\[\]

`id` string required

`number` null | string required

`supplierDocumentNumber` null | string required

`posting` object

`regime` string required

`event` string required

`journalLines` object\[\]

`account` null | string required

`side` string required

`amountHaler` integer | null required

`documentId` null | string required

`balanced` boolean

`cashJournal` object\[\]

`account` null | string required

`amountHaler` integer | null required

`documentId` null | string required

`receivablesBook` any\[\]

`payablesBook` object\[\]

`documentId` null | string required

`amountHaler` integer | null required

`status` string required

`asset` any\[\]

`retentions` any\[\]

`duplicate` object

`existingId` string required

`bankMovement` object

`id` string required

`bankAccountId` string required

`cashDocument` object

`id` string required

`number` null | string required

`warnings` any\[\] required

`imported` object

`uuid` string required

`documentType` integer | null required

`warnings` string\[\] required

```bash
curl -X PATCH https://api.damedoklad.cz/v1/received-invoices/rin_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/received-invoices/rin_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/received-invoices/rin_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "vatMode": "domestic",
        "exchangeRate": 1,
        "templateId": "obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL"
    },
)
data = response.json()
```

## Attach the scan or PDF of a received invoice

POST `/v1/received-invoices/{id}/attach`

Attach the scan or PDF of a received invoice

MCP tool: `attach-received-invoice`

### Path parameters

`id` string required

### Request body

`fileId` string

ID of the file.

`fileBase64` string

File content encoded as base64.

`filename` string max 200 chars

`contentType` string max 120 chars

### Response · 200

`id` string required

`number` null | string required

`supplierDocumentNumber` null | string required

`variableSymbol` null | string required

`contactId` null | string required

`contactName` null | string required

`issueDate` string required date

`dueDate` null | string required date

`currency` string required

`totalHaler` integer required

`paidHaler` integer required

`status` string required

`overdue` boolean required

`fileId` null | string required

`customFields` object

`vatMode` string

`exchangeRate` integer

`templateId` null | string

`centerId` string | null

`activityId` string | null

`projectId` null | string

`seriesId` null | string

`constantSymbol` string | null

`receivedOn` null | string date

`taxPointDate` string date

`paymentMethod` string

`theirAccountNumber` null | string

`theirBankCode` null | string

`theirIban` null | string

`notePublic` string | null

`noteInternal` null | string

`netHaler` integer

`vatHaler` integer

`stornoOfId` null | string

`duplicateOfId` 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` "received\_invoice\_line" required

`id` string required

`description` string required

`quantity` integer required

`unit` string required

`unitPriceHaler` integer required

`vatRate` integer required

`netHaler` integer required

`vatHaler` integer required

`totalHaler` integer required

`accountNumber` null | string required

`lineKind` string required

`sourceId` null | string required

`itemId` null | string required

`warehouseId` null | string required

`lots` object\[\] required

`lotId` string | null required

`code` null | string required

`quantity` integer required

`expiryDate` string | null required

`orderLineId` null | string required

`recycling` null | object

`text` string required

`unit` string required

`feeId` null | string required

`rateHaler` integer required

`totalHaler` integer required

`weightMilli` integer

`perUnitHaler` integer required

`coefficientMilli` integer required

`typed` boolean

`vatLines` object\[\]

`object` "received\_invoice\_vat\_line" required

`id` string required

`vatRate` integer required

`netHaler` integer required

`vatHaler` integer required

`settlements` object\[\]

`object` "received\_invoice\_settlement" required

`id` string required

`amountHaler` integer required

`paidOn` string required date

`method` string required

`note` null | string required

`supplierAdvances` object\[\]

`id` string required

`number` null | string required

`supplierDocumentNumber` null | string required

`posting` object

`regime` string required

`event` string required

`journalLines` object\[\]

`account` null | string required

`side` string required

`amountHaler` integer | null required

`documentId` null | string required

`balanced` boolean

`cashJournal` object\[\]

`account` null | string required

`amountHaler` integer | null required

`documentId` null | string required

`receivablesBook` any\[\]

`payablesBook` object\[\]

`documentId` null | string required

`amountHaler` integer | null required

`status` string required

`asset` any\[\]

`retentions` any\[\]

`duplicate` object

`existingId` string required

`bankMovement` object

`id` string required

`bankAccountId` string required

`cashDocument` object

`id` string required

`number` null | string required

`warnings` any\[\] required

`imported` object

`uuid` string required

`documentType` integer | null required

`warnings` string\[\] required

```bash
curl -X POST https://api.damedoklad.cz/v1/received-invoices/rin_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/attach \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "fileId": "fil_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
  "fileBase64": "string",
  "filename": "Pekárna U Lípy s.r.o."
}'
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/received-invoices/rin_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/attach', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "fileId": "fil_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
    "fileBase64": "string",
    "filename": "Pekárna U Lípy s.r.o."
  }),
});
const data = await response.json();
```

```python
import os
import requests

response = requests.post(
    "https://api.damedoklad.cz/v1/received-invoices/rin_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/attach",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "fileId": "fil_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
        "fileBase64": "string",
        "filename": "Pekárna U Lípy s.r.o."
    },
)
data = response.json()
```

## Download the attached scan or PDF

GET `/v1/received-invoices/{id}/attachment`

Download the attached scan or PDF

MCP tool: `get-received-invoice-attachment`

### Path parameters

`id` string required

### Response · 200

Returns a application/pdf file.

```bash
curl https://api.damedoklad.cz/v1/received-invoices/rin_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/attachment \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -o soubor
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/received-invoices/rin_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/attachment', {
  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/received-invoices/rin_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/attachment",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
content = response.content
```

## List the payments of a received invoice

GET `/v1/received-invoices/{id}/settlements`

List the payments of a received invoice

MCP tool: `list-received-invoice-settlements`

### Path parameters

`id` string required

### Query parameters

`limit` integer min 1 max 500

`offset` integer min 0 max 9007199254740991

`search` string max 200 chars

### Response · 200

`data` object\[\] required

`object` "received\_invoice\_settlement" required

`id` string required

`amountHaler` integer required

`paidOn` string required date

`method` string required

`note` null | string required

`total` integer

Rows that match, on all pages.

`hasMore` boolean required

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

```bash
curl https://api.damedoklad.cz/v1/received-invoices/rin_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/settlements \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/received-invoices/rin_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/settlements', {
  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/received-invoices/rin_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/settlements",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```

## Record a payment of a received invoice. Cash goes through a cash document of a register, a transfer through a bank account, and a later statement line takes it over

POST `/v1/received-invoices/{id}/settlements`

Record a payment of a received invoice. Cash goes through a cash document of a register, a transfer through a bank account, and a later statement line takes it over. Legal effect: posts to the books. With several registers or accounts name registerId or bankAccountId. In another currency than the document, moneyAmountHaler says what moved on the account. A cash expense that would take the register below zero is refused unless allowNegative is true.

MCP tool: `add-received-invoice-settlement`

### Path parameters

`id` string required

### Request body

`amountHaler` integer required max 9007199254740991

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

`paidOn` string required 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

### Response · 201

`id` string required

`number` null | string required

`supplierDocumentNumber` null | string required

`variableSymbol` null | string required

`contactId` null | string required

`contactName` null | string required

`issueDate` string required date

`dueDate` null | string required date

`currency` string required

`totalHaler` integer required

`paidHaler` integer required

`status` string required

`overdue` boolean required

`fileId` null | string required

`customFields` object

`vatMode` string

`exchangeRate` integer

`templateId` null | string

`centerId` string | null

`activityId` string | null

`projectId` null | string

`seriesId` null | string

`constantSymbol` string | null

`receivedOn` null | string date

`taxPointDate` string date

`paymentMethod` string

`theirAccountNumber` null | string

`theirBankCode` null | string

`theirIban` null | string

`notePublic` string | null

`noteInternal` null | string

`netHaler` integer

`vatHaler` integer

`stornoOfId` null | string

`duplicateOfId` 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` "received\_invoice\_line" required

`id` string required

`description` string required

`quantity` integer required

`unit` string required

`unitPriceHaler` integer required

`vatRate` integer required

`netHaler` integer required

`vatHaler` integer required

`totalHaler` integer required

`accountNumber` null | string required

`lineKind` string required

`sourceId` null | string required

`itemId` null | string required

`warehouseId` null | string required

`lots` object\[\] required

`lotId` string | null required

`code` null | string required

`quantity` integer required

`expiryDate` string | null required

`orderLineId` null | string required

`recycling` null | object

`text` string required

`unit` string required

`feeId` null | string required

`rateHaler` integer required

`totalHaler` integer required

`weightMilli` integer

`perUnitHaler` integer required

`coefficientMilli` integer required

`typed` boolean

`vatLines` object\[\]

`object` "received\_invoice\_vat\_line" required

`id` string required

`vatRate` integer required

`netHaler` integer required

`vatHaler` integer required

`settlements` object\[\]

`object` "received\_invoice\_settlement" required

`id` string required

`amountHaler` integer required

`paidOn` string required date

`method` string required

`note` null | string required

`supplierAdvances` object\[\]

`id` string required

`number` null | string required

`supplierDocumentNumber` null | string required

`posting` object

`regime` string required

`event` string required

`journalLines` object\[\]

`account` null | string required

`side` string required

`amountHaler` integer | null required

`documentId` null | string required

`balanced` boolean

`cashJournal` object\[\]

`account` null | string required

`amountHaler` integer | null required

`documentId` null | string required

`receivablesBook` any\[\]

`payablesBook` object\[\]

`documentId` null | string required

`amountHaler` integer | null required

`status` string required

`asset` any\[\]

`retentions` any\[\]

`duplicate` object

`existingId` string required

`bankMovement` object

`id` string required

`bankAccountId` string required

`cashDocument` object

`id` string required

`number` null | string required

`warnings` any\[\] required

`imported` object

`uuid` string required

`documentType` integer | null required

`warnings` string\[\] required

```bash
curl -X POST https://api.damedoklad.cz/v1/received-invoices/rin_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/settlements \
  -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/received-invoices/rin_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/settlements', {
  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/received-invoices/rin_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/settlements",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "amountHaler": 1210000,
        "paidOn": "2026-10-30"
    },
)
data = response.json()
```

## Cancel a received invoice with a reversing document

POST `/v1/received-invoices/{id}/storno`

Cancel a received invoice with a reversing document. Legal effect: reverses the bookings and the VAT evidence. Confirm with the user first.

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

MCP tool: `storno-received-invoice`

### Path parameters

`id` string required

### Response · 200

`id` string required

`number` null | string required

`supplierDocumentNumber` null | string required

`variableSymbol` null | string required

`contactId` null | string required

`contactName` null | string required

`issueDate` string required date

`dueDate` null | string required date

`currency` string required

`totalHaler` integer required

`paidHaler` integer required

`status` string required

`overdue` boolean required

`fileId` null | string required

`customFields` object

`vatMode` string

`exchangeRate` integer

`templateId` null | string

`centerId` string | null

`activityId` string | null

`projectId` null | string

`seriesId` null | string

`constantSymbol` string | null

`receivedOn` null | string date

`taxPointDate` string date

`paymentMethod` string

`theirAccountNumber` null | string

`theirBankCode` null | string

`theirIban` null | string

`notePublic` string | null

`noteInternal` null | string

`netHaler` integer

`vatHaler` integer

`stornoOfId` null | string

`duplicateOfId` 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` "received\_invoice\_line" required

`id` string required

`description` string required

`quantity` integer required

`unit` string required

`unitPriceHaler` integer required

`vatRate` integer required

`netHaler` integer required

`vatHaler` integer required

`totalHaler` integer required

`accountNumber` null | string required

`lineKind` string required

`sourceId` null | string required

`itemId` null | string required

`warehouseId` null | string required

`lots` object\[\] required

`lotId` string | null required

`code` null | string required

`quantity` integer required

`expiryDate` string | null required

`orderLineId` null | string required

`recycling` null | object

`text` string required

`unit` string required

`feeId` null | string required

`rateHaler` integer required

`totalHaler` integer required

`weightMilli` integer

`perUnitHaler` integer required

`coefficientMilli` integer required

`typed` boolean

`vatLines` object\[\]

`object` "received\_invoice\_vat\_line" required

`id` string required

`vatRate` integer required

`netHaler` integer required

`vatHaler` integer required

`settlements` object\[\]

`object` "received\_invoice\_settlement" required

`id` string required

`amountHaler` integer required

`paidOn` string required date

`method` string required

`note` null | string required

`supplierAdvances` object\[\]

`id` string required

`number` null | string required

`supplierDocumentNumber` null | string required

`posting` object

`regime` string required

`event` string required

`journalLines` object\[\]

`account` null | string required

`side` string required

`amountHaler` integer | null required

`documentId` null | string required

`balanced` boolean

`cashJournal` object\[\]

`account` null | string required

`amountHaler` integer | null required

`documentId` null | string required

`receivablesBook` any\[\]

`payablesBook` object\[\]

`documentId` null | string required

`amountHaler` integer | null required

`status` string required

`asset` any\[\]

`retentions` any\[\]

`duplicate` object

`existingId` string required

`bankMovement` object

`id` string required

`bankAccountId` string required

`cashDocument` object

`id` string required

`number` null | string required

`warnings` any\[\] required

`imported` object

`uuid` string required

`documentType` integer | null required

`warnings` string\[\] required

```bash
curl -X POST https://api.damedoklad.cz/v1/received-invoices/rin_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/storno \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/received-invoices/rin_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/received-invoices/rin_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/storno",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```

## Check whether this supplier document number is already recorded. Call before create-received-invoice

GET `/v1/received-invoices/duplicate-check`

Check whether this supplier document number is already recorded. Call before create-received-invoice

MCP tool: `duplicate-check-received-invoice`

### Query parameters

`contactId` string

Supplier contact ID.

`supplierDocumentNumber` string

The supplier's own document number.

### Response · 200

`duplicate` boolean required

`existingId` string

```bash
curl https://api.damedoklad.cz/v1/received-invoices/duplicate-check \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/received-invoices/duplicate-check', {
  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/received-invoices/duplicate-check",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```
