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