Create Json for E-Invoice ( Indian Government format )

 In this article, Am sharing a code to generate JSON from the database. Method Write_json will have 3 params

 1. connectionString: Your Connection string

2. DownloadPath: Json download Path ( Example : F:\Temp\Json )

3. T_Table_Name: table or view name 

Ref link: https://einv-apisandbox.nic.in/

Note: don't change the column name. I defined it bcoz it was mention in the government document ( easy to handle )

        public void Write_json(string connectionString, string DownloadPath, string T_Table_Name)

        {

            string FileName = "";

            List<string> InvoiceNo = new List<string>();

            StringBuilder sb1 = new StringBuilder();

            sb1.Append("log : " + DateTime.Now.ToString());

            WriteLog("ConsoleLog", String.Format("{0} @ {1}", "Log is Created at", DateTime.Now));

            try

            {

                AutoSQL autoSQL = new AutoSQL();

                //autoSQL.Loop_Pending_Script( connectionString, MasterTablePath, ScriptPath);


                DataTable EInvoice = AutoSQL.GetDataTable(connectionString, "select distinct SellerDtls_Gstin,SellerDtls_LglNm,SellerDtls_TrdNm, " +

                " SellerDtls_Addr1, SellerDtls_Addr2, SellerDtls_Loc, SellerDtls_Pin, SellerDtls_Stcd, SellerDtls_Ph, SellerDtls_Em, Buyer_ErDtls_Gstin, Buyer_ErDtls_LglNm, Buyer_ErDtls_TrdNm, Buyer_ErDtls_Pos, Buyer_ErDtls_Addr1, " +

                " Buyer_ErDtls_Addr2, Buyer_ErDtls_Loc, Buyer_ErDtls_Pin, Buyer_ErDtls_Stcd, Buyer_ErDtls_Ph, Buyer_ErDtls_Em, DocDtls_Typ, DocDtls_No, DocDtls_Dt, ExpDtls_ShipBNo, ExpDtls_ShipBDt, ExpDtls_Port, ExpDtls_RefClm, " +

                " ExpDtls_ForCur, ExpDtls_CntCode, ExpDtls_ExpDuty, TranDtls_TaxSch, TranDtls_SupTyp, TranDtls_IgstOnIntra, TranDtls_RegRev, TranDtls_EcmGstin, ValDtls_AssVal, ValDtls_IgstVal, ValDtls_CgstVal, ValDtls_SgstVal, " +

                " ValDtls_CesVal, ValDtls_StCesVal, ValDtls_Discount, ValDtls_OthChrg, ValDtls_RndOffAmt, ValDtls_TotInvVal, Ship_Gstin,Ship_LglNm,Ship_TrdNm,Ship_Addr1,Ship_Addr2,Ship_Loc,Ship_Pin,Ship_Stcd,Ewb_TransId,Ewb_TransName,Ewb_TransMode,Ewb_Distance,Ewb_TransDocNo,Ewb_TransDocDt,Ewb_VehNo,Ewb_VehType,DispDtls_Nm,DispDtls_Addr1, DispDtls_Addr2,  DispDtls_Loc,  DispDtls_Pin,  DispDtls_Stcd  from " + T_Table_Name + " where JSONFlag='Y' and Status = 'A' ");

                List<EInvoice> EListitemList = new List<EInvoice>();



               



                WriteLog("ConsoleLog", String.Format("{0} @ {1}", "Log is itemList at", DateTime.Now));

                WriteLog("ConsoleLog", String.Format("{0} @ {1}", "Log is itemList at", EInvoice.Rows.Count));


                ItemList[] itemList = new ItemList[EInvoice.Rows.Count];

                if (EInvoice.Rows.Count > 0)

                {

                    WriteLog("ConsoleLog", String.Format("{0} @ {1}", "", "160"));

                    for (int j = 0; j < EInvoice.Rows.Count; j++)

                    {

                        WriteLog("ConsoleLog", String.Format("{0} @ {1}", "", "163"));

                        TranDtls tranDtls = new TranDtls();

                        DocDtls docDtls = new DocDtls();

                        Seller_Dtls SellerDtls = new Seller_Dtls();

                        Buyer_Dtls BuyerrDtls = new Buyer_Dtls();

                        Shipping_Dtls ShipDtls = new Shipping_Dtls();

                        ValDtls valDtls = new ValDtls();

                        EwbDtls Ewb_Dtls = new EwbDtls();

                        ExpDtls expDtls = new ExpDtls();

                        Disp_Dtls DispDtls = new Disp_Dtls();

                        EInvoice eInvoice = new EInvoice();

                        eInvoice.Version = "1.1";

                        InvoiceNo.Add(EInvoice.Rows[j]["DocDtls_No"].ToString());

                        docDtls.Typ = EInvoice.Rows[j]["DocDtls_Typ"].ToString();

                        FileName = EInvoice.Rows[0]["DocDtls_No"].ToString();

                        docDtls.No = EInvoice.Rows[j]["DocDtls_No"].ToString();

                        docDtls.Dt = EInvoice.Rows[j]["DocDtls_Dt"].ToString();

                        eInvoice.DocDtls = docDtls;

                        tranDtls.TaxSch = EInvoice.Rows[j]["TranDtls_TaxSch"].ToString();

                        tranDtls.SupTyp = EInvoice.Rows[j]["TranDtls_SupTyp"].ToString();

                        tranDtls.IgstOnIntra = EInvoice.Rows[j]["TranDtls_IgstOnIntra"].ToString();

                        tranDtls.RegRev = EInvoice.Rows[j]["TranDtls_RegRev"].ToString();

                        tranDtls.EcmGstin = string.IsNullOrEmpty(EInvoice.Rows[j]["TranDtls_EcmGstin"].ToString()) ? null : EInvoice.Rows[j]["TranDtls_EcmGstin"].ToString(); 

                        eInvoice.TranDtls = tranDtls;


                        SellerDtls.Gstin = EInvoice.Rows[j]["SellerDtls_Gstin"].ToString();

                        SellerDtls.LglNm = EInvoice.Rows[j]["SellerDtls_LglNm"].ToString();

                        SellerDtls.TrdNm = EInvoice.Rows[j]["SellerDtls_TrdNm"].ToString();

                       

                        SellerDtls.Addr1 = EInvoice.Rows[j]["SellerDtls_Addr1"].ToString();

                        SellerDtls.Addr2 = EInvoice.Rows[j]["SellerDtls_Addr2"].ToString();

                        SellerDtls.Loc = EInvoice.Rows[j]["SellerDtls_Loc"].ToString();

                        SellerDtls.Pin = int.Parse(CheckNull(EInvoice.Rows[j]["SellerDtls_Pin"].ToString()));

                        SellerDtls.Stcd = EInvoice.Rows[j]["SellerDtls_Stcd"].ToString();

                        SellerDtls.Ph = EInvoice.Rows[j]["SellerDtls_Ph"].ToString();

                        SellerDtls.Em = string.IsNullOrEmpty(EInvoice.Rows[j]["SellerDtls_Em"].ToString()) ? null : EInvoice.Rows[j]["SellerDtls_Em"].ToString(); ;

                        eInvoice.SellerDtls = SellerDtls;



                        BuyerrDtls.Gstin = EInvoice.Rows[j]["Buyer_ErDtls_Gstin"].ToString();

                        BuyerrDtls.LglNm = EInvoice.Rows[j]["Buyer_ErDtls_LglNm"].ToString();

                        BuyerrDtls.TrdNm = EInvoice.Rows[j]["Buyer_ErDtls_TrdNm"].ToString();

                        BuyerrDtls.Pos = EInvoice.Rows[j]["Buyer_ErDtls_Pos"].ToString();

                        BuyerrDtls.Addr1 = EInvoice.Rows[j]["Buyer_ErDtls_Addr1"].ToString();

                        BuyerrDtls.Addr2 = EInvoice.Rows[j]["Buyer_ErDtls_Addr2"].ToString();

                        BuyerrDtls.Loc = EInvoice.Rows[j]["Buyer_ErDtls_Loc"].ToString();

                        BuyerrDtls.Pin = int.Parse(CheckNull(EInvoice.Rows[j]["Buyer_ErDtls_Pin"].ToString()));

                        BuyerrDtls.Stcd = EInvoice.Rows[j]["Buyer_ErDtls_Stcd"].ToString();

                        BuyerrDtls.Ph = string.IsNullOrEmpty(EInvoice.Rows[j]["Buyer_ErDtls_Ph"].ToString()) ? null : EInvoice.Rows[j]["Buyer_ErDtls_Ph"].ToString(); ;

                        BuyerrDtls.Em = string.IsNullOrEmpty(EInvoice.Rows[j]["Buyer_ErDtls_Em"].ToString()) ? null : EInvoice.Rows[j]["Buyer_ErDtls_Em"].ToString(); ;

                        eInvoice.BuyerDtls = BuyerrDtls;


                        DispDtls.Nm = EInvoice.Rows[j]["DispDtls_Nm"].ToString();

                        DispDtls.Addr1 = EInvoice.Rows[j]["DispDtls_Addr1"].ToString();

                        DispDtls.Addr2 = EInvoice.Rows[j]["DispDtls_Addr2"].ToString();

                        DispDtls.Loc = EInvoice.Rows[j]["DispDtls_Loc"].ToString();

                        DispDtls.Pin = int.Parse(CheckNull(EInvoice.Rows[j]["DispDtls_Pin"].ToString()));

                        DispDtls.Stcd = EInvoice.Rows[j]["DispDtls_Stcd"].ToString();


                        if (DispDtls.Nm == "")

                        {

                            eInvoice.DispDtls = null;

                        }

                        else

                        {

                            eInvoice.DispDtls = DispDtls;

                        }


                        ShipDtls.Gstin = EInvoice.Rows[j]["Ship_Gstin"].ToString();

                        ShipDtls.LglNm = EInvoice.Rows[j]["Ship_LglNm"].ToString();

                        ShipDtls.TrdNm = EInvoice.Rows[j]["Ship_TrdNm"].ToString();

                        ShipDtls.Addr1 = EInvoice.Rows[j]["Ship_Addr1"].ToString();

                        ShipDtls.Addr2 = EInvoice.Rows[j]["Ship_Addr2"].ToString();

                        ShipDtls.Loc = EInvoice.Rows[j]["Ship_Loc"].ToString();

                        ShipDtls.Pin = int.Parse(CheckNull(EInvoice.Rows[j]["Ship_Pin"].ToString()));

                        ShipDtls.Stcd = EInvoice.Rows[j]["Ship_Stcd"].ToString();

                       

                        if (ShipDtls.Gstin == "")

                        {

                            eInvoice.ShipDtls = null;

                        }

                        else

                        {

                            eInvoice.ShipDtls = ShipDtls;

                        }

                        Ewb_Dtls.TransId = EInvoice.Rows[j]["Ewb_TransId"].ToString();

                        Ewb_Dtls.TransName = EInvoice.Rows[j]["Ewb_TransName"].ToString();

                        Ewb_Dtls.TransMode = EInvoice.Rows[j]["Ewb_TransMode"].ToString();

                        Ewb_Dtls.Distance = decimal.Parse(CheckNull(EInvoice.Rows[j]["Ewb_Distance"].ToString()));

                        Ewb_Dtls.TransDocNo = EInvoice.Rows[j]["Ewb_TransDocNo"].ToString();

                        Ewb_Dtls.TransDocDt = EInvoice.Rows[j]["Ewb_TransDocDt"].ToString();

                        Ewb_Dtls.VehNo = EInvoice.Rows[j]["Ewb_VehNo"].ToString();

                        Ewb_Dtls.VehType = EInvoice.Rows[j]["Ewb_VehType"].ToString();

                        if (Ewb_Dtls.TransId == "") {

                            eInvoice.EwbDtls = null;

                        } else {

                            eInvoice.EwbDtls = Ewb_Dtls;

                        }

                       



                        string jj = EInvoice.Rows[j]["ValDtls_AssVal"].ToString();

                        valDtls.AssVal = decimal.Parse(CheckNull(EInvoice.Rows[j]["ValDtls_AssVal"].ToString()));

                        valDtls.IgstVal = decimal.Parse(CheckNull(EInvoice.Rows[j]["ValDtls_IgstVal"].ToString()));

                        valDtls.CgstVal = decimal.Parse(CheckNull(EInvoice.Rows[j]["ValDtls_CgstVal"].ToString()));

                        valDtls.SgstVal = decimal.Parse(CheckNull(EInvoice.Rows[j]["ValDtls_SgstVal"].ToString()));

                        valDtls.CesVal = decimal.Parse(CheckNull(EInvoice.Rows[j]["ValDtls_CesVal"].ToString()));

                        valDtls.StCesVal = decimal.Parse(CheckNull(EInvoice.Rows[j]["ValDtls_StCesVal"].ToString()));

                        valDtls.Discount = decimal.Parse(CheckNull(EInvoice.Rows[j]["ValDtls_Discount"].ToString()));

                        valDtls.OthChrg = decimal.Parse(CheckNull(EInvoice.Rows[j]["ValDtls_OthChrg"].ToString()));

                        valDtls.RndOffAmt = decimal.Parse(CheckNull(EInvoice.Rows[j]["ValDtls_RndOffAmt"].ToString()));

                        valDtls.TotInvVal = decimal.Parse(CheckNull(EInvoice.Rows[j]["ValDtls_TotInvVal"].ToString()));

                        eInvoice.ValDtls = valDtls;


                        expDtls.ShipBNo = EInvoice.Rows[j]["ExpDtls_ShipBNo"].ToString();

                        expDtls.ShipBDt = EInvoice.Rows[j]["ExpDtls_ShipBDt"].ToString();

                        expDtls.Port = EInvoice.Rows[j]["ExpDtls_Port"].ToString();

                        expDtls.RefClm = EInvoice.Rows[j]["ExpDtls_RefClm"].ToString();

                        expDtls.ForCur = EInvoice.Rows[j]["ExpDtls_ForCur"].ToString();

                        expDtls.CntCode = EInvoice.Rows[j]["ExpDtls_CntCode"].ToString();

                        expDtls.ExpDuty = decimal.Parse(CheckNull(EInvoice.Rows[j]["ExpDtls_ExpDuty"].ToString()));

                    

                        if (expDtls.ShipBNo.ToString() == "0" || expDtls.ShipBNo.ToString() == "")

                        {

                            eInvoice.ExpDtls = null;

                        }

                        else

                        {

                            eInvoice.ExpDtls = expDtls;

                        }


                        WriteLog("ConsoleLog", String.Format("{0} @ {1}", "", "245"));

                        List<ItemList> ListitemList = new List<ItemList>();

                        DataTable EItems = AutoSQL.GetDataTable(connectionString, " select  ItemList_SlNo,ItemList_PrdDesc,ItemList_IsServc,ItemList_HsnCd, ItemList_Qty,ItemList_Unit, " +

                             "ItemList_UnitPrice,ItemList_TotAmt,ItemList_Discount,ItemList_PreTaxVal,ItemList_AssAmt,ItemList_GstRt,ItemList_IgstAmt,ItemList_CgstAmt,ItemList_SgstAmt, " +

                             "ItemList_CesRt,ItemList_CesAmt,ItemList_CesNonAdvlAmt,ItemList_OthChrg,ItemList_TotItemVal,ItemList_StateCesRt,ItemList_StateCesAmt,ItemList_StateCesNonAdvlAmt from " + T_Table_Name + " where DocDtls_No='" + docDtls.No + "' and Status = 'A' ");

                             //" group by  ItemList_SlNo, ItemList_PrdDesc, ItemList_IsServc, ItemList_HsnCd, ItemList_Unit, " +

                             //"ItemList_UnitPrice,ItemList_TotAmt,ItemList_Discount,ItemList_PreTaxVal,ItemList_AssAmt,ItemList_GstRt,ItemList_IgstAmt,ItemList_CgstAmt,ItemList_SgstAmt, " +

                             //"ItemList_CesRt,ItemList_CesAmt,ItemList_CesNonAdvlAmt,ItemList_OthChrg,ItemList_TotItemVal,ItemList_StateCesRt,ItemList_StateCesAmt,ItemList_StateCesNonAdvlAmt " );

                      

                        if (EItems.Rows.Count > 0)

                        {

                          

                            for (int i = 0; i < EItems.Rows.Count; i++)

                            {

                                ItemList SetitemList = new ItemList();

                                SetitemList.SlNo = (EItems.Rows[i]["ItemList_SlNo"].ToString());

                                SetitemList.PrdDesc = (EItems.Rows[i]["ItemList_PrdDesc"].ToString());

                                SetitemList.IsServc = (EItems.Rows[i]["ItemList_IsServc"].ToString());

                                SetitemList.HsnCd = (EItems.Rows[i]["ItemList_HsnCd"].ToString());

                                SetitemList.Qty = decimal.Parse(CheckNull(EItems.Rows[i]["ItemList_Qty"].ToString()));

                                SetitemList.Unit = EItems.Rows[i]["ItemList_Unit"].ToString();

                                SetitemList.UnitPrice = decimal.Parse(CheckNull(EItems.Rows[i]["ItemList_UnitPrice"].ToString()));

                                SetitemList.TotAmt = decimal.Parse(CheckNull(EItems.Rows[i]["ItemList_TotAmt"].ToString()));

                                SetitemList.Discount = decimal.Parse(CheckNull(EItems.Rows[i]["ItemList_Discount"].ToString()));

                                SetitemList.PreTaxVal = decimal.Parse(CheckNull(EItems.Rows[i]["ItemList_PreTaxVal"].ToString()));

                                SetitemList.AssAmt = decimal.Parse(CheckNull(EItems.Rows[i]["ItemList_AssAmt"].ToString()));

                                SetitemList.GstRt = decimal.Parse(CheckNull(EItems.Rows[i]["ItemList_GstRt"].ToString()));

                                SetitemList.IgstAmt = decimal.Parse(CheckNull(EItems.Rows[i]["ItemList_IgstAmt"].ToString()));

                                SetitemList.CgstAmt = decimal.Parse(CheckNull(EItems.Rows[i]["ItemList_CgstAmt"].ToString()));

                                SetitemList.SgstAmt = decimal.Parse(CheckNull(EItems.Rows[i]["ItemList_SgstAmt"].ToString()));

                                SetitemList.CesRt = decimal.Parse(CheckNull(EItems.Rows[i]["ItemList_CesRt"].ToString()));

                                SetitemList.CesAmt = decimal.Parse(CheckNull(EItems.Rows[i]["ItemList_CesAmt"].ToString()));

                                SetitemList.CesNonAdvlAmt = decimal.Parse(CheckNull(EItems.Rows[i]["ItemList_CesNonAdvlAmt"].ToString()));

                                SetitemList.StateCesRt = decimal.Parse(CheckNull(EItems.Rows[i]["ItemList_StateCesRt"].ToString()));

                                SetitemList.StateCesAmt = decimal.Parse(CheckNull(EItems.Rows[i]["ItemList_StateCesAmt"].ToString()));

                                SetitemList.StateCesNonAdvlAmt = decimal.Parse(CheckNull(EItems.Rows[i]["ItemList_StateCesNonAdvlAmt"].ToString()));

                                SetitemList.OthChrg = decimal.Parse(CheckNull(EItems.Rows[i]["ItemList_OthChrg"].ToString()));

                                SetitemList.TotItemVal = decimal.Parse(CheckNull(EItems.Rows[i]["ItemList_TotItemVal"].ToString()));


                               // List<BchDtls> bchDtlsList = new List<BchDtls>();

                                string SQLm = "select BchDtls_Nm,BchDtls_ExpDt,BchDtls_WrDt from " + T_Table_Name+ " where DocDtls_No='" + docDtls.No + "' and ItemList_SlNo ='" + SetitemList.SlNo + "'  and Status = 'A' ";

                                DataTable EBatch = AutoSQL.GetDataTable(connectionString, SQLm);

                                if (EBatch.Rows.Count > 0)

                                {

                                 

                                    //for (int x = 0; x < EBatch.Rows.Count; x++)

                                    //{

                                        BchDtls bchDtls = new BchDtls();

                                        bchDtls.Nm = (EBatch.Rows[0]["BchDtls_Nm"].ToString());

                                        bchDtls.ExpDt = string.IsNullOrEmpty((EBatch.Rows[0]["BchDtls_ExpDt"].ToString())) ? null : (EBatch.Rows[0]["BchDtls_ExpDt"].ToString()); ;

                                        bchDtls.WrDt = string.IsNullOrEmpty((EBatch.Rows[0]["BchDtls_WrDt"].ToString())) ? null : (EBatch.Rows[0]["BchDtls_WrDt"].ToString()); 

                                       // bchDtlsList.Add(bchDtls);


                                   // }

                                   

                                    if (bchDtls.Nm.ToString() == "")

                                    {

                                        SetitemList.BchDtls = null;

                                    }

                                    else

                                    {

                                        SetitemList.BchDtls = bchDtls;

                                    }

                                }

                               

                                ListitemList.Add(SetitemList);

                              

                            }


                        }

                        eInvoice.ItemList = ListitemList.ToArray();

                       



                        EListitemList.Add(eInvoice);

                      

                    }

                   


                    

                    var obj = EListitemList;

                    string json = JsonConvert.SerializeObject(obj, Formatting.Indented);

                  

                    string writepath = DownloadPath + "" + FileName.Replace("/", "-")  + ".json";


                    System.IO.File.WriteAllText(writepath, json);

                   // WriteLog("ConsoleLog", String.Format("{0} @ {1}", "Json : ", json));

                    // int In = InvoiceNo.Count;

                 

             


                    WriteLog("ConsoleLog", String.Format("{0} @ {1}", "Log is Created at", DateTime.Now));

                   

                }

            }

            catch (Exception ex)

            {


                WriteLog("ConsoleLog", String.Format("{0} @ {1}", ex.ToString(), DateTime.Now));

                File.AppendAllText(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "log.txt", ex.ToString());

                sb1.Clear();


            }

            //foreach (string InNo in InvoiceNo)

            //{

            //    UpdateJson(connectionString, "J", UpdateTableName, InNo);

            //    WriteLog("\n ConsoleLog", String.Format("{0} @ {1}", "Invoice No ", InNo));

            //}

        }



