Chilkat Online Tools

Python / Egyptian eInvoicing SDK R1.5 / 2.2. Submit Return Receipt

Back to Collection Items

import sys
import chilkat

# This example assumes the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.

http = chilkat.CkHttp()

# Use this online tool to generate code from sample JSON: Generate Code to Create JSON

# The following JSON is sent in the request body.

# {
#   "receipts": [
#     {
#       "header": {
#         "dateTimeIssued": "2022-06-13T00:34:00Z",
#         "receiptNumber": "{{receiptNumber1}}",
#         "uuid": "{{returnreceiptUuid1}}",
#         "previousUUID": "",
#         "referenceUUID": "{{receiptUuid1}}",
#         "referenceOldUUID": "",
#         "currency": "EGP",
#         "exchangeRate": 0,
#         "sOrderNameCode": "sOrderNameCode",
#         "orderdeliveryMode": "",
#         "grossWeight": 6.58,
#         "netWeight": 6.89
#       },
#       "documentType": {
#         "receiptType": "R",
#         "typeVersion": "1.1"
#       },
#       "seller": {
#         "rin": "674859545",
#         "companyTradeName": "شركة الصوفى",
#         "branchCode": "0",
#         "branchAddress": {
#           "country": "EG",
#           "governate": "cairo",
#           "regionCity": "city center",
#           "street": "16 street",
#           "buildingNumber": "14BN",
#           "postalCode": "74235",
#           "floor": "1F",
#           "room": "3R",
#           "landmark": "tahrir square",
#           "additionalInformation": "talaat harb street"
#         },
#         "deviceSerialNumber": "Sofy123",
#         "syndicateLicenseNumber": "1000056",
#         "activityCode": "4620"
#       },
#       "buyer": {
#         "type": "F",
#         "id": "313717919",
#         "name": "taxpayer 1",
#         "mobileNumber": "+201020567462",
#         "paymentNumber": "987654"
#       },
#       "itemData": [
#         {
#           "internalCode": "880609",
#           "description": "Samsung A02 32GB_LTE_BLACK_DS_SM-A022FZKDMEB_A022 _ A022_SM-A022FZKDMEB",
#           "itemType": "GS1",
#           "itemCode": "037000401629",
#           "unitType": "EA",
#           "quantity": 35,
#           "unitPrice": 247.96000,
#           "netSale": 7810.74000,
#           "totalSale": 8678.60000,
#           "total": 8887.04360,
#           "commercialDiscountData": [
#             {
#               "amount": 867.86000,
#               "description": "XYZ"
#             }
#           ],
#           "itemDiscountData": [
#             {
#               "amount": 10,
#               "description": "ABC"
#             },
#             {
#               "amount": 10,
#               "description": "XYZ"
#             }
#           ],
#           "valueDifference": 20,
#           "taxableItems": [
#             {
#               "taxType": "T1",
#               "amount": 1096.30360,
#               "subType": "V009",
#               "rate": 14
#             }
#           ]
#         }
#       ],
#       "totalSales": 8678.60000,
#       "totalCommercialDiscount": 867.86000,
#       "totalItemsDiscount": 20,
#       "extraReceiptDiscountData": [
#         {
#           "amount": 0,
#           "description": "ABC"
#         }
#       ],
#       "netAmount": 7810.74000,
#       "feesAmount": 0,
#       "totalAmount": 8887.04360,
#       "taxTotals": [
#         {
#           "taxType": "T1",
#           "amount": 1096.30360
#         }
#       ],
#       "paymentMethod": "C",
#       "adjustment": 0,
#       "contractor": {
#         "name": "contractor1",
#         "amount": 2.563,
#         "rate": 2.3
#       },
#       "beneficiary": {
#         "amount": 20.569,
#         "rate": 2.147
#       }
#     }
#   ]
# }

