# Zálohové faktury · API DameDokladu

> Operace ve skupině Zálohové faktury.

Source: https://damedoklad.cz/docs/api-reference/proformas/

# Zálohové faktury

Operace ve skupině Zálohové faktury.

## Seznam: zálohové faktury

GET `/v1/proformas`

List proforma invoices (zálohové faktury). \`from\` and \`to\` filter on the issue date

Nástroj MCP: `list-proformas`

### 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é

`object` "proforma" povinné

`id` string povinné

`number` null | string povinné

`variableSymbol` null | string povinné

`kind` 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é

`customFields` object

`vatMode` string

`exchangeRate` integer

`templateId` string | null

`centerId` string | null

`activityId` string | null

`projectId` string | null

`seriesId` null | string

`currency` string

`ourAccountNumber` null | string

`ourBankCode` null | string

`ourIban` null | string

`paymentMethod` string

`language` string

`notePublic` string | null

`noteInternal` string | null

`netHaler` integer

`vatHaler` integer

`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

`sellerName` null | string

`lines` object\[\]

`object` "proforma\_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` null | string povinné

`recycling` null | object

`text` string povinné

`unit` string povinné

`feeId` string povinné

`rateHaler` integer povinné

`totalHaler` integer povinné

`weightMilli` integer povinné

`perUnitHaler` integer povinné

`coefficientMilli` integer povinné

`vatLines` object\[\]

`object` "invoice\_vat\_line" povinné

`id` string povinné

`vatRate` number povinné

`netHaler` integer povinné

`vatHaler` integer povinné

`payments` object\[\]

`object` "proforma\_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

`taxDocuments` object\[\]

`object` "advance\_tax\_document" povinné

`id` string povinné

`number` null | string povinné

`status` string povinné

`issueDate` null | string povinné date

`netHaler` integer povinné

`vatHaler` integer | null povinné

`totalHaler` integer | null povinné

`invoiceId` null | string povinné

`posting` object

`regime` string povinné

`event` string povinné

`skipped` boolean

`journalLines` object\[\]

`account` null | string povinné

`side` string povinné

`amountHaler` integer | null povinné

`documentId` null | string povinné

`balanced` boolean

`cashJournal` object\[\]

`account` null | string povinné

`amountHaler` integer | null povinné

`documentId` null | string povinné

`receivablesBook` any\[\]

`payablesBook` any\[\]

`asset` any\[\]

`carrierId` string | null

`bankMovement` object

`id` string povinné

`bankAccountId` string povinné

`refund` object

`amountHaler` integer | null povinné

`paymentId` null | string povinné

`correctionId` null | string povinné

`correctionNumber` null | 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/proformas \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

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

## Vytvoření: zálohová faktura

POST `/v1/proformas`

Create a proforma invoice. It is not a tax document

Nástroj MCP: `create-proforma`

### Tělo požadavku

`carrierId` string | null

ID of the carrier. Find it with list-carriers.

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

`kind` "advance" | "proforma"

`issueDate` string povinné 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"

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

`notePublic` string | null

`noteInternal` string | null

`issue` boolean

`lines` object\[\] povinné

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

`quantity` number povinné

`unit` string max 16 chars

`unitPriceHaler` integer min -9007199254740991 max 9007199254740991

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

`vatRate` number 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

`id` string povinné

`number` null | string povinné

`variableSymbol` null | string povinné

`kind` 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é

`customFields` object

`vatMode` string

`exchangeRate` integer

`templateId` string | null

`centerId` string | null

`activityId` string | null

`projectId` string | null

`seriesId` null | string

`currency` string

`ourAccountNumber` null | string

`ourBankCode` null | string

`ourIban` null | string

`paymentMethod` string

`language` string

`notePublic` string | null

`noteInternal` string | null

`netHaler` integer

`vatHaler` integer

`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

`sellerName` null | string

`lines` object\[\]

`object` "proforma\_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` null | string povinné

`recycling` null | object

`text` string povinné

`unit` string povinné

`feeId` string povinné

`rateHaler` integer povinné

`totalHaler` integer povinné

`weightMilli` integer povinné

`perUnitHaler` integer povinné

`coefficientMilli` integer povinné

`vatLines` object\[\]