Model For JSON

using System;

using System.Collections.Generic;

using System.Text;

using System.Collections.Generic;

using System.Globalization;

using Newtonsoft.Json;

using Newtonsoft.Json.Converters;


namespace AutoExe

{

    class EinvoiceModel

    {


    }

    public partial class EInvoice

    {

        [JsonProperty("Version")]

        public string Version { get; set; }


        [JsonProperty("TranDtls")]

        public TranDtls TranDtls { get; set; }


        [JsonProperty("DocDtls")]

        public DocDtls DocDtls { get; set; }


        [JsonProperty("SellerDtls")]

        public Seller_Dtls SellerDtls { get; set; }


        [JsonProperty("BuyerDtls")]

        public Buyer_Dtls BuyerDtls { get; set; }


        [JsonProperty("DispDtls")]

        public Disp_Dtls DispDtls { get; set; }



        [JsonProperty("ShipDtls")]

        public Shipping_Dtls ShipDtls { get; set; }


       


   


        [JsonProperty("ValDtls")]

        public ValDtls ValDtls { get; set; }


        [JsonProperty("ExpDtls")]

        public ExpDtls ExpDtls { get; set; }


        [JsonProperty("EwbDtls")]

        public EwbDtls EwbDtls { get; set; }


        [JsonProperty("ItemList")]

