Confidentiality Notice: This document contains confidential information that is proprietary to Quaking Aspen Pvt. Ltd. (“Pando”). Distribution of this document or communication of its contents in part or whole to any third party is strictly prohibited without prior written consent from Pando.


Note: 
  • Fields marked in xx are applicable only to India
  • The terms "Transporter" and "Carrier" are used interchangeably and refer the same entity. A Carrier/Transporter refers to the entity to whom a Shipper awards contracts to haul freight.


Introduction 

The Integration Guide Document is a guideline for the Integration Partner to understand the requirements of Pando in relation to each of the Interfaces (Masters and Transactions). 



Interfaces 

The following are the Interfaces that would be required between the Client ERP and Pando:


MASTERS INTERFACES

Consignee Master

A Consignee can be defined as the 3rd-party entity or the unit which receives the shipments sent by the Shipper through a Transporter(Carrier). The Consignee master in Pando helps maintain all the Dealer/Retailers involved in placing Sales orders and act as the receiving location in Secondary movement. 

Direction of data flow

Client ERP to Pando

Requirements 


  • Creation of new consignee should flow to Pando - all required fields along with the consignee reference ID 

  • Update of details of existing consignee (even if select fields are updated) should flow to Pando - all fields required by
    Pando to flow; Pando will update all the fields for that consignee reference ID. Flow to be triggered only if Pando related fields are updated. 

  • Preceding zeros in Consignee reference ID (if any) should be removed at the middleware so that only the number is available on Pando

  • Consignees in all status should flow to Pando 






API Trigger

Suggested Trigger from Pando: Immediate data push to Pando on Create and Change

