Receipt.ValidateSale
Validates sales receipt data without registering the receipt.
Use before Receipt.Sale. Successful validation does not create a receipt or reserve marking codes or payments; it does not guarantee that the subsequent receipt will be processed successfully.
Input parameters
| Name | JSON type | Required | Description |
|---|---|---|---|
| receipt | object | Required | Receipt following the Receipt.Sale structure, including its required fields |
| ignore_payments | boolean | Optional | true: skip payment validation; defaults to false |
The external receipt code is supplied in receipt.code. There is no separate params.code parameter. Item, packaging, marking code, and payment restrictions are the same as in the receipt registration method.
When ignore_payments = false and receipt validation through the OFD is enabled, cash payment for any portion of the receipt is prohibited if cash is prohibited for at least one product or the allowed cash payment amount threshold is exceeded. Such a request is rejected with error 701003; the entire receipt must be paid without cash.
Request example
{
"id": 1,
"method": "Receipt.ValidateSale",
"params": {
"receipt": {
"code": "res-43534",
"positions": [
{
"amount": 9000,
"articul": "5449000000996",
"barcode": "5449000000996",
"discount": 0,
"name": "Heinz Яблоко",
"quantity": 1000,
"vat_value": 1200,
"icps": "02004001004002007",
"owner_type": "BuyingAndSelling"
}
],
"payments": [
{
"type": 1,
"value": 9000
}
]
},
"ignore_payments": false
},
"auth": "a2Fzc2E6a2FzNjU0MzIx",
"jsonrpc": "2.0"
}
Result
If validation succeeds, ok = true and the following result are returned:
{
"id": 1,
"ok": true,
"result": { "validate": true },
"jsonrpc": "2.0"
}
On error, ok = false is returned; result.error contains the numeric code, and result.description contains the description.
{
"id": 1,
"ok": false,
"result": {
"error": 704043,
"description": "Маркировка уже продана на этой кассе. Для повторной продажи сначала оформите возврат исходного чека."
},
"jsonrpc": "2.0"
}
Marking codes and errors
Local marking code control applies within this REGOS: VCR installation independently of external validation. 704043: the marking code has already been sold; 704044: the result of the previous operation involving a marking code is unconfirmed.
Other possible errors are 701003 for invalid input data, 704030 for marking code validation, and 705511 for ICPS code validation. See the error list for the full list.
For 704044, check the result of the previous receipt. Do not change its contents or code to bypass the restriction; if the operation cannot be recovered, contact a TSC. Restarting the cash register alone does not remove the restriction.
Local marking records accumulate only for sales registered after upgrading to version 2026-10-30. Earlier receipts are not used to initialize these records.