        public ItemList[] ItemList { get; set; }

    }

    public class ValDtls

    {

        public decimal? AssVal { get; set; }

        public decimal? IgstVal { get; set; }

        public decimal? CgstVal { get; set; }

        public decimal? SgstVal { get; set; }

        public decimal? CesVal { get; set; }

        public decimal? StCesVal { get; set; }

        public decimal? Discount { get; set; }

        public decimal? OthChrg { get; set; }

        public decimal? RndOffAmt { get; set; }

        public decimal? TotInvVal { get; set; }

    }

    public partial class Buyer_Dtls

    {

        [JsonProperty("Gstin")]

        public string Gstin { get; set; }


        [JsonProperty("LglNm")]

        public string LglNm { get; set; }


        [JsonProperty("TrdNm")]

        public object TrdNm { get; set; }


        [JsonProperty("Pos")]

        //[JsonConverter(typeof(ParseStringConverter))]

        public string Pos { get; set; }


        [JsonProperty("Addr1")]

        public string Addr1 { get; set; }


        [JsonProperty("Addr2")]

        public object Addr2 { get; set; }


        [JsonProperty("Loc")]

        public string Loc { get; set; }


        [JsonProperty("Pin")]

        public long Pin { get; set; }


        [JsonProperty("Stcd")]

