Invoices for Salesforce automatically creates invoices for your sales straight out of your sales records. For each sale the application creates:
The invoice and respective invoice line items are records of two custom objects: Invoice and Invoice Line Item introduced by the application. As their names implies these objects capture the invoice and respective invoice line items data.
The Invoice and Invoice Line Item objects ship with the initial customization required by the application. As you create invoice templates to define your invoices, Invoices for Salesforce automatically updates the customization of these objects to include the dynamic data from your records that you add to your invoice templates. (This only applies to Enterprise, Unlimited, and Developer Editions of Salesforce. Professional Edition users need to customize these objects manually as described here).
For example. Consider an invoice template that includes your customer billing address. You do that by adding merge field expressions for the Account Billing Street, Billing City, Billing Postal Code, and Billing Country as described in Adding Text. . When you save the invoice template, Invoices for Salesforce creates new fields in the Invoice object for each one of these merge fields, and of the same type, if the fields do not exist yet. Furthermore, consider that your invoice template includes the list of the items being invoiced in an invoice items table, and that you have selected the following column headers for the table: ProcebookEntry Product Name, Product Code, List Price, and the OpportunityLineItem Quantity as described in Adding an Invoice Items Table. As the invoice template is saved, Invoices for Salesforce creates new fields in the Invoice Line Item object for these invoice item table column headers, and of the same type, provided the fields do not exist yet.
The idea behind the automatic customization of the Invoice and Invoice Line Item objects is that you think about invoices in terms of the document you send to your customers, and the application automatically maintains the customization of the objects used to capture the records of the invoices for you.
In addition to using the merge fields in your invoice templates to mantain the customization of the Invoice and Invoice Line Item objects, Invoices for Salesforce also add new fields to the Invoice object when you add billing rules to your billing scenarios. This is to capture the association between the invoice and the billing scenario for which it was created in the invoice. This way, when you fetch the sales for a billing scenario, the list shows whether an invoice has already created for each sale in the list or not. Consequently, the fields in the Invoice object correspond to the dynamic content of your invoice templates and the billing rules of the billing scenario used to create the invoice.
The only customization you may require of the Invoice and Invoice Line Item objects is that of their respective page layouts to display the dynamic data from your records you include in your invoice templates. For more information on customizing these objects page layouts see Invoice Object and Invoice Line Item Object.