void Integrations_to_books.CreditnotesTobooks(int id)
{
sal = Sales_Order[ID == input.id];
inv_det = Invoice[Sales_Order_ID == sal];
// info "org "+sal.Organization;
fetorg = Organization_Master[ID == sal.Organization];
// info fetorg.Organization_Name;
// if(inv_det.Books_Invoice_ID == null || inv_det.Books_Invoice_ID == "")
// {
// info "Error: Invoice ID is missing. Cannot proceed.";
// return;
// }
// else
// {
// info "Invoice ID: " + inv_det.Books_Invoice_ID;
// invid = inv_det.Books_Invoice_ID;
// }
fetbks = Account_Master_Books_Details[Account_Master_ID == sal.Customer_Name];
// info fetbks.Organization_Code.Organization_Code;
// info fetorg.Organization_Code;
for each rec1 in fetbks
{
if(rec1.Organization_Code.Organization_Code == fetorg.Organization_Code)
{
conbks = rec1.Books_ID;
//info conbks;
}
//info itmbks;
// info rec1.Organization_Code.Organization_Code;
}
sodate = zoho.currentdate.toString("yyyy-MM-dd");
main_data = Map();
main_data.put("customer_id",conbks);
main_data.put("reference_number",sal.Sales_Order);
//main_data.put("reference_invoice_type","b2c_others");
// b2c_large
// main_data.put("is_invoice_type_standalone",true);
// main_data.put("creditnote_number",sal.Sales_Order);
main_data.put("date",sodate);
// invoice_list = List();
// invoice_map = Map();
// invoice_map.put("invoice_id","");
// invoice_map.put("invoice_number","");
// invoice_list.add(invoice_map);
// main_data.put("invoices",invoice_list);
// info invoice_map;
// Line Items
Line_list = List();
for each line_data in sal.Order_Details
{
item_data = Item_Master[ID == line_data.Item_Name];
itm = Item_Master_Books_Details[Item_Master_ID == item_data.ID];
for each rec in itm
{
if(rec.Organization_Code.Organization_Code == fetorg.Organization_Code)
{
itmbks = rec.Item_Books_ID;
}
// info itmbks;
//info rec.Organization_Code.Organization_Code;
}
// info fetorg.Organization_Code;
line_map = Map();
// Align the line Details
line_map.put("item_id",itmbks);
break;
}
line_map.put("quantity",1);
// line_map.put("description","test");
line_map.put("rate",sal.Grand_Total);
Line_list.add(line_map);
main_data.put("line_items",Line_list);
info main_data;
response_books = invokeurl
[
url :"https://www.zohoapis.in/books/v3/creditnotes?organization_id=" + fetorg.Organization_Code
type :POST
parameters:main_data.toString()
connection:"books"
];
info response_books;
if(response_books.get("code") == 0)
{
sal.SO_Status="SO Cancelled";
invoice_data = response_books.get("creditnote");
sal.CreditNote_Books_ID=invoice_data.get("creditnote_id");
sal.Creditnote_No=invoice_data.get("creditnote_number");
sal.Credit_Note_Status="Credit Note Integrated";
for each rec_items in sal.Order_Details
{
if(rec_items.Service_Details == "Item")
{
// num = randomnumber(1,9999);
count3 = Transit_Inventory[ID != null];
num = count3.count() + 1;
info "if ";
data_add = insert into Transit_Inventory
[
Added_User=zoho.loginuser
Item_Name=rec_items.Item_Name
Quantity=rec_items.Qty
Date_field=zoho.currentdate
Rate=sal.Grand_Total
Deal_ID=sal.Deal_ID
Transit_Inventory_Number=num
];
info data_add;
sendmail
[
from :zoho.adminuserid
to :"vimal@techvaria.com"
subject :"item transit"
message :"transit id " + data_add
]
}
}
}
else
{
info "Error in API Response: " + response_books;
}
}