Skip to end of banner
Go to start of banner

Ajio VMS Integration Flow

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

Overview

This document provides forward order life cycle flow for current Ajio Dropship Integration and new Ajio VMS Integration.

Forward Flow

Model 1 : E-invoicing through client’s ERP

Flow Diagram

Forward Order Flow

  1. Increff Omni will fetch B2C order details through Increff's VMS Integration Layer using date filters from Ajio Channel.

  2. Increff Omni will soft reserve the inventory. Increff Omni will send Acknowledgement Increff's VMS Integration Layer for that order. Increff’s VMS Integration layer will hold acknowledgment for a definite time (4 hours) and then will send it to Ajio. At this step Ajio will stop customer cancellations. Here 4 hours of window will enable customers to cancel the order.

  3. Increff's VMS Integration Layer will fetch B2B order details for which acknowledgment is sent.

  4. Increff's VMS Integration Layer will send B2B orders to client’s ERP via Increff’s ERP integration(Increff Omni Magic/Standard ERP Integration/ Custom Integration). Here orders will have the final quantity only for which invoice is to be created.

  5. Client’s ERP will make an invoice for the final quantity submitted for B2B PO and give it to Increff's VMS Integration Layer.

  6. Order will be released for picking.

  7. During packing, for invoiced quantities Increff’s VMS Integration layer will generate B2B invoice at Ajio and other quantities will be cancelled for that order. B2B invoice will be updated with QR code and IRN number and the same will be uploaded to Ajio channel. If some items are not found in the warehouse or damaged, the whole order needs to be cancelled as the E invoice is already generated in ERPs and Increff can not cancel it partially on Ajio side.

  8. B2C Invoice and Shipping labels will be fetched for each B2C order while packing in the warehouse.

  9. At the time of handover, Increff will make a Create Manifest call to Ajio to create a manifest for shipments at Ajio channel’s end.

  10. This will end the forward order life cycle.

Interfaces to be Implemented

For any client to go live on Ajio VMS model with Increff the following interfaces need to be implemented:

  • Article master creation - This api will be needed to automate tasks of uploading article master and listings against Omni Magic 2 channel. This step can be optional if in order posting Client sku id/EAN is allowed in place of some other variant id. If some other variant id is required in order posting then please refer to below document :https://increff.atlassian.net/wiki/spaces/IOSA

  • B2B order posting - from Increff’s ERP integration layer to client ERP. If the client’s ERP is integrated to ERP via Omni magic then they can refer to Order Posting from Omni section in the below document: https://increff.atlassian.net/wiki/spaces/IOSA

  • B2B Order Cancellation Posting - from Increff’s ERP integration layer to client’s ERP. If the client’s ERP is integrated via Omni magic then they can refer to the Order Posting from Omni section in the document below. Here only Complete cancellation (OUTWARD_ORDER_CANCEL) will be sent and not the partial cancellationhttps://increff.atlassian.net/wiki/spaces/IOSA

  • B2B Invoice details posting to Increff

Model 2 : E-invoicing through Increff (RMS)

Flow Diagram

Forward Order Flow

  1. Increff Omni will fetch B2C order details through Increff's VMS Integration Layer using date filters from Ajio Channel.

  2. Increff Omni will soft reserve the inventory. Increff Omni will send Acknowledgement Increff's VMS Integration Layer for that order. Increff’s VMS Integration layer will hold acknowledgement for definite time (4 hours) and then will send it to Ajio. At this step Ajio will stop customer cancellation. Here 4 hours of window will enable customers to cancel the order.

  3. Increff's VMS Integration Layer will fetch B2B order details for which acknowledgement is sent.

  4. After fetching B2B information, Increff’s VMS Integration layer will release the order for picking.

  5. Here if items are not found or damaged, order can be partially canceled.

  6. During packing, B2B invoice will be created by Increff’s RMS. The same will be generated, updated and uploaded to Ajio.

  7. B2C Invoice and Shipping labels will be fetched for each B2C order while packing in the warehouse.

  8. At the time of handover ,Increff will make a Create Manifest call to create a manifest for shipments at Ajio channel’s end.

  9. This will end the forward order life cycle.