`object` "invoice\_vat\_line" povinné

`id` string povinné

`vatRate` number povinné

`netHaler` integer povinné

`vatHaler` integer povinné

`payments` object\[\]

`object` "proforma\_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

`taxDocuments` object\[\]

`object` "advance\_tax\_document" povinné

`id` string povinné

`number` null | string povinné

`status` string povinné

`issueDate` null | string povinné date

`netHaler` integer povinné

`vatHaler` integer | null povinné

`totalHaler` integer | null povinné

`invoiceId` null | string povinné

`posting` object

`regime` string povinné

`event` string povinné

`skipped` boolean

`journalLines` object\[\]

`account` null | string povinné

`side` string povinné

`amountHaler` integer | null povinné

`documentId` null | string povinné

`balanced` boolean

`cashJournal` object\[\]

`account` null | string povinné

`amountHaler` integer | null povinné

`documentId` null | string povinné

`receivablesBook` any\[\]

`payablesBook` any\[\]

`asset` any\[\]

`carrierId` string | null

`bankMovement` object

`id` string povinné

`bankAccountId` string povinné

`refund` object

`amountHaler` integer | null povinné

`paymentId` null | string povinné

`correctionId` null | string povinné

`correctionNumber` null | string povinné

```bash
curl -X POST https://api.damedoklad.cz/v1/proformas \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "contactId": "con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
  "issueDate": "2026-10-30",
  "lines": [
    {
      "quantity": 1
    }
  ]
}'
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/proformas', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "contactId": "con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
    "issueDate": "2026-10-30",
    "lines": [
      {
        "quantity": 1
      }
    ]
  }),
});
const data = await response.json();
```

```python
import os
import requests

response = requests.post(
    "https://api.damedoklad.cz/v1/proformas",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "contactId": "con_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
        "issueDate": "2026-10-30",
        "lines": [
            {
                "quantity": 1
            }
        ]
    },
)
data = response.json()
```

## Detail: zálohová faktura

GET `/v1/proformas/{id}`

Get a proforma invoice with lines and payments

Nástroj MCP: `get-proforma`

### Parametry v cestě

`id` string povinné

### Odpověď · 200

`id` string povinné

`number` null | string povinné

`variableSymbol` null | string povinné

`kind` 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é

`customFields` object

`vatMode` string

`exchangeRate` integer

`templateId` string | null

`centerId` string | null

`activityId` string | null

`projectId` string | null

`seriesId` null | string

`currency` string

`ourAccountNumber` null | string

`ourBankCode` null | string

`ourIban` null | string

`paymentMethod` string

`language` string

`notePublic` string | null

`noteInternal` string | null

`netHaler` integer

`vatHaler` integer

`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

`sellerName` null | string

`lines` object\[\]

`object` "proforma\_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` null | string povinné

`recycling` null | object

`text` string povinné

`unit` string povinné

`feeId` string povinné

`rateHaler` integer povinné

`totalHaler` integer povinné

`weightMilli` integer povinné

`perUnitHaler` integer povinné

`coefficientMilli` integer povinné

`vatLines` object\[\]

`object` "invoice\_vat\_line" povinné

`id` string povinné

`vatRate` number povinné

`netHaler` integer povinné

`vatHaler` integer povinné

`payments` object\[\]

`object` "proforma\_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

`taxDocuments` object\[\]

`object` "advance\_tax\_document" povinné

`id` string povinné

`number` null | string povinné

`status` string povinné

`issueDate` null | string povinné date

`netHaler` integer povinné

`vatHaler` integer | null povinné

`totalHaler` integer | null povinné

`invoiceId` null | string povinné

`posting` object

`regime` string povinné

`event` string povinné

`skipped` boolean

`journalLines` object\[\]

`account` null | string povinné

`side` string povinné

`amountHaler` integer | null povinné

`documentId` null | string povinné

`balanced` boolean

`cashJournal` object\[\]

`account` null | string povinné

`amountHaler` integer | null povinné

`documentId` null | string povinné

`receivablesBook` any\[\]

`payablesBook` any\[\]

`asset` any\[\]

`carrierId` string | null

`bankMovement` object

`id` string povinné

`bankAccountId` string povinné

`refund` object

`amountHaler` integer | null povinné

