Introduction
In this article, we will learn how to create an invoice using Zoho CRM in ASP.NET MVC Web application.
Let’s begin
Please read this article first of all here.
If you have not seen How to Create Product using Zoho CRM then I recommend you to see that first. in that article, I described how to Create a Product using Zoho CRM.
C# Code Example
Open the HomeController.cs file and add the below code in it.
public void CreateInvoice() { try { ZCRMModule moduleIns1 = ZCRMModule.GetInstance("products"); //module api name BulkAPIResponse<ZCRMRecord> response1 = moduleIns1.GetRecords(); List<ZCRMRecord> relatedLists = response1.BulkData; ZCRMModule moduleInsAccounr = ZCRMModule.GetInstance("accounts"); //module api name BulkAPIResponse<ZCRMRecord> responseAccount = moduleInsAccounr.GetRecords(); List<ZCRMRecord> relatedListsAccount = responseAccount.BulkData; List<ZCRMRecord> listRecord = new List<ZCRMRecord>(); ZCRMRecord record; record = ZCRMRecord.GetInstance("invoices", null); //To get ZCRMRecord instance record.SetFieldValue("Subject", "Invoice4"); //This method use to set FieldApiName and value similar to all other FieldApis and Custom field record.SetFieldValue(relatedListsAccount[0].CreatedBy.FullName, relatedListsAccount[0].CreatedBy.Id); record.SetFieldValue("Company", "your company name"); record.SetFieldValue("Last_Name", "your last name"); record.SetFieldValue("Customfield", "CustomFieldValue"); record.SetFieldValue("Price_Book_Name", "Price_Book_Name"); ZCRMPriceBookPricing pricing; pricing = new ZCRMPriceBookPricing { ToRange = 5, FromRange = 1, Discount = 0 }; record.AddPriceDetail(pricing); pricing = new ZCRMPriceBookPricing { ToRange = 11, FromRange = 6, Discount = 1 }; record.AddPriceDetail(pricing); pricing = new ZCRMPriceBookPricing { ToRange = 17, FromRange = 12, Discount = 2 }; record.AddPriceDetail(pricing); pricing = new ZCRMPriceBookPricing { ToRange = 23, FromRange = 18, Discount = 3 }; record.AddPriceDetail(pricing); record.SetFieldValue("Pricing_Model", "Flat"); ZCRMTax linetax; linetax = ZCRMTax.GetInstance("Sales Tax"); linetax.Percentage = 12.5; record.AddTax(linetax); ZCRMRecord product = ZCRMRecord.GetInstance("Products", relatedLists[0].EntityId); // product instance ZCRMInventoryLineItem lineItem = new ZCRMInventoryLineItem(product); //To get ZCRMInventoryLineItem instance lineItem.Description = "Product_description"; //To set line item description lineItem.Discount = 5; //To set line item discount lineItem.ListPrice = 100; //To set line item list price ZCRMTax taxInstance1 = ZCRMTax.GetInstance("Sales Tax"); //To get ZCRMTax instance taxInstance1.Percentage = 2; //To set tax percentage taxInstance1.Value = 50; //To set tax value lineItem.AddLineTax(taxInstance1); //To set line tax to line item taxInstance1 = ZCRMTax.GetInstance("Vat"); taxInstance1.Percentage = 12; taxInstance1.Value = 50; lineItem.AddLineTax(taxInstance1); lineItem.Quantity = 100; //To set product quantity to this line item record.AddLineItem(lineItem); //The line item set to the record object /** End Inventory **/ listRecord.Add(record); ZCRMModule moduleIns = ZCRMModule.GetInstance("invoices"); List<string> trigger = new List<string>() { "workflow", "approval", "blueprint" }; string larID = "3477053013"; BulkAPIResponse<ZCRMRecord> responseIns = moduleIns.CreateRecords(listRecord); //To call the create record method Console.WriteLine("HTTP Status Code:" + responseIns.HttpStatusCode); } catch (Exception ex) { throw; } }
Get All Invoice Data
public void GetAllInvoicesData() { ZCRMModule moduleIns = ZCRMModule.GetInstance("invoices"); //module api name BulkAPIResponse<ZCRMRecord> response = moduleIns.GetRecords(); List<ZCRMRecord> relatedLists = response.BulkData; }
if you have any questions or issues about this article, please let me know and more details here