What is a Proforma
Proforma invoices are used when you need to produce a document to a customer for services that you are yet to provide. Issuing a proforma does not mean that a customer is required to make any payments. The payment is not expected and since it is not a true invoice, it should not be recorded as such.
Due to the nature of business carried out by WHMCS, it's highly recommended to use proformas. In fact all products/services sold from WHMCS are generally not yet supplied. For example customers are required to pay in advance before domain transfers and hosting creations.
At the end of the year you are required to record only real invoices ignoring all unpaid proformas for products/services that have not been renewed. If you disable profroma invoicing all documents generated by WHMCS will be true invoices that you are required to record.
What is a Credit Note
A credit note is effectively a negative invoice issued by a seller to a buyer in various situations to correct a mistake, such as when an invoice is overstated or when there are refunds/returns involved. Credit notes are also called credit memo or reverse invoice in some countries.
Credit notes are not supported by WHMCS therefore when mistakes like overpayments occur WHMCS is unable to handle them correctly. That's why we suggest you to enable credit notes in your system. Read this
article to learn how to issue credit notes with Billing Extension
When proforma invoicing is in use, WHMCS generates profromas that will be converted to true invoices only when customers pay them. The coexistence of these two types of documents may confuse customers. Let's see an example.
- WHMCS generates Proforma #1050
- Your customer pays it with Wire Transfer using 1050 as reference number
- Once the payment is received Proforma #1050 becomes Invoice #15
There is no trace of the reference number 1050 on the newly created invoice and this can cause issues to customers cross-checking payments. Billing Extension
has a feature named Reference Numbers that when enabled stores the reference of proformas on invoices.