`paymentId` null | string povinné

`correctionId` null | string povinné

`correctionNumber` null | string povinné

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

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

## Úprava: zálohová faktura

PATCH `/v1/proformas/{id}`

Change a draft proforma invoice

Nástroj MCP: `update-proforma`

### Parametry v cestě

`id` string povinné

### Tělo požadavku

`carrierId` string | null

ID of the carrier. Find it with list-carriers.

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

`kind` "advance" | "proforma"

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

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

`quantity` number povinné

`unit` string max 16 chars

`unitPriceHaler` integer min -9007199254740991 max 9007199254740991

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

`vatRate` number 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

`id` string povinné

`number` null | string povinné

`variableSymbol` null | string povinné

`kind` 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é

`customFields` object

`vatMode` string

`exchangeRate` integer

`templateId` string | null

`centerId` string | null

`activityId` string | null

`projectId` string | null

`seriesId` null | string

`currency` string

`ourAccountNumber` null | string

`ourBankCode` null | string

`ourIban` null | string

`paymentMethod` string

`language` string

`notePublic` string | null

`noteInternal` string | null

`netHaler` integer

`vatHaler` integer

`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

`sellerName` null | string

`lines` object\[\]

`object` "proforma\_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` null | string povinné

`recycling` null | object

`text` string povinné

`unit` string povinné

`feeId` string povinné

`rateHaler` integer povinné

`totalHaler` integer povinné

`weightMilli` integer povinné

`perUnitHaler` integer povinné

`coefficientMilli` integer povinné

`vatLines` object\[\]

`object` "invoice\_vat\_line" povinné

`id` string povinné

`vatRate` number povinné

`netHaler` integer povinné

`vatHaler` integer povinné

`payments` object\[\]

`object` "proforma\_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

`taxDocuments` object\[\]

`object` "advance\_tax\_document" povinné

`id` string povinné

`number` null | string povinné

`status` string povinné

`issueDate` null | string povinné date

`netHaler` integer povinné

`vatHaler` integer | null povinné

`totalHaler` integer | null povinné

`invoiceId` null | string povinné

`posting` object

`regime` string povinné

`event` string povinné

`skipped` boolean

`journalLines` object\[\]

`account` null | string povinné

`side` string povinné

`amountHaler` integer | null povinné

`documentId` null | string povinné

`balanced` boolean

`cashJournal` object\[\]

`account` null | string povinné

`amountHaler` integer | null povinné

`documentId` null | string povinné

`receivablesBook` any\[\]

`payablesBook` any\[\]

`asset` any\[\]

`carrierId` string | null

`bankMovement` object

`id` string povinné

`bankAccountId` string povinné

`refund` object

`amountHaler` integer | null povinné

`paymentId` null | string povinné

`correctionId` null | string povinné

`correctionNumber` null | string povinné

```bash
curl -X PATCH https://api.damedoklad.cz/v1/proformas/prf_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "carrierId": "gcr_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
  "vatMode": "domestic",
  "exchangeRate": 1
}'
```

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

```python
import os
import requests

response = requests.patch(
    "https://api.damedoklad.cz/v1/proformas/prf_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "carrierId": "gcr_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
        "vatMode": "domestic",
        "exchangeRate": 1
    },
)
data = response.json()
```

## Zrušení: zálohová faktura

POST `/v1/proformas/{id}/cancel`

Cancel a proforma invoice

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

Nástroj MCP: `cancel-proforma`

### Parametry v cestě

`id` string povinné

### Odpověď · 200

`id` string povinné

`number` null | string povinné

`variableSymbol` null | string povinné

`kind` 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é

`customFields` object

`vatMode` string

`exchangeRate` integer

`templateId` string | null

`centerId` string | null

`activityId` string | null

`projectId` string | null

`seriesId` null | string

`currency` string

`ourAccountNumber` null | string

`ourBankCode` null | string

`ourIban` null | string

`paymentMethod` string

`language` string

`notePublic` string | null

`noteInternal` string | null

`netHaler` integer

`vatHaler` integer

`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

`sellerName` null | string

`lines` object\[\]

`object` "proforma\_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` null | string povinné

`recycling` null | object

`text` string povinné

`unit` string povinné

`feeId` string povinné