        //[JsonConverter(typeof(ParseStringConverter))]

        public object Stcd { get; set; }


        [JsonProperty("Ph")]

        public object Ph { get; set; }


        [JsonProperty("Em")]

        public object Em { get; set; }

    }

    public partial class Disp_Dtls

    {

        [JsonProperty("Nm")]

        public string Nm { get; set; }


       

        [JsonProperty("Addr1")]

        public string Addr1 { get; set; }


        [JsonProperty("Addr2")]

        public object Addr2 { get; set; }


        [JsonProperty("Loc")]

        public string Loc { get; set; }


        [JsonProperty("Pin")]

        public long Pin { get; set; }


        [JsonProperty("Stcd")]

        //[JsonConverter(typeof(ParseStringConverter))]

        public object Stcd { get; set; }


    }

    

    public partial class Shipping_Dtls

    {

        [JsonProperty("Gstin")]

        public string Gstin { get; set; }


        [JsonProperty("LglNm")]

        public string LglNm { get; set; }


        [JsonProperty("TrdNm")]

        public object TrdNm { get; set; }



        [JsonProperty("Addr1")]

        public string Addr1 { get; set; }


        [JsonProperty("Addr2")]

        public object Addr2 { get; set; }


        [JsonProperty("Loc")]

        public string Loc { get; set; }