Manual Tasks to be done by Client

  1. Clients can download reports for E-invoices generated by RMS in a defined date range on the RMS UI. They can use this for reference or manually upload it to their ERPs.

Return Flow

There are two return models supported via Ajio VMS Integration.

  1. Credit Note Model

  2. RSI Model

Model 1 : Credit Note

Return Order Flow - Credit note via ERP

  1. Increff’s VMS Integration layer will receive a return expectation from Ajio against a Forward order number. This can be a customer return or RTO. In case a warehouse has not received return expectation from Ajio for an RTO, Increff’s VMS Integration layer can generate an RTO request to Ajio through Ajio VMS RTO Generation after which Increff’s VMS Integration layer will receive return expectation as RTO in some time. 

  2. This return will be processed in the warehouse and qc updates will be shared with Ajio through Increff’s VMS Integration layer.

  3. Return order postings - from Increff’s ERP Integration layer to client’s ERP. If a client's ERP is integrated via Omni magic 2 they can refer to the Return Order Posting section in the document below. Here Shipment Array will come empty: [].https://increff.atlassian.net/wiki/spaces/IOSA

  4. Credit note posting to Increff - After this client’s ERP has to generate credit note and share with Increff’s VMS integration layer via Ajio VMS Credit Note API Interface. This will send credit note information to Ajio.

  5. Any Qc bad or missing items have to be handled offline with Ajio. Qc updates will be shared through integration but settlements should be done manually.

Return Order Flow - Credit note via RMS

  1. Increff’s VMS Integration layer will receive a return expectation from Ajio against a Forward order number. This can be a customer return or RTO. In case a warehouse has not received return expectation from Ajio for an RTO, Increff’s VMS Integration layer can generate an RTO request to Ajio through Ajio VMS RTO Generation after which Increff’s VMS Integration layer will receive return expectation as RTO in some time. 

  2. This return will be processed in the warehouse and qc updates will be shared with Ajio through Increff’s VMS Integration layer.

  3. After Return Processing, Credit note will be generated by RMS and will be shared to Ajio.

  4. Any Qc bad or missing items have to be handled offline with Ajio. Qc updates will be shared through integration but settlements should be done manually.

Model 2 : RSI Flow

Return Order Flow

  1. Increff’s VMS Integration layer will receive a return expectation from Ajio against a Forward order number. This can be a customer return or RTO. In case a warehouse has not received return expectation from Ajio for an RTO, Increff’s VMS Integration layer can generate an RTO request to Ajio through Ajio VMS RTO Generation after which Increff’s VMS Integration layer will receive return expectation as RTO in some time. 

  2. This return will be processed in the warehouse and qc updates will be shared with Ajio through Increff’s VMS Integration layer.

  3. Ajio will generate RSI documents and Increff’s VMS Integration layer will pull those documents. Increff’s VMS Integration layer will mark this RSI document as ‘ACCEPTED’ to Ajio. Here one RSI document can contain some partial return items and return items from different returns. It can be possible that return items which were not received yet. We have to mark that also as ACCEPTED because of throttling restrictions at Ajio. Here one possibility is Return order is not processed yet. Still RSI will be marked ACCEPTED.

  4. Clients can get RSI reports from Ajio VMS Reports UI. Here they can get a return item level report using which they have to manually upload in their ERP to create Inward PO and do GRN against it.

  5. Any Qc bad or missing items have to be handled offline with Ajio. Qc updates will be shared through integration but settlements should be done manually.

API Details

B2B Invoice Details Posting

Clients need to implement this functionality in their ERP side

Production Endpoint: 

https://assure-proxy.increff.com/ajio-vms/b2bInvoice/posting

