Create_invoice_individual

PHOTO EMBED

Tue Jan 07 2025 14:59:01 GMT+0000 (Coordinated Universal Time)

Saved by @Pooja

void Books.Create_invoice_individual(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];
	fet_so = Sales_Order[ID == disnote_act.Sales_Order_No];
	plc_of_supply = Destination[Destination == fet_so.Place_of_Supply.Destination].Short_Name;
	for each  rec in disnote_act.Product_Details
	{
		if(rec.Individual == true && rec.Actual_Qty > 0 && isNull(rec.Zoho_Books_Invoice_ID) == True)
		{
			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");
			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);
			mymap.put("shipping_address_id",fetch_cust.Shipping_Address_id);
			//mymap.put("billing_address",disnote_act.Customer_Address);
			// 	info "custaddress" + disnote_act.Customer_Address;
			//	mymap.put("shipping_address",fet_so.Shipping_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();
			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];
			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("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);
			// 		info "taxvalue" + rec1.Tax_Value;
			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);
			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;
			retainerno = createinbooks.get("invoice").toMap();
			retinvno = retainerno.get("invoice_number");
			retinvid = retainerno.get("invoice_id");
			rec.Zoho_Books_Invoice_ID=retinvid.toString();
			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 Individual"
				Log_Details=createinbooks
				Log_Type=log_type
				Reference_NO=disnote_act.CDNF_ID
			];
			//disnote_act.Draft_Invoice_ID=retinvid.toString();
			//	info disnote_act.Draft_Invoice_ID;
			//disnote_act.Draft_Invoice_No=retinvno;
			//info disnote_act.Draft_Invoice_No;
			//fet_so.Books_Invoice_ID=retinvid.toString();
		}
	}
}
content_copyCOPY