        [JsonProperty("Pin")]

        public int Pin { get; set; }


        [JsonProperty("Stcd")]

        //[JsonConverter(typeof(ParseStringConverter))]

        public object Stcd { get; set; }


      

    }

    public partial class Seller_Dtls

    {

        [JsonProperty("Gstin")]

        public string Gstin { get; set; }


        [JsonProperty("LglNm")]

        public string LglNm { get; set; }


        [JsonProperty("TrdNm")]

        public object TrdNm { get; set; }


      

        [JsonProperty("Addr1")]

        public string Addr1 { get; set; }


        [JsonProperty("Addr2")]

        public object Addr2 { get; set; }


        [JsonProperty("Loc")]

        public string Loc { get; set; }


        [JsonProperty("Pin")]

        public int Pin { get; set; }


        [JsonProperty("Stcd")]

        //[JsonConverter(typeof(ParseStringConverter))]

        public object Stcd { get; set; }


        [JsonProperty("Ph")]

        public object Ph { get; set; }


        [JsonProperty("Em")]

        public object Em { get; set; }

    }


    public partial class DocDtls

    {

        [JsonProperty("Typ")]

        public string Typ { get; set; }


        [JsonProperty("No")]

        public string No { get; set; }


        [JsonProperty("Dt")]

        public string Dt { get; set; }

    }