Staging Endpoint: 

https://staging-oltp.increff.com/ajio-vms/b2bInvoice/posting

Headers

authUsername:

authPassword:

Method

POST

Payload

{
    "invoiceNumber": "9200006652",
    "invoiceDate": "2020-10-16T20:22:28.000+05:30",
    "forwardPurchaseOrder": "4042640641",
    "isPartialInvoice": true,
    "invoiceLineEntries": [
        {
            "channelSkuCode": "460491724004",
            "quantity": 1
        },
        {
            "channelSkuCode": "460491724006",
            "quantity": 2
        },
        {
            "channelSkuCode": "460491724008",
            "quantity": 1
        }
    ],
    "qrCode": "String",
    "irnNumber": "String",
    "invoicePdf": "Base 64 encoded byte stream",
    "invoiceURL": "Invoice PDF public URL"
}

Response

Http Status Code: 200 [Success]

Payload Details 

Parameter Name

Data Type

Description

Mandatory

invoiceNumber

String

Invoice number on Invoice Document

yes

invoiceDate

ZonedDateTime

Invoice date and time with zone information

yes

forwardPurchaseOrder

String

Purchase Order Number

yes

qrCode

String

QR Code

yes

irnNumber

String

IRN number

yes

isPartialInvoice

Boolean

If ERP has created partial invoice for complete order then it will be true

yes

invoiceLineEntries

List

This is required only in case there can be multiple invoices against one PO.

no

channelSkuCode

String

This will be the SKU code sent during Ajio order posting.

no

quantity

Integer

Sku quantity that is invoiced

no

invoicePdf

String

Base 64 encoded byte stream

Any one of these is mandatory.

invoiceURL

String

Invoice PDF public URL

Credit Note Details Posting

Clients need to implement this functionality in their ERP side

Production Endpoint: 

https://assure-proxy.increff.com/ajio-vms/creditNote/posting

Staging Endpoint: 

https://staging-oltp.increff.com/ajio-vms/creditNote/posting

Headers

authUsername:

authPassword:

Method

POST

Payload

{
    "creditNoteNumber": "11000",
    "returnOrderId": "11000",
    "ackNumber": "11000",
    "ackDate": "2020-10-16T20:22:28.000+05:30",
    "irnNumber": "1",
    "signedQrCode": "string",
    "signedCreditNotePdf": "Base 64 encoded String",
    "creditNotePdfUrl": "string"
}

Response

Http Status Code: 200 [Success]

If Status Code is other than 200 then Client has to retry that particular call

Payload Details 

Parameter Name

Data Type

Description

Mandatory

creditNoteNumber

String

Credit note number 

yes

returnOrderId

String

Return Order Id

yes

ackNumber

String

Ack Number

no

ackDate

ZonedDateTime

Ack date and time with zone information

no

signedQrCode

String

QR Code

yes

irnNumber

String

IRN number

yes

signedCreditNote

String

Base 64 encoded byte stream

Any one of these is mandatory

creditNoteUrl

String 

Credit Note Pdf public URL

RSI Fetching

Clients need to implement this functionality in their ERP side

Production Endpoint: 

https://assure-proxy.increff.com/ajio-vms/rsi

Staging Endpoint: 

https://staging-oltp.increff.com/ajio-vms/rsi

Headers

authUsername:

authPassword:

Method

GET

Request

Query Parameters

Parameter Name

Data Type

Description

Mandatory

rsiDateFrom

ZonedDateTime

Date to fetch RSI from.

yes

rsiDateTo

ZonedDateTime

Date to fetch RSI to.

yes

Note:-rsiDateFrom and rsiDateTo should not be more than 2 days apart.

Produces

  • application/json

Sample Response:

{
    "returnSalesInvoices": [
        {
            "rsiNumber": "3100000374",
            "createdAt": "2020-10-16T20:22:28.000+00:00",
            "rsiPdfUrl": "https://storage.googleapis.com/dev-oltp-nextscm-com/ARVIND/RSI/257e46e4-8ad3-4f77-98ff-d09b2b9bb904.pdf",
            "billingNo": "33111150000047",
            "irnNumber": "c46a3047f428c7ee8e29954a5bbaa82a2170879db",
            "qrCode": "eyJhbGciOiJSUzI1NiIsImtpZCI6IkVEQzU3REUxMzU4",
            "rsiLines": [
                {
                    "returnOrderCode": "RT11381010",
                    "clientSkuCode": "8903537740123",
                    "hsn": "61091000",
                    "quantity": 2,
                    "rsiLineAmount": 2077.2,
                    "totalLineTax": 0,
                    "taxSummary": {
                        "cessAmount": 0,
                        "cessPercentage": 0,
                        "cgstAmount": 0,
                        "cgstPercentage": 0,
                        "igstAmount": 0,
                        "igstPercentage": 0,
                        "sgstAmount": 0,
                        "sgstPercentage": 0,
                        "tcsAmount": 0,
                        "tcsPercentage": 0,
                        "gstAmount": 0
                    }
                }
            ]
        }
    ]
}

RSI Flow

Key Points

  • Along with the RSI, customer code and plant/store code will also be provided.

  • Line items can be identified by EAN in Return Sales Posting as well in RSI. Also return order id will be sent with return order posting as well as in RSI.

RSI Payload

{
    "returnSalesInvoices": [
        {
            "rsiNumber": "3100000374",
            "locationCode": "MI50",
            "channelName": "120997",
            "createdAt": "2020-10-16T20:22:28.000+00:00",
            "rsiPdfUrl": "https://storage.googleapis.com/dev-oltp-nextscm-com/ARVIND/RSI/257e46e4-8ad3-4f77-98ff-d09b2b9bb904.pdf",
            "billingNo": "33111150000047",
            "irnNumber": "c46a3047f428c7ee8e29954a5bbaa82a2170879db",
            "qrCode": "eyJhbGciOiJSUzI1NiIsImtpZCI6IkVEQzU3REUxMzU4",
            "rsiLines": [
                {
                    "returnOrderCode": "RT11381010",
                    "clientSkuCode": "8903537740123",
                    "hsn": "61091001",
                    "quantity": 2,
                    "rsiLineAmount": 2078.2,
                    "totalLineTax": 0,
                    "taxSummary": {
                        "cessAmount": 0,
                        "cessPercentage": 0,
                        "cgstAmount": 0,
                        "cgstPercentage": 0,
                        "igstAmount": 0,
                        "igstPercentage": 0,
                        "sgstAmount": 0,
                        "sgstPercentage": 0,
                        "tcsAmount": 0,
                        "tcsPercentage": 0,
                        "gstAmount": 0
                    }
                },
                {
                    "returnOrderCode": "RT11381010",
                    "clientSkuCode": "8903537740124",
                    "hsn": "61091000",
                    "quantity": 1,
                    "rsiLineAmount": 2077.2,
                    "totalLineTax": 0,
                    "taxSummary": {
                        "cessAmount": 0,
                        "cessPercentage": 0,
                        "cgstAmount": 0,
                        "cgstPercentage": 0,
                        "igstAmount": 0,
                        "igstPercentage": 0,
                        "sgstAmount": 0,
                        "sgstPercentage": 0,
                        "tcsAmount": 0,
                        "tcsPercentage": 0,
                        "gstAmount": 0
                    }
                }
            ]
        }
    ]
}

Return Order Posting Payload

