Outward Sales Posting API (For ERP Systems) (Beta)
Sales Order Posting
Outbound | POST | {Client’s URL}
Description
This API will share the Outward Order data with the ERP system with the details of sales orders which are completed in Increff Omni.
The API calls will be sent at a certain frequency from Increff system to the ERP system.
ERP system is advised to implement idempotency on messageId
and shipmentCode
fields.
One order can have multiple shipments. Once a shipment is invoiced, it will appear in all subsequent posting
Hence it should be ensured to capture the unique
shipmentCode
for idempotency at shipment level.
Postings can be triggered on below event types:
OUTWARD_ORDER_CREATE
OUTWARD_ORDER_CANCEL
OUTWARD_ORDER_PARTIAL_CANCEL
OUTWARD_ORDER_COMPLETE
OUTWARD_ORDER_SHIPMENT_DISPATCH
OUTWARD_ORDER_SHIPMENT_DELIVER
Request
{
"partnerCode": "1100013090",
"partnerLocationCode": "9",
"locationCode": "IN132",
"orderCode": "flipkart1234",
"parentOrderCode": "flipkart1221",
"isPriority": false,
"channelName": "flipkart",
"orderTime": "2020-10-16T20:22:28.000+00:00",
"orderType": "SO/STO/RTV",
"messageId": 12345,
"paymentMethod": "COD",
"eventType": "OUTWARD_ORDER_COMPLETE",
"eventTime": "2020-10-16T20:22:28.000+00:00",
"omsOrderId": 1234,
"turnAroundTime": "2020-10-16T20:22:28.000+00:00",
"virtualSkuDefinitions": [
{
"virtualParentChannelSkuId": "abc1",
"virtualParentBarcode": "bar1",
"virtualParentClientSkuCode": "VPClientSku1",
"childSkus": [
{
"channelSkuCode": "xyz",
"qty": 2,
"barcode": "bar23",
"clientSkuCode": "ClientSku1"
},
{
"channelSkuCode": "xyz1",
"qty": 1,
"barcode": "bar34",
"clientSkuCode" : null
}
]
}
],
"bundledSkuDefinitions": [
{
"bundledParentBarcode": "string",
"bundledParentChannelSkuId": "string",
"bundledParentClientSkuCode": "BPClientSku1",
"childSkus": [
{
"barcode": "string",
"clientSkuCode": "ClientSku1",
"channelSkuCode": "string",
"qty": 0
}
]
}
],
"isSplitRequired": "false",
"shippingCharges": 20,
"channelType": "ERP",
"orderItems": [
{
"orderItemCode": "item123",
"channelSkuCode": "1000889888",
"orderedQuantity": 2,
"cancelledQuantity": 1,
"customerCancelledQty": 1,
"sellerCancelledQty": 0,
"sellerRejectQty": 0,
"channelDiscount": 50,
"sellingPricePerUnit": 500,
"giftChargePerUnit": 10,
"sellerDiscount": 5,
"shippingCharge": 0,
"omsItemId": 123,
"barcode": "barcode1",
"clientSkuCode" : "ClientSku1",
"orderItemCustomAttributes": {
"attribute1": "Value1",
"attribute2": "Value2",
"attribute3": "Value3",
"attribute4": "Value4",
"attribute5": "Value5",
"attribute6": "Value6",
"attribute7": "Value7",
"attribute8": "Value8",
"attribute9": "Value9",
"channelMetadata": {
"totalCashOnDeliveryFee": 0.0,
"department": "HR",
"paymentMethod": "ccavenue",
"status": "processing"
},
"attribute10": "Value10"
}
}
],
"shipments": [
{
"shipmentCode": "UIfd897",
"locationCode": "loc1",
"generatedInvoiceId": "AR105044395",
"generatedInvoiceDate": "2020-10-16T20:22:28.000+00:00",
"externalInvoiceId": "FK56556GH45",
"externalInvoiceDate": "2020-10-16T20:22:28.000+00:00",
"invoiceDocumentUrl": "https://mybrand.com/invoice123.pdf",
"shippingLabelDocumentUrl": "https://mybrand.com/sldoc.pdf",
"irn": "a429746e55b844c9d2cb2a6f68997d1c2af29987cc834f3b52da45d1b0bc97c9",
"qrCode": "eyJhbGciPiJSUzI1NiIsImtpZCI6IkI4RDYzRUNCMThFQTVFNkY0QUKDM0Q1MjQ1NDNCMjI0NjY2OUIwRjgiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJ1TlkteTFqcVhtOUtyRDFTUlVPeUpHWnBzUGcifQ.eyJkYXRhIjoie1wiU2VsbGVyR3N0aW5cIjpcIjI5QUFPQ001MzI2SjFaWVwiLFwiQnV5ZXJHc3RpblwiOlwiMjlBQUJDUjE3MThFMVpMXCIsXCJEb2NOb1wiOlwiTUVhajIyLTIzLzUwNTlcIixcIkRvY1R5cFwiOlwiSU5WXCIsXCJEb2NEdFwiOlwiMTMvMTAvMjAyMlwiLFwiVG90SW52VmFsXCI6MTgxNy4wNCxcIkl0ZW1DbnRcIjoxLFwiTWFpbkhzbkNvZGVcIjpcIjYyMTE0MjkwXCIsXCJJcm5cIjpcImE0Mjk3NDZlMzRkODQ0YzlkMmNiMmE2ZjY4OTk3ZDFjMmFmMjM5ODdjYzgzNGYzYjUyZGE0NWQxYjBiYzk3YzlcIixcIklybkR0XCI6XCIyMDIyLTEwLTEzIDEyOjAxOjAwXCJ9IiwiaXNzIjoiTklDIn0.wvB7b15AnpdQdX_d0VZEyj9dL1qWDaOFPLRPrlV0V2XIu3cE3aQ3YtsWLnTnyrmtUlokpbkkE4folBQNhfzkCPlnODNxRPfpO-Kz9eyNpqcIEp-8TqvcDKXZ3PrBRqmNmner00AG_fVmmqT1HLiyKB2sqOnhqtCfQaQF-PGnqIOhal3PDxIMVt0WAtaQOIwwDA75dsjjnFHaZFPl9tFPR8A6Wrw4NhQH-7xhABKW3Z961a_rGmO6M3XP7jPHyYPW-QWMfTqwNXwxNdFgFePL5FloPiUipt2-g4FIplgm-YcN1xMvEQ2irAfzQwbnxi7UKz-jwOgM0Zy2BbburYgDvQ",
"shipmentStatus": "DELIVERED",
"awbNumber": "awb1",
"shipmentItems": [
{
"channelSkuCode": "100000789702",
"orderItemCode": "item123",
"netTaxAmountPerUnit": 60,
"netTaxAmountTotal": 120,
"baseSellingPricePerUnit": 500,
"baseSellingPriceTotal": 1000,
"sellingPricePerUnit": 560,
"sellingPriceTotal": 1120,
"quantity": 2,
"shippingChargePerUnit": 36,
"channelDiscount": 30,
"barcode" : "barcode1",
"clientSkuCode" : "ClientSku1",
"taxItems": [
{
"type": "SGST",
"rate": 6,
"taxPerUnit": 30,
"taxTotal": 60
},
{
"type": "CGST",
"rate": 6,
"taxPerUnit": 30,
"taxTotal": 60
}
]
},
{
"channelSkuCode": "100000734701",
"orderItemCode": "item124",
"netTaxAmountPerUnit": 60,
"netTaxAmountTotal": 120,
"baseSellingPricePerUnit": 500,
"baseSellingPriceTotal": 1000,
"sellingPricePerUnit": 560,
"sellingPriceTotal": 1120,
"quantity": 2,
"shippingChargePerUnit": 36,
"channelDiscount": 30,
"barcode": "barcode2",
"clientSkuCode": "ClientSkuCode",
"taxItems": [
{
"type": "SGST",
"rate": 6,
"taxPerUnit": 30,
"taxTotal": 60
},
{
"type": "CGST",
"rate": 6,
"taxPerUnit": 30,
"taxTotal": 60
}
]
}
]
}
],
"shipmentDetails": {
"length": 30.0,
"breadth": 20.0,
"height": 10.0,
"weight": 5.0,
"shipmentId": 12345,
"totalItemQuantity": 50,
"packboxDetailsList": [
{
"length": 15.0,
"breadth": 10.0,
"height": 8.0,
"weight": 2.0,
"boxId": 1,
"awbNumber": "AWB123",
"packBoxRemarks": "Fragile items",
"skuQuantityDataList": [
{
"globalSkuId": 987,
"clientSkuId": "SKU001",
"count": 10
},
{
"globalSkuId": 876,
"clientSkuId": "SKU002",
"count": 15
}
]
}
]
},
"shippingAddress": {
"name": "Customer's Name",
"line1": "Line Address 1",
"line2": "Line Address 2",
"line3": "Line Address 3",
"city": "city",
"state": "state",
"zip": "zip",
"country": "country",
"email": "abc@gmail.com",
"phone": "9999999999"
},
"billingAddress": {
"name": "customer",
"line1": "address line 1",
"line2": "address line 2",
"line3": "address line 3",
"city": "Bengaluru",
"state": "Karnataka",
"zip": "560076",
"country": "INDIA",
"email": "abc@gmail.com",
"phone": "9999999999"
},
"orderCustomAttributes": {
"attribute1": "Value1",
"attribute2": "Value2",
"attribute3": "Value3",
"attribute4": "Value4",
"attribute5": "Value5",
"attribute6": "Value6",
"attribute7": "Value7",
"attribute8": "Value8",
"attribute9": "Value9",
"attribute10": "Value10",
"channelMetadata": {
"totalCashOnDeliveryFee": 0.0,
"department": "HR",
"paymentMethod": "ccavenue",
"status": "processing"
},
"currency": "INR"
}
}
Â
Parameter Name | Data Type | Description | Mandatory |
| String | This represents the partner to which order was shipped to. If Order is of type SO/STO, this field represents customer’s code If Order is of type RTV, this field represents vendor’s code For Marketplaces Orders, this field will be having the erp channel name which is mapped in Increff Omni | Yes |
| String | This represents the partner’s location to which order was shipped to. If Order is of type SO/STO, this field represents customer location’s code If Order is of type RTV, this field represents vendor location’s code | Yes |
| Boolean | Flag to identify wether an order is of priority or not | Yes |
| String | Warehouse location from which order was fulfilled | Yes  |
| String | Unique code used by the channel to identify order | Yes |
| String | Parent order code which can be null or empty or some duplicate value across orders. | No |
| String | Channel name of the marketplace. | Yes |
| String | Time at which order was placed at the channel in UNIX (UTC) | Yes |
| String | Can be - SO(Sales Order)/STO(Stock Transfer Order)/RTV(Return To Vendor), RPO(Replacement) | Yes |
| Long | Unique Identifier of a notification (for De-duplication) | Yes |
| String | Possible values - COD, NCOD | Yes |
| String | Time of the event | Yes |
| String | Postings can be sent on the below triggers
| Yes |
| Long | Internal order id of OMS | No |
| ZonedDateTime | Turnaround time | No |
| Object[] | List of bundled sku definitions | No |
| String | Unique barcode of bundled Sku | No |
| String | Unique identifier of bundled Sku at channel | Yes |
| String | Unique identifier for bundled parent sku code at client’s end | no |
| Object[] | List of child SKUs | Yes |
| String | Unique barcode of child sku | No |
| String | Unique identifier for a child sku at client’s end. | No |
| String | Unique identifier of child sku at channel | No |
| Integer | child sku quantity | No |
| Object[] | List of order items | Yes |
| String | This is provided by the channel to uniquely identify each order item. | Yes |
| String | SKU code of order item | Yes |
| int | Ordered Quantity | Yes |
| int | cancelledQuantity | Yes |
| double | sellingPricePerUnit | Yes |
| Integer | Customer cancelled quantity | No |
| Integer | Seller cancelled quantity | No |
| Double | giftChargePerUnit | No |
| Double | Discount provided by channel per unit | No |
| Double | Discount provided by seller per unit | No |
| Long | Internal item id of OMS | No |
| String | Barcode to identify a product | no |
| String | Code to uniquely identify an sku at client’s end | no |
| Object | Custom attributes for order items | No |
| String | Custom attribute 1 | No |
| String | Custom attribute 2 | No |
| String | Custom attribute 3 | No |
| String | Custom attribute 4 | No |
| String | Custom attribute 5 | No |
| String | Custom attribute 6 | No |
| String | Custom attribute 7 | No |
| String | Custom attribute 8 | No |
| String | Custom attribute 9 | No |
| String | Custom attribute 10 | No |
| Object | These are additonal fields which can be sent to Increff system and can be used in subsequent Posting workflows | No |
| Object | Custom attributes for an order | No |
| Objecg | These are additonal fields which can be sent to Increff system and can be used in subsequent Posting workflows | No |
| String | Currency | No |
| String | Custom attribute 1 | No |
| String | Custom attribute 2 | No |
| String | Custom attribute 3 | No |
| String | Custom attribute 4 | No |
| String | Custom attribute 5 | No |
| String | Custom attribute 6 | No |
| String | Custom attribute 7 | No |
| String | Custom attribute 8 | No |
| String | Custom attribute 9 | No |
| String | Custom attribute 10 | No |
| String | QR code | No |
| Integer | increff OMS shipment id | NO |
| String | Status of the shipment | No |
| String | AWB number of shipment | No |
| Object[] | Items belonging to this shipment | Yes |
| String | SKU code of order item | Yes |
| String | This is provided by the channel to uniquely identify each order item. | Yes |
| Double | Per unit tax applicable for the SKU. | Yes |
| Double | Total tax applicable for the SKU | Yes |
| Double | Per unit base selling price of the SKU | Yes |
| Double | Total base selling price of SKU | Yes |
| Double | Per unit selling price of the SKU including tax | Yes |
| Double | Total selling price of the SKUÂ | Yes |
| Integer | Quantity of the sku in the shipment item. | Yes |
| Double | Shipping charge per unit for a shipment item | No |
| Double | Channel discount of item | No |
| String | Scannable code to uniquely identify an sku | no |
| String | Unique identifier for an sku at client’s end | no |
| Object | Distribution of tax with tax type | Yes |
| Object | Shipment details | No |
| Double | Length of the shipment | No |
| Double | Breadth of the shipment | No |
| Double | Height of the shipment | No |
| Double | Weight of the shipment | No |
| Long | Id to uniquely identify a shipment | No |
| Integer | Count of all the items in the shipment | No |
| Object[] | Details of pack boxes | No |
| Double | Length of the pack box in consideration | No |
| Double | Breadth of the pack box in consideration | No |
| Double | Height of the pack box in consideration | No |
| Double | Weight of the pack box in consideration | No |
| Long | Id to uniquely identify a box | No |
| String | AWB number of the box | No |
| String | Remarks for the pack box | No |
| Object[] | Details of skus in a box | No |
| Long | Id to uniquely identify a sku in increff’s system | No |
| String | Id to uniquely identify a sku on client’s end | No |
| Integer | Count of a particular sku in a box | No |
| String | Irn generated on Govt. portal while e-invoicing | No |
| String | QrCode generated on Govt. portal while e-invoicing | No |
| String | Possible values: {OPEN,CLOSED, INVOICED, MANIFESTED, DISPATCHED, CANCELLED, DELIVERED} | No |
| String | Type of tax applicable | Yes |
| Double | Tax rate for this tax type | Yes |
| Double | Tax applicable for this type of tax per unit | Yes |
| Double | Total tax applicable for this type of tax | Yes |
| Object | Shipping address of the customer | Yes |
| String | Name of customer | Yes |
| String | 1st line of customer’s address | Yes |
| String | 2nd line of customer’s address | No |
| String | 3rd line of customer’s address | No |
| String | City of customer | Yes |
| String | State of customer | Yes |
| String | ZIP/Pin code of customer | Yes |
| String | Country of customer | Yes |
| String | Email of customer | No |
| String | Phone Number of customer | No |
| Object | Billing address of the customer | Yes |
| String | Name of customer | Yes |
| String | 1st line of customer’s address | Yes |
| String | 2nd line of customer’s address | No |
| String | 3rd line of customer’s address | No |
| String | City of customer | Yes |
| String | State of customer | Yes |
| String | ZIP/Pin code of customer | Yes |
| String | Country of customer | Yes |
| String | Email of customer | No |
| String | Phone Number of customer | No |