json = chilkat.CkJsonObject()
json.UpdateString("receipts[0].header.dateTimeIssued","2022-06-13T00:34:00Z")
json.UpdateString("receipts[0].header.receiptNumber","{{receiptNumber1}}")
json.UpdateString("receipts[0].header.uuid","{{returnreceiptUuid1}}")
json.UpdateString("receipts[0].header.previousUUID","")
json.UpdateString("receipts[0].header.referenceUUID","{{receiptUuid1}}")
json.UpdateString("receipts[0].header.referenceOldUUID","")
json.UpdateString("receipts[0].header.currency","EGP")
json.UpdateInt("receipts[0].header.exchangeRate",0)
json.UpdateString("receipts[0].header.sOrderNameCode","sOrderNameCode")
json.UpdateString("receipts[0].header.orderdeliveryMode","")
json.UpdateNumber("receipts[0].header.grossWeight","6.58")
json.UpdateNumber("receipts[0].header.netWeight","6.89")
json.UpdateString("receipts[0].documentType.receiptType","R")
json.UpdateString("receipts[0].documentType.typeVersion","1.1")
json.UpdateString("receipts[0].seller.rin","674859545")
json.UpdateString("receipts[0].seller.companyTradeName","شركة الصوفى")
json.UpdateString("receipts[0].seller.branchCode","0")
json.UpdateString("receipts[0].seller.branchAddress.country","EG")
json.UpdateString("receipts[0].seller.branchAddress.governate","cairo")
json.UpdateString("receipts[0].seller.branchAddress.regionCity","city center")
json.UpdateString("receipts[0].seller.branchAddress.street","16 street")
json.UpdateString("receipts[0].seller.branchAddress.buildingNumber","14BN")
json.UpdateString("receipts[0].seller.branchAddress.postalCode","74235")
json.UpdateString("receipts[0].seller.branchAddress.floor","1F")
json.UpdateString("receipts[0].seller.branchAddress.room","3R")
json.UpdateString("receipts[0].seller.branchAddress.landmark","tahrir square")
json.UpdateString("receipts[0].seller.branchAddress.additionalInformation","talaat harb street")
json.UpdateString("receipts[0].seller.deviceSerialNumber","Sofy123")
json.UpdateString("receipts[0].seller.syndicateLicenseNumber","1000056")
json.UpdateString("receipts[0].seller.activityCode","4620")
json.UpdateString("receipts[0].buyer.type","F")
json.UpdateString("receipts[0].buyer.id","313717919")
json.UpdateString("receipts[0].buyer.name","taxpayer 1")
json.UpdateString("receipts[0].buyer.mobileNumber","+201020567462")
json.UpdateString("receipts[0].buyer.paymentNumber","987654")
json.UpdateString("receipts[0].itemData[0].internalCode","880609")
json.UpdateString("receipts[0].itemData[0].description","Samsung A02 32GB_LTE_BLACK_DS_SM-A022FZKDMEB_A022 _ A022_SM-A022FZKDMEB")
json.UpdateString("receipts[0].itemData[0].itemType","GS1")
json.UpdateString("receipts[0].itemData[0].itemCode","037000401629")
json.UpdateString("receipts[0].itemData[0].unitType","EA")
json.UpdateInt("receipts[0].itemData[0].quantity",35)
json.UpdateNumber("receipts[0].itemData[0].unitPrice","247.96000")
json.UpdateNumber("receipts[0].itemData[0].netSale","7810.74000")
json.UpdateNumber("receipts[0].itemData[0].totalSale","8678.60000")
json.UpdateNumber("receipts[0].itemData[0].total","8887.04360")
json.UpdateNumber("receipts[0].itemData[0].commercialDiscountData[0].amount","867.86000")
json.UpdateString("receipts[0].itemData[0].commercialDiscountData[0].description","XYZ")
json.UpdateInt("receipts[0].itemData[0].itemDiscountData[0].amount",10)
json.UpdateString("receipts[0].itemData[0].itemDiscountData[0].description","ABC")
json.UpdateInt("receipts[0].itemData[0].itemDiscountData[1].amount",10)
json.UpdateString("receipts[0].itemData[0].itemDiscountData[1].description","XYZ")
json.UpdateInt("receipts[0].itemData[0].valueDifference",20)
json.UpdateString("receipts[0].itemData[0].taxableItems[0].taxType","T1")
json.UpdateNumber("receipts[0].itemData[0].taxableItems[0].amount","1096.30360")
json.UpdateString("receipts[0].itemData[0].taxableItems[0].subType","V009")
json.UpdateInt("receipts[0].itemData[0].taxableItems[0].rate",14)
json.UpdateNumber("receipts[0].totalSales","8678.60000")
json.UpdateNumber("receipts[0].totalCommercialDiscount","867.86000")
json.UpdateInt("receipts[0].totalItemsDiscount",20)
json.UpdateInt("receipts[0].extraReceiptDiscountData[0].amount",0)
json.UpdateString("receipts[0].extraReceiptDiscountData[0].description","ABC")
json.UpdateNumber("receipts[0].netAmount","7810.74000")
json.UpdateInt("receipts[0].feesAmount",0)
json.UpdateNumber("receipts[0].totalAmount","8887.04360")
json.UpdateString("receipts[0].taxTotals[0].taxType","T1")
json.UpdateNumber("receipts[0].taxTotals[0].amount","1096.30360")
json.UpdateString("receipts[0].paymentMethod","C")
json.UpdateInt("receipts[0].adjustment",0)
json.UpdateString("receipts[0].contractor.name","contractor1")
json.UpdateNumber("receipts[0].contractor.amount","2.563")
json.UpdateNumber("receipts[0].contractor.rate","2.3")
json.UpdateNumber("receipts[0].beneficiary.amount","20.569")
json.UpdateNumber("receipts[0].beneficiary.rate","2.147")