Payload - Json

 { 

"data": [ 

"name": "Edison Inc.", 

"reference_number": "8109862", 

"address": "240, Bayview Drive, Lucia, California", 

"city": "Lucia",

"state": "California", 

"pincode": "93920", 

"region": "13", 

"mobile_number": "6879525119", 

"email": "purchase@edisoninc.com", 

"customer_type": "Customer Site" 

Endpoint

<domain_name>/api/erp/consignee


Payload Fields and sample values

Field Mapping Definition

Mandatory

"name": "Edison Inc.", 

Customer master description

Yes

"reference_number": "8109862",

ERP Customer Code

Yes

"address": "240, Bayview Drive, Lucia, California",

ERP Customer address

Yes

"city": "Lucia",

ERP Customer master City name

Yes

“state”: “California”,

ERP Customer master state

Yes

“Pincode”: “93920”,

ERP Customer master Pin code

Yes

"region": "13",

North, South, East, West

Yes

"mobile_number": "6879525119",

Customer Mobile number

Yes

"email": "purchase@edisoninc.com",

Customer Email address

Yes

"customer_type": "Customer Site"

Always Customer Site

Yes



 

Material Master

A Material can be defined as the goods that a company procures and stores, or produces and sells. In Pando, the record of materials can be created and maintained under the Materials Master in the Data Manager. Materials in Pando have significance in the following areas:
  • In Manage, where trucking costs will be calculated based on SKU/Material units shipped 
  • In Optima, where the material properties are used as inputs for auto-creating shipments
  • In Pay, where invoices are calculated based on material properties, shortages, and damages. 

Direction of data flow

Client ERP to Pando

  • Only Materials which are required for Pando should flow

Requirements 


  • Creation of new material should flow to Pando - all required fields along with the material SKU code 
  • Update of details of existing material (even if select fields are updated) should flow to Pando - all fields required by Pando to flow; Pando will update all the fields for that material SKU code. Flow to be triggered only if Pando related fields are updated. 
  • Preceding zeros in Material SKU Code (if any) should be removed at the middle ware so that only the code is available on Pando.


API Trigger

Suggested Trigger from Pando: Immediate data push to Pando on Create and Change
Trigger Frequency: End of Day
Payload - JSON

  { 

"data": [ 

code": "2134814812010", 

"name": "1200MM HECTOR 500 BROWN", 

"bu": "",

"division": "10", 

"piece_box": "3",

"box_length": "63.800", 

"box_width": "32.100", 

"box_height": "22.500", 

"box_weight": "13.644", 

"box_volume": "0.542", 

"gst_exempt": "false"

Endpoint

<domain_name>/api/erp/consignee


Payload Fields and sample values

Field Mapping Definition

Mandatory

code": "2134814812010", 

ERP Material Code

Yes

"name": "1200MM HECTOR 500 BROWN",

ERP Material Description

Yes

 "bu": "",

Material category or anything else 

Client wants to have as a bifurcation

Yes

"division": "10", 

ERP Sales Division

Yes

"piece_box": "3",

Alternate Unit of Measure or No. of Each/Pieces packed inside one Box

Yes

"box_length": "63.800", 

Packing Length

Yes

"box_width": "32.100", 

Packing Width

Yes

"box_height": "22.500", 

Packing Height

Yes

"box_weight": "13.644", 

Box weight

Yes

"box_volume": "0.542", 

Box Volume

Yes

"gst_exempt": "false"

Material might have GST Exemption Eg: Salt = True

Yes


Note: Fields marked in xx are applicable only to India




 

Transporter(Carrier) Master

Direction of data flow

Client ERP to Pando

  • Each Carrier Reference ID is mapped to ONLY ONE GST Code (One GST Code, One GST Type - FCM/RCM and One GST Rate. If a Transporter is billing from multiple locations (multiple GST IDs / multiple GST Types, multiple GST Rate), then they are configured as multiple transporter IDs in the Client ERP. Client to check in the system and confirm.
  • State in Carrier Master and the State is Depot Master would determine the CGST+SGST or IGST billing. Hence it is important to have the spellings of the states to be matching across these masters. Client to check in the system and correct data.

Requirements 


  • Creation of new carrier should flow to Pando - all required fields along with the transporter reference ID

  • Update of details of existing carrier (even if select fields are updated) should flow to Pando - all fields required by Pando to flow; Pando will update all the fields for that transporter reference ID. Flow to be triggered only if Pando related fields are updated.

  • Preceding zeros in Carrier reference ID (if any) should be removed at the middle ware so that only the number is available on Pando.



API Trigger

Suggested Trigger from Pando: Immediate data push to Pando on Create and Change
Trigger Frequency: End of Day 
Payload - JSON

  

{

  "data

": [

    {

      "name": "VR Roadways Transportation",

      "reference_number": "940271",

      "city": "Galveston",

      "state": "Texas",

      "pincode": "77550",

      "contact_name": "VR Roadways Transportation",

      "contact_mobile": "6885086862",

      "contact_email": "tim.paine@vrroad.com",

      "pan_number": "AACCI5750L",

      "gst_type": "FCM",

      "percentage": "12"

    }

  ]

Endpoint

<domain_name>/api/erp/consignee


Payload Fields and sample values

Field Mapping Definition

Mandatory

"name": "VR Roadways Transportation",

Vendor master description (Transporter)

Yes

"reference_number": "940271",

ERP Vendor Code

Yes

"city": "Galveston",

ERP Vendor master City name

Yes

"state": "Texas",

ERP Vendor master state

Yes

"pincode": "77550",

ERP Vendor master Pin code

Yes

"contact_name": "VR Roadways Transportation", 

Vendor SPOC Name

Yes

"contact_mobile": "6885086862",

Vendor Mobile number

Yes

"contact_email": "tim.paine@vrroad.com",

Vendor Email address

Yes

"pan_number": "AACCI5750L", 

Vendor PAN number

Yes

"gst_type": "FCM", 

FCM = Forward Charge mechanism / RCM = Reverse Charge mechanism

Yes

"percentage": "12" 

GST%

Yes


Note: Fields marked in xx are applicable only to India




CORE FULFILMENT



 

Delivery Picklist

Direction of data flow

Client ERP to Pando

  • Delivery Picklist should have the list of materials to be moved from a source to a destination. This should be a Dispatchable Lot (Material confirmed post stock check of the Sales Order) used for planning the truck.
  • Based on the materials received and the constraints maintained on Pando, Optima would plan clubbing and prepare a Shipment Plan.

Requirements 


Client ERP should ensure that only Open Deliveries are sent to Pando

What are open delivery?

All Deliveries available in the Client ERP with following conditions: 

  • Deliveries for which a Shipment ID is BLANK should be sent to Pando. (this mapping is detailed in the Modified Picklist Interface below)


API Trigger

Client ERP to send all Open Deliveries at a given point in time (scheduled). Pando to schedule Optima Run at a scheduled point of time. Optima schedule to be checked based on time taken to load all deliveries from Client ERP to Pando.
Payload - JSON

  

"data": [

 {

"delivery_number": "5500580711", 

"mrp_price": "0.00", 

"material_code": "846315", 

"gate_ref_id": "A000-901", 

"pickup_reference_number": "A000-901", 

"division": "ZS", 

"quantity": "200", 

"quantity_unit": "KAR", 

"weight": "0.00", 

"weight_unit": "KG", 

"volume": "0.00", 

"volume_unit": "CFT", 

"ship_to": "A000-903", 

"sold_to": "A000-903", 

"type": "PRIMARY", 

"invoice_number": "", 

"invoice_amount": "", 

"category": "", 

"invoice_date": "", 

"line_item": "00001", 

"delivery_date": "2022/02/01"

"category_priority": "", 

}

]

}


Endpoint

<domain_name>/api/erp/delivery_picklist


Payload Fields and sample values

Field Mapping Definition

Mandatory

"delivery_number": "5500580711", 

ERP Delivery number (DO/OBD)

Yes
"mrp_price": "0.00", Price of material from the ERPYes
"material_code": "846315", 

ERP Material Code

Yes
"gate_ref_id": "A000-901",ERP Gate reference IDYes
"pickup_reference_number": "A000-901",

ERP Plant Code

Yes
"division": "ZS",ERP Sales Division or (Business Unit of the client)Yes
"quantity": "200",ERP Material QuantityYes
"quantity_unit": "KAR",ERP Material Unit of MeasureYes
"weight": "0.00",ERP Material weight multiplied by its QtyYes

"weight_unit": "KG", 

ERP material Weight unit of measure

Yes

"volume": "0.00", 

ERP Material volume multiplied by its Qty

Yes

"volume_unit": "CFT",
ERP Material volume unit of measure
Yes
"ship_to": "A000-903",
ERP Delivery Order's Unloading location customer code
Yes
"sold_to": "A000-903",

ERP Delivery Order Buyer's Cust code

Yes
"type": "PRIMARY",

Movement type: 

STO = Primary; 

O2C = Secondary; 

Vendor Purchase = Vendor; 

Customer returns = Returns; 

Foreign trade inbound = Imports; 

Foreign Trade outbound = Exports

Yes
"invoice_number": "",

Yes
"invoice_amount": "",

Yes
"category": "",
Material Category or Anything else the client decides on bifurcating materials
Yes
"invoice_date": "",

Yes
"line_item": "00001",
ERP Delivery line item number
Yes

"delivery_date": "2022/02/01"


Yes

"category_priority": "",

Prioritizing the material category. Can be either binary—high or low— or numerical— 1, 2, 3, 4, 5.Yes

 

Modified Picklist

Direction of data flow

Pando to Client ERP

  • Modified Picklist should have the list of materials to be moved from a source to a destination as given in the delivery picklist with a Shipment ID map.
  • Shipment ID is a 16 digit alpha-numeric code with hyphens (client-1012-O-1001)

Requirements 


  • Shipment ID mapped against the Delivery Number sent by Pando would also get mapped in the Client ERP against each Delivery Number
  • Manual Top-Ups
    • In case, user wants to add some material to the Shipment post Optima Run user would create new deliveries on Client ERP and manually enter the existing Shipment ID against that newly created Delivery.
  • Note: Shipment ID has to be made mandatory for Invoicing of a Delivery. For immediate period post Go-Live, if we are rolling out for select locations, it has to be made mandatory only for the locations where roll-out is happening.

  • Important: A single delivery would be created in such a way that it can be assigned a single truck, since delivery and invoice would be one-on-one relationship.
API TriggerAt creation of a Shipment. The data for each Shipment is sent as and when the Shipment Creation (post Optima Run) happens - Live. It is not scheduled.
Payload - JSON

 {

"data": [

{

"ModifiedPicklist": {

"ItemModifiedPicklist": [

{

"indent_id": "client-9078-O-748",

"type": "SECONDARY",

"vehicle_number": "MH 40 BG 6198",

"vehicle_type": "CR01",

"indication": "UPDATE or create or delete",

"transporter_code": "940058",

"created_date": "2020/10/1916:17",

“status”:”Indented”,

"truck_in_date_and_time": "2020/10/1918:16",

"depot_code": "9078",

"pickup_code": "9078",

"delivery_number": "8010510587",

"line_item_no": "000010",

"sku": "43MRGR4010",

"division": "GT",

"quantity": "1.00",

"quantity_unit": "KAR",

"N": "",

"weight": "5.75",

"weight_unit": "KG",

"volume": "0.46",

"volume_unit": "CFT",

"category": "50A",

"lr_number": "12345678",

"ship_to": "8109435",

"sold_to": "8109435"

}

]

}


Endpoint

Client to provide URL


Payload Fields and sample values

Field Mapping Definition

Mandatory

"indent_id": "client-9078-O-748",

Pando Shipment number

Yes
"type": "SECONDARY",Movement type: 
  • STO = Primary, 
  • O2C = Secondary; 
  • Vendor Purchase = Vendor; 
  • Customer returns = Returns; 
  • Foreign trade inbound = Imports; 
  • Foreign Trade outbound = Exports
Yes
"vehicle_number": "MH 40 BG 6198",Truck numberDepends on Client to capture data into ERP
"vehicle_type": "CR01",Truck Type
"indication": "UPDATE",Create; Update; DeleteYes
"transporter_code": "940058",ERP Vendor Code of CarrierDepends on Client to capture data into ERP
"created_date": "2020/10/1916:17",Shipment Created date
"truck_in_date_and_time": "2020/10/1918:16",Truck in Date and Time
"depot_code": "9078",ERP Plant Code

"pickup_code": "9078", 

ERP Plant Code (in case of gates)

"delivery_number": "8010510587", 

ERP Delivery Order number(DO/OBD)

"line_item_no": "000010",

ERP Delivery line item number

"sku": "43MRGR4010",

ERP Material Code

"division": "",

ERP Sales division

"quantity": "1.00",

ERP Material Quantity

"quantity_unit": "KAR",

ERP Material Unit of Measure

"N": "",

NA

"weight": "5.75",

ERP Material weight multiplied by its Qty

"weight_unit": "KG",

ERP material Weight unit of measure

"volume": "0.46",

ERP Material volume multiplied by its Qty

"volume_unit": "CFT",

ERP Material volume unit of measure

"category": "50A",

ERP Material category

"lr_number": "",

Lorry Receipt number

"ship_to": "8109435",

ERP Delivery Order's Unloading location customer code

"sold_to": "8109435"

ERP Delivery Order Buyer's Cust code



 

Material Invoice

Direction of data flow

Client ERP to Pando

  • Material Invoice creation in SAP flows to Pando against Pando Shipment ID
  • Cancellation of Material Invoice does not flow into Pando. If Material Invoice is cancelled and re-invoiced, the revised Material Invoice will flow into Pando, the final Material Invoice is updated on Pando. 
  • Material Invoice can be revised on Pando until Shipment reaches ‘Delivered’ status.

Requirements 


  • Shipment ID mapped against a Delivery Number is carried on to the Material Invoice.

  • Only Material Invoices where Shipment ID mapping is available is sent to Pando.

  • Materials Quantities for a Material SKU Code are aggregated at the following level and sent to Pando: 

  • Shipment + Material Invoice Number + Material SKU Code + MRP

  • This would ease the EPOD update on Pando

  • Material Invoice details for a Shipment should flow into Pando in full.
    Reason: Pando updates Material Invoice for a Shipment. Hence if Pando receives Material Invoice for a Shipment multiple times, Pando would update the Material Invoice received in the end.

  • Note: Presence of Shipment ID mapping has to be made mandatory for creation of a Material Invoice. For immediate period post Go-Live, if we are rolling out for select locations, it has to be made mandatory only for the locations where roll-out is happening. When Shipment ID is Blank; PGI Should not be made Possible. client to handle the Enhancement.



API Trigger

Since Material Invoice is required for LR Print & Truck-Out, Material Invoice should flow from Client ERP to Pando instantly.

Payload - JSON

 {

  "data": [

    {

      "indent_no": "client-9002-O-2397",

      "delivery_number": "8010508634",

      "mrp_price": "0.00",

      "material_code": "LED20WBT-GRDS65KFF",

      "material_taxable_amount": "675.26",

      "gate_ref_id": "9002",

      "division": "30",

      "quantity": "0.200",

      "quantity_unit": "BOX",

      "weight": "1.108",

      "weight_unit": "KG",

      "volume": "0.192",

      "volume_unit": "CFT",

      "ship_to": "1005",

      "sold_to": "1005",

      "type": "primary",

      "invoice_number": "3020900237",

      "invoice_amount": "0.00",

      "category": "30A",

      "invoice_date": "2020-10-15"

      

    },

  ]

}

Endpoint

<domain_name>/api/erp/material_invoice



Payload Fields and sample values

Field Mapping Definition

Mandatory

"indent_no": "client-9002-O-2397",      Pando Shipment NumberYes
"delivery_number": "8010508634",ERP Delivery order number (DO/OBD)Yes
"mrp_price": "1.00",ERP Material MRP pricex
"material_code": "LED20WBT-GRDS65KFF",ERP Material CodeYes
"material_taxable_amount": "675.26",ERP Material Tax amountx
"gate_ref_id": "9002",ERP Plant CodeYes
"division": "30",ERP Sales Division or any other field which client wants to bifurcate their salesYes
"quantity": "0.200",ERP Material invoice QuantityYes
"quantity_unit": "BOX",ERP Material Qty Unit of MeasureYes

"weight": "1.108",

ERP Material weight multiplied by its Qty

x

"weight_unit": "KG", 

ERP material Weight unit of measure

x

"volume": "0.192",

ERP Material volume multiplied by its Qty

x

"volume_unit": "CFT",

ERP Material volume unit of measure

x

"ship_to": "1005",

ERP Delivery Order's Unloading location customer code

Yes

"sold_to": "1005",

ERP Delivery Order Buyer's Cust code

Yes

"type": "primary",

Movement type: 

  • STO = Primary, 
  • O2C = Secondary; 
  • Vendor Purchase = Vendor; 
  • Customer returns = Returns; 
  • Foreign trade inbound = Imports; 
  • Foreign Trade outbound = Exports
Yes

"invoice_number": "3020900237",

ERP Material Invoice Number

Yes
"invoice_amount": "0.00",

ERP Material Invoice Number

x

"category": "30A",

ERP Material Category Group or Any other field

Yes

"invoice_date": "2020-10-15",

ERP Material Invoice Created date

Yes

"invoice_date": "2020-10-15",

ERP Material Invoice Created date

Yes

"cgst_rate": "6.00",

CGST Rate Percentage

x

"cgst_amount": "40.52",

CGST amount of that Material multiplied by its Qty

x

"sgst_rate": "6.00",

SGST Rate Percentage

x

"sgst_amount": "40.52",

SGST amount of that Material multiplied by its Qty

x

"igst_rate": "0.00",

IGST Rate Percentage

x

"igst_amount": "0.00",

IGST amount of that Material multiplied by its Qty

x

"hsn_code": "94054090"

HSN Code of that Material

x


Note: Fields marked in xx are applicable only to India




 

POD flow to Pando

Direction of data flow

ERP to Pando

  • When POD is done in Client ERP data flows to Pando.
  • To be discussed Client to identify what data has to be posted back to Pando.
  • Below Payload is available to post data packet form Client ERP to Pando.
  • Pando SPOC to check and enable the interface for the client based on movement type taking support from Pando Engineering and Prod Support.

Requirements 


POD has to be captured in Client ERP and then the data flows to Pando.



API Trigger

Client ERP would have its own Process of capturing POD – to be discussed with Client ERP Project / Business team to identify trigger point during BBP discussion.
Payload - JSON

  {

  "data": [

    {

      "indent_number": "MAR-R394-M-110",

      "ship_to": "D535",

      "sold_to": "D535",

      "material_invoice_number": "I1",

      "mrp": "100",

      "material_code": "mc120201020085321",

      "no_of_shortage": "2",

      "no_of_leakage": "2",

      "no_of_carton_damage": "2",

      "no_of_excess": "2",

      "no_of_damage": "2",

      "release_date": "2020/10/20 11:25:00"

    },

  ]

}

Endpoint

<domain_name>/api/erp/epod


Payload Fields and sample values

Field Mapping Definition

Mandatory

"indent_number": "MAR-R394-M-110",

x

Yes
"ship_to": "D535",xYes
"sold_to": "D535",xYes
"material_invoice_number": "I1",xYes
"mrp": "100",xYes
"material_code": "mc120201020085321",xYes
"no_of_shortage": "2",xYes
"no_of_leakage": "2",xYes
"no_of_carton_damage": "2",xYes

"no_of_excess": "2", 

xYes

"no_of_damage": "2", 

xYes

"release_date": "2020/10/20 11:25:00"

xYes

 

POD Flow to Client ERP

Direction of data flow

Pando to ERP

  • When POD is done in Pando and data flows to Client ERP.
  • To be discussed Client to identify what data has to be posted back to Client ERP.
  • Below Payload is available to post data packet from Pando to Client ERP.
  • Pando SPOC to check and enable the interface for the client based on movement type taking support from Pando Engineering and Prod Support.

Requirements 


POD has to be captured in Pando and then the data flows to Client ERP.



API Trigger

Client ERP would have its own Process of capturing POD – to be discussed with Client ERP Project / Business team to identify the Storage location of the POD data packet during BBP discussion.

Payload - JSON

{

  "transporter_code": "940260",

  "transporter_name": "STARLINE EXPRESS",

  "indent_no": "client-9053-O-419",

  "vehicle_type": "PTL",

  "vehicle_name": "OD 05 AQ 5650",

  "vehicle_description": "LTL",

  "truck_in": "2020/10/15 17:58",

  "truck_out": "2020/10/15",

  "truck_out_time": "17:58",

  "consignees": [

    {

      "ship_to": "8107815",

      "sold_to": "8107815",

      "expected_date": "2020/10/16 17:58",

      "reach_date": "",

      "release_date": "",

      "lr_uploaded": "No",

      "lr_attachment_links": "",

      "materials": [

        {

          "material_code": "LED26WBL-65KB22T",

          "material_invoice_number": "1820900142",

          "delivery_number": "8010508585",

          "no_of_shortage": 0,

          "no_of_leakage": 0,

          "no_of_excess": 0,

          "no_of_damage": 0,

          "no_of_carton_damage": 0,

          "lr_number": "23101"

        }

      ]

    }

  ]

}


Endpoint

To be provided by the client


Payload Fields and sample values

Field Mapping Definition

Dispatch trigger

Reach & Release trigger

LR Upload trigger

  "transporter_code": "940260",

ERP Vendor Code of Transporter(Carrier)

Yes

Yes

Yes

"transporter_name": "STARLINE EXPRESS",

ERP Vendor Name of Transporter(Carrier)YesYesYes

"indent_no": "client-9053-O-419",

Pando Shipment NumberYesYesYes
"vehicle_type": "PTL",Pando Vehicle TYPE
Yes
Yes
Yes

 "vehicle_name": "OD 05 AQ 5650",

Pando Vehicle Name

Yes
Yes
Yes

 "vehicle_description": "PTL",

FTL = Full Truck Load; PTL = Part Truck Load
Yes
Yes
Yes

"truck_in": "2020/10/15 17:58",

Pando Truck in Time and date

Yes
YesYes

"truck_out": "2020/10/15",

Pando Truck out date

YesYesYes

"truck_out_time": "17:58",

Pando Truck out time

YesYesYes

"ship_to": "8107815",

ERP Delivery Order's Unloading location customer code

YesYesYes
"sold_to": "8107815",ERP Delivery Order Buyer's Cust codeYesYesYes
"expected_date": "2020/10/16 17:58",Estimated date of DeliveryYesYesYes
"reach_date": "",Customer place Truck in datexYesYes

      "lr_uploaded": "No",

LR Receipt Uploaded Yes/No into Pando Portal

xxYes

"lr_attachment_links": "",

LR Receipt pando Url links

xxYes
"material_code": "LED26WBL-65KB22T",ERP Material CodeYesYesYes
"material_invoice_number": "1820900142",

ERP Material Invoice number

YesYesYes

"delivery_number": "8010508585",

ERP Delivery order number (DO/OBD)

YesYesYes

"no_of_shortage": 0,

Number of Shortage

xYesYes

 "no_of_leakage": 0,

Number of leakagexYesYes
"no_of_excess": 0,Number of ExcessxYesYes
"no_of_damage": 0Number of damagexYesYes
"no_of_carton_damage": 0,Number of Carton damagexYesYes
"lr_number": "23101"Lorry receipt numberYesYesYes

 

Truck In to Pando

Direction of data flow

ERP to Pando

Upon truck-in in client SAP, payload to be triggered to Pando to update truck in time stamp and also to change shipment status from Assigned / Reported to Arrived

Requirements 


Truck In done in ERP will be sent to pando to mark the truck arrival.


API Trigger
When truck in action is completed ERP to send this payload to Pando
Payload - JSON

{

data: [

{

indent_number: 

"PG-0987-M-0981", 

shipment_number: "9876233", 

pickup_ref_id: "gate_id",

}

]

}

Endpoint

<domain_name>-mitm.pando.in/inbound/api/transactions/order/truck-in



Payload Fields and sample values

Field Mapping Definition

Mandatory

indent_number: "PG-0987-M-0981",

x

Yes

shipment_number: "9876233",     

xYes

pickup_ref_id: "gate_id",    

xYes




Truck out to Pando

Direction of data flow

ERP to Pando

Upon truck-in in client SAP, payload to be triggered to Pando to update truck in time stamp and also to change Shipment status from Assigned / Reported to Arrived

Requirements 


Truck In done in ERP will be sent to Pando to mark the truck arrival.

API TriggerWhen truck in action is completed ERP to send this payload to Pando
Payload - JSON

{

data: [

{

indent_number: 

"PG-0987-M-0981", 

shipment_number: "9876233", 

pickup_ref_id: "gate_id",

}

]

}

Endpoint

<domain_name>-mitm.pando.in/inbound/api/transactions/order/truck-out


Payload Fields and sample values

Field Mapping Definition

Mandatory

indent_number: 

"PG-0987-M-0981", 

x

Yes
shipment_number: "9876233", 

x

Yes
pickup_ref_id: "gate_id",

x

Yes



PAYMENT INTERFACES


Freight Provision Posting

Direction of data flow

Pando to Client ERP

  • Freight Provision is created at a Shipment + Material Level based on Volumetric Weight of each Material / Weight of each Material.
  • Base Freight is apportioned Material-wise

Requirements 


Based on the input given by Pando, Freight Provision to be created on SAP.



Trigger

Instant Trigger of Freight Provision interface would be done on Truck out (Dispatched Status). But still this trigger point is debatable On the BBP discussion (Since Client ERP Payment process may vary)
Payload - JSON

{

  "movement_type": "1",

  "transporter_code": "940147",

  "transporter_name": "Aditiya logistic",

  "indent_number": "client-9002-O-12090",

  "total_indent_value": 720,

  "material": [

    {

      "material_invoice_number": "3021109039",

      "material_code": "LED10WBL-65KB22HB",

      "consignee_code": "8110051",

      "total_freight_provision": 720,

      "line_item_number": "000010",

      "oda_freight_charge": 0,

      "fixed_charge": 0,

      "additional_point_charge": 0,

      "miscellaneous_charge": 0,

      "loading_charge": 0,

      "unloading_charge": 0,

      "lr_charge": 0,

      "freight_charge": "720.00"

    }

  ]

}

Endpoint

Client to share URL


Payload Fields and sample values

Field Mapping Definition

Mandatory

"movement_type":"2",

Movement type values = primary=2, secondary=1, vendor=3, returns=4

Based on client need




"transporter_code":"C00860C00", 

ERP Vendor Code for Transporter

"transporter_name":"Freight Network Enterprise",    

ERP Vendor name of Transporter(Carrier)
"indent_number":"client-CUT-20",
Pando Shipment number
"total_indent_value":131267.12,
Total Shipment value (Base Freight)
"material_invoice_number":"81015678",
ERP material invoice number
"material_code":"95429120030",ERP material code
"consignee_code":"SM0140S00001",ERP Customer master code
"total_freight_provision":131267.12Total Freight (Base Freight)
"line_item_number": "000040",ERP material invoice line item number
"oda_freight_charge": "0.00",Out-of-delivery area charges
"fixed_charge": "0.00",Fixed charges by Transporter(Carrier)
"additional_point_charge": "0.00",Additional charges if any
"miscellaneous_charge": 0,miscellaneous
"loading_charge": "0.00",Loading
"unloading_charge": "0.00",Unloading
"lr_charge": "0.00",LR Charges
"freight_charge": "4000.00"Freight cost of this material based on its weight and volume




Freight Invoice Posting

Direction of data flow

Pando to Client ERP

  • Once Freight Invoice is raised by the carrier and approved by the Bill Checker on Pando, the Freight Invoice is posted to the Client ERP for payment.
  • Each Freight Invoice maybe a collection of multiple shipments.
  • Freight Invoice posting is created at a Invoice + Material Level based on Volumetric Weight of each Material / Weight of each Material <to be checked with Client and confirmed>
  • Final Freight Value is apportioned Material-wise

Requirements

  • Based on the input given by Pando, Freight Invoice gets posted on Client ERP.
  • Client to check detailed fields in Freight Invoice Posting Excel and confirm if all required fields are covered.
API TriggerAt approval of an Invoice. The data for each Invoice is sent as and when the Invoice is approved on Pando by the Bill Checker - Live. It is not scheduled.
Payload - JSON

{

"transporter_code": "940183",

"invoice_number": "11621BLL000066",

"invoice_total": 34430,

"invoice_date": "2021-12-17",

"tax_code": 1,

"tax_type": 1,

"tax_percentage": 12,

"hsn_sac": "996511",

"indents": [

{

"indent_id": “client-9082-O-1655",

"order_reference": "client-9082-O-1655",

"movement": 1,

"material_invoice_number": "1221106713",

"sku": "000002134814512510",

"source": "Indore",

"source_ref_id": "9082",

"gate_ref_id": "9082",

"destination": "Jaipur",

"destination_ref_id": "401618",

"destination_gate_ref_id": "",

"quantity": 87,

"weight": 1067.664,

"volume": 118.407,

"invoice_value_freight": 5238.89,

"invoice_value_detention": 0,

"invoice_value_defect": 0,

"consignee_category": "",

"line_item_number": "000080",

"oda_freight_charge": 0,

"fixed_charge": 0,

"additional_point_charge": 0,

"miscellaneous_charge": 0,

"loading_charge": 0,

"unloading_charge": 0,

"lr_charge": 0,

"sla_delay": 0,

"transit_delay": 0,

"penalty": 0,

"shortage": 0,

"damage": 0,

"carton_damage": 0,

"debit_adjustment": 0,

"extra_km_charge": 0,

"base_freight_charge": 5238.89,

"weight_unit": "kg",

"quantity_unit": "BOX",

"volume_unit": "cft"

}

]

}

Endpoint

Client to provide URL


Payload Fields and sample values

Field Mapping Definition

Mandatory

"transporter_code": "test",

ERP Vendor Code for Transporter

Depends on Client to capture what his ERP wants

"invoice_number": "POSTSEP02",

Pando Freight Invoice Number

"invoice_total": 5000,

Pando Freight invoice total
"invoice_date": "2020-09-02",
Pando Freight invoice date
"tax_code": 2,
tax_code: 1, // => 1 => FCM 2=> RCM
"tax_type": 1,
tax_type: 1, // 1 => IGST 2=> CGST & SGST,
"tax_percentage": 10,
GST %
"indent_id": "PVMI -1080-M-9",
Pando Shipment Number
"movement": 1,
1 primary ; 2 Secondary
"material_invoice_number":"81015678",ERP Material Invoice number
"sku": "RCEC18WS222",ERP Material Code
"source": "FARIDABAD Dummy4",Plant Description
"source_ref_id": "1080",ERP Plant Code
gate_ref_id": "1080",ERP Plant Code (If gate)
"destination": "New Delhi",Customer city
"quantity": 15.55,Material Qty
"weight": 1026,Material Weight
"volume": 65.332,Material Volume
"invoice_value_freight": 5000,SKU level Freight cost
"invoice_value_detention": 0,SKU level detention cost
"invoice_value_defect": 0SKU level defect cost



Payment Status

Direction of data flow

ERP to Pando

  • Once a freight invoice is paid, the SAP is updated with a Clearing Document Number against the Posting Document Number.
  • This Clearing Document Number should flow to Pando against the Freight Invoice as the Unique ID.
  • Pando would update the Invoice as ‘Paid’ once Pando receives a Clearing Document Number against a Freight Invoice raised.

Requirements 

  • No advance to be managed by Pando / Integration
  • No partial invoice payment to be managed by Pando / Integration
  • Pando should receive only Payment Status related to Pando, hence this has to be managed in the SAP by creating a separate Document Type for Pando related payments processed.
API Trigger

Schedule (D-1). All documents cleared yesterday will flow to Pando. Or Instant trigger to Pando as and when document is posted in Client ERP – debatable on BBP discussion since client Pay process would vary.

Payload - JSON

{

"type": "1",

"reference_number": "freight invoice#",

"document_number": "",

"updated_date": "18-07-2020",

"document_type": ""

}

Endpoint

<domain_name>/api/erp/material_invoice


Payload Fields and sample values

Field Mapping Definition

Mandatory

type: "1",

type : => 1 = Posted; 2 = On Hold; 3 = Paid; 

Yes

reference_number: "client-SAH-T1", 

Pando Shipment NumberYes

document_number: "MKPF-BELNR",

ERP Finance Document NumberYes

updated_date: "18-07-2020",

ERP Finance Document created date

Yes

document_type: ""

ERP Finance Document type

x