Purpose
Automates accounting reconciliation by converting your POS transactions into Clopos receipts.HTTP Request
Copy
POST https://integrations.clopos.com/open-api/receipts
Authorization
The following custom headers are required:x-tokenx-brandx-venueIdempotency-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
Copy
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
Copy
{
"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
Copy
{
"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
Copy
{
"success": false,
"message": "Invalid payment methods",
"error": "validation_failed",
"details": {
"payment_methods": ["At least one payment method is required"]
}
}
409 Conflict — Duplicate receipt
Copy
{
"success": false,
"error": "duplicate_receipt",
"message": "Receipt already created for this Idempotency-Key"
}
Field Reference
Required fields
| Field | Type | Description |
|---|---|---|
cid | string | Transaction UUID. |
payment_methods | array | List of payment methods. |
Optional fields
| Field | Type | Description |
|---|---|---|
by_cash | number | Cash total. |
by_card | number | Card total. |
customer_discount_type | number | Customer discount type. |
discount_type | number | Discount type. |
discount_rate | number | Percentage discount. |
discount_value | number | Amount-based discount. |
delivery_fee | number | Delivery fee. |
created_at | string | Creation time (Unix ms). |
closed_at | string | Closing time (Unix ms). |
address | string | Customer address. |
courier_id | number | null | Courier user ID; can be any user ID. |
payment_methods[]
| Field | Type | Required | Description |
|---|---|---|---|
id | number | ✓ | Payment method ID. |
name | string | ✓ | Method name. |
amount | number | ✓ | Amount paid. |
Notes
cidmust be unique; if you send the same value again, you will get a409.- The sum of amounts in
payment_methods[]should equal thetotal(it may differ fromby_cash + by_cardwhen you track tenders only viapayment_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-Afterheader before retrying if you encounter rate limits or transient errors.
Authorizations
Access token obtained from /auth endpoint
Brand identifier
Venue identifier
Body
application/json
Show child attributes
Show child attributes
Show child attributes
Show child attributes