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

          Activity

          Hide
          tyson Tyson Phillips (Inactive) added a comment -

          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.

          Show
          tyson Tyson Phillips (Inactive) added a comment - 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.
          Hide
          admin Paul Phillips added a comment -

          If proforma is enabled, we should consider a package override that will cause the service to be invoiced normally. The reason is that customers under some type of contract will think that payment is optional if they are sent a proforma invoice.

          The case for this was made in this thread - http://www.blesta.com/forums/index.php?/topic/1739-eu-compatible-billing/

          Show
          admin Paul Phillips added a comment - If proforma is enabled, we should consider a package override that will cause the service to be invoiced normally. The reason is that customers under some type of contract will think that payment is optional if they are sent a proforma invoice. The case for this was made in this thread - http://www.blesta.com/forums/index.php?/topic/1739-eu-compatible-billing/
          Hide
          admin Paul Phillips added a comment -

          Look into credit notes. When VAT tax liability needs to be reduced due to an invoice adjustment, a credit note must be issued. http://www.revenue.ie/en/tax/vat/guide/credit-notes.html#section5

          Show
          admin Paul Phillips added a comment - Look into credit notes. When VAT tax liability needs to be reduced due to an invoice adjustment, a credit note must be issued. http://www.revenue.ie/en/tax/vat/guide/credit-notes.html#section5
          Hide
          cody Cody Phillips (Inactive) added a comment -

          As per section 8 (http://www.revenue.ie/en/tax/vat/guide/credit-notes.html#section8), the credit note should use the tax values assigned to the original invoice for which the note is being issued. Because of this, a credit note MUST only belong to a single invoice, yet a single invoice may have multiple credit notes.

          Show
          cody Cody Phillips (Inactive) added a comment - As per section 8 ( http://www.revenue.ie/en/tax/vat/guide/credit-notes.html#section8 ), the credit note should use the tax values assigned to the original invoice for which the note is being issued. Because of this, a credit note MUST only belong to a single invoice, yet a single invoice may have multiple credit notes.
          Hide
          admin Paul Phillips added a comment -

          This has been working fine in local dev for some time, I don't see any problems with it, closing this issue.

          Show
          admin Paul Phillips added a comment - This has been working fine in local dev for some time, I don't see any problems with it, closing this issue.
          Hide
          tyson Tyson Phillips (Inactive) added a comment -
          • Pro forma invoice format says {num}

            is required, but it is not enforced. No error message shown for not setting it, and invoices can be created without it

          Show
          tyson Tyson Phillips (Inactive) added a comment - Pro forma invoice format says {num} is required, but it is not enforced. No error message shown for not setting it, and invoices can be created without it

            People

            • Assignee:
              cody Cody Phillips (Inactive)
              Reporter:
              admin Paul Phillips
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:
                Fix Release Date:
                27/Aug/14