    public partial class ExpDtls

    {

        [JsonProperty("ShipBNo")]

        public object ShipBNo { get; set; }


        [JsonProperty("ShipBDt")]

        public object ShipBDt { get; set; }


        [JsonProperty("Port")]

        public object Port { get; set; }


        [JsonProperty("RefClm")]

        public object RefClm { get; set; }


        [JsonProperty("ForCur")]

        public object ForCur { get; set; }


        [JsonProperty("CntCode")]

        public object CntCode { get; set; }


        [JsonProperty("ExpDuty")]

        public decimal ExpDuty { get; set; }

    }


    public partial class ItemList

    {

        [JsonProperty("SlNo")]

        //[JsonConverter(typeof(ParseStringConverter))]

        public string SlNo { get; set; }


        [JsonProperty("PrdDesc")]

        public string PrdDesc { get; set; }


        [JsonProperty("IsServc")]

        public string IsServc { get; set; }


        [JsonProperty("HsnCd")]

        //[JsonConverter(typeof(ParseStringConverter))]

        public string HsnCd { get; set; }


        [JsonProperty("Qty")]

        public decimal Qty { get; set; }


        [JsonProperty("Unit")]

        public string Unit { get; set; }


        [JsonProperty("UnitPrice")]

        public decimal UnitPrice { get; set; }


