# Proformas · DameDoklad API

> Operations in the Proformas group.

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

# Proformas

Operations in the Proformas group.

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

GET `/v1/proformas`

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

MCP tool: `list-proformas`

### 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` "proforma" required

`id` string required

`number` null | string required

`variableSymbol` null | string required

`kind` string required

`contactId` null | string required

`contactName` null | string required

`issueDate` string required date

`dueDate` null | string required date

`totalHaler` integer required

`paidHaler` integer required

`status` string required

`overdue` boolean required

`fileId` null | string required

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

`lineKind` string required

`sourceId` string | null required

`itemId` null | string required

`warehouseId` null | string required

`lots` any\[\] required

`orderLineId` null | string required

`recycling` null | object

`text` string required

`unit` string required

`feeId` string required

`rateHaler` integer required

`totalHaler` integer required

`weightMilli` integer required

`perUnitHaler` integer required

`coefficientMilli` integer required

`vatLines` object\[\]

`object` "invoice\_vat\_line" required

`id` string required

`vatRate` number required

`netHaler` integer required

`vatHaler` integer required

`payments` object\[\]

`object` "proforma\_payment" required

`id` string required

`amountHaler` integer required

`paidOn` string required date

`method` string required

`note` null | string required

`links` object\[\]

`object` "document\_link" required

`id` string required

`fromKind` string required

`fromId` string required

`toKind` string required

`toId` string required

`kind` string required

`amountHaler` integer | null

`taxDocuments` object\[\]

`object` "advance\_tax\_document" required

`id` string required

`number` null | string required

`status` string required

`issueDate` null | string required date

`netHaler` integer required

`vatHaler` integer | null required

`totalHaler` integer | null required

`invoiceId` null | string required

`posting` object

`regime` string required

`event` string required

`skipped` boolean

`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` any\[\]

`asset` any\[\]

`carrierId` string | null

`bankMovement` object

`id` string required

`bankAccountId` string required

`refund` object

`amountHaler` integer | null required

`paymentId` null | string required

`correctionId` null | string required

