Accorto provides standard layouts for invoice layouts, including a summary format.

Without code changes, you can customize

  • what fields are printed via the Invoice Settings (see below)
  • adding additional header fields via the FieldSet "Pdf Report" of the Invoice object
  • adding additional invoice line field via the FieldSet "Pdf Report" of the Invoice Line object.


Invoice Settings

In Setup > Custom Settings > Accorto Invoice Layout Settings, determine how the invoice is laid out:


SettingDefaultDescription
Show Organization NameyesShow Organization Name - yes (default) - no
Organization Email
Email Address of Organization
Organization Web Address
Organization Web Address
Header Text 1
Additional Header Text
Show Sales RepyesShow Sales Rep (record owner) info - yes (default) - no
Show Sales Rep PhoneyesShow the Phone number of the Sales Rep (record owner) - yes (default) - no
(if the Sales Rep is displayed)
Show Sales Rep EmailnoShow the Email of the Sales Rep (record owner) - yes - no (default)
(if the Sales Rep is displayed)
Show ManageryesShow Manager (entered or derived from Project Manager) info - yes (default) or no
Show Manager PhoneyesShow Phone number of Manager - yes (default) - no
(if Manager is displayed)
Show Manager EmailnoShow Email of Manager - yes - no (default)
(if Manager is displayed)
Currency Prefix
Currency Prefix for amounts - only if the organization is not Multi-Currency - example: $
Show Line TaxyesAlways show Line Tax with Subtotal - yes (default) - no
If the invoice contains tax information, the tax columns are automatically displayed.
Line Description Show ReasonyesShow the T+E Reason (if any) in the Line Description
(applies when creating the invoice)
Line Note Show Daily Descriptionyes
Show the T+E Item Daily Description in the Invoice Line Note
- yes (default - with date+hours)
- all (yes+description)
- plain (only descriptions)
- no
(applies when creating the invoice)
Summary Service Level
Summary Invoice Service Grouping (how the invoice lines are summarized):
- ResourceProjectLine (default)
- ResourceProjectPhase
- ResourceProject
- Resource
- Project
- ProjectResource
Summary Detailsyes
Include details in Summary Layout
- yes (default)
- no

Invoice Customization

You can customize the standard layout further by 

  • adding a logo from static resources
  • change/overwrite the CSS


Custom Page - e.g., CustomInvoice.page

<apex:page standardController="accorto__Invoice__c" showHeader="false" 
  standardStylesheets="false" sidebar="false" applyHtmlTag="false" applyBodyTag="false" docType="html-5.0" renderAs="pdf" id="inv">
<html xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">  
<head>
<style>
.slds .orgLogo { 
    height: 70px;
    margin-right: 20px; 
}
.docDescription {
    padding-top: 5px;
}
.docNote {
    padding-top: 5px;
    font-style: italic;
}
</style>
</head>
<body>
<div class="slds">
    <accorto:InvoiceHTML id="c" invoiceId="{!$CurrentPage.parameters.id}" 
      orgLegal=" "
      logoUrl="{!URLFOR($Resource.MyStaticResource)}" />
</div>    
</body>
</html>    
</apex:page>

 (replace the logoUrl with the reference to your logo in static resources)


In Setup > Custom Settings > Accorto Settings (Manage)

set the field Invoice: Custom Page to "c__CustomInvoice" (assuming the VisualForce Page Name is CustomInvoice)

Or create a button which links to your VisualForce page and add it to the invoice layout.


Multiple Addresses and Logos

Customize your Invoice with Address and Logos via Financial Organizations.  

Use the default organization or set up your system to use multiple organizations
to create invoices with different company names, addresses, and logos.

See Financial Organization for details.


Translation

You can create Invoices in other languages. Check Invoice Translation for details.


Custom Layout

If the customization options are not sufficient, you need to create a custom layout.

Here are the steps if you want to create a custom invoice layout:

  • upload your logos and optional style sheets as static resources
  • create a component with the layout, e.g. InvoiceCustom.component - see attachment
  • create a Visualforce page, e.g. InvoiceCustom.page referencing the component
  • create a button in the Invoice object referencing the Visualforce page

Custom Invoice Component

The Invoice Component allows to use the layout in pages and also in email templates.  As example, check out the attached InvoiceCustom.component. Add your own styles and modify the layout as required.


Custom Invoice Page

Create a VisualForce page:

 

<apex:page standardController="accorto__Invoice__c" showHeader="false" renderAs="pdf">
    <c:InvoiceCustom cinvoiceId="{!$CurrentPage.parameters.id}"/>
</apex:page>

 

For testing, you may want to remove the "renderAs".


Custom Invoice Button

In the Invoice object, create a New Button or Link

  • Select either Detail Page Link - or - Detail Page Button
  • Behavior: Display in new window
  • Content Source: Visualforce Page - select your Invoice Page