Uploaded image for project: 'Blesta Core'
  1. Blesta Core
  2. CORE-1686

Void unpaid invoices when cancelling a service

    Details

    • Type: New Feature
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 3.4.0
    • Fix Version/s: 4.0.0-b2
    • Component/s: None
    • Labels:
      None

      Description

      Void unpaid invoices when cancelling a service.

      If there are any discount line items on the invoice (e.g. coupons), then the TOTAL of the invoice after the service item(s) are removed MAY not match the EXPECTED TOTAL, as those line items MAY not be removed.

      For each non-closed, non-pastdue invoice that the service being cancelled appears on

      • If the invoice has no other line items (besides those matching the service ID):
        • Void the invoice
      • Else:
        • Unapply payments on the invoice
        • Remove the line items matching the service ID from the invoice
        • Reapply payments to the invoice

      This requires a company/client group setting, enabled by default called Update Open Invoices on Service Cancellation.

        Issue Links

          Activity

          Hide
          cody Cody Phillips (Inactive) added a comment -

          We need to run this by pro forma users. They may instead expect this invoice to be voided, and a separate invoice created for other items on the invoice.

          Also, I think this is blocked by CORE-1479.

          Show
          cody Cody Phillips (Inactive) added a comment - We need to run this by pro forma users. They may instead expect this invoice to be voided, and a separate invoice created for other items on the invoice. Also, I think this is blocked by CORE-1479 .
          Hide
          cody Cody Phillips (Inactive) added a comment -

          After discussing briefly, the BEST option is to void the existing invoice, and create a new invoice with the remaining line items. Adding a credit is just going to cause confusion. Voiding works in both pro forma (if the invoice is a pro forma invoice) and non pro forma cases.

          Show
          cody Cody Phillips (Inactive) added a comment - After discussing briefly, the BEST option is to void the existing invoice, and create a new invoice with the remaining line items. Adding a credit is just going to cause confusion. Voiding works in both pro forma (if the invoice is a pro forma invoice) and non pro forma cases.
          Hide
          cody Cody Phillips (Inactive) added a comment -

          Perhaps we should have an option to void previously unpaid invoices as well? We could wrap it all up into a single setting:

          Void Open Invoices on Cancellation

          • Only if the invoice is not due
          • Always

          Questions

          • What if the invoice has other line items on it?
            • Answer: Create a new invoice with remaining line items.
          • What if the invoice has a partial payment?
            • Answer: Unapply the payment(s) and re-apply those payments to the new invoice (if created)
          Show
          cody Cody Phillips (Inactive) added a comment - Perhaps we should have an option to void previously unpaid invoices as well? We could wrap it all up into a single setting: Void Open Invoices on Cancellation Only if the invoice is not due Always Questions What if the invoice has other line items on it? Answer : Create a new invoice with remaining line items. What if the invoice has a partial payment? Answer : Unapply the payment(s) and re-apply those payments to the new invoice (if created)
          Hide
          admin Paul Phillips added a comment -

          Discussing this, it sounds like we need:

          1. A company/client group setting, enabled by default, to remove line items from invoices not yet due.
          2. When cancelling the service, unapply payment.
          3. Remove the line item.
          4. Re-apply payment.

          If this results in no line items, void the invoice entirely.

          Show
          admin Paul Phillips added a comment - Discussing this, it sounds like we need: 1. A company/client group setting, enabled by default, to remove line items from invoices not yet due. 2. When cancelling the service, unapply payment. 3. Remove the line item. 4. Re-apply payment. If this results in no line items, void the invoice entirely.

            People

            • Assignee:
              tyson Tyson Phillips (Inactive)
              Reporter:
              admin Paul Phillips
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:
                Fix Release Date:
                20/Oct/16

                Agile