D
DCIApps
Invoice Easy NP
Invoicing for Nonprofits
Invoice Easy NP
nonprofit invoicing simplified

About Invoice Easy NP

Invoice Easy NP is an invoicing app for nonprofits that offer goods and services for sale as one of their sources of revenue. If your organization offers branded merchandise or special services of various types as part of your business model and want to track sales as Opportunities, and invoice directly for those Opportunities, then Invoice Easy NP is for you. Using Invoice Easy NP you can quickly generate, email, and save invoice records and documents from your opportunities with a few clicks.

With Invoice Easy NP, your organization using the Salesforce.org Nonprofit Success Pack NPSP ** will be able to produce fast, easy invoicing simplifying and improving your revenue stream. **The NPSP is required to deploy this app which utilizes both standard and nonprofit package objects.

Specifics on How it Works
Overall this is a simple view of your process for invoicing.
  • Accounts, either standard (enterprise) or Household, and Contacts are used by the app for recipient information.
  • Products, Price Books, and Price Book Entries must be set up in advance to produce Opportunity Products.
  • Opportunities are the point from which you will invoice customers.
  • Opportunity Products added to the Opportunity will become the indivdual invoice charges.
  • Opportunity Payments (part of NSPS) added to the Opportunity and checked as paid are the indivdual invoice payments.
    ** occasionally partial payments may be received and recorded followed by additional rounds of invoicing particularly for larger opportunities.
  • Invoices may then be generated and sent.

Invoice Easy NP Guide

Invoice Output PDF

Lets start with what the final result looks like in the form of the invoice PDF that is sent out or printed and saved as a File.

The invoice is composed of a header area in upper left with your organizations information, a jpeg you can add for branding on the invoice, the invoice id, the customers Account and Contact recipient information, charges and payments with total lines and balance due difference, and lastly a footer area for payment instructions and more as you wish.

The header and footer information is customized by you in the package custom setting.

Invoice PDF
Click to enlarge if you have a small screen view.
Invoice Annotated

This shows the sources of information produced on the invoice.

  • Invoice Date from Opportunity Close Date
  • Invoice header lines from either (A) each line in custom setting Invoice Information with Name starting with Invoice Header and listed in sort order OR (B) alternatively company settings information. (1)
  • Invoice branding to appear in upper area on the right of your organization header. This is a jpeg you upload to the package Static Resource. (Use blank white jpg if branding not wanted.)
  • Invoice# (not marked in sample) is a formula field on Opportunity with the Opp create date embedded. (2) Trailing portion of Invoice Id are five leading characters of the customer (Account) name.
  • Recipient information is a combination of Account and the Contact(s) marked as Billing Contact.
  • Charges are each of the Opportunity Product lines.
  • Payments are each of the Opportunity Payment lines that are checked Paid.
  • Balance Due line is the amount due on the invoice. Payments total is deducted from Charges total for the due amount.
  • Invoice footer lines from each line in custom setting Invoice Information with Name starting with Invoice Footer and listed in sort order.

(1) If you do not use custom setting records the header defaults to Company Information.
(2) Create date is used because it is constant and cannot be changed - whereas Close Date can change. Invoice Id should remain the same regardless of possibly changing Close Date.

Invoice PDF Showing Detail Sources
Click to enlarge if you have a small screen view.
Details and How it Works
Prepare to Use the App
  • In order to be able to add Opportunity Products to Opportunities set up Products and Price Book configuration **IF you have not already done so (many will have)**.
    • Add a Product with New button on Product tab and save.
    • Price Book Entry - Price Book Entries are where specific product price and the tax rate, a custom field for taxable products, is set.
      1. Viewing the Product just created find related list for Price Book. There is a button Add Standard Price. First add the product to a standard price list.
        You can then add the product to any other custom price book.
      2. From a Price Book the Related Price Book Entries will have an Add Products button. Add your products with prices and tax rate for taxable items and be sure PBE is set to Active.
        **(Note: a product can belong to different price books with different prices and descriptions. But any Opportunity will only be able to use one price book.)
  • Set up your Invoice Information Custom Setting records. (More details below in Custom Settings sample and description.)
    • Invoice Header 1-n for top-of-the-invoice heading for your org information. This is optional with Company Information as default values if no Invoice Header records are set.
    • Invoice Footer 1-n for bottom-of-the-invoice with payment instructions. Also optional but it is useful for payment method messaging.
    • Email Body 1-n to pre-fill some of the text area that translates into email body. Again this is optional - useful if you want to embed standard email body verbiage below the greeting lines.
