Receipt.ValidateRefund
Validates refund receipt data without registering the receipt.
Use before Receipt.Refund. 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.Refund 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, validation also checks the prohibition of cash payment for the entire receipt when restricted products are present or the cash payment threshold for an ICPS code is exceeded, as described in Receipt.Refund. A violation returns 701003.
Request example
{
"id": 1,
"method": "Receipt.ValidateRefund",
"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
}
],
"refund_info": {
"QRCodeURL": "https://ofd.soliq.uz/check?t=TEST000001&r=187&c=20261030120000&s=123456789012",
"TerminalID": "TEST000001",
"ReceiptNo": "187",
"DateTime": "2026-10-30T12:00:00",
"FiscalSign": "123456789012"
}
},
"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": null,
"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": 704045,
"description": "Маркировка относится к другой продаже. Проверьте исходный чек возврата."
},
"jsonrpc": "2.0"
}
Marking codes and errors
Local marking code control applies within this REGOS: VCR installation independently of external validation. 704044: the result of the previous operation involving a marking code is unconfirmed; 704045: the marking code is assigned to another sale or the original sale cannot be identified.
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.