{
    "partnerCode": "AJIO",
    "locationCode": "MI50",
    "messageId": 5973686,
    "partnerLocationCode": "9",
    "paymentMethod": "COD",
    "channelName": "120997",
    "returnOrderCode": "RT11381010",
    "forwardOrderCode": "9271b307-b4e3-4d1c-913a-84cab356901f",
    "returnCreationTime": "2022-02-21T16:24:19.000+00:00",
    "items": [
        {
            "itemCode": "22417763293495800_1",
            "returnOrderItemStatus": "RECEIVED",
            "returnReason": "SIZE_FIT_ISSUES",
            "channelSkuCode": "8903537740123",
            "sellingPricePerUnit": 899.0,
            "qcStatus": "PASS",
            "qcReason": null,
            "imageUrls": [],
            "virtualSkuChildItemReturnPostings": null
        },
        {
            "itemCode": "22417763293495800_2",
            "returnOrderItemStatus": "RECEIVED",
            "returnReason": "SIZE_FIT_ISSUES",
            "channelSkuCode": "8903537740123",
            "sellingPricePerUnit": 899.0,
            "qcStatus": "PASS",
            "qcReason": null,
            "imageUrls": [],
            "virtualSkuChildItemReturnPostings": null
        },
        {
            "itemCode": "22417763293495801_4",
            "returnOrderItemStatus": "RECEIVED",
            "returnReason": "SIZE_FIT_ISSUES",
            "channelSkuCode": "8903537740124",
            "sellingPricePerUnit": 899.0,
            "qcStatus": "PASS",
            "qcReason": null,
            "imageUrls": [],
            "virtualSkuChildItemReturnPostings": null
        }
    ],
    "shipments": [
        {
            "shipmentCode": "9271b307-b4e3-4d1c-913a-84cab356901f",
            "generatedInvoiceId": "5092625",
            "generatedInvoiceDate": "2022-02-16T04:39:21.000+00:00",
            "invoiceDocumentUrl": "https://storage.googleapis.com/arvindcore-oltp-increff-com/1100007455/INVOICE_AND_SHIPPING_LABEL/e71fd0c9-17d4-4748-85b0-07aae89274f5.pdf",
            "shippingLabelDocumentUrl": "https://storage.googleapis.com/arvindcore-oltp-increff-com/1100007455/INVOICE_AND_SHIPPING_LABEL/e71fd0c9-17d4-4748-85b0-07aae89274f5.pdf",
            "externalInvoiceId": "FACHZU2200151698",
            "externalInvoiceDate": "2022-02-15T12:00:00.000+00:00",
            "shipmentItems": [
                {
                    "channelSkuCode": "8905034826997",
                    "orderItemCode": "22417763293495800",
                    "channelDiscount": null,
                    "netTaxAmountPerUnit": 42.8,
                    "netTaxAmountTotal": 42.8,
                    "baseSellingPricePerUnit": 856.2,
                    "baseSellingPriceTotal": 856.2,
                    "sellingPricePerUnit": 899.0,
                    "sellingPriceTotal": 899.0,
                    "quantity": 1,
                    "shippingChargePerUnit": 0.0,
                    "taxItems": [
                        {
                            "type": "IGST",
                            "rate": 5.0,
                            "taxPerUnit": 42.8,
                            "taxTotal": 42.8
                        }
                    ]
                }
            ]
        }
    ],
    "shippingAddress": {
        "name": "Shiva ",
        "line1": "reddy pally moinabad ranga reddy 501504",
        "line2": "Unamed road Reddy pally",
        "line3": "Reddy pally",
        "phone": null,
        "email": null,
        "city": "Hyderabad",
        "state": "ANDHRA PRADESH",
        "zip": "501504",
        "country": "IN"
    },
    "billingAddress": {
        "name": "Shiva ",
        "line1": "reddy pally moinabad ranga reddy 501504",
        "line2": "Unamed road Reddy pally",
        "line3": "Reddy pally",
        "phone": null,
        "email": null,
        "city": "Hyderabad",
        "state": "ANDHRA PRADESH",
        "zip": "501504",
        "country": "IN"
    },
    "virtualSkuDefinitions": null
}

  • No labels