        [JsonProperty("TotAmt")]

        public decimal TotAmt { get; set; }


        [JsonProperty("Discount")]

        public decimal Discount { get; set; }


        [JsonProperty("PreTaxVal")]

        public decimal PreTaxVal { get; set; }


        [JsonProperty("AssAmt")]

        public decimal AssAmt { get; set; }


        [JsonProperty("GstRt")]

        public decimal GstRt { get; set; }


        [JsonProperty("IgstAmt")]

        public decimal IgstAmt { get; set; }


        [JsonProperty("CgstAmt")]

        public decimal CgstAmt { get; set; }


        [JsonProperty("SgstAmt")]

        public decimal SgstAmt { get; set; }


        [JsonProperty("CesRt")]

        public decimal CesRt { get; set; }


        [JsonProperty("CesAmt")]

        public decimal CesAmt { get; set; }


        [JsonProperty("CesNonAdvlAmt")]

        public decimal CesNonAdvlAmt { get; set; }


        [JsonProperty("StateCesRt")]

        public decimal StateCesRt { get; set; }


        [JsonProperty("StateCesAmt")]

        public decimal StateCesAmt { get; set; }


        [JsonProperty("StateCesNonAdvlAmt")]

        public decimal StateCesNonAdvlAmt { get; set; }


