Bills to Books-USDC
Fri Apr 11 2025 05:05:18 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