Bills to Books-USDC
Fri Apr 11 2025 04:03:22 GMT+0000 (Coordinated Universal Time)
Saved by @Pooja
void Books.create_bills(int ids) { billdata = Bills[ID == input.ids]; if(billdata.Books_Bill_ID.isEmpty() == true) { getID = Bills[ID != null] sort by Books_Bill_ID desc; if(getID.count() == 0) { billdata.Books_Bill_ID="Bill-001"; } else { var1 = getID.Books_Bill_ID.getsuffix("Bill-"); if(var1.isEmpty() || !var1.isNumber()) { var2 = 1; } else { var2 = var1.tolong() + 1; } autoList = var2.toString().length(); TarnsList = {1:"Bill-00",2:"Bill-0",3:"Bill-"}; billdata.Books_Bill_ID=TarnsList.get(autoList) + var2; billnum = TarnsList.get(autoList) + var2; } } // Create Bill Process to Books iternal_inv = Internal_Invoice[ID == billdata.Bill_Id1]; test = billdata.Partner_Details.Zoho_books_ID; var_par = Partner_Details[Partner_Entity_Name == billdata.Vendor_Name]; vendordet = Partner_Onboarding_and_KYC[Partner_Entity_Name == billdata.Vendor_Name]; book = vendordet.Zoho_Book_vendor_ID; info book; item_list = List(); item_map = Map(); item_map.put("rate",billdata.Total_Amount); item_map.put("account_id",2293182000000041035); item_map.put("bill_number",billnum); // // check the GST details from zoho books vendorDetailsResponse = invokeurl [ url :"https://www.zohoapis.in/books/v3/contacts/" + book + "?organization_id=60036667486" type :GET connection:"zoho_books_connection" ]; vendorDetails = vendorDetailsResponse.get("contact"); gstTreatment = vendorDetails.get("gst_treatment"); info "GST Treatment: " + gstTreatment; // taxResponse = invokeurl // [ // url :"https://www.zohoapis.in/books/v3/settings/taxes?organization_id=60036667486" // type :GET // connection:"zoho_books_connection" // ]; // info taxResponse; if(gstTreatment != null) { item_map.put("gst_treatment_code","out_of_scope"); } item_list.add(item_map); Head1 = Map(); if(billdata.Contracting_organisation == "USDC") { Head1.put("branch_id",2293182000000188007); } if(billdata.Contracting_organisation == "Jain University") { Head1.put("branch_id",2293182000000188048); } Head1.put("reference_number",billdata.Bill_Id1.Internal_Invoice_ID); Head1.put("bill_number",billdata.Books_Bill_ID); Head1.put("notes",billdata.Order_Number); Head1.put("date_formatted",zoho.currentdate); Head1.put("is_draft",true); Head1.put("vendor_id",book); Head1.put("line_items",item_list); //Head1.put("tax_total",billdata.GST_Amount); Head1.put("total",billdata.Total_Amount); custom_field_list = List(); customfields = Map(); customfields.put("api_name","cf_internal_invoice_id"); customfields.put("value",iternal_inv.ID); custom_field_list.add(customfields); Head1.put("custom_fields",custom_field_list); info customfields; var = invokeurl [ url :"https://www.zohoapis.in/books/v3/bills?organization_id=60036667486" type :POST parameters:Head1.toString() connection:"zoho_books_connection" ]; info "Bill Creation API Status " + var; if(var.get("code") == 0 && var.get("bill") != null) { // /*create record in New Bill*/ if(var.get("code") == 0 && var.get("bill") != null) { getBill = var.get("bill"); addNewBills = insert into New_Bills [ Bill_ID=getBill.get("bill_number") Bill_Date=getBill.get("date").toString("dd-mm-YYYY") Bill_Status=getBill.get("status") Total_Amount=getBill.get("total") Vendor_Name=getBill.get("vendor_name") Zoho_books_ID=getBill.get("bill_id") Internal_Invoice=billdata.Bill_Id1 Added_User=zoho.loginuser ]; } } billcreateform = Create_Bill[Bills == input.ids]; // invoicebackend = Create_Bill[CP_Internal_Invoice_Backend.inp] if(var.getJson("code") == 0) { for each recs12 in billcreateform.CP_Internal_Invoice_Backend { recs12.Bill_Creation_Status="Yes"; } iternal_inv.Invoice_Amount=ifnull(iternal_inv.Invoice_Amount,0) + ifnull(billdata.Total_Amount,0); billcreateform.Bill_Creation_Status="Yes"; billdata.Bill_Creation_Status="Yes"; bills = var.get("bill"); bills_id = bills.getJSON("bill_id"); total1 = bills.getJSON("total"); iternal_inv.Books_Bill_ID=bills_id; // info bills_id; file = invokeurl [ url :"https://www.zohoapis.in/creator/v2.1/data/centralisedprocurement_usdcglobal/usdc1/report/All_Bills/" + billdata.ID + "/External_Invoice/download" type :GET connection:"zoho_oauth_connection" ]; file.setparamname("attachment"); info "download files " + file; response = invokeurl [ url :"https://www.zohoapis.in/books/v3/bills/" + bills_id + "/attachment?organization_id=60036667486" type :POST files:file connection:"zoho_books_connection1" ]; // info file; billdata.Zoho_Books_Id=bills_id; billdata.Total_Invoice_Amount_Incl_GST=total1; var_bill = var.get("bill").getJSON("reference_number"); info "var_bill" + var_bill; // openUrl("#Report:Associated_Bill?Internal_Invoice_ID=" + var_bill,"same window"); iternal_inv = Internal_Invoice[ID == billdata.Bill_Id1]; iternal_inv.Balance_Amount=billdata.Balance_Amount; // iternal_inv.Total_Amount=input.Total_Amount; iternal_inv.Total_Amount=ifnull(iternal_inv.Total_Amount,0) + billdata.Total_Amount; iternal_inv.Balance_Amount=billdata.Accumulated_Commission_Amount - ifnull(iternal_inv.Total_Amount,0); iternal_inv.External_Invoice=""; iternal_inv.Status="New"; /*Sending mail to CP*/ // sendmail // [ // from :zoho.adminuserid // to :billdata.CP_Details1.Partner_Entity_Name,"vimal@techvaria.com" // subject :"CP Invoice Verification Successfull" // message :"CP invoice Verification Done and Submitted to Finance team" // ] totalAmount = 0; item_list = List(); hard_lst = {1,2}; for each split in hard_lst { if(split == 1) { get_creator_amount = billdata.Total_Amount; get_credit_debit = "debit"; get_creator_Description = "Comments"; item_map = Map(); item_map.put("amount",get_creator_amount); item_map.put("debit_or_credit",get_credit_debit); item_map.put("account_id",2293182000000114065); // 2293182000000114073 item_map.put("customer_id",book); } if(split == 2) { get_creator_amount = billdata.Total_Amount; get_credit_debit = "credit"; get_creator_Description = "Test"; item_map = Map(); item_map.put("amount",get_creator_amount); item_map.put("debit_or_credit",get_credit_debit); item_map.put("account_id",2293182000000114073); item_map.put("customer_id",book); } item_list.add(item_map); } mymap = Map(); if(billdata.Contracting_organisation == "USDC") { mymap.put("branch_id",2293182000000188007); } if(billdata.Contracting_organisation == "Jain University") { mymap.put("branch_id",2293182000000188048); } mymap.put("journal_date",zoho.currentdate.toString("yyyy-MM-dd")); mymap.put("reference_number",billdata.Order_Number); mymap.put("notes","test"); mymap.put("line_items",item_list); mymap.put("total",billdata.Total_Invoice_Amount_Incl_GST); //mymap.put("tax_total",billdata.GST_Amount); responseBooks = invokeurl [ url :"https://www.zohoapis.in/books/v3/journals?organization_id=60036667486" type :POST parameters:mymap.toString() connection:"zoho_books_connection1" ]; getJournal = responseBooks.get("journal"); Zoho_Books_ID = getJournal.get("journal_id"); file = invokeurl [ url :"https://www.zohoapis.in/creator/v2.1/data/centralisedprocurement_usdcglobal/usdc1/report/All_Bills/" + billdata.ID + "/External_Invoice/download" type :GET connection:"zoho_oauth_connection" ]; file.setparamname("attachment"); response = invokeurl [ url :"https://www.zohoapis.in/books/v3/journals/" + Zoho_Books_ID + "/attachment?organization_id=60036667486" type :POST files:file connection:"zoho_books_connection1" ]; } else { for each recs123 in billcreateform.CP_Internal_Invoice_Backend { recs123.Bill_Creation_Status="No"; recs123.Bill_Creation_Error_Message=var; } billcreateform.Bill_Creation_Status="No"; billcreateform.Bill_Creation_Error_Message=var; billdata.Bill_Creation_Status="No"; billdata.Bill_Creation_Error_Message=var; } }
Comments