Record Sales as Opportunities
  • Have an Account set up - either regular account or household. Include Billing Address information on the Account if you want it printed on the invoice.
  • Have at least one Contact related to the Account and set as the Billing Contact with correct email address if you intend to use the app functionality for emailing the invoice.
  • Create your Opportunity for a goods and/or services sale for the customer. Be sure to set the Price Book to the correct one if you use more than one price book in your company.
  • Add Products to the Oppportunity entering Quantity, Date, and Line Description (which appears on the invoice charge line item).
    **At this time Quantity is not shown on the charge line item on the invoice so you may want to indicate it in the Line Description.
  • Payments marked with the Paid checkbox will be added to the invoice. Of course if the full amount is paid you may decide not to create another invoice depending on what process you would like to follow.
    **An initial Payment may be automatically generated by the NPSP when you create your initial set of Opportunity charges (products).
    ***As long as that is not set to Paid it will not appear on your invoice.
Account

This is our example household account.

Notice the Billing Address. Look familiar? It appears on the invoice in the recipient information.

Configuration Note for NPSP: You may need to go to the Account page layout to set up Opportunities related list settings (wrench), open buttons, and check the standard New button to enable it. Otherwise only the button New Account Donation shows with your Opportunity related list options and for invoicing we are not really working with donations.

Account Shot
Click to enlarge if you have a small screen view.
Opportunity

When a sale of goods and/or services is made you create an Opportunity. Your approach to managing Opportunity lifecycle with stages is up to you but Stage value will not impact invoicing functionality. You may prefer for example to set the Opportunity to Closed Won before proceeding with generating an invoice but that is not necessary for invoicing to proceed.

**Do not enter an Amount on the creation of the Opportunity. That will be determined by the Product lines you add for sale. (This is NOT for a Donation Opportunity for which you would likely fill in Amount when you create it.)

Add the Products sold for the opportunity with price adjustment if necessary, quantity of the items, date, and line description.

Add the Payments received (if applicable) and select the payment date so that date will appear on invoice payment line. Also assuming you have actually received payment check Paid as well so the payment becomes part of the invoice. (Unpaid will not appear.)

Finally when ready to send an invoice use the Invoice button.

Opportunity Shot
Click to enlarge if you have a small screen view.
Custom Settings

Before we look at the easy 3-step process for invoicing lets see what controls what appears. Thats where the Custom Setting - Invoice Information - comes in.

There are three functional uses for Custom Setting delivered with the app called Invoice Information.

  1. Email Body records are lines you can optionally add to autofill the text area on the invoice begin page (see that description next) which then appears in the body of your sent email (also described in a section below).
  2. Invoice Footer records are ones that appear at the bottom of the invoice with payment instructions. Optional but recommended.
  3. Invoice Header records are the details of your organization you want heading the invoice. These are optional as well and if not used then the actual invoice header will default to Company Information: org name, address, and phone. (If you DO use one or more custom setting records no Company Information will be used in the header.)
The app will select all records in order by name so be careful to suffix each of the three in the sequence you want them to appear in documents. That is, Invoice Header 1 appears before Invoice Header 2 and so on.

Also note that the Invoice Line size is standard text 255 characters. If one line runs past 255 characters dont leave a partial word on one line and finish it on the next, there will be an unwanted space in the word.

Custom Setting Sample Data
Click to enlarge if you have a small screen view.
Invoice Step 1 of 3

After hitting the Invoice button from your Opportunity you land on this page.

There are a few things to notice here:

  • In the first section of the page a summary of all invoices already created on this opportunity showing date, who created, who it was sent to (blank if Print and Save chosen), and total amounts for each invoice.
  • Below that is what this generation of invoice with have for totals. Beneath that who it will be sent to - one or more Billing Contacts.
  • The open text area is prepopulated as follows:
    1. red highlight shown is a fixed beginning encoded in the app that includes the invoice file name stating it is attached.
    2. green highlight is text from your custom setting with Name starting with Email Body.

Of course this is open text you can manage and edit any way you like. Maybe you will want to keep a few fixed blocks in a document to copy and paste into the text box. If its always the same for all invoices you can have your set up with Email Body records in the custom setting. This is encoded in the software so, for example, if you want the recipient's first name instead of Valued Customer you will need to copy and paste from the recipient name shown above in the Billing Contacts message.

