/// <summary> /// Apply credit note to existing invoices. /// </summary> /// <param name="creditnote_id">The creditnote_id is the identifier of the creditnote.</param> /// <param name="invoices_to_apply">The invoices_to_apply is the ApplyToInvoices object which is having the information regarding for which invoices the specifed creditnote is going to apply with invoice_id and amount_applied are mandatory parameters.</param> /// <returns>List of CreditedInvoice object.</returns> public CreditedInvoiceList CreditToInvoices(string creditnote_id, ApplyToInvoices invoices_to_apply) { string url = baseAddress + "/" + creditnote_id + "/invoices"; var json = JsonConvert.SerializeObject(invoices_to_apply); var jsonstring = new Dictionary <object, object>(); jsonstring.Add("JSONString", json); var responce = ZohoHttpClient.post(url, getQueryParameters(jsonstring)); return(CreditNoteParser.getCreditsAppliedInvoices(responce)); }
/// <summary> /// Apply credit note to existing invoices. /// </summary> /// <param name="creditnote_id">The creditnote_id is the identifier of the creditnote.</param> /// <param name="invoices_to_apply">The invoices_to_apply is the ApplyToInvoices object which is having the information regarding for which invoices the specifed creditnote is going to apply with invoice_id and amount_applied are mandatory parameters.</param> /// <returns>List of CreditedInvoice object.</returns> public CreditedInvoiceList CreditToInvoices(string creditnote_id, ApplyToInvoices invoices_to_apply) { string url = baseAddress + "/" + creditnote_id + "/invoices"; var json = JsonConvert.SerializeObject(invoices_to_apply); var jsonstring = new Dictionary<object, object>(); jsonstring.Add("JSONString", json); var responce = ZohoHttpClient.post(url, getQueryParameters(jsonstring)); return CreditNoteParser.getCreditsAppliedInvoices(responce); }
static void Main(string[] args) { try { var service = new ZohoBooks(); service.initialize("{authtoken}", "{organization id}"); CreditNotesApi creditnoteApi = service.GetCreditNoteApi(); var parameters = new Dictionary <object, object>(); parameters.Add("creditnote_number_startswith", "CN"); parameters.Add("status", "open"); parameters.Add("total_less_than", "5000"); var creditnotesList = creditnoteApi.GetCreditnotes(parameters); var creditnotes = creditnotesList; var creditnoteId = creditnotes[0].creditnote_id; if (creditnotes != null) { foreach (var creditnote in creditnotes) { Console.WriteLine("{0},{1},{2}", creditnote.creditnote_number, creditnote.total_credits_used, creditnote.total); } } var parameters1 = new Dictionary <object, object>(); parameters1.Add("print", "false"); var creditnote1 = creditnoteApi.Get(creditnoteId, parameters1); if (creditnote1 != null) { Console.WriteLine("{0},{1},{2}", creditnote1.creditnote_number, creditnote1.total_credits_used, creditnote1.total); } var newCreditnote = new CreditNote() { customer_id = "{customer id}", creditnote_number = "CN-0008", line_items = new List <LineItem>() { new LineItem() { item_id = "{item id}", name = "Hard Drive", description = "500GB, USB 2.0 interface 1400 rpm, protective hard case.", unit = "", rate = 120.00, quantity = 1.00, }, } }; var parameters2 = new Dictionary <object, object>(); parameters2.Add("ignore_auto_number_generation", "true"); var createdCreditnote = creditnoteApi.Create(newCreditnote, parameters2); if (createdCreditnote != null) { Console.WriteLine("{0},{1},{2}", createdCreditnote.creditnote_number, createdCreditnote.total_credits_used, createdCreditnote.total); } CreditNote updateInf = new CreditNote() { customer_id = "{customer id}", creditnote_number = "CN-00000", }; var parameters3 = new Dictionary <object, object>(); parameters3.Add("ignore_auto_number_generation", "true"); var updatedCreditnote = creditnoteApi.Update(creditnoteId, updateInf, parameters3); if (updatedCreditnote != null) { Console.WriteLine("{0},{1},{2}", updatedCreditnote.creditnote_number, updatedCreditnote.total_credits_used, updatedCreditnote.total); } var delstr = creditnoteApi.Delete(creditnotes[2].creditnote_id); Console.WriteLine(delstr); var convToOpen = creditnoteApi.ConvertToOpen(creditnoteId); Console.WriteLine(convToOpen); var voidstr = creditnoteApi.ConvertToVoid(creditnoteId); Console.WriteLine(voidstr); var parameters4 = new Dictionary <object, object>(); var emaildata = new EmailNotification() { send_from_org_email_id = false, to_mail_ids = new List <string>() { "*****@*****.**" }, subject = "Credit Note from Zillium Inc ", body = "Dear Customer, <br><br><br><br>The credit note is attached with this email. <br><br><br><br>Credit Note Overview: \n" }; var emailstr = creditnoteApi.SendEmail(creditnoteId, emaildata, parameters4); Console.WriteLine(emailstr); var emailhstrs = creditnoteApi.GetEmailHistory(creditnoteId); if (emailhstrs != null) { foreach (var emailhstr in emailhstrs) { Console.WriteLine("{0},{1},{2}", emailhstr.from, emailhstr.mailhistory_id, emailhstr.to_mail_ids); } } var parameters5 = new Dictionary <object, object>(); var emailstmt = creditnoteApi.GetEmailContent(creditnoteId, parameters5); if (emailstmt != null) { Console.WriteLine("{0},{1},{2}", emailstmt.body, emailstmt.subject, emailstmt.file_name); } var addr = new Address() { city = "guntur", state = "AP" }; var upbilladdrstr = creditnoteApi.UpdateBillingAddress(creditnoteId, addr); Console.WriteLine(upbilladdrstr); var address = new Address() { city = "guntur", state = "AP" }; var upshipp = creditnoteApi.UpdateShippingAddress(creditnoteId, address); Console.WriteLine(upshipp); var templatesList = creditnoteApi.GetTemplates(); var templates = templatesList; if (templates != null) { foreach (var template in templates) { Console.WriteLine("{0},{1},{2}", template.template_id, template.template_name, template.template_type); } } var updtemplatestr = creditnoteApi.UpdateTemplate(creditnoteId, templates[0].template_id); Console.WriteLine(updtemplatestr); var invoicescreditedList = creditnoteApi.GetInvoicesCredited(creditnoteId); var invoicescredited = invoicescreditedList; if (invoicescredited != null) { foreach (var invoicecredited in invoicescredited) { Console.WriteLine("{0},{1},{2}", invoicecredited.creditnote_invoice_id, invoicecredited.credited_amount, invoicecredited.invoice_id); } } var applytoinvoice = new ApplyToInvoices() { invoices = new List <CreditedInvoice>() { new CreditedInvoice() { invoice_id = "{invoice id}", amount_applied = 55.00, }, } }; var creditedinvoicesInfoList = creditnoteApi.CreditToInvoices(creditnoteId, applytoinvoice); var creditedinvoicesInfo = creditedinvoicesInfoList; if (creditedinvoicesInfo != null) { foreach (var creditedinvoiceInfo in creditedinvoicesInfo) { Console.WriteLine("{0},{1}", creditedinvoiceInfo.invoice_id, creditedinvoiceInfo.amount_applied); } } var delcreditinvapplied = creditnoteApi.DeleteInvoiceCredited(creditnoteId, creditedinvoicesInfo[1].creditnote_id); Console.WriteLine(delcreditinvapplied); var parameters6 = new Dictionary <object, object>(); var creditrefunds = creditnoteApi.GetCreditnoteRefunds(parameters6); if (creditrefunds != null) { foreach (var creditrefund in creditrefunds) { Console.WriteLine("{0},{1},{2}", creditrefund.creditnote_refund_id, creditrefund.creditnote_number, creditrefund.amount_bcy); } } var creditrefundsofcrednote = creditnoteApi.GetRefundsOfCrreditnote(creditnoteId); foreach (var creditrefund in creditrefundsofcrednote) { Console.WriteLine("{0},{1},{2}", creditrefund.creditnote_refund_id, creditrefund.creditnote_number, creditrefund.amount_bcy); } var creditnoterefund = creditnoteApi.GetCreditnoteRefund(creditnoteId, creditrefundsofcrednote[0].creditnote_refund_id); if (creditnoterefund != null) { Console.WriteLine("{0},{1},{2}", creditnoterefund.creditnote_refund_id, creditnoterefund.from_account_name, creditnoterefund.amount); } var refunddetails = new CreditNote() { date = "2014-01-30", from_account_id = "{account id}", amount = 10, }; var refundedcredit = creditnoteApi.AddRefund(creditnoteId, refunddetails); if (refundedcredit != null) { Console.WriteLine("{0},{1},{2}", refundedcredit.creditnote_refund_id, refundedcredit.from_account_name, refundedcredit.amount); } var creditrefundupdateinfo = new CreditNote() { date = "2014-01-30", from_account_id = "{account id}", amount = 5, }; var updatedCreditrefund = creditnoteApi.UpdateRefund(creditnoteId, creditrefundsofcrednote[0].creditnote_refund_id, creditrefundupdateinfo); if (updatedCreditrefund != null) { Console.WriteLine("{0},{1},{2}", updatedCreditrefund.creditnote_refund_id, updatedCreditrefund.from_account_name, updatedCreditrefund.amount); } var delcrdrefstr = creditnoteApi.DeleteRefund(creditnoteId, creditrefundsofcrednote[1].creditnote_refund_id); Console.WriteLine(delcrdrefstr); var commentsList = creditnoteApi.GetcreditnoteComments(creditnoteId); var comments = commentsList; if (comments != null) { foreach (var comment in comments) { Console.WriteLine("{0},{1},{2}", comment.comment_id, comment.description, comment.commented_by); } } var newcommentinfo = new Comment() { description = "nothing" }; var newcomment = creditnoteApi.AddComment(creditnoteId, newcommentinfo); if (newcomment != null) { Console.WriteLine("{0},{1},{2}", newcomment.comment_id, newcomment.description, newcomment.commented_by); } var delcommentstr = creditnoteApi.DeleteComment(creditnoteId, comments[1].comment_id); Console.WriteLine(delcommentstr); } catch (Exception e) { Console.WriteLine(e.Message); } Console.ReadKey(); }
static void Main(string[] args) { try { var service = new ZohoBooks(); service.initialize("{authtoken}", "{organization id}"); CreditNotesApi creditnoteApi = service.GetCreditNoteApi(); var parameters = new Dictionary<object, object>(); parameters.Add("creditnote_number_startswith", "CN"); parameters.Add("status", "open"); parameters.Add("total_less_than", "5000"); var creditnotesList = creditnoteApi.GetCreditnotes(parameters); var creditnotes = creditnotesList; var creditnoteId = creditnotes[0].creditnote_id; if (creditnotes != null) { foreach (var creditnote in creditnotes) Console.WriteLine("{0},{1},{2}", creditnote.creditnote_number, creditnote.total_credits_used, creditnote.total); } var parameters1 = new Dictionary<object, object>(); parameters1.Add("print", "false"); var creditnote1 = creditnoteApi.Get(creditnoteId, parameters1); if (creditnote1 != null) Console.WriteLine("{0},{1},{2}", creditnote1.creditnote_number, creditnote1.total_credits_used, creditnote1.total); var newCreditnote = new CreditNote() { customer_id = "{customer id}", creditnote_number = "CN-0008", line_items = new List<LineItem>(){ new LineItem(){ item_id="{item id}", name="Hard Drive", description="500GB, USB 2.0 interface 1400 rpm, protective hard case.", unit="", rate=120.00, quantity= 1.00, }, } }; var parameters2 = new Dictionary<object, object>(); parameters2.Add("ignore_auto_number_generation", "true"); var createdCreditnote = creditnoteApi.Create(newCreditnote, parameters2); if (createdCreditnote != null) Console.WriteLine("{0},{1},{2}", createdCreditnote.creditnote_number, createdCreditnote.total_credits_used, createdCreditnote.total); CreditNote updateInf = new CreditNote() { customer_id = "{customer id}", creditnote_number = "CN-00000", }; var parameters3 = new Dictionary<object, object>(); parameters3.Add("ignore_auto_number_generation", "true"); var updatedCreditnote = creditnoteApi.Update(creditnoteId, updateInf, parameters3); if (updatedCreditnote != null) Console.WriteLine("{0},{1},{2}", updatedCreditnote.creditnote_number, updatedCreditnote.total_credits_used, updatedCreditnote.total); var delstr = creditnoteApi.Delete(creditnotes[2].creditnote_id); Console.WriteLine(delstr); var convToOpen = creditnoteApi.ConvertToOpen(creditnoteId); Console.WriteLine(convToOpen); var voidstr = creditnoteApi.ConvertToVoid(creditnoteId); Console.WriteLine(voidstr); var parameters4 = new Dictionary<object, object>(); var emaildata = new EmailNotification() { send_from_org_email_id = false, to_mail_ids = new List<string>(){ "*****@*****.**" }, subject = "Credit Note from Zillium Inc ", body = "Dear Customer, <br><br><br><br>The credit note is attached with this email. <br><br><br><br>Credit Note Overview: \n" }; var emailstr = creditnoteApi.SendEmail(creditnoteId, emaildata, parameters4); Console.WriteLine(emailstr); var emailhstrs = creditnoteApi.GetEmailHistory(creditnoteId); if (emailhstrs != null) foreach (var emailhstr in emailhstrs) Console.WriteLine("{0},{1},{2}", emailhstr.from, emailhstr.mailhistory_id, emailhstr.to_mail_ids); var parameters5 = new Dictionary<object, object>(); var emailstmt = creditnoteApi.GetEmailContent(creditnoteId, parameters5); if (emailstmt != null) { Console.WriteLine("{0},{1},{2}", emailstmt.body, emailstmt.subject, emailstmt.file_name); } var addr = new Address() { city = "guntur", state = "AP" }; var upbilladdrstr = creditnoteApi.UpdateBillingAddress(creditnoteId, addr); Console.WriteLine(upbilladdrstr); var address = new Address() { city = "guntur", state = "AP" }; var upshipp = creditnoteApi.UpdateShippingAddress(creditnoteId, address); Console.WriteLine(upshipp); var templatesList = creditnoteApi.GetTemplates(); var templates = templatesList; if (templates != null) foreach (var template in templates) Console.WriteLine("{0},{1},{2}", template.template_id, template.template_name, template.template_type); var updtemplatestr = creditnoteApi.UpdateTemplate(creditnoteId, templates[0].template_id); Console.WriteLine(updtemplatestr); var invoicescreditedList = creditnoteApi.GetInvoicesCredited(creditnoteId); var invoicescredited = invoicescreditedList; if (invoicescredited != null) foreach (var invoicecredited in invoicescredited) Console.WriteLine("{0},{1},{2}", invoicecredited.creditnote_invoice_id, invoicecredited.credited_amount, invoicecredited.invoice_id); var applytoinvoice = new ApplyToInvoices() { invoices = new List<CreditedInvoice>(){ new CreditedInvoice(){ invoice_id="{invoice id}", amount_applied=55.00, }, } }; var creditedinvoicesInfoList = creditnoteApi.CreditToInvoices(creditnoteId, applytoinvoice); var creditedinvoicesInfo = creditedinvoicesInfoList; if (creditedinvoicesInfo != null) foreach (var creditedinvoiceInfo in creditedinvoicesInfo) Console.WriteLine("{0},{1}", creditedinvoiceInfo.invoice_id, creditedinvoiceInfo.amount_applied); var delcreditinvapplied = creditnoteApi.DeleteInvoiceCredited(creditnoteId, creditedinvoicesInfo[1].creditnote_id); Console.WriteLine(delcreditinvapplied); var parameters6 = new Dictionary<object, object>(); var creditrefunds = creditnoteApi.GetCreditnoteRefunds(parameters6); if (creditrefunds != null) foreach (var creditrefund in creditrefunds) Console.WriteLine("{0},{1},{2}", creditrefund.creditnote_refund_id, creditrefund.creditnote_number, creditrefund.amount_bcy); var creditrefundsofcrednote = creditnoteApi.GetRefundsOfCrreditnote(creditnoteId); foreach (var creditrefund in creditrefundsofcrednote) Console.WriteLine("{0},{1},{2}", creditrefund.creditnote_refund_id, creditrefund.creditnote_number, creditrefund.amount_bcy); var creditnoterefund = creditnoteApi.GetCreditnoteRefund(creditnoteId, creditrefundsofcrednote[0].creditnote_refund_id); if (creditnoterefund != null) Console.WriteLine("{0},{1},{2}", creditnoterefund.creditnote_refund_id, creditnoterefund.from_account_name, creditnoterefund.amount); var refunddetails = new CreditNote() { date = "2014-01-30", from_account_id = "{account id}", amount = 10, }; var refundedcredit = creditnoteApi.AddRefund(creditnoteId, refunddetails); if (refundedcredit != null) Console.WriteLine("{0},{1},{2}", refundedcredit.creditnote_refund_id, refundedcredit.from_account_name, refundedcredit.amount); var creditrefundupdateinfo = new CreditNote() { date = "2014-01-30", from_account_id = "{account id}", amount = 5, }; var updatedCreditrefund = creditnoteApi.UpdateRefund(creditnoteId, creditrefundsofcrednote[0].creditnote_refund_id, creditrefundupdateinfo); if (updatedCreditrefund != null) Console.WriteLine("{0},{1},{2}", updatedCreditrefund.creditnote_refund_id, updatedCreditrefund.from_account_name, updatedCreditrefund.amount); var delcrdrefstr = creditnoteApi.DeleteRefund(creditnoteId, creditrefundsofcrednote[1].creditnote_refund_id); Console.WriteLine(delcrdrefstr); var commentsList = creditnoteApi.GetcreditnoteComments(creditnoteId); var comments = commentsList; if (comments != null) foreach (var comment in comments) Console.WriteLine("{0},{1},{2}", comment.comment_id, comment.description, comment.commented_by); var newcommentinfo = new Comment() { description = "nothing" }; var newcomment = creditnoteApi.AddComment(creditnoteId, newcommentinfo); if (newcomment != null) Console.WriteLine("{0},{1},{2}", newcomment.comment_id, newcomment.description, newcomment.commented_by); var delcommentstr = creditnoteApi.DeleteComment(creditnoteId, comments[1].comment_id); Console.WriteLine(delcommentstr); } catch(Exception e) { Console.WriteLine(e.Message); } Console.ReadKey(); }