Dispatch_Note Actual In Books (Creating Invoice)
Tue Jan 07 2025 14:57:47 GMT+0000 (Coordinated Universal Time)
Saved by @Pooja
void Books.Dispatch_Note_Actual_In_Books(int dnaid) { books_access = thisapp.Books.Get_Books_Access(); conn_tok = books_access.get("connection"); org_id = books_access.get("organisation_id"); disnote_act = Create_Dispatch_Note_Format[ID == input.dnaid]; fetch_cust = Customers[ID == disnote_act.Customer_Name]; if(fetch_cust.ID != 143536000004625764 && fetch_cust.ID != 143536000004570816 && fetch_cust.ID != 143536000005088666 && fetch_cust.ID != 143536000005117329) { fet_so = Sales_Order[ID == disnote_act.Sales_Order_No]; fettax = GST_Details[ID == fet_so.Item_Details.Tax]; // info fet_so; plc_of_supply = Destination[Destination == fet_so.Place_of_Supply.Destination].Short_Name; disdate = disnote_act.Dispatch_Note_Date.toString("yyyy-MM-dd"); sodate = fet_so.Sale_Order_Date.toString("yyyy-MM-dd"); podate = fet_so.PO_Date.toString("yyyy-MM-dd"); info disdate; info sodate; mymap = Map(); //info mymap; mymap.put("customer_id",fetch_cust.Customer_Books_ID); // info fetch_cust.Customer_Books_ID; mymap.put("customer_name",fetch_cust.Contact_Name); //info fetch_cust.Contact_Name; mymap.put("billing_address_id",fetch_cust.Billing_Address_Id); //info "custaddress" + fetch_cust.Billing_Address_Id; //mymap.put("shipping_address_id",fetch_cust.Shipping_Address_id); mymap.put("shipping_address",disnote_act.Customer_Address); //info "Shipping" + fet_so.Shipping_Address; mymap.put("place_of_supply",plc_of_supply); // info "placeofsupply" + plc_of_supply; custom_list = List(); custom_map = Map(); custom_map.put("api_name","cf_sales_order_no"); custom_map.put("value",fet_so.Sale_Order_No); custom_list.add(custom_map); // info "Salerderno" + fet_so.Sale_Order_No; custom_map = Map(); custom_map.put("api_name","cf_dispatch_date"); custom_map.put("value",disdate); custom_list.add(custom_map); custom_map = Map(); custom_map.put("api_name","cf_disp_note_no"); custom_map.put("value",disnote_act.CDNF_ID); custom_list.add(custom_map); // info "dis date" + disnote_act.Dispatch_Note_Date; custom_map = Map(); custom_map.put("api_name","cf_sales_order_date"); custom_map.put("value",sodate); custom_list.add(custom_map); //info "sale date" + fet_so.Sale_Order_Date; vehicle_no = ""; transpotor = ""; if(disnote_act.Transport_Type == "One Time") { vehicle_no = ifNull(disnote_act.Vehicle_No_dup,""); transpotor = ifNull(disnote_act.Transporter_Name,""); } else { //vehicle_no = ifNull(disnote_act.Vehicle_No_dup,""); vehicle_no = ifNull(disnote_act.Vehicle_No.Vehicle_No,""); transpotor = ifNull(disnote_act.Transport_Name.Name_of_Transport,""); } custom_map = Map(); custom_map.put("api_name","cf_vehicle_no"); custom_map.put("value",vehicle_no); custom_list.add(custom_map); // info "vehicleno" + disnote_act.Vehicle_No; custom_map = Map(); custom_map.put("api_name","cf_container_no"); custom_map.put("value",ifnull(disnote_act.Container_No,"")); custom_list.add(custom_map); custom_map = Map(); custom_map.put("api_name","cf_transporter"); custom_map.put("value",transpotor); custom_list.add(custom_map); // info "transname" + disnote_act.Transporter_Name; custom_map = Map(); custom_map.put("api_name","cf_gr"); custom_map.put("value",ifNull(disnote_act.GR_No,"")); custom_list.add(custom_map); // info "grno" + disnote_act.GR_No; custom_map = Map(); custom_map.put("api_name","cf_buyer_s_po_no"); custom_map.put("value",ifNull(fet_so.PO_Reference,"")); custom_list.add(custom_map); custom_map = Map(); custom_map.put("api_name","cf_buyer_order_date"); custom_map.put("value",podate); custom_list.add(custom_map); custom_map = Map(); custom_map.put("api_name","cf_incoterms"); custom_map.put("value",ifNull(fet_so.Incoterms1.Incoterms,"")); custom_list.add(custom_map); custom_map = Map(); custom_map.put("api_name","cf_incoterms_location"); custom_map.put("value",ifNull(fet_so.Incoterms_Location.Incoterms_Location,"")); custom_list.add(custom_map); mymap.put("custom_fields",custom_list); item_list = List(); actqtycheck = 0; tx_val = 0; for each rec in disnote_act.Product_Details { if(rec.Individual == false && rec.Actual_Qty > 0 && isNull(disnote_act.Draft_Invoice_ID) == True) { actqtycheck = 1; fetchitem = Materials[ID == rec.Product_Code]; line_item_map = Map(); line_item_map.put("description",fetchitem.Classification); // info "Product des" + rec.Product_Description; line_item_map.put("item_id",fetchitem.Zoho_Books_ID); line_item_map.put(" product_type","goods"); // info fetchitem.Zoho_Books_ID; line_item_map.put("quantity",rec.Actual_Qty); // info "ordee qty" + rec.Ordered_Qty; fetsosub = Sale_Order_Subform[Sales_Order_Exis_ID == fet_so.ID && Part_No == rec.Product_Code]; //info fetsosub; line_item_map.put("rate",fetsosub.Rate); // info "rate" + rec1.Rate; //line_item_map.put("tax",fetsosub.Tax); // info "Tax" + rec1.Tax; //line_item_map.put("tax_value",fetsosub.Tax_Value); line_item_map.put("tax_id",fetsosub.Tax.Zoho_Books_ID); line_item_map.put("salesorder_item_id",fetsosub.zb_line_item_id); line_sub = List(); custom_map = Map(); custom_map.put("label","Customer Part Code"); custom_map.put("value",ifNull(fetsosub.Customer_Part_Code,"")); line_sub.add(custom_map); custom_map = Map(); custom_map.put("label","Packing"); custom_map.put("value",ifNull(fetsosub.Packing_Std.Packaging_Name,"")); line_sub.add(custom_map); line_item_map.put("item_custom_fields",line_sub); line_item_map.put("hsn_or_sac",fetsosub.HSN_Code); custom_map = Map(); custom_map.put("label","UOM"); custom_map.put("value",ifnull(fetsosub.UoM.UOM,"")); line_sub.add(custom_map); item_list.add(line_item_map); } } if(fet_so.Packing_Forwarding > 0) { fetchitem = Materials[Part_No == "900114"]; line_item_map = Map(); line_item_map.put("name",fetchitem.Part_Description); line_item_map.put("item_id",fetchitem.Zoho_Books_ID); //line_item_map.put("quantity",1); line_item_map.put("rate",fet_so.Packing_Forwarding); line_item_map.put("tax_name",fettax.Tax_Name); line_item_map.put("tax_id",fettax.Zoho_Books_ID); line_item_map.put("tax_percentage",fettax.Total_Rate); item_list.add(line_item_map); tx_val = ifnull(tx_val,0.0) + ifnull(fet_so.PF_Tax_value,0.0); } mymap.put("tax_total",tx_val); if(actqtycheck == 1) { mymap.put("line_items",item_list); mymap.put("payment_terms_label",ifNull(fetch_cust.Payment_Terms.Stages,"")); mymap.put("payment_terms",fetch_cust.Exposure_Days); info mymap; createinbooks = zoho.books.createRecord("invoices","60015333461",mymap,conn_tok); info createinbooks; rescode = createinbooks.get("code").toLong(); log_type = "Failure"; if(rescode == 0) { log_type = "Success"; } ins_log = insert into Log_Files [ Added_User=zoho.loginuser Module_Name="Invoice-Books" Form_Name="Dispatch_Note_Actual_In_Books-Invoice" Log_Details=createinbooks Log_Type=log_type Reference_NO=disnote_act.CDNF_ID ]; retainerno = createinbooks.get("invoice").toMap(); retinvno = retainerno.get("invoice_number"); retinvid = retainerno.get("invoice_id"); retain_upd_map = Map(); retain_dummyMap = Map(); // retain_upd_map.put("Invoice_No",retinvno); retain_upd_map.put("invoice_ID",retinvid); disnote_act.Draft_Invoice_ID=retinvid.toString(); //disnote_act.Draft_Invoice_No=retinvno; fet_so.Books_Invoice_ID=retinvid.toString(); } } }
Comments