`rateHaler` integer povinné

`totalHaler` integer povinné

`weightMilli` integer povinné

`perUnitHaler` integer povinné

`coefficientMilli` integer povinné

`vatLines` object\[\]

`object` "invoice\_vat\_line" povinné

`id` string povinné

`vatRate` number povinné

`netHaler` integer povinné

`vatHaler` integer povinné

`payments` object\[\]

`object` "proforma\_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

`taxDocuments` object\[\]

`object` "advance\_tax\_document" povinné

`id` string povinné

`number` null | string povinné

`status` string povinné

`issueDate` null | string povinné date

`netHaler` integer povinné

`vatHaler` integer | null povinné

`totalHaler` integer | null povinné

`invoiceId` null | string povinné

`posting` object

`regime` string povinné

`event` string povinné

`skipped` boolean

`journalLines` object\[\]

`account` null | string povinné

`side` string povinné

`amountHaler` integer | null povinné

`documentId` null | string povinné

`balanced` boolean

`cashJournal` object\[\]

`account` null | string povinné

`amountHaler` integer | null povinné

`documentId` null | string povinné

`receivablesBook` any\[\]

`payablesBook` any\[\]

`asset` any\[\]

`carrierId` string | null

`bankMovement` object

`id` string povinné

`bankAccountId` string povinné

`refund` object

`amountHaler` integer | null povinné

`paymentId` null | string povinné

`correctionId` null | string povinné

`correctionNumber` null | string povinné

```bash
curl -X POST https://api.damedoklad.cz/v1/proformas/prf_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/cancel \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

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

## Kopie: zálohová faktura

POST `/v1/proformas/{id}/copy`

Create a new draft proforma invoice from an existing one

Nástroj MCP: `copy-proforma`

### Parametry v cestě

`id` string povinné

### Odpověď · 201

`id` string povinné

`number` null | string povinné

`variableSymbol` null | string povinné

`kind` 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é

`customFields` object

`vatMode` string

`exchangeRate` integer

`templateId` string | null

`centerId` string | null

`activityId` string | null

`projectId` string | null

`seriesId` null | string

`currency` string

`ourAccountNumber` null | string

`ourBankCode` null | string

`ourIban` null | string

`paymentMethod` string

`language` string

`notePublic` string | null

`noteInternal` string | null

`netHaler` integer

`vatHaler` integer

`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

`sellerName` null | string

`lines` object\[\]

`object` "proforma\_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` null | string povinné

`recycling` null | object

`text` string povinné

`unit` string povinné

`feeId` string povinné

`rateHaler` integer povinné

`totalHaler` integer povinné

`weightMilli` integer povinné

`perUnitHaler` integer povinné

`coefficientMilli` integer povinné

`vatLines` object\[\]

`object` "invoice\_vat\_line" povinné

`id` string povinné

`vatRate` number povinné

`netHaler` integer povinné

`vatHaler` integer povinné

`payments` object\[\]

`object` "proforma\_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

`taxDocuments` object\[\]

`object` "advance\_tax\_document" povinné

`id` string povinné

`number` null | string povinné

`status` string povinné

`issueDate` null | string povinné date

`netHaler` integer povinné

`vatHaler` integer | null povinné

`totalHaler` integer | null povinné

`invoiceId` null | string povinné

`posting` object

`regime` string povinné

`event` string povinné

`skipped` boolean

`journalLines` object\[\]

`account` null | string povinné

`side` string povinné

`amountHaler` integer | null povinné

`documentId` null | string povinné

`balanced` boolean

`cashJournal` object\[\]

`account` null | string povinné

`amountHaler` integer | null povinné

`documentId` null | string povinné

`receivablesBook` any\[\]

`payablesBook` any\[\]

`asset` any\[\]

`carrierId` string | null

`bankMovement` object

`id` string povinné

`bankAccountId` string povinné

`refund` object

`amountHaler` integer | null povinné

`paymentId` null | string povinné

`correctionId` null | string povinné

`correctionNumber` null | string povinné

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

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

## Vystavení: zálohová faktura

POST `/v1/proformas/{id}/issue`

Issue a draft proforma invoice: it gets its number and can be sent

Nástroj MCP: `issue-proforma`

### Parametry v cestě

