Customizing invoices
The content which is used to display an invoice, and in particular the report which is displayed on the Print tab of an invoice, can be customized to meet your needs.
Understanding how invoices are displayed
Review the following to understand how invoices are displayed throughout iMIS and what must be modified when you begin customizing invoices.
Invoice links contain an InvoiceId (Reference Number) URL parameter
All invoice links use the InvoiceId URL parameter, because the parameter indicates which invoice to display. The InvoiceId is the same as the invoice's Reference Number.
Each invoice type (source system) has an associated shortcut
All invoice types use the Invoice.aspx page to display the invoice. The Invoice.aspx page redirects to various shortcuts depending on the source system of the selected invoice.
When you customize invoice content or an invoice report, you must update the associated shortcut to point to your customized version.
Invoices displayed on Print tabs use the Data Showcase content item
Each Print tab contains a Data Showcase content item wrapped in an iFrame. This configuration is necessary for the report to display from the Print tab. If you attempt to link the Print tab directly to a Report Display content item, the invoice will not display. The Data Showcase content takes the InvoiceID and redirects to a URL that uses the correct Reference Number. If you try to use the Report Display content directly on the Print tab, the URL parameter will not match the report parameter.
Shortcuts and default content
The following table details the shortcuts and default content used for each different type of invoice.
Invoice type | Invoice detail shortcut | Invoice content (Invoice Detail) |
Print tab content (Invoice Data Showcase) |
Report content (Invoice Report) |
Report displayed |
---|---|---|---|---|---|
Event
(source system of MEETING) |
InvoiceDetailEvent | @/iCore/Finance/ Event_Invoice_Detail |
@/iCore/Finance/ Event_Invoice_Data_Showcase |
@/iCore/Finance/ Event_Invoice_Report |
$/EventManagement/DefaultSystem/ Reports/Event Invoice |
Commerce
(source system of ORDERS) |
InvoiceDetailOrder | @/iCore/Finance/ Order_Invoice_Detail |
@/iCore/Finance/ Order_Invoice_Data_Showcase |
@/iCore/Finance/ Order_Invoice_Report |
$/OrderManagement/DefaultSystem/ Reports/Order Invoice |
Fundraising Pledge | InvoiceDetailPledge | @/iCore/Finance/ Pledge_Invoice_Detail |
@/iCore/Finance/ Invoice_Data_Showcase |
@/iCore/Finance/ Invoice_Report |
$/Accounting/DefaultSystem/ Reports/Invoice Detail |
Cash billing | InvoiceDetailCash | @/iCore/Finance/ Cash_Invoice_Detail |
@/iCore/Finance/ Invoice_Data_Showcase |
@/iCore/Finance/ Invoice_Report |
$/Accounting/DefaultSystem/ Reports/Invoice Detail |
All others, including accrual billing and non-pledge gifts | InvoiceDetail | @/iCore/Finance/ Invoice_Detail |
@/iCore/Finance/ Invoice_Data_Showcase |
@/iCore/Finance/ Invoice_Report |
$/Accounting/DefaultSystem/ Reports/Invoice Detail |
Customizing invoice reports
It is suggested that you begin with a copy of the out-of-the-box invoice report you intend to customize. To begin with a copy, download the invoice report locally, then open it using SQL Server Data Tools.
The following outlines the process to follow when replacing an out-of-the-box invoice report:
- Make sure that your custom report has a parameter for the invoice reference number which matches the InvoiceId value that will be included in the URL for invoice links throughout iMIS. It is best to use the prompt Reference Number to avoid having to customize the URL included in the Data Showcase content any further than necessary.
- Add your customized report RDL as a Reporting Services Template in the Document System.
- Copy the Invoice Detail, Invoice Data Showcase, and Invoice Report content for the type of invoice you are customizing (see the above table).
- Modify your copy of the Invoice Report content to point to your new report added in step 2. Make note of the publish location (URL) of this content.
- Modify your copy of the Invoice Data Showcase content to update the HTML of the Data Showcase content item so that the URL reflects your copy of the report content.
- Modify your copy of the Invoice Detail content so that the Print tab is using your version of the Data Showcase content.
- Update the shortcut for the type of invoice you are customizing to point to your version of the Invoice Detail content.
Example:
Out-of-the-box, the HTML is the following:
<iframe height="800px" width="100%" src="[~]iCore/Finance/Invoice_Report.aspx?Reference%20Number={#1.InvoiceId}&TemplateType=D" style="border: medium none;"></iframe>
If your new copied content is in the Shared Content folder, the HTML would be updated to the following:
<iframe height="800px" width="100%" src="[~]Shared_Content/Invoices/Invoice_Report.aspx?Reference%20Number={#1.InvoiceId}&TemplateType=D" style="border: medium none;"></iframe>
If your report does not have a parameter with a prompt equal to "Reference Number", then this portion of the URL should be updated to reflect the prompt of the parameter you are using to represent the InvoiceId/Invoice Reference Number:
"[~]iCore/Finance/Invoice_Report.aspx?Reference%20Number={#1.InvoiceId}&TemplateType=D"