# Adds the "Authorization: Bearer <access_token>" header.
http.put_AuthToken("<access_token>")

# resp is a CkHttpResponse
resp = http.PostJson3("https://domain.com/api/v1/receiptsubmissions","application/json",json)
if (http.get_LastMethodSuccess() == False):
    print(http.lastErrorText())
    sys.exit()

print(str(resp.get_StatusCode()))
print(resp.bodyStr())

Curl Command

curl -X POST
	-H "Authorization: Bearer <access_token>"
	-d '{
    "receipts": [
        {
            "header": {
                "dateTimeIssued": "2022-06-13T00:34:00Z",
                "receiptNumber": "{{receiptNumber1}}",
                "uuid": "{{returnreceiptUuid1}}",
                "previousUUID": "",
				"referenceUUID":"{{receiptUuid1}}",
                "referenceOldUUID": "",
                "currency": "EGP",
                "exchangeRate": 0,
                "sOrderNameCode": "sOrderNameCode",
                "orderdeliveryMode": "",
                "grossWeight": 6.58,
                "netWeight": 6.89
              
            },
            "documentType": {
                "receiptType": "R",
                "typeVersion": "1.1"
            },
            "seller": {
                "rin": "674859545",
                "companyTradeName": "شركة الصوفى",
                "branchCode": "0",
                "branchAddress": {
                    "country": "EG",
                    "governate": "cairo",
                    "regionCity": "city center",
                    "street": "16 street",
                    "buildingNumber": "14BN",
                    "postalCode": "74235",
                    "floor": "1F",
                    "room": "3R",
                    "landmark": "tahrir square",
                    "additionalInformation": "talaat harb street"
                },
                "deviceSerialNumber": "Sofy123",
                "syndicateLicenseNumber": "1000056",
                "activityCode": "4620"
            },
            "buyer": {
                "type": "F",
                "id": "313717919",
                "name": "taxpayer 1",
                "mobileNumber": "+201020567462",
                "paymentNumber": "987654"
            },
            "itemData": [
                {
                    "internalCode": "880609",
                    "description": "Samsung A02 32GB_LTE_BLACK_DS_SM-A022FZKDMEB_A022 _ A022_SM-A022FZKDMEB",
                    "itemType": "GS1",
                    "itemCode": "037000401629",
                    "unitType": "EA",
                    "quantity": 35,
                    "unitPrice":  247.96000 ,
                    "netSale":  7810.74000 ,
                    "totalSale":  8678.60000 ,
                    "total":  8887.04360 ,
                    "commercialDiscountData": [
                         {
                             "amount": 867.86000, 
                             "description": "XYZ"
                         }
                    ],
                    "itemDiscountData": [
                        {
                            "amount": 10,
                            "description":"ABC"
                        },
                        {
                            "amount": 10,
                            "description": "XYZ"
                        }
                    ],
                    "valueDifference": 20,
                    "taxableItems": [
                        {
                                "taxType": "T1",
                                "amount":  1096.30360 ,
                                "subType": "V009",
                                "rate": 14
                        }
                    ]
                }
            ],
            "totalSales": 8678.60000,
            "totalCommercialDiscount": 867.86000,
            "totalItemsDiscount": 20,
            "extraReceiptDiscountData": [
               {
                   "amount": 0,
                   "description": "ABC"
               }
            ],
            "netAmount": 7810.74000,
            "feesAmount": 0,
            "totalAmount": 8887.04360,
            "taxTotals": [
                    {
                        "taxType": "T1",
                        "amount": 1096.30360
                    }
            ],
            "paymentMethod": "C",
            "adjustment": 0,
            "contractor": {
                "name": "contractor1",
                "amount": 2.563,
                "rate": 2.3
            },
            "beneficiary": {
                "amount": 20.569,
                "rate": 2.147
            }
        }
    ]
    
}'
https://domain.com/api/v1/receiptsubmissions

Postman Collection Item JSON