`id` string povinné

### Odpověď · 200

`id` string povinné

`number` null | string povinné

`variableSymbol` null | string povinné

`kind` 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é

`customFields` object

`vatMode` string

`exchangeRate` integer

`templateId` string | null

`centerId` string | null

`activityId` string | null

`projectId` string | null

`seriesId` null | string

`currency` string

`ourAccountNumber` null | string

`ourBankCode` null | string

`ourIban` null | string

`paymentMethod` string

`language` string

`notePublic` string | null

`noteInternal` string | null

`netHaler` integer

`vatHaler` integer

`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

`sellerName` null | string

`lines` object\[\]

`object` "proforma\_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` null | string povinné

`recycling` null | object

`text` string povinné

`unit` string povinné

`feeId` string povinné

`rateHaler` integer povinné

`totalHaler` integer povinné

`weightMilli` integer povinné

`perUnitHaler` integer povinné

`coefficientMilli` integer povinné

`vatLines` object\[\]

`object` "invoice\_vat\_line" povinné

`id` string povinné

`vatRate` number povinné

`netHaler` integer povinné

`vatHaler` integer povinné

`payments` object\[\]

`object` "proforma\_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

`taxDocuments` object\[\]

`object` "advance\_tax\_document" povinné

`id` string povinné

`number` null | string povinné

`status` string povinné

`issueDate` null | string povinné date

`netHaler` integer povinné

`vatHaler` integer | null povinné

`totalHaler` integer | null povinné

`invoiceId` null | string povinné

`posting` object

`regime` string povinné

`event` string povinné

`skipped` boolean

`journalLines` object\[\]

`account` null | string povinné

`side` string povinné

`amountHaler` integer | null povinné

`documentId` null | string povinné

`balanced` boolean

`cashJournal` object\[\]

`account` null | string povinné

`amountHaler` integer | null povinné

`documentId` null | string povinné

`receivablesBook` any\[\]

`payablesBook` any\[\]

`asset` any\[\]

`carrierId` string | null

`bankMovement` object

`id` string povinné

`bankAccountId` string povinné

`refund` object

`amountHaler` integer | null povinné

`paymentId` null | string povinné

`correctionId` null | string povinné

`correctionNumber` null | string povinné

```bash
curl -X POST https://api.damedoklad.cz/v1/proformas/prf_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/issue \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

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

## Přidání: úhrada, zálohová faktura

POST `/v1/proformas/{id}/payments`

Record an advance payment of a proforma invoice. 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. For a VAT payer, \`createTaxDocument: true\` also issues the tax document for the received advance.

Nástroj MCP: `add-proforma-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

`createTaxDocument` boolean

### Odpověď · 201

`id` string povinné

`number` null | string povinné

`variableSymbol` null | string povinné

`kind` 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é

`customFields` object

`vatMode` string

`exchangeRate` integer

`templateId` string | null

`centerId` string | null

`activityId` string | null

`projectId` string | null

`seriesId` null | string

`currency` string

`ourAccountNumber` null | string

`ourBankCode` null | string

`ourIban` null | string

`paymentMethod` string

`language` string

`notePublic` string | null

`noteInternal` string | null

`netHaler` integer

`vatHaler` integer

`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

`sellerName` null | string

`lines` object\[\]

`object` "proforma\_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` null | string povinné

`recycling` null | object

`text` string povinné

`unit` string povinné

`feeId` string povinné

`rateHaler` integer povinné

`totalHaler` integer povinné

`weightMilli` integer povinné

`perUnitHaler` integer povinné

`coefficientMilli` integer povinné

`vatLines` object\[\]

`object` "invoice\_vat\_line" povinné

`id` string povinné

`vatRate` number povinné

`netHaler` integer povinné

`vatHaler` integer povinné

`payments` object\[\]

`object` "proforma\_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

`taxDocuments` object\[\]

`object` "advance\_tax\_document" povinné

`id` string povinné

`number` null | string povinné

`status` string povinné

`issueDate` null | string povinné date

`netHaler` integer povinné

`vatHaler` integer | null povinné

`totalHaler` integer | null povinné

`invoiceId` null | string povinné

`posting` object

`regime` string povinné

`event` string povinné

`skipped` boolean