        [JsonProperty("OthChrg")]

        public decimal OthChrg { get; set; }


        [JsonProperty("TotItemVal")]

        public decimal TotItemVal { get; set; }


        [JsonProperty("BchDtls")]

        public BchDtls BchDtls { get; set; }

    }


    public partial class BchDtls

    {

        [JsonProperty("Nm")]

        public string Nm { get; set; }


        [JsonProperty("ExpDt")]

        public string ExpDt { get; set; }


        [JsonProperty("WrDt")]

        public string WrDt { get; set; }

    }


    public partial class TranDtls

    {

        [JsonProperty("TaxSch")]

        public string TaxSch { get; set; }


        [JsonProperty("SupTyp")]

        public string SupTyp { get; set; }


        [JsonProperty("IgstOnIntra")]

        public string IgstOnIntra { get; set; }


        [JsonProperty("RegRev")]

        public object RegRev { get; set; }


        [JsonProperty("EcmGstin")]

        public object EcmGstin { get; set; }

    }



    public class EwbDtls

    {

        public string TransId { get; set; }

        public string TransName { get; set; }

        public string TransMode { get; set; }

        public decimal Distance { get; set; }

        public string TransDocNo { get; set; }

        public string TransDocDt { get; set; }

        public string VehNo { get; set; }

        public string VehType { get; set; }

    }



    public class JsonoutRoot

    {

        public long AckNo { get; set; }

        public string AckDt { get; set; }

        public string Irn { get; set; }

        public string SignedInvoice { get; set; }

        public string SignedQRCode { get; set; }

        public string Status { get; set; }

        public object EwbNo { get; set; }

        public object EwbDt { get; set; }

        public object EwbValidTill { get; set; }

        public object Remarks { get; set; }

    }



    public class ExcelOut

    {

        public string ExInvNo { get; set; }

        public string AckNo { get; set; }

        public string AckDt { get; set; }

        public string Irn { get; set; }

        public string QRImage { get; set; }

        public string SignedQRCode { get; set; }

        public string Status { get; set; }

    }


}


Create Json for E-Invoice ( Indian Government format ) Create Json for E-Invoice ( Indian Government format ) Reviewed by (C#) Csharp examples on 10:08 AM Rating: 5

No comments:

Facebook

Powered by Blogger.