{
  "name": "2.2. Submit Return Receipt",
  "request": {
    "auth": {
      "type": "bearer",
      "bearer": [
        {
          "key": "token",
          "value": "{{generatedAccessToken}}",
          "type": "string"
        }
      ]
    },
    "method": "POST",
    "header": [
    ],
    "body": {
      "mode": "raw",
      "raw": "{\r\n    \"receipts\": [\r\n        {\r\n            \"header\": {\r\n                \"dateTimeIssued\": \"2022-06-13T00:34:00Z\",\r\n                \"receiptNumber\": \"{{receiptNumber1}}\",\r\n                \"uuid\": \"{{returnreceiptUuid1}}\",\r\n                \"previousUUID\": \"\",\r\n\t\t\t\t\"referenceUUID\":\"{{receiptUuid1}}\",\r\n                \"referenceOldUUID\": \"\",\r\n                \"currency\": \"EGP\",\r\n                \"exchangeRate\": 0,\r\n                \"sOrderNameCode\": \"sOrderNameCode\",\r\n                \"orderdeliveryMode\": \"\",\r\n                \"grossWeight\": 6.58,\r\n                \"netWeight\": 6.89\r\n              \r\n            },\r\n            \"documentType\": {\r\n                \"receiptType\": \"R\",\r\n                \"typeVersion\": \"1.1\"\r\n            },\r\n            \"seller\": {\r\n                \"rin\": \"674859545\",\r\n                \"companyTradeName\": \"شركة الصوفى\",\r\n                \"branchCode\": \"0\",\r\n                \"branchAddress\": {\r\n                    \"country\": \"EG\",\r\n                    \"governate\": \"cairo\",\r\n                    \"regionCity\": \"city center\",\r\n                    \"street\": \"16 street\",\r\n                    \"buildingNumber\": \"14BN\",\r\n                    \"postalCode\": \"74235\",\r\n                    \"floor\": \"1F\",\r\n                    \"room\": \"3R\",\r\n                    \"landmark\": \"tahrir square\",\r\n                    \"additionalInformation\": \"talaat harb street\"\r\n                },\r\n                \"deviceSerialNumber\": \"Sofy123\",\r\n                \"syndicateLicenseNumber\": \"1000056\",\r\n                \"activityCode\": \"4620\"\r\n            },\r\n            \"buyer\": {\r\n                \"type\": \"F\",\r\n                \"id\": \"313717919\",\r\n                \"name\": \"taxpayer 1\",\r\n                \"mobileNumber\": \"+201020567462\",\r\n                \"paymentNumber\": \"987654\"\r\n            },\r\n            \"itemData\": [\r\n                {\r\n                    \"internalCode\": \"880609\",\r\n                    \"description\": \"Samsung A02 32GB_LTE_BLACK_DS_SM-A022FZKDMEB_A022 _ A022_SM-A022FZKDMEB\",\r\n                    \"itemType\": \"GS1\",\r\n                    \"itemCode\": \"037000401629\",\r\n                    \"unitType\": \"EA\",\r\n                    \"quantity\": 35,\r\n                    \"unitPrice\":  247.96000 ,\r\n                    \"netSale\":  7810.74000 ,\r\n                    \"totalSale\":  8678.60000 ,\r\n                    \"total\":  8887.04360 ,\r\n                    \"commercialDiscountData\": [\r\n                         {\r\n                             \"amount\": 867.86000, \r\n                             \"description\": \"XYZ\"\r\n                         }\r\n                    ],\r\n                    \"itemDiscountData\": [\r\n                        {\r\n                            \"amount\": 10,\r\n                            \"description\":\"ABC\"\r\n                        },\r\n                        {\r\n                            \"amount\": 10,\r\n                            \"description\": \"XYZ\"\r\n                        }\r\n                    ],\r\n                    \"valueDifference\": 20,\r\n                    \"taxableItems\": [\r\n                        {\r\n                                \"taxType\": \"T1\",\r\n                                \"amount\":  1096.30360 ,\r\n                                \"subType\": \"V009\",\r\n                                \"rate\": 14\r\n                        }\r\n                    ]\r\n                }\r\n            ],\r\n            \"totalSales\": 8678.60000,\r\n            \"totalCommercialDiscount\": 867.86000,\r\n            \"totalItemsDiscount\": 20,\r\n            \"extraReceiptDiscountData\": [\r\n               {\r\n                   \"amount\": 0,\r\n                   \"description\": \"ABC\"\r\n               }\r\n            ],\r\n            \"netAmount\": 7810.74000,\r\n            \"feesAmount\": 0,\r\n            \"totalAmount\": 8887.04360,\r\n            \"taxTotals\": [\r\n                    {\r\n                        \"taxType\": \"T1\",\r\n                        \"amount\": 1096.30360\r\n                    }\r\n            ],\r\n            \"paymentMethod\": \"C\",\r\n            \"adjustment\": 0,\r\n            \"contractor\": {\r\n                \"name\": \"contractor1\",\r\n                \"amount\": 2.563,\r\n                \"rate\": 2.3\r\n            },\r\n            \"beneficiary\": {\r\n                \"amount\": 20.569,\r\n                \"rate\": 2.147\r\n            }\r\n        }\r\n    ]\r\n    \r\n}",
      "options": {
        "raw": {
          "language": "json"
        }
      }
    },
    "url": {
      "raw": "{{apiBaseUrl}}/api/v1/receiptsubmissions",
      "host": [
        "{{apiBaseUrl}}"
      ],
      "path": [
        "api",
        "v1",
        "receiptsubmissions"
      ]
    }
  },
  "response": [
  ]
}