`correctionNumber` 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/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()
```

## Create a proforma invoice. It is not a tax document

POST `/v1/proformas`

Create a proforma invoice. It is not a tax document

MCP tool: `create-proforma`

### Request body

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

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

`notePublic` string | null

`noteInternal` string | null

`issue` boolean

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

`quantity` number required

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

### Response · 201

`id` string required

`number` null | string required

`variableSymbol` null | string required

`kind` string required

`contactId` null | string required

`contactName` null | string required

`issueDate` string required date

`dueDate` null | string required date

`totalHaler` integer required

`paidHaler` integer required

`status` string required

`overdue` boolean required

`fileId` null | string required

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

`lineKind` string required

`sourceId` string | null required

`itemId` null | string required

`warehouseId` null | string required

`lots` any\[\] required

`orderLineId` null | string required

`recycling` null | object

`text` string required

`unit` string required

`feeId` string required

`rateHaler` integer required

`totalHaler` integer required

`weightMilli` integer required

`perUnitHaler` integer required

`coefficientMilli` integer required

`vatLines` object\[\]

`object` "invoice\_vat\_line" required

`id` string required

`vatRate` number required

`netHaler` integer required

`vatHaler` integer required

`payments` object\[\]

`object` "proforma\_payment" required

`id` string required

`amountHaler` integer required

`paidOn` string required date

`method` string required

`note` null | string required

`links` object\[\]

`object` "document\_link" required

`id` string required

`fromKind` string required

`fromId` string required

`toKind` string required

`toId` string required

`kind` string required

`amountHaler` integer | null

`taxDocuments` object\[\]

`object` "advance\_tax\_document" required

`id` string required

`number` null | string required

`status` string required

`issueDate` null | string required date

`netHaler` integer required

`vatHaler` integer | null required

`totalHaler` integer | null required

`invoiceId` null | string required

`posting` object

`regime` string required

`event` string required

`skipped` boolean

`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` any\[\]

`asset` any\[\]

`carrierId` string | null

`bankMovement` object

`id` string required

`bankAccountId` string required

`refund` object

`amountHaler` integer | null required

`paymentId` null | string required

`correctionId` null | string required

`correctionNumber` null | string required

```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()
```

## Get a proforma invoice with lines and payments

GET `/v1/proformas/{id}`

Get a proforma invoice with lines and payments

MCP tool: `get-proforma`

### Path parameters

`id` string required

### Response · 200

`id` string required

`number` null | string required

`variableSymbol` null | string required

`kind` string required

`contactId` null | string required

`contactName` null | string required

`issueDate` string required date

`dueDate` null | string required date

`totalHaler` integer required

`paidHaler` integer required

`status` string required

`overdue` boolean required

`fileId` null | string required

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

`lineKind` string required

`sourceId` string | null required

`itemId` null | string required

`warehouseId` null | string required

`lots` any\[\] required

`orderLineId` null | string required

`recycling` null | object

`text` string required

`unit` string required

`feeId` string required

`rateHaler` integer required

`totalHaler` integer required

`weightMilli` integer required

`perUnitHaler` integer required

`coefficientMilli` integer required

`vatLines` object\[\]

`object` "invoice\_vat\_line" required

`id` string required

`vatRate` number required

`netHaler` integer required

`vatHaler` integer required

`payments` object\[\]

`object` "proforma\_payment" required

`id` string required

`amountHaler` integer required

`paidOn` string required date

`method` string required

`note` null | string required

`links` object\[\]

`object` "document\_link" required

`id` string required

`fromKind` string required

`fromId` string required

`toKind` string required

`toId` string required

`kind` string required

`amountHaler` integer | null

`taxDocuments` object\[\]

`object` "advance\_tax\_document" required

`id` string required

`number` null | string required

`status` string required

`issueDate` null | string required date

`netHaler` integer required

`vatHaler` integer | null required

`totalHaler` integer | null required

`invoiceId` null | string required

`posting` object

`regime` string required

`event` string required

`skipped` boolean

`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` any\[\]

`asset` any\[\]

`carrierId` string | null

`bankMovement` object

`id` string required

`bankAccountId` string required

`refund` object

`amountHaler` integer | null required

`paymentId` null | string required

`correctionId` null | string required

`correctionNumber` null | string required

```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()
```

## Change a draft proforma invoice

PATCH `/v1/proformas/{id}`

Change a draft proforma invoice

MCP tool: `update-proforma`

### Path parameters

`id` string required

### Request body

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

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

### Response · 200

`id` string required

`number` null | string required

`variableSymbol` null | string required

`kind` string required

`contactId` null | string required

`contactName` null | string required

`issueDate` string required date

`dueDate` null | string required date

`totalHaler` integer required

`paidHaler` integer required

`status` string required

`overdue` boolean required

`fileId` null | string required

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

`lineKind` string required

`sourceId` string | null required

`itemId` null | string required

`warehouseId` null | string required

`lots` any\[\] required

`orderLineId` null | string required

`recycling` null | object

`text` string required

`unit` string required

`feeId` string required

`rateHaler` integer required

`totalHaler` integer required

`weightMilli` integer required

`perUnitHaler` integer required

`coefficientMilli` integer required

`vatLines` object\[\]

`object` "invoice\_vat\_line" required

`id` string required

`vatRate` number required

`netHaler` integer required

`vatHaler` integer required

`payments` object\[\]

`object` "proforma\_payment" required

`id` string required

`amountHaler` integer required

`paidOn` string required date

`method` string required

`note` null | string required

`links` object\[\]

`object` "document\_link" required

`id` string required

`fromKind` string required

`fromId` string required

`toKind` string required

`toId` string required

`kind` string required

`amountHaler` integer | null

`taxDocuments` object\[\]

`object` "advance\_tax\_document" required

`id` string required

`number` null | string required

`status` string required

`issueDate` null | string required date

`netHaler` integer required

`vatHaler` integer | null required

`totalHaler` integer | null required

`invoiceId` null | string required

`posting` object

`regime` string required

`event` string required

`skipped` boolean

`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` any\[\]

`asset` any\[\]

`carrierId` string | null

`bankMovement` object

`id` string required

`bankAccountId` string required

`refund` object

`amountHaler` integer | null required

`paymentId` null | string required

`correctionId` null | string required

`correctionNumber` null | string required

```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()
```

## Cancel a proforma invoice

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

Cancel a proforma invoice

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

MCP tool: `cancel-proforma`

### Path parameters

`id` string required

### Response · 200

`id` string required

`number` null | string required

`variableSymbol` null | string required

`kind` string required

`contactId` null | string required

`contactName` null | string required

`issueDate` string required date

`dueDate` null | string required date

`totalHaler` integer required

`paidHaler` integer required

`status` string required

`overdue` boolean required

`fileId` null | string required

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

`lineKind` string required

`sourceId` string | null required

`itemId` null | string required

`warehouseId` null | string required

`lots` any\[\] required

`orderLineId` null | string required

`recycling` null | object

`text` string required

`unit` string required

`feeId` string required

`rateHaler` integer required

`totalHaler` integer required

`weightMilli` integer required

`perUnitHaler` integer required

`coefficientMilli` integer required

`vatLines` object\[\]

`object` "invoice\_vat\_line" required

`id` string required

`vatRate` number required

`netHaler` integer required

`vatHaler` integer required

`payments` object\[\]

`object` "proforma\_payment" required

`id` string required

`amountHaler` integer required

`paidOn` string required date

`method` string required

`note` null | string required

`links` object\[\]

`object` "document\_link" required

`id` string required

`fromKind` string required

`fromId` string required

`toKind` string required

`toId` string required

`kind` string required

`amountHaler` integer | null

`taxDocuments` object\[\]

`object` "advance\_tax\_document" required

`id` string required

`number` null | string required

`status` string required

`issueDate` null | string required date

`netHaler` integer required

`vatHaler` integer | null required

`totalHaler` integer | null required

`invoiceId` null | string required

`posting` object

`regime` string required

`event` string required

`skipped` boolean

`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` any\[\]

`asset` any\[\]

`carrierId` string | null

`bankMovement` object

`id` string required

`bankAccountId` string required

`refund` object

`amountHaler` integer | null required

`paymentId` null | string required

`correctionId` null | string required

`correctionNumber` null | string required

```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()
```

## Create a new draft proforma invoice from an existing one

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

Create a new draft proforma invoice from an existing one

MCP tool: `copy-proforma`

### Path parameters

`id` string required

### Response · 201

`id` string required

`number` null | string required

`variableSymbol` null | string required

`kind` string required

`contactId` null | string required

`contactName` null | string required

`issueDate` string required date

`dueDate` null | string required date

`totalHaler` integer required

`paidHaler` integer required

`status` string required

`overdue` boolean required

`fileId` null | string required

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

`lineKind` string required

`sourceId` string | null required

`itemId` null | string required

`warehouseId` null | string required

`lots` any\[\] required

`orderLineId` null | string required

`recycling` null | object

`text` string required

`unit` string required

`feeId` string required

`rateHaler` integer required

`totalHaler` integer required

`weightMilli` integer required

`perUnitHaler` integer required

`coefficientMilli` integer required

`vatLines` object\[\]

`object` "invoice\_vat\_line" required

`id` string required

`vatRate` number required

`netHaler` integer required

`vatHaler` integer required

`payments` object\[\]

`object` "proforma\_payment" required

`id` string required

`amountHaler` integer required

`paidOn` string required date

`method` string required

`note` null | string required

`links` object\[\]

`object` "document\_link" required

`id` string required

`fromKind` string required

`fromId` string required

`toKind` string required

`toId` string required

`kind` string required

`amountHaler` integer | null

`taxDocuments` object\[\]

`object` "advance\_tax\_document" required

`id` string required

`number` null | string required

`status` string required

`issueDate` null | string required date

`netHaler` integer required

`vatHaler` integer | null required

`totalHaler` integer | null required

`invoiceId` null | string required

`posting` object

`regime` string required

`event` string required

`skipped` boolean

`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` any\[\]

`asset` any\[\]

`carrierId` string | null

`bankMovement` object

`id` string required

`bankAccountId` string required

`refund` object

`amountHaler` integer | null required

`paymentId` null | string required

`correctionId` null | string required

`correctionNumber` null | string required

```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()
```

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

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

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

MCP tool: `issue-proforma`

### Path parameters

`id` string required

### Response · 200

`id` string required

`number` null | string required

`variableSymbol` null | string required

`kind` string required

`contactId` null | string required

`contactName` null | string required

`issueDate` string required date

`dueDate` null | string required date

`totalHaler` integer required

`paidHaler` integer required

`status` string required

`overdue` boolean required

`fileId` null | string required

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

`lineKind` string required

`sourceId` string | null required

`itemId` null | string required

`warehouseId` null | string required

`lots` any\[\] required

`orderLineId` null | string required

`recycling` null | object

`text` string required

`unit` string required

`feeId` string required

`rateHaler` integer required

`totalHaler` integer required

`weightMilli` integer required

`perUnitHaler` integer required

`coefficientMilli` integer required

`vatLines` object\[\]

`object` "invoice\_vat\_line" required

`id` string required

`vatRate` number required

`netHaler` integer required

`vatHaler` integer required

`payments` object\[\]

`object` "proforma\_payment" required

`id` string required

`amountHaler` integer required

`paidOn` string required date

`method` string required

`note` null | string required

`links` object\[\]

`object` "document\_link" required

`id` string required

`fromKind` string required

`fromId` string required

`toKind` string required

`toId` string required

`kind` string required

`amountHaler` integer | null

`taxDocuments` object\[\]

`object` "advance\_tax\_document" required

`id` string required

`number` null | string required

`status` string required

`issueDate` null | string required date

`netHaler` integer required

`vatHaler` integer | null required

`totalHaler` integer | null required

`invoiceId` null | string required

`posting` object

`regime` string required

`event` string required

`skipped` boolean

`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` any\[\]

`asset` any\[\]

`carrierId` string | null

`bankMovement` object

`id` string required

`bankAccountId` string required

`refund` object

`amountHaler` integer | null required

`paymentId` null | string required

`correctionId` null | string required

`correctionNumber` null | string required

```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()
```

## Record an advance payment of a proforma invoice

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.

MCP tool: `add-proforma-payment`

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

`createTaxDocument` boolean

### Response · 201

`id` string required

`number` null | string required

`variableSymbol` null | string required

`kind` string required

`contactId` null | string required

`contactName` null | string required

`issueDate` string required date

`dueDate` null | string required date

`totalHaler` integer required

`paidHaler` integer required

`status` string required

`overdue` boolean required

`fileId` null | string required

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

`lineKind` string required

`sourceId` string | null required

`itemId` null | string required

`warehouseId` null | string required

`lots` any\[\] required

`orderLineId` null | string required

`recycling` null | object

`text` string required

`unit` string required

`feeId` string required

`rateHaler` integer required

`totalHaler` integer required

`weightMilli` integer required

`perUnitHaler` integer required

`coefficientMilli` integer required

`vatLines` object\[\]

`object` "invoice\_vat\_line" required

`id` string required

`vatRate` number required

`netHaler` integer required

`vatHaler` integer required

`payments` object\[\]

`object` "proforma\_payment" required

`id` string required

`amountHaler` integer required

`paidOn` string required date

`method` string required

`note` null | string required

`links` object\[\]

`object` "document\_link" required

`id` string required

`fromKind` string required

`fromId` string required

`toKind` string required

`toId` string required

`kind` string required

`amountHaler` integer | null

`taxDocuments` object\[\]

`object` "advance\_tax\_document" required

`id` string required

`number` null | string required

`status` string required

`issueDate` null | string required date

`netHaler` integer required

`vatHaler` integer | null required

`totalHaler` integer | null required

`invoiceId` null | string required

`posting` object

`regime` string required

`event` string required

`skipped` boolean

`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` any\[\]

`asset` any\[\]

`carrierId` string | null

`bankMovement` object

`id` string required

`bankAccountId` string required

`refund` object

`amountHaler` integer | null required

`paymentId` null | string required

`correctionId` null | string required

`correctionNumber` null | string required

```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()
```

## Remove an advance payment recorded on a proforma invoice

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.

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

MCP tool: `remove-proforma-payment`

### Path parameters

`id` string required

`paymentId` string required

ID of the payment.

### Response · 200

`id` string required

`number` null | string required

`variableSymbol` null | string required

`kind` string required

`contactId` null | string required

`contactName` null | string required

`issueDate` string required date

`dueDate` null | string required date

`totalHaler` integer required

`paidHaler` integer required

`status` string required

`overdue` boolean required

`fileId` null | string required

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

`lineKind` string required

`sourceId` string | null required

`itemId` null | string required

`warehouseId` null | string required

`lots` any\[\] required

`orderLineId` null | string required

`recycling` null | object

`text` string required

`unit` string required

`feeId` string required

`rateHaler` integer required

`totalHaler` integer required

`weightMilli` integer required

`perUnitHaler` integer required

`coefficientMilli` integer required

`vatLines` object\[\]

`object` "invoice\_vat\_line" required

`id` string required

`vatRate` number required

`netHaler` integer required

`vatHaler` integer required

`payments` object\[\]

`object` "proforma\_payment" required

`id` string required

`amountHaler` integer required

`paidOn` string required date

`method` string required

`note` null | string required

`links` object\[\]

`object` "document\_link" required

`id` string required

`fromKind` string required

`fromId` string required

`toKind` string required

`toId` string required

`kind` string required

`amountHaler` integer | null

`taxDocuments` object\[\]

`object` "advance\_tax\_document" required

`id` string required

`number` null | string required

`status` string required

`issueDate` null | string required date

`netHaler` integer required

`vatHaler` integer | null required

`totalHaler` integer | null required

`invoiceId` null | string required

`posting` object

`regime` string required

`event` string required

`skipped` boolean

`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` any\[\]

`asset` any\[\]

`carrierId` string | null

`bankMovement` object

`id` string required

`bankAccountId` string required

`refund` object

`amountHaler` integer | null required

`paymentId` null | string required

`correctionId` null | string required

`correctionNumber` null | string required

```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()
```

## Download the proforma invoice as a PDF

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

Download the proforma invoice as a PDF

MCP tool: `get-proforma-pdf`

### Path parameters

`id` string required

### Response · 200

Returns a application/pdf file.

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

## Create the final invoice from a proforma invoice, and issue it unless \`issue\` is false

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.

MCP tool: `settle-proforma`

### Path parameters

`id` string required

### Request body

`issueDate` string YYYY-MM-DD

Date as YYYY-MM-DD.

`taxPointDate` string YYYY-MM-DD

Date as YYYY-MM-DD.

`issue` boolean

### Response · 201

`id` string required

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

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

`id` string required

`description` string required

`quantity` number required

`unit` string required

`unitPriceHaler` integer required

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

`itemId` null | string

`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` "invoice\_vat\_line" required

`id` string required

`vatRate` number required

`netHaler` integer required

`vatHaler` integer required

`payments` object\[\]

`object` "invoice\_payment" required

`id` string required

`amountHaler` integer required

`paidOn` string required date

`method` string required

`note` null | string required

`links` object\[\]

`object` "document\_link" required

`id` string required

`fromKind` string required

`fromId` string required

`toKind` string required

`toId` string required

`kind` string required

`amountHaler` integer | null

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

`documentId` null | string required

`amountHaler` integer | null required

`status` string required

`payablesBook` any\[\]

`asset` any\[\]

`retentions` object\[\]

`id` string required

`amountHaler` integer | null required

`dueDate` null | string required date

`note` string | null required

`longTerm` boolean required

`carrierId` null | string

`creditWarning` object

`level` string required

`exposureHaler` integer required

`afterHaler` integer required

`warnHaler` integer | null required

`blockHaler` integer required

`availableHaler` integer required

`original` any

`bankMovement` object

`id` string required

`bankAccountId` string required

`cashDocument` object

`id` string required

`number` null | string required

`warnings` any\[\] required

```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()
```