`journalLines` object\[\]

`account` null | string povinné

`side` string povinné

`amountHaler` integer | null povinné

`documentId` null | string povinné

`balanced` boolean

`cashJournal` object\[\]

`account` null | string povinné

`amountHaler` integer | null povinné

`documentId` null | string povinné

`receivablesBook` any\[\]

`payablesBook` any\[\]

`asset` any\[\]

`carrierId` string | null

`bankMovement` object

`id` string povinné

`bankAccountId` string povinné

`refund` object

`amountHaler` integer | null povinné

`paymentId` null | string povinné

`correctionId` null | string povinné

`correctionNumber` null | string povinné

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

## Odebrání: úhrada, zálohová faktura

DELETE `/v1/proformas/{id}/payments/{paymentId}`

Remove an advance payment recorded on a proforma invoice. Legal effect: reverses what the payment posted to the books.

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

Nástroj MCP: `remove-proforma-payment`

### Parametry v cestě

`id` string povinné

`paymentId` string povinné

ID of the payment.

### Odpověď · 200

`id` string povinné

`number` null | string povinné

`variableSymbol` null | string povinné

`kind` 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é

`customFields` object

`vatMode` string

`exchangeRate` integer

`templateId` string | null

`centerId` string | null

`activityId` string | null

`projectId` string | null

`seriesId` null | string

`currency` string

`ourAccountNumber` null | string

`ourBankCode` null | string

`ourIban` null | string

`paymentMethod` string

`language` string

`notePublic` string | null

`noteInternal` string | null

`netHaler` integer

`vatHaler` integer

`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

`sellerName` null | string

`lines` object\[\]

`object` "proforma\_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` null | string povinné

`recycling` null | object

`text` string povinné

`unit` string povinné

`feeId` string povinné

`rateHaler` integer povinné

`totalHaler` integer povinné

`weightMilli` integer povinné

`perUnitHaler` integer povinné

`coefficientMilli` integer povinné

`vatLines` object\[\]

`object` "invoice\_vat\_line" povinné

`id` string povinné

`vatRate` number povinné

`netHaler` integer povinné

`vatHaler` integer povinné

`payments` object\[\]

`object` "proforma\_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

`taxDocuments` object\[\]

`object` "advance\_tax\_document" povinné

`id` string povinné

`number` null | string povinné

`status` string povinné

`issueDate` null | string povinné date

`netHaler` integer povinné

`vatHaler` integer | null povinné

`totalHaler` integer | null povinné

`invoiceId` null | string povinné

`posting` object

`regime` string povinné

`event` string povinné

`skipped` boolean

`journalLines` object\[\]

`account` null | string povinné

`side` string povinné

`amountHaler` integer | null povinné

`documentId` null | string povinné

`balanced` boolean

`cashJournal` object\[\]

`account` null | string povinné

`amountHaler` integer | null povinné

`documentId` null | string povinné

`receivablesBook` any\[\]

`payablesBook` any\[\]

`asset` any\[\]

`carrierId` string | null

`bankMovement` object

`id` string povinné

`bankAccountId` string povinné

`refund` object

`amountHaler` integer | null povinné

`paymentId` null | string povinné

`correctionId` null | string povinné

`correctionNumber` null | string povinné

```bash
curl -X DELETE https://api.damedoklad.cz/v1/proformas/prf_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/payments/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY"
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/proformas/prf_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/payments/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL', {
  method: 'DELETE',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
  },
});
const data = await response.json();
```

```python
import os
import requests

response = requests.delete(
    "https://api.damedoklad.cz/v1/proformas/prf_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/payments/obj_2n9F4kT7wQ1xYz0aBcDeFgHiJkL",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
)
data = response.json()
```

## Detail: PDF, zálohová faktura

GET `/v1/proformas/{id}/pdf`

Download the proforma invoice as a PDF

Nástroj MCP: `get-proforma-pdf`

### Parametry v cestě

`id` string povinné

### Odpověď · 200

Vrací soubor application/pdf.

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

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

## Vypořádání: zálohová faktura

POST `/v1/proformas/{id}/settle`

Create the final invoice from a proforma invoice, and issue it unless \`issue\` is false. 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: `settle-proforma`

### Parametry v cestě

`id` string povinné

### Tělo požadavku

`issueDate` string YYYY-MM-DD

Date as YYYY-MM-DD.

`taxPointDate` string YYYY-MM-DD

Date as YYYY-MM-DD.

`issue` boolean

### Odpověď · 201

`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

`currency` string povinné

`totalHaler` integer povinné

`paidHaler` integer povinné

`status` string povinné

`overdue` boolean povinné

`fileId` null | string povinné

`customFields` object

`zakazka_zakaznika` string

`pocet` integer

`kampan` string

`vatMode` string

`exchangeRate` number

`templateId` null | string

`centerId` null | string

`activityId` null | string

`projectId` null | string

`seriesId` null | string

`constantSymbol` null | string

`taxPointDate` string date

`paymentMethod` string

`language` string

`notePublic` null | string

`noteInternal` null | string

`ourAccountNumber` null | string

`ourBankCode` null | string

`ourIban` null | string

`sellerName` null | string

`sellerIco` null | string

`sellerDic` null | string

`reminderOnDue` boolean

`reminderWeekAfter` boolean

`reminder14DaysAfter` boolean

`reminderMonthAfter` boolean

`netHaler` integer

`vatHaler` integer

`roundingHaler` integer

`recurringId` null | string

`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` null | string

`shipToCity` null | string

`shipToPostalCode` null | string

`shipToCountry` null | string

`contactEmail` null | string

`lines` object\[\]

`object` "invoice\_line" povinné

`id` string povinné

`description` string povinné

`quantity` number povinné

`unit` string povinné

`unitPriceHaler` integer povinné

`vatRate` number povinné

`netHaler` integer povinné

`vatHaler` integer povinné

`totalHaler` integer povinné

`accountNumber` null | string povinné

`lineKind` string povinné

`sourceId` null | string povinné

`itemId` null | string povinné

`warehouseId` null | string povinné

`lots` object\[\] povinné

`itemId` null | string

`lotId` string | null povinné

`code` null | string povinné

`quantity` integer povinné

`expiryDate` string | null povinné

`orderLineId` null | string 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

`vatLines` object\[\]

`object` "invoice\_vat\_line" povinné

`id` string povinné

`vatRate` number povinné

`netHaler` integer povinné

`vatHaler` integer povinné

`payments` object\[\]

`object` "invoice\_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` object\[\]

`account` null | string povinné

`amountHaler` integer | null povinné

`documentId` null | string povinné

`receivablesBook` object\[\]

`documentId` null | string povinné

`amountHaler` integer | null povinné

`status` string povinné

`payablesBook` any\[\]

`asset` any\[\]

`retentions` object\[\]

`id` string povinné

`amountHaler` integer | null povinné

`dueDate` null | string povinné date

`note` string | null povinné

`longTerm` boolean povinné

`carrierId` null | string

`creditWarning` object

`level` string povinné

`exposureHaler` integer povinné

`afterHaler` integer povinné

`warnHaler` integer | null povinné

`blockHaler` integer povinné

`availableHaler` integer povinné

`original` any

`bankMovement` object

`id` string povinné

`bankAccountId` string povinné

`cashDocument` object

`id` string povinné

`number` null | string povinné

`warnings` any\[\] povinné

```bash
curl -X POST https://api.damedoklad.cz/v1/proformas/prf_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/settle \
  -H "Authorization: Bearer $DAMEDOKLAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "issueDate": "2026-10-30",
  "taxPointDate": "2026-10-30",
  "issue": false
}'
```

```javascript
const response = await fetch('https://api.damedoklad.cz/v1/proformas/prf_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/settle', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.DAMEDOKLAD_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "issueDate": "2026-10-30",
    "taxPointDate": "2026-10-30",
    "issue": false
  }),
});
const data = await response.json();
```

```python
import os
import requests

response = requests.post(
    "https://api.damedoklad.cz/v1/proformas/prf_2n9F4kT7wQ1xYz0aBcDeFgHiJkL/settle",
    headers={"Authorization": f"Bearer {os.environ['DAMEDOKLAD_API_KEY']}"},
    json={
        "issueDate": "2026-10-30",
        "taxPointDate": "2026-10-30",
        "issue": False
    },
)
data = response.json()
```
