Details
-
Type: New Feature
-
Status: Closed
-
Priority: Blocker
-
Resolution: Fixed
-
Affects Version/s: 3.0.0.b2
-
Fix Version/s: 3.3.0-b1
-
Component/s: None
-
Labels:None
Description
Add support for pro forma invoices. It will be a setting for the company or client group that has to be enabled. It will work similar to draft invoices in most ways.
The exceptions would be that the pro forma invoices would be visible to clients, and upon payment would result in the pro forma invoice being converted to a normal invoice, with normal invoice numbering and then credited for the payment.
See this description sent by a customer.
—
Billing and accounting:
- In many European countries, the principle in use when tracking income and expenses by law is the accrual principle (http://en.wikipedia.org/wiki/Comparison_of_cash_and_accrual_methods_of_accounting). In short, this means that one is liable to pay sales tax when an invoice is issued, not when it is paid. As a consequence, if an invoice is not paid, one will either have to issue a credit memo (if the product is “returned”, in case of subscriptions, cancelled after an invoice was issued), or one will have to write the invoice off as a loss (which has a different set of rules, an invoice cannot be written off as a loss unless a certain time period has passed, it has been dunned a number of times, etc. In Norway, for instance, the minimum time that needs to pass before an invoice can be marked as lost is 6 months).
The consequence of this is, of course, that the business will have to pay sales tax even though the money is yet to be received from the customer. It also means that as one credits or writes off an invoice as lost, one will get the already paid taxes refunded, but as indicated above, that might take up to six months.
A way around this is to issue pro forma invoices. Pro forma invoices basically means that the seller has an obligation to sell a certain product or service to the customer, but the sale has not yet been made. First upon payment will there be a real invoice issued. The upside is that a pro forma invoice does not generate sales tax liability, and while sales tax liability eventually will occur, it will not occur until the real invoice has been generated (which in turn will not happen until the payment has been made). This model means that there will be no issues with cash flow for the seller, as he will not have to put up an advance on the sales tax.
However, it has some practical implications: First of all, issuing a pro forma invoice should never create any entries in the accounting system. It can be compared with a quote, yet, it is not called a quote.
Secondly, the numbering of pro forma invoices and normal invoices must be distinguished. E.g. a pro forma invoice must appear with the name “Pro forma invoice” and a separate numbering, like P-100000, which cannot be confused with the normal invoice numbering.
Third, as pro forma invoices are paid, they are converted to invoices in the order that they were paid, not in the order the pro forma invoices were generated. E.g. Let’s say we generate pro forma invoices P-1, P-2 and P-3. Our standard invoice numbering series start on 1000. P-3 is paid first. A normal invoice, 1000 is created. P1 is paid second, a normal invoice 1001 is created and so on.
Fourth, pro forma invoices cannot have late fees added to them, and they cannot be sent to collections.
Implementation
Add new settings under [Settings] > [Company] > [Billing/Payment] > [Invoice Customization]:
Below Invoice Increment Value:
Invoice Type
(.) Default ( ) Pro Forma
If "Pro Forma" is checked display the following below it:
Pro Forma Format
[ ]
Pro Forma Start Value
[ ]
When an invoice is closed (Invoices::setClosed()) update status from 'pro forma' to 'active' and update ID format/value IFF currently 'profroma' (Invoices::edit()).
Invoice Templates
All invoice templates need to be updated to display "Pro forma" instead of "Invoice".
Issue Links
- Discovered while testing
-
CORE-1336 Pro forma invoices queued for delivery are never sent
- Closed
-
CORE-1380 Unpaid pending services are activated
- Closed
- relates to
-
CORE-1277 Credit Notes
- Open
-
CORE-1287 Prevent Pro Forma and Draft invoices from reusing numbers
- Open
-
CORE-923 Add option to cache copy of invoice when generated
- Closed
-
CORE-1381 Billing Overview: Support pro forma invoices
- Closed
The Tax Liability report should be updated to generate the report. An additional field for whether the date is for date_closed or date_billed may do it.