Skip to main content
POST
/
receipts
Create receipt
curl --request POST \
  --url https://integrations.clopos.com/open-api/receipts \
  --header 'Content-Type: application/json' \
  --header 'x-brand: <api-key>' \
  --header 'x-token: <api-key>' \
  --header 'x-venue: <api-key>' \
  --data '{
  "cid": "<string>",
  "payment_methods": [
    {
      "id": 123,
      "name": "<string>",
      "amount": 123
    }
  ],
  "subtotal": 123,
  "total": 123
}'
{
  "success": true,
  "data": {
    "id": 123,
    "venue_id": 123,
    "cash_shift_cid": "<string>",
    "cid": "<string>",
    "user_id": 123,
    "open_by_user_id": 123,
    "close_by_user_id": 123,
    "courier_id": 123,
    "seller_id": 123,
    "terminal_id": 123,
    "source": "<string>",
    "closed_terminal_id": 123,
    "service_notification_id": 123,
    "table_id": 123,
    "hall_id": 123,
    "customer_id": 123,
    "sale_type_id": 123,
    "is_returns": true,
    "guests": 123,
    "status": 123,
    "lock": true,
    "inventory_status": 123,
    "report_status": 123,
    "meta": {
      "preprint_count": 123,
      "sale_type": {
        "name": "<string>"
      },
      "user": {
        "name": "<string>"
      },
      "terminal_updated_at": 123,
      "availiableDeposit": 123,
      "check_close_event": {
        "checked": true,
        "operated_at": "<string>",
        "fails": [
          "<any>"
        ]
      }
    },
    "suspicion": 123,
    "printed": true,
    "total": 123,
    "subtotal": 123,
    "original_subtotal": 123,
    "gift_total": 123,
    "totalCost": 123,
    "payment_methods": [
      {
        "id": 123,
        "name": "<string>",
        "amount": 123
      }
    ],
    "fiscal_id": "<string>",
    "by_cash": 123,
    "by_card": 123,
    "remaining": 123,
    "discount_type": 123,
    "discount_value": 123,
    "discount_rate": 123,
    "rps_discount": 123,
    "service_charge": 123,
    "service_charge_value": 123,
    "i_tax": 123,
    "delivery_fee": 123,
    "e_tax": 123,
    "total_tax": 123,
    "description": "<string>",
    "address": "<string>",
    "terminal_version": "<string>",
    "loyalty_type": "<string>",
    "loyalty_value": 123,
    "order_status": "<string>",
    "order_number": "<string>",
    "created_at": "<string>",
    "updated_at": "<string>",
    "terminal_updated_at": "<string>",
    "closed_at": "<string>",
    "shift_date": "<string>",
    "deleted_at": "<string>",
    "gift_count": 123,
    "total_discount": 123,
    "properties": {
      "daily_id": 123,
      "monthly_id": 123
    },
    "receipt_products": [
      {
        "id": 123,
        "cid": "<string>",
        "product_id": 123,
        "receipt_id": 123,
        "product_hash": "<string>",
        "meta": {},
        "count": 123,
        "portion_size": 123,
        "total": 123,
        "price": 123,
        "cost": 123,
        "is_gift": true,
        "preprint_count": 123,
        "station_printed_count": 123,
        "station_aborted_count": 123,
        "seller_id": 123,
        "loyalty_type": "<string>",
        "loyalty_value": 123,
        "discount_rate": 123,
        "discount_value": 123,
        "discount_type": 123,
        "total_discount": 123,
        "subtotal": 123,
        "receipt_discount": 123,
        "created_at": "<string>",
        "updated_at": "<string>",
        "terminal_updated_at": "<string>",
        "deleted_at": "<string>",
        "receipt_product_modificators": [
          "<any>"
        ],
        "taxes": [
          "<any>"
        ]
      }
    ],
    "stock_operations": [
      "<any>"
    ],
    "customer": {}
  },
  "time": 123,
  "timestamp": "<string>",
  "unix": 123,
  "message": "<string>"
}

Purpose

Automates accounting reconciliation by converting your POS transactions into Clopos receipts.

HTTP Request

POST https://integrations.clopos.com/open-api/receipts

Authorization

The following custom headers are required:
  • x-token
  • x-brand
  • x-venue
  • Idempotency-Key (recommended)
Payment methods in payment_methods[] should reference IDs returned by List Payment Methods. For reporting, you may also include a sale type via sale_type_id or meta.sale_type. See List Sale Types.

Request Example

curl --location "https://integrations.clopos.com/open-api/receipts" \
  -H "x-token: oauth_example_token" \
  -H "x-brand: openapitest" \
  -H "x-venue: 1" \
  -H "Content-Type: application/json" \
  -d '{
        "address": "",
        "by_card": 0,
        "by_cash": 30000,
        "cid": "43025959-0e82-4fbd-bcc7-1bc0101183b0",
        "closed_at": "2025-08-18 13:47:05",
        "created_at": "2025-08-18 12:45:16",
        "customer_discount_type": 0,
        "delivery_fee": 0,
        "discount_rate": 0,
        "discount_type": 0,
        "discount_value": 0,
        "gift_total": 0,
        "guests": 1,
        "meta": {
          "preprint_count": 0,
          "sale_type": { "name": "Satis usulu 1" },
          "user": { "name": "Clopos" },
          "terminal_updated_at": 1755524813947,
          "availiableDeposit": 30000
        },
        "original_subtotal": 30000,
        "payment_methods": [
          { "id": 1, "name": "Cash", "amount": 30000 }
        ],
        "printed": false,
        "receipt_products": [
          {
            "cid": "f5b17d93-5586-411b-9e9d-934d3aa2e2ff",
            "product_id": 31042,
            "portion_size": 1,
            "is_gift": 0,
            "meta": {
              "product": {
                "name": "Апельсинли реване",
                "giftable": false,
                "price": 22000,
                "modifier_name": "not found",
                "discountable": true,
                "sold_by_weight": false,
                "priceWithoutTaxes": 22000,
                "barcode": "",
                "taxes": [],
                "station": {
                  "id": 57,
                  "name": "Отдел Кондитер"
                }
              },
              "originalPrice": 22000,
              "total_gift": 0,
              "discountedPrice": 0,
              "terminal_updated_at": 1755524813946
            },
            "price": 22000,
            "count": 1,
            "subtotal": 22000,
            "total": 22000
          },
          {
            "cid": "c5202cc3-1f03-47b1-9dbc-5f049dabf997",
            "product_id": 31046,
            "portion_size": 1,
            "is_gift": 0,
            "meta": {
              "product": {
                "name": "Ачма узум жевиз",
                "giftable": false,
                "price": 8000,
                "modifier_name": "not found",
                "discountable": true,
                "sold_by_weight": false,
                "priceWithoutTaxes": 8000,
                "barcode": "",
                "taxes": [],
                "station": {
                  "id": 57,
                  "name": "Отдел Кондитер"
                }
              },
              "originalPrice": 8000,
              "total_gift": 0,
              "discountedPrice": 0,
              "terminal_updated_at": 1755524813947
            },
            "price": 8000,
            "count": 1,
            "subtotal": 8000,
            "total": 8000
          }
        ],
        "remaining": 0,
        "rps_discount": 0,
        "sale_type_id": 1000,
        "service_charge": 0,
        "service_charge_value": 0,
        "status": 2,
        "subtotal": 30000,
        "terminal_id": 1,
        "total": 30000,
        "total_tax": 0,
        "user_id": 1
      }'

Full payload example

{
    "address": "",
    "by_card": 0,
    "by_cash": 0,
    "cid": "344de4c5-bf51-4d56-ba31-eec43a08a763",
    "closed_at": "1760466973922",
    "created_at": "1760466921149",
    "customer_discount_type": 1,
    "customer_id": 9,
    "delivery_fee": 0,
    "description": "",
    "discount_rate": 10,
    "discount_type": 1,
    "discount_value": 35.92,
    "e_tax": 17.01,
    "gift_total": 0,
    "guests": 1,
    "i_tax": 41.19,
    "local_status": 0,
    "meta": {
        "preprint_count": 0,
        "sale_type": {
            "name": "Takeaway"
        },
        "user": {
            "name": "Clopos"
        },
        "customer": {
            "name": "Rahid Akhundzada",
            "bonus": 0,
            "cashback": 17.46,
            "balance": 0,
            "phones": [
                "+994705401040"
            ],
            "desc": null,
            "code": null,
            "group": {
                "id": 1,
                "name": "My Customers",
                "discount_type": null,
                "discount_value": 10,
                "system_type": "my_customers",
                "created_at": "2023-05-25T12:08:43.000000Z",
                "updated_at": "2024-02-27T07:43:09.000000Z",
                "deleted_at": null
            },
            "address_data": [
                {
                    "type": "plain",
                    "source": "client",
                    "formattedAddress": "test test"
                }
            ]
        },
        "availiableDeposit": 381.52,
        "terminal_updated_at": 1760466942453
    },
    "original_subtotal": 318.05,
    "payment_methods": [
        {
            "id": 1,
            "name": "Cash",
            "amount": 181.52
        },
        {
            "id": 2,
            "name": "Card",
            "amount": 200
        }
    ],
    "printed": false,
    "receipt_products": [
        {
            "cid": "49ca9d59-e47e-46cc-85db-6540e4187b50",
            "id": "49ca9d59-e47e-46cc-85db-6540e4187b50",
            "product_id": 1,
            "portion_size": 1,
            "is_gift": 0,
            "meta": {
                "product": {
                    "name": "Mega Dürüm Menü Alana Çiğ Köfte Dürüm Bedava.",
                    "giftable": true,
                    "price": 300,
                    "modifier_name": "not found",
                    "discountable": true,
                    "sold_by_weight": false,
                    "priceWithoutTaxes": 254.24,
                    "barcode": "9780750310512",
                    "taxes": [
                        {
                            "id": 1,
                            "type_id": 2,
                            "rounding_option": "ROUND_HALF_UP",
                            "priority": 1,
                            "calculation_type": 1,
                            "name": "edv`",
                            "rate": 18,
                            "meta": null,
                            "is_default": false,
                            "status": 1,
                            "created_at": "2023-04-12T11:14:45.000000Z",
                            "deleted_at": null,
                            "type": {
                                "id": 2,
                                "name": "Included "
                            },
                            "has_sale_types": true,
                            "sale_types": [
                                {
                                    "id": 2,
                                    "name": "Delivery",
                                    "media": [
                                        {
                                            "urls": {
                                                "original": "https://cdn.clopos.com/_clopos/delivery.png",
                                                "large": "https://cdn.clopos.com/_clopos/delivery.png"
                                            }
                                        }
                                    ],
                                    "pivot": {
                                        "tax_id": 1,
                                        "sale_type_id": 2
                                    },
                                    "status": []
                                },
                                {
                                    "id": 1004,
                                    "name": "test",
                                    "media": [],
                                    "pivot": {
                                        "tax_id": 1,
                                        "sale_type_id": 1004
                                    },
                                    "status": []
                                }
                            ]
                        }
                    ],
                    "station": {
                        "id": 1,
                        "name": "Kitchen"
                    }
                },
                "product_price": {
                    "id": 434,
                    "list_id": 83,
                    "price": 300
                },
                "originalPrice": 254.24,
                "total_gift": 0,
                "taxes": [
                    {
                        "tax_id": 1,
                        "priority": 1,
                        "calculate_type": 1,
                        "tax_type_id": 2,
                        "tax_rate": 18,
                        "tax_value": 41.1876,
                        "tax_value_total": 41.19,
                        "tax_name": "Included ",
                        "tax_o_name": "edv`"
                    }
                ],
                "subtotalWithTax": 0,
                "discountedPrice": 0,
                "terminal_updated_at": 1760466942450
            },
            "price": 254.24,
            "created_at": "1760466942449",
            "receipt_product_modificators": [],
            "product_hash": "1",
            "station_printed_count": 0,
            "station_aborted_count": 0,
            "preprint_count": 0,
            "discount_rate": 0,
            "discount_value": 0,
            "discount_type": 0,
            "total_discount": 0,
            "subtotal": 254.24,
            "total": 270.01,
            "receipt_discount": 25.42,
            "taxes": [
                {
                    "tax_id": 1,
                    "tax_amount": 41.19
                }
            ],
            "count": 1,
            "updated_at": "1760466942450"
        },
        {
            "cid": "3dba15ec-60cf-41ff-930a-8b638e6dc72b",
            "id": "3dba15ec-60cf-41ff-930a-8b638e6dc72b",
            "product_id": 2,
            "portion_size": 1,
            "is_gift": 0,
            "meta": {
                "product": {
                    "name": "Komagene Şuşi - Doritoslu",
                    "giftable": false,
                    "price": 105,
                    "modifier_name": "not found",
                    "discountable": true,
                    "sold_by_weight": false,
                    "priceWithoutTaxes": 105,
                    "barcode": "KGP.0911",
                    "taxes": [
                        {
                            "id": 6,
                            "type_id": 1,
                            "rounding_option": "ROUND_HALF_UP",
                            "priority": 1,
                            "calculation_type": 1,
                            "name": "E 18",
                            "rate": 18,
                            "meta": null,
                            "is_default": false,
                            "status": 1,
                            "created_at": "2023-07-26T00:36:17.000000Z",
                            "deleted_at": null,
                            "type": {
                                "id": 1,
                                "name": "Excluded "
                            },
                            "has_sale_types": false,
                            "sale_types": []
                        }
                    ],
                    "station": {
                        "id": 1,
                        "name": "Kitchen"
                    }
                },
                "product_price": {},
                "originalPrice": 105,
                "total_gift": 0,
                "taxes": [
                    {
                        "tax_id": 6,
                        "priority": 1,
                        "calculate_type": 1,
                        "tax_type_id": 1,
                        "tax_rate": 18,
                        "tax_value": 17.01,
                        "tax_value_total": 17.01,
                        "tax_name": "Excluded ",
                        "tax_o_name": "E 18"
                    }
                ],
                "subtotalWithTax": 0,
                "discountedPrice": 0,
                "terminal_updated_at": 1760466942453
            },
            "price": 105,
            "created_at": "1760466942453",
            "receipt_product_modificators": [],
            "product_hash": "2",
            "station_printed_count": 0,
            "station_aborted_count": 0,
            "preprint_count": 0,
            "discount_rate": 0,
            "discount_value": 0,
            "discount_type": 0,
            "total_discount": 0,
            "subtotal": 105,
            "total": 111.51,
            "receipt_discount": 10.5,
            "taxes": [
                {
                    "tax_id": 6,
                    "tax_amount": 17.01
                }
            ],
            "count": 1,
            "updated_at": "1760466942453"
        }
    ],
    "remaining": 0,
    "rps_discount": 0,
    "sale_type_id": 3,
    "service_charge": 0,
    "service_charge_value": 0,
    "service_notification_id": null,
    "status": 2,
    "subtotal": 359.24,
    "terminal_id": 0,
    "total": 381.52,
    "total_tax": 58.2,
    "user_id": 1,
    "deleted_at": null,
    "updated_at": null,
    "courier_id": null
}

Response

201 Created — Receipt created

{
  "success": true,
  "data": {
    "user_id": 1,
    "terminal_id": 1,
    "table_id": null,
    "hall_id": null,
    "customer_id": null,
    "guests": 1,
    "status": 2,
    "inventory_status": 0,
    "report_status": 0,
    "suspicion": 0,
    "printed": false,
    "total": 30000,
    "subtotal": 30000,
    "by_cash": 30000,
    "by_card": 0,
    "remaining": 0,
    "payment_methods": [
      {
        "id": 1,
        "name": "Cash",
        "amount": 30000
      }
    ],
    "discount_type": 0,
    "discount_value": 0,
    "discount_rate": 0,
    "service_charge": 0,
    "service_charge_value": 0,
    "rps_discount": 0,
    "closed_at": "2025-08-18 13:47:05",
    "lock": false,
    "address": null,
    "cid": "43025959-0e82-4fbd-bcc7-1bc0101183b0",
    "created_at": "2025-08-18 12:45:16",
    "delivery_fee": 0,
    "description": null,
    "e_tax": 0,
    "gift_total": 0,
    "i_tax": 0,
    "meta": {
      "preprint_count": 0,
      "sale_type": {
        "name": "Satis usulu 1"
      },
      "user": {
        "name": "Clopos"
      },
      "terminal_updated_at": 1755524813947,
      "availiableDeposit": 30000
    },
    "original_subtotal": 30000,
    "sale_type_id": 1000,
    "service_notification_id": null,
    "total_tax": 0,
    "source": "web",
    "shift_date": "2025-08-18",
    "venue_id": 1,
    "updated_at": "2025-10-06 09:26:29",
    "id": 6,
    "total_discount": 0,
    "properties": {
      "daily_id": 1,
      "monthly_id": 1
    },
    "receipt_products": [
      {
        "id": 14,
        "cid": "f5b17d93-5586-411b-9e9d-934d3aa2e2ff",
        "product_id": 31042,
        "receipt_id": 6,
        "product_hash": "31042",
        "meta": {
          "product": {
            "name": "Апельсинли реване",
            "giftable": false,
            "price": 22000,
            "modifier_name": "not found",
            "discountable": true,
            "sold_by_weight": false,
            "priceWithoutTaxes": 22000,
            "barcode": null,
            "taxes": [],
            "station": {
              "id": 57,
              "name": "Отдел Кондитер"
            }
          },
          "product_price": [],
          "originalPrice": 22000,
          "total_gift": 0,
          "taxes": [],
          "subtotalWithTax": 0,
          "discountedPrice": 0,
          "terminal_updated_at": 1755524813946
        },
        "count": 1,
        "portion_size": 1,
        "total": 22000,
        "price": 22000,
        "cost": 0,
        "is_gift": false,
        "preprint_count": 0,
        "station_printed_count": 0,
        "station_aborted_count": 0,
        "seller_id": 1,
        "loyalty_type": null,
        "loyalty_value": null,
        "discount_rate": 0,
        "discount_value": 0,
        "discount_type": 0,
        "total_discount": 0,
        "subtotal": 22000,
        "receipt_discount": 0,
        "created_at": "2025-08-18 13:46:53",
        "updated_at": "2025-10-06 09:26:30",
        "terminal_updated_at": null,
        "deleted_at": null,
        "receipt_product_modificators": [],
        "taxes": []
      },
      {
        "id": 15,
        "cid": "c5202cc3-1f03-47b1-9dbc-5f049dabf997",
        "product_id": 31046,
        "receipt_id": 6,
        "product_hash": "31046",
        "meta": {
          "product": {
            "name": "Ачма узум жевиз",
            "giftable": false,
            "price": 8000,
            "modifier_name": "not found",
            "discountable": true,
            "sold_by_weight": false,
            "priceWithoutTaxes": 8000,
            "barcode": null,
            "taxes": [],
            "station": {
              "id": 57,
              "name": "Отдел Кондитер"
            }
          },
          "product_price": [],
          "originalPrice": 8000,
          "total_gift": 0,
          "taxes": [],
          "subtotalWithTax": 0,
          "discountedPrice": 0,
          "terminal_updated_at": 1755524813947
        },
        "count": 1,
        "portion_size": 1,
        "total": 8000,
        "price": 8000,
        "cost": 0,
        "is_gift": false,
        "preprint_count": 0,
        "station_printed_count": 0,
        "station_aborted_count": 0,
        "seller_id": 1,
        "loyalty_type": null,
        "loyalty_value": null,
        "discount_rate": 0,
        "discount_value": 0,
        "discount_type": 0,
        "total_discount": 0,
        "subtotal": 8000,
        "receipt_discount": 0,
        "created_at": "2025-08-18 13:46:53",
        "updated_at": "2025-10-06 09:26:30",
        "terminal_updated_at": null,
        "deleted_at": null,
        "receipt_product_modificators": [],
        "taxes": []
      }
    ],
    "stock_operations": [],
    "customer": null
  },
  "message": "Əməliyyat uğurla həyata keçirildi",
  "time": 322,
  "timestamp": "2025-10-06 09:26:30",
  "unix": 1759742790
}

400 Bad Request — Validation error

{
  "success": false,
  "message": "Invalid payment methods",
  "error": "validation_failed",
  "details": {
    "payment_methods": ["At least one payment method is required"]
  }
}

409 Conflict — Duplicate receipt

{
  "success": false,
  "error": "duplicate_receipt",
  "message": "Receipt already created for this Idempotency-Key"
}

Field Reference

Required fields

FieldTypeDescription
cidstringTransaction UUID.
payment_methodsarrayList of payment methods.

Optional fields

FieldTypeDescription
by_cashnumberCash total.
by_cardnumberCard total.
customer_discount_typenumberCustomer discount type.
discount_typenumberDiscount type.
discount_ratenumberPercentage discount.
discount_valuenumberAmount-based discount.
delivery_feenumberDelivery fee.
created_atstringCreation time (Unix ms).
closed_atstringClosing time (Unix ms).
addressstringCustomer address.
courier_idnumber | nullCourier user ID; can be any user ID.

payment_methods[]

FieldTypeRequiredDescription
idnumberPayment method ID.
namestringMethod name.
amountnumberAmount paid.

Notes

  • cid must be unique; if you send the same value again, you will get a 409.
  • The sum of amounts in payment_methods[] should equal the total (it may differ from by_cash + by_card when you track tenders only via payment_methods).
  • All time fields are strings and may represent Unix milliseconds in certain integrations (as shown in the example). Use consistent formatting across your data.
  • Discount types: 0 = none, 1 = percentage, 2 = fixed amount.
  • Creating a receipt through this endpoint stores it as a closed record and does not notify POS terminals or other systems.
  • Read the Retry-After header before retrying if you encounter rate limits or transient errors.

Authorizations

x-token
string
header
required

Access token obtained from /auth endpoint

x-brand
string
header
required

Brand identifier

x-venue
string
header
required

Venue identifier

Body

application/json
cid
string
required
payment_methods
object[]
required
subtotal
number
required
total
number
required
address
string
by_card
number
by_cash
number
closed_at
string
created_at
string
customer_discount_type
integer
customer_id
integer | null
delivery_fee
number
description
string
discount_rate
number
discount_type
integer
discount_value
number
e_tax
number
gift_total
number
guests
integer
i_tax
number
local_status
integer
meta
object
original_subtotal
number
printed
boolean
receipt_products
object[]
remaining
rps_discount
number
sale_type_id
integer
service_charge
number
service_charge_value
number
service_notification_id
integer | null
status
integer
terminal_id
integer
total_tax
number
user_id
integer
deleted_at
string | null
updated_at
string | null

Response

201 - application/json

Receipt created successfully

success
boolean
data
object
time
integer
timestamp
string
unix
integer
message
string