As you see by the page instructions for filling that in the app prevents tag characters < and > from being inserted. To start new paragraph use [P] and new line [L].

To proceed to the invoice preview page click the Preview Invoice button.
To cancel invoicing for any reason click Cancel link to return to the Opportunity where you started.

Invoice Begin Page
Click to enlarge if you have a small screen view.
Invoice Step 2 of 3

After hitting the Preview Invoice button from the previous invoice begin page you come to this web page representation of what the invoice will look like.

To confirm and send the invoice click the Send and Save button.
To confirm and print a hardcopy of the invoice click the Print and Save button.
To cancel invoicing for any reason click Return to Opportunity link to return to the Opportunity where you started (same as previous page Cancel).

Invoice End Page
Click to enlarge if you have a small screen view.
Invoice Step 3 of 3

If you chose Send and Save this is what you would see.

A sent message appears at the bottom.

The buttons available changed at the top. If you want to print hardcopy hit the Print button and a copy of the PDF will pop out into a separate window from which you can select Print.

Your invoice action is now complete. To get back to the Opportunity hit the Return to Opportunity link. A new Invoice record will be created on the Opportunity and that record will have the PDF copy of the invoice attached as a File.

Invoice End Page
Click to enlarge if you have a small screen view.
Email Received by Customer

The screen shot to the right is the resulting email sent.

Notice the email body verbiage matches the email body text filled in on the step 1 invoice preparation page (see below). Notice how the paragraph and line breaks work.

Invoice Begin Page

Invoice Begin Page
Click to enlarge if you have a small screen view.

Use Cases

Use Case 1

A business customer of your services places an order for a block of services.
In this B2B scenario you are delivering your goods and/or services to another enterprise customer.
From the standpoint of working with other enterprises you will have begun by creating an Account record then adding indvidual Contacts related to that Account who are members of their orgainzation.
   The app will automatically email the invoice by selecting that option but first at least one Contact must have been set with the Billing Contact checkbox checked.
Create an Opportunity for that customer Account then add in the Opportunity Products that are being sold.
Click the Invoice button on the Opportunity actions which takes you to a begin page showing totals for any invoices previously created for this Opportunity and a text area for entering email body verbiage.

Use Case 2

A household supporter places an order for your branded merchandise.
In this B2C scenario you are delivering your goods and/or services to a customer who is an individual.
From the standpoint of working with individuals as customers you will have begun by creating a Contact record which (depending on your NPSP configuration) may create a related Household Account above the Contact relationship.
   The app will automatically email the invoice by selecting that option but first at least one Household Contact must have been set with the Billing Contact checkbox checked.
Create an Opportunity for that customer Household Account then add in the Opportunity Products that are being sold.
Click the Invoice button on the Opportunity actions which takes you to a begin page showing totals for any invoices previously created for this Opportunity and a text area for entering email body verbiage.

Configuration

Package Contents
Type Name Purpose
Apex Class InvoiceController Invoice server-side controller
Apex Class InvoiceControllerTestTest class for InvoiceController
VisualForce Page InvoiceBeginStarting point page
VisualForce Page InvoicePreviewFor proofing invoice before send/print PDF
VisualForce Page InvoiceDocumentInvoice PDF page
Process Builder Opp Product Add TaxAdds Opportunity Product Tax and Total Price into Total Price with Tax
Custom Setting Invoice InformationHolds invoice header and footer as well as email body text
Custom Object InvoiceRecords each invoice total amounts and date and will have attached inovice PDF File
Setup/Deployment
  1. Install package.
  2. Page Layout Changes
    • Opportunity layout(s) you plan to invoice from - Add Invoice button and related lists for Products, Payments, and Invoices.
    • Contact layout(s) - Add Billing Contact field.
    • Price Book Entry layout(s) - Add Tax Rate field.
  3. Salesforce CRM Content – must be checked to allow relating the invoice PDF file stored with an Invoice record
  4. Permissions
    • Give users Profiles under Apex Class Access permission to use InvoiceController
    • Give users Profiles under Visualforce Page Access permission to use three Invoice____ pages
    • Give users Profiles access under Custom Setting Definitions for Invoice Information
    • Invoice object should have Read and Create for people creating invoices
    • Payment object should have Read, Edit, Create, Delete for people creating Opportunity Payments and for those creating invoices at least Read

CONTACT

Email Us About This App

X