Payment Plan Test Plan

Phase 1


Test CaseDescriptionExpected ResultTest ResultComments

1.1 Recurring Contributions for Membership Payments





1

Test recurring contributions with webform for first time membership signup

Test with each recurring unit and payment processor (Offline Recurring Contribution)

  1. day
  2. week
  3. month
  4. year

Number of recurring contributions created should be same as number of instalments 

Contribution status should be 'Pending' 

Each contribution total amount should be "membership duration / no. of instalments * membership fee"

Membership created should be made active (new or current status) and have the full membership duration once the first contribution is completed

Each contribution should have its own invoice. Amount in invoice should reflect the contribution amount for each instalment. Membership line item is shown as a percentage of the membership term (100 / no. of instalments)

P
2
Complete all contributionsMembership duration should not get affectedP
3If sales tax is involved then the installment amount should include the tax amount split by no. of installments

Each contribution total amount should be "membership duration / no. of instalments * membership fee (with tax)"

Invoice should reflect the tax amount correclty 

P
4If there are pricesets then the payment plan should still show the contribution amounts for the price fields correclty. If there is tax then should show that correctly as well

Price fields should show the unit prices and tax amounts seperately like with any contribution made with pricesets (check default Civi behaviour for contribution payments with pricesets and tax)

Invoice should reflect the price fields and tax amount correclty 

P

1.2 Membership Status Override

Contribution status changes

Test cases for status overrides





5

Check the new options in

  • new membership page
  • existing membership page

Following options available:

  • No
  • Override Permanently
  • Override until selected date
P
6Check if the 3 options work as expected 

Membership status correctly reflects back on membership page:

  • No - membership status rules will decide the status
  • Override Permanently - membership status will be the selected one
  • Override until selected date - membership status will be the selected one until date set. After that date move to 'No'
P


7Test if "Update Membeship Statuses" scheduled job also processes the new option 'Override until selected date'
Once the selected data has passed the job should change status override option to NoP

Scheduled job will not process overridden status set to either 'Expired, Pending or Cancelled'. So once the job is run it switches to 'No' but these statuses will not follow membership status rules.

8Check the new options in webform config page 

"Status Override" dropdown added with following options in webform membership config section:

  • No (Default)
  • - User Select -
  • Override Permanently
  • Override until selected date

"Statue Override Until" checkbox added and if selected datepicker available

P
9Check if any of the 3 options are selected in webform they work as expectedSelect any one option directly from the webform config



P
10Check "- User Select -" optionSet this field as hidden/ready only and use conditionals to select any one of the other 3 options (Ex: when the membership selected is general set the Status Override to be "Override until selected date")

When "- User Select -" is selected, a "Status Override" select field will be added to the webform with all 3 options

According to conditionals the correct option should be selected and appropriate status reflected back in membership page on civicrm side

P

1.3 Membership Offline Auto Renew





11Test membership auto renewalTest with payment processor "Offline Recurring Contribution" and payment in instalments

Recurring contribution with total amount as "membership duration / no. of instalments * membership fee" should be created

Instalments = no. of instalments selected

Contribution status should be 'Pending' 

Auto renew = True

Membership created should be made active (new or current status) and have the full membership duration once the first contribution is completed 



12
Test with payment processor "Offline Recurring Contribution" and one time payment

Recurring contribution with full membership fee will be created

Instalments = Null

Contribution status should be 'Pending' 

Auto renew = True

Membership created should be made active (new or current status) and have the full membership duration once the first contribution is completed



13New scheduled job "Renew offline auto-renewal memberships" is available and processes memberships 

If the membership qualifies the following conditions, renew:
1. The last recurring contribution is using offline payment processor
2. The last recurring contribution is set to auto-renew
3. The last recurring contribution is not in status cancelled
4. The membership's end date is equals to or smaller than today

Memberships that satisfy the conditions are renewed



P
14
Contribution with no instalmentsIf last contribution has no instalments a new contribution with pending status should be created under the recurring contributionP
15
Contribution with instalments 
  • If last contribution has instalments a recurring contribution  is created.
  • This recurring contribution should copy the previous contribution details:
    • line items
    • sales tax
    • custom fields
  • Only contribution amount and date should be based on this recurring contribution
P
16Check the new field and options in webform config page 

New "Auto-renew Option" added to webform with options in webform membership config section:

  • Not offered
  • Give option
  • Required


17Check if any of the 3 options are selected in webform they work as expected

Membership created on civicrm side should reflect the auto renewal status:

  • Not offered - don't alllow autorenewal
  • Give option - "Auto-renewal option" field will be added to webform with a checkbox "Please renew my membership automatically." If selected, the membership will be set to auto-renew
  • Required - the corresponding membership created by the webform will be set to auto-renew



1.4 Membership Status Rule






18New membership status rules available for start and end event

Start Event "Membeship is in arrears (Payment Plan)" and End Event "Membership is no longer in arrears (Payment Plan)" is available

Note: 'In Arrears' needs to be the first one on the list on membership status rules page.

P
19Test if admin can create a new status rule with the new events

P
20Start Event "Membership is in arrears (Payment Plan)" is triggered once conditions are satisfied 
  • Membership paid by recurring contributions in instalments
  • Any pending instalment contribution received date is in past

P
21End Event Membership is no longer in arrears (Payment Plan)" is triggered once conditions are satisfied
  • Membership paid by recurring contribution in instalments
  • no pending instalment conrtibution in past

P
22Admin should be able to set "Start Event Adjustment" to specify how long before an instalment contribution is classfied as overdue.

P
23Check the Membership Status transition to "In Arrears" from other statuses.

Transition does not happen for Expired, Pending, Cancelled to "In Arrears" 

Transition should happen for New, Current, Grace to "In Arrears" 

P
24Check when there is a status override (Override Permanently or Override until selected date)
the membership status rules don't apply 

If "Override Permanently" is selected the membership status rules don't apply at any time

If "Override until selected date" is selected the membership status rules don't apply until set date

Ex: Set the membership status to have "Override until selected date" for 30 days. Once paid, the override is switched to No. If not paid after 30 days the above "Membership is in arrears" rule will apply

P

Phase 2


Test CaseDescriptionExpected ResultTest ResultComments

2.1 Admin Membership pages with Payment Plan





1Add new membership page Status override field

Following options available:

  • No
  • Override Permanently
  • Override until selected date
P
2
Payment section

Two tabs available:

  • Contribution
  • Payment Plan
P
3
Contribution sectionSame behaviour as now. Single contribution createdP
4
Payment plan section

Following fields available:

  • Pay by a different contact
  • Amount
  • No. of instalments
  • Interval and units
  • Payment method
  • Payment plan start date
  • First instalment summary
P
5
"Auto-renew offline"Checkbox available above contribution and payment plan sectionP
6Test new membership creation from new membership pageRepeat TC1,2,3,4Same as Phase1-TC1,2,3,4P
7Test new membership creation from contact-membership tabRepeat TC1,2,3,4Same as Phase1-TC1,2,3,4P
8Test new membership creation from new membership page with a financial type using sales tax

P
9Test new membership creation from new membership page with membership pricesets

P
10Test auto renew in new membership pageWith Contribution sectionSingle contribution created with auto renew = YesP
11
With Payment plan sectionRecurring contribution created with installments and auto renew = Yes. Contributions created will be same no. of instalment and status 'Pending'P
12Test membership renewal from contact-membership tab

P
13Test membership renewal from new membership page with sales tax

P
14Test membership renewal from new membership page with pricesets

P
15Check "Auto-renew offline" in renewal pageFor a membership that is already set to auto-renew

Checbox not selectable and crossmark shown with message: "This membership is aleady set up to auto-renew. You can still choose to make an additional payment below"

P
16
For a membership that is not set to auto-renew
P

2.2 Payment Plan Information





17Membership view modal
"Related Contributions" accordion renamed to "Related Contributions and Payment Plans"P
18
Contribution table
  • All non-payment plan contributions listed
  • Table should look and behave the same as it is now
P
19
Payment plan table
  • All payment plans are listed
  • Following columns available:
    • Instalment amount
    • Instalments
    • Frequency
    • Total amount
    • Paid
    • Due
    • Balance
    • Start date
    • End date
    • Status
  • Expandable view of all contributions in payment plan (look and behave same as contribution table)
  • Each contribution can be viewed or edited. Admin can add a new contribution to payment plan.


20
Check if each column in payment plan table represent the correct value 
  • Instalment amount - amount of each linked contribution
  • Instalments - no. of instalments (empty if not paid in instalment)
  • Frequency - gap between 2 contribution
  • Total amount - amount of all linked contributions
  • Paid - total amount of all received payments against all linked contributions
  • Due - total amount of all contributions with received date <= current date
  • Balance - "total amount - paid" (empty if not paid in instalment)
  • Start date - start date of payment plan
  • End date -  end date of payment plan  (empty if payment not ended)
  • Status - status of payment plan (also shows next due date if not completed)


21Contribution view modal
"Recurring Contribution" modal renamed to "View Payment Plan"

22

Following fields available:

  • Contact
  • Instalment amount
  • Instalments
  • Frequency
  • Total amount
  • Paid
  • Due
  • Balance
  • Start date
  • End date
  • Status
  • Next contribution
  • Failure count
  • Failure retry date
  • Payment processor
  • Financial type
  • Payment method

Contribution accordion added and lists all contributions linked to this payment plan



23
Check if each column in view payment plan represent the correct value 
  • Contact - contact display name with link
  • Instalment amount - amount of each linked contribution
  • Instalments - no. of instalments (empty if not paid in instalment)
  • Frequency - gap between 2 contribution
  • Total amount - amount of all linked contributions
  • Paid - total amount of all received payments against all linked contributions
  • Due - total amount of all contributions with received date <= current date
  • Balance - "total amount - paid" (empty if not paid in instalment)
  • Start date - start date of payment plan
  • End date -  end date of payment plan  (empty if payment not ended)
  • Status - status of payment plan
  • Next contribution - next due date 
  • Failure count - count of failure to collect payments (unchnaged - only relavant to online payments)
  • Failure retry date - next date to retry payment collection (unchnaged - only relavant to online payments)
  • Payment processor - payment processor used to collect payment
  • Financial type
  • Payment method


24Contact page contribution tab

Two tabs available:

  • Contribution
  • Payment Plan


25
Contribution tab
  • Lists all non payment plan contributions
  • Look and behaviour same as it is now


26
Payment plan tab

Shows two sections:

  • Active payment plans: currently pending or in progress payment plans
  • Inactive payment plans: completed or cancelled payement plans

Table structure follows TC16



Phase 3


Test CaseDescriptionExpected ResultTest ResultComments

3.1 Operations on existing payment plans





1Update payment plan
  • "Number of instalment" field should be readonly if the recurring contribution is using a payment processor with "Payment_Manual" class.
  • "Auto Renew?" field available on "Update Recurring Contribution" form
  • "Payment Method" and "Cycle Day" field available on "Update Recurring Contribution" form.
  • When admin click on save on "Update Recurring Contribution" form, if "Payment Method" or "Cycle Day" is changed, a popup should appear asking "Do you want to update any outstanding instalment contribution with the new Payment Method/ Cycle Day?".
    • If "No" → No existing contribution will get affected.
    • If "Yes" → Any existing Pending contribution under the recurring contribution will reflect the new "Payment Method" and "Cycle Day".
P
2Cancel existing payment plan
  • When cancelling a recurring contribution, a popup will show up and ask for confirmation. A new dialog box containing two checkbox options should be used to replace the popup.
  • The first checkbox is "Do you wish to cancel any pending instalment contribution?" which if checked and confirmed, as a result, all "Pending" contributions that are linked to the recurring contribution will also be cancelled.
  • The second checkbox is "Do you wish to cancel any linked membership?" which if checked and confirmed, as a result, all memberships that are linked to the recurring contribution will also be cancelled.
  • <add last comment mentioned in the ticket> 
In-progress

BASW-113

Auto-refresh is not happening

3

Set Membership to Override Permanently = Cancelled if;

  • Membership Status Override = "Override until selected date" and "cancel membership" option selected in the popup when cancelling a recurring contribution
  • Membership Status Override = No and "cancel membership" option selected in the popup when cancelling a recurring contribution
P
4

Make sure cancelling a installment contribution does not cancel the linked membership

5BASW-123- Cancelling a installment contribution should not cancel the linked membership
When a contribution a membership is linked to gets cancelled and there isn't any other completed contribution , Membership should get cancelled for Recurring Contribution using Offline Payment
  • What is the behaviour when the 2nd checkbox is "Do you wish to cancel any linked membership?" is selected?
  •  Will the expected work without selecting 2nd checkbox?
  • Spec is not updated with this ticket requirement
6

When a contribution a membership is linked to gets cancelled and when a payment plan is in place(Status other than 'Completed'), membership should get cancelled for Recurring Contribution using Offline Payment

7

When a contribution a membership is linked to gets cancelled and there isn't any other completed contribution , Membership should get cancelled for Recurring Contribution using other non-offline Payment

8

When a contribution a membership is linked to gets cancelled and when a payment plan is in place(Status other than 'Completed'), membership should NOT get cancelled for Recurring Contribution using other non-offline Payment


3.2 Membership Price Update





9Update membership fee when offline auto-renew
  • "Payment Plan Settings" menu available under Administer menu.
  • In the settings page, a configuration checkbox "Use latest price when auto renew membership?" should be provided
P
10

  • If the "Use latest price when auto renew membership?" is not checked, nothing changes.
  • If the "Use latest price when auto renew membership?" is checked, when an offline auto renew membership is being renewed by the "Renew offline auto-renewal memberships" scheduled job
    • the generated contribution/ recurring contribution should reflect the current membership fee configured in the corresponding membership type for each membership line included in the recurring contribution
    • the line items and other sub-entities of the generated contributions should also reflect the current membership fee configured in the corresponding membership type
P
11Offline auto-renew option
  • "Offline auto-renew option" custom field-set available under Membership Entity with boolean custom field "Opt-out auto price update for offline auto-renew".
P
12

  • When"Opt-out auto price update for offline auto-renew" = True and "Use latest price when auto renew membership?" = True →  membership should not reflect the new price when it gets auto-renewed by the offline auto-renew scheduled job.
  • When"Opt-out auto price update for offline auto-renew" = False and "Use latest price when auto renew membership?" = True →  membership should reflect the new price when it gets auto-renewed by the offline auto-renew scheduled job.
P
13BASW-211- Payment plan settings - custom group to be excluded when auto-renew
Validation of new setting "Custom group to be excluded when auto-renew" in "Payment Plan Settings" menu available.
Ticket details are not available in functional spec.
14

The setting should be a auto-complete multi-select field with all enabled contribution custom group as options.

15

If a custom group is selected and saved into this setting, when a membership auto-renews, the values in that custom group fields will not be copied over to the new contributions

16

This applies to the renewal for both payment plans in instalments and payment plans not in instalments.

17

Validate the use help Text provided

18

Validate whether only enabled Custom Groups are displayed in the setting


3.3 Line Item Edit





19Permissions
  • Only "edit contribution" permission gives access to Action button "View/Modify Future Instalments" in recurring contribution.
  • Also check if can access Manage Instalment modal through URL
P
20Offline Recurring Contribution Line Item Table

Db table "membershipextras_subscription_line" created upon installation of extension.

Following table fields created

  • contribution_recur_id - integer - required
  • line_item_id - integer - required
  • start_date - date
  • end_date - date
  • auto_renew - boolean
  • is_removed - boolean
Phttps://compucorp.atlassian.net/browse/BASW-206
21Create Line Item for Offline Recurring Contribution and create referenceWhen a payment plan with payment manual class is created.
  • Create a copy of the line item with instalment contribution
  • contribution_id is NULL for copied line item
  • New record filled into "membershipextras_subscription_line" with:
    • contribution_recur_id - id of recurring contribution
    • line_item_id -  line item id copied from the instalment contribution
    • start_date - start date of recurring contribution
    • end_date - empty
    • auto_renew -
      • true: if recurring contribution is auto renewed
      • false: if not auto renewed
  • is_removed - false
Phttps://compucorp.atlassian.net/browse/BASW-206
22BASW-212- View/Modify Future Instalments action - current periodAction buttons
  • Action button "View/Modify Future Instalments" added to payment plan with payment manual class.
  • No action button on non payment manual class payment plans
  • Once button selected modal "Manage Instalments" pops up
  • Current Period tab is set as default
P
23
Row items

Following two conditions have to be met:

  • Each line item should have a start date
  • is_removed flag = false
P
24

Each row contains:

  • Item - line item label
  • Start Date - start date of line item
  • End Date - largest end date in all the linked memberships
  • Renew automatically - checked if recurring contribution set to auto renew
  • Financial type - financial type of line item
  • Tax - 
    • Percentage of financial type 
    • N/A if no tax in financial type 
  • Amount - line item total with no tax
  • Remove button - bin icon
P
25
Action buttons within "Manage Instalments" pop
  • Add Membership
  • Add Other Amount
  • Close
P
26
Bottom of tab
  • Untaxed amount (total of all amounts)
  • Tax (total of all line item taxes)
  • Total per instalment (Untaxed amount + Tax)
Phttps://compucorp.atlassian.net/browse/BASW-212
27

If the number of instalments of the payment plan is empty or 0, "membershipextras_subscription_line" with an end date should also be excluded from the view
How to validate this? As it is not possible to have 0 installaments while creating membership.
When checked with 1 installement, popup is working as usual
28

Validate the above steps for a recurring contribution in 'Pending StatusP
29

Validate the above steps for a recurring contribution in 'Completed' StatusIn-progressObservation: For Member 'Alan Jones, Membership details are blank though it has recurring contribution with the status as 'Completed'
Member Sheela S
- Recurring Contribution with Completed status - Showing blank membership details in the popup
- Auto Renewed next year contribution is also blank
30

Validate the above steps for a recurring contribution in 'In-Progress' StatusP
31

When a line was added on next period, it should not show on current periodP
32BASW-217-View/Modify Future Instalments action - next period


Next period tab shows up if recurring contribution has autorenewal. If not do not show auto renewal

P
33

  • All line items that have auto renew should be shown on next period tab (ie; the ones which are renew automatically true in current period)
  • is_removed = false
P
34

Each line item row has following details:

  • Item - line item label
  • Financial Type - of line item 
  • Tax - percentage of financial type, show N/A if no tax
  • Amount - line item total
  • Bin icon - to delete line item
P
35
Action buttons
  • Add Membership
  • Add Other Amount
  • Close
P
36
Bottom of tab
  • Untaxed amount (total of all amounts)
  • Tax (total of all line item taxes)
  • Total per instalment (Untaxed amount + Tax)
P
37Remove line item - Current Period

On delete operation:

  • if its only remaining line item:
    • then show warning "Cannot remove the last item in an order" 
    • cancel operation and line item should not be removed
  • if more then one line item:
    • show modal with title "Remove <line item label> ?" 
Phttps://compucorp.atlassian.net/browse/BASW-218
38
Remove modal components
  • Has text: "The end date of the <line item label> will be set to today. If you want the <line item label> to end on a different date, you can adjust it below. <line item label> amount will be deducted from all remaining instalments after the new end date. Please note the changes should take effect immediately after clicking “Apply”."
  • Adjust end date - checkbox
  • End date - default to today, show date picker, only if "Adjust end date" is checked 
  • Cancel button
  • Apply button
Phttps://compucorp.atlassian.net/browse/BASW-218
39
Action buttons - Apply
  • If "Adjust end date" not checked: membershipextras_subscription_line.end_date = today
  • If "Adjust end date" is checked: membershipextras_subscription_line.end_date = date picked 
Phttps://compucorp.atlassian.net/browse/BASW-218
40

  • membershipextras_subscription_line.auto_renew = false
  • is_removed = true
Phttps://compucorp.atlassian.net/browse/BASW-218
41

If pending instalments with "Received date" => end_date: 

  • line items quantity set to zero
  • contribution amount corrected to new instalment amount 
  • net amount and tax amount and total amount reflect the changes
Phttps://compucorp.atlassian.net/browse/BASW-218
42

If membership line item removed:

  • membership end date must use new end date 
Phttps://compucorp.atlassian.net/browse/BASW-218
43

Following notices appear on successful removal:

  • "<line item label> has been removed from the active order"
  •  "<line item label> should no longer be continued in the next period"
Phttps://compucorp.atlassian.net/browse/BASW-218
44

Line items updated on Current Period screen 

  • untaxed amount, tax and total per instalment should reflect the changes
  • if auto_renew for removed line item is true, should no longer appear on next period tab
Phttps://compucorp.atlassian.net/browse/BASW-218
45
Action buttons - Cancel

No line item removed

Phttps://compucorp.atlassian.net/browse/BASW-218
46Remove line item - Next Period

On delete operation:

Modal with title "Remove <line item label> as title

Phttps://compucorp.atlassian.net/browse/BASW-219
47
Remove modal components
  • Has text "Please note the changes should take effect immediately after "Apply"."
  • Cancel button
  • Apply button
Phttps://compucorp.atlassian.net/browse/BASW-219
48
Action buttons - Apply
  • membershipextras_subscription_line.auto_renew = false
  • If line item is membership: remove civicrm_membership.contribution_recurr_id 
  • Notice with text: "<line_item_label> should no longer be continued in the next period."
  • Manage instalments modal reloads
  • "is_removed" = true
  • untaxed amount, tax and total per instalment reflect changes
In progress

https://compucorp.atlassian.net/browse/BASW-219


Pending fix & issues

49

Recurring contribution and membership gets updated to show Auto Renew = No Phttps://compucorp.atlassian.net/browse/BASW-219
50
Action buttons - Cancel
  • No line item removed
Phttps://compucorp.atlassian.net/browse/BASW-219
51
Renew automatically unchecked in Current Period tab
  • Perform same operation as 32, 33
In-progresshttps://compucorp.atlassian.net/browse/BASW-219
52

Keep the Next Period tab even if all the line items with “auto_renew“ = 1 are removed when the last line item is removed from Next period
Yet to be fixed
53

Auto renew flag from the membership gets removed and the same should reflect in the recurring contribution view page
Open issue
54

Likewise when you add a Auto Renew flag from the recurring contribution edit modal (Recurring Contributions → Edit → check Auto Renew) then it does not update the Renew Automatically checkbox and Next Period tab.
Open issue
55Add membership line item - Current Period+ Add Membership

New row with following items:

  • Item - dropdown - required field
    • list membership types not belonging to any membership org of existing line items
  • Start date - datepicker - required field
    • default to todays date or
    • if active membership of same membership type exists, then set to membership start date 
  • End date - datepicker - required field
    • default to largest in all linked memberships
  • Renew automatically - checkbox 
    • checked by default
    • only show if auto renewal recurring contrib
  • Financial Type - text field
    • financial type of membership selected in item dropdown
  • Tax -  text field
    • tax percentage of financial type
    • none if no tax in financial type
  • Amount  - money - required field
    • default to minimum of membership type fee / no. of isntalments
  • Confirm and Cancel action icons
In progresshttps://compucorp.atlassian.net/browse/BASW-220
56

  • If row addition not completed yet, do not allow other row items to be be clickable.
  • If user tries to click on other row items - row should flash 
Phttps://compucorp.atlassian.net/browse/BASW-220
57
Confirm Action (check icon)

If check icon clicked:

  • If no pending instalment with Received date => today or start date (choose the latest) show notice with text:
    • "No outstanding instalment contribution from the selected start date. Suggest to follow the steps below:
      1. Add the the item to next period instead.
      2. (optional) Create the membership or contribution outside the recurring order."
  • If there are pending instalment contributions with Received Date => today or start date (choose the latest) show dialog with title: "Add <line_item_label>?" should appear with the following:
    • Dialog text: "Please note the changes should take effect immediately after "Apply".
    • "Adjust the amount of the first instalment" checkbox.
    • "First instalment amount" money text field. Default to instalment amount. Show only if "Adjust the amount of the first instalment" checkbox is ticked.
    • Cancel button
    • Apply button
Phttps://compucorp.atlassian.net/browse/BASW-220
58
Cancel Action (cross icon)

If cross icon clicked the row should be removed and no change done

Phttps://compucorp.atlassian.net/browse/BASW-220
59

Apply Action on dialog

  • Line item with empty contribution_id created in civicrm_line_item table. Tax amount calculated: amount * tax rate
  • membershipextras_subscription_line row created. 
    • link line item and recurring contribution
    • start date is selected start date
    • end date empty
  • For pending instalment contributions with Received date => today / start date (choose latest);
    • copy of line item added
    • contribution amount adjusted and tax adjusted
    • if  "Adjust the amount of the first instalment" is used, 1st pending instalment contribution = "First instalment amount"
  • If a membership of same membership type doesn't exist:
    • new membership should be created with start and end date 
    • link it to all pending instalment contribution with Received date => today / start date (choose latest)
  • If a membership of same membership type exists:
    • update it with new start and end date
    • link it to all pending instalment contribution with Received date => today / start date (choose latest)
  • If auto renew checked;
    • membershipextras_subscription_line.auto_renew = true
    • membership contribution_recurr_id = the id of recurring contribution
  • If auto renew not checked;
    • membershipextras_subscription_line.auto_renew = false
    • membership contribution_recurr_id = emptied
  • Show notice: "line_item_label" will now be continued in the next period.
  • "Manage Instalments" modal reloads
In-progress

https://compucorp.atlassian.net/browse/BASW-220


  • Line item with empty contribution_id created in civicrm_line_item table - Not working
60
Cancel Action on dialogNo changePhttps://compucorp.atlassian.net/browse/BASW-220
61Add other line item - Current Period+ Add Other Amount

New row with following items:

  • Item - dropdown - required field
    • list membership types not belonging to any membership org of existing line items
  • Start date - datepicker - required field
    • default to todays date 
  • End date - text - N/A
  • Renew automatically - checkbox 
    • checked by default
    • only show if auto renewal recurring contrib
  • Financial Type - text field
    • financial type of membership selected in item dropdown
  • Tax -  text field
    • tax percentage of financial type
    • none if no tax in financial type
  • Amount  - money - required field
  • Confirm and Cancel action icons

https://compucorp.atlassian.net/browse/BASW-221
62

  • If row addition not completed yet, do not allow other row items to be be clickable.
  • If user tries to click on other row items - row should flash 

https://compucorp.atlassian.net/browse/BASW-221
63
Confirm Action (check icon)

If check icon clicked:

  • If no pending instalment with Received date => today or start date (choose the latest) show notice with text:
    • "No outstanding instalment contribution from the selected start date. Suggest to follow the steps below:
      1. Add the the item to next period instead.
      2. (optional) Create the membership or one off contribution outside the recurring order."
  • If there are pending instalment contributions with Received Date => today or start date (choose the latest) show dialog with title: "Add <line_item_label>?" should appear with the following:
    • Dialog text: "Please note the changes should take effect immediately after "Apply".
    • "Adjust the amount of the first instalment" checkbox.
    • "First instalment amount" money text field. Default to instalment amount. Show only if "Adjust the amount of the first instalment" checkbox is ticked.
    • Cancel button
    • Apply button

https://compucorp.atlassian.net/browse/BASW-221
64
Cancel Action (cross icon)If cross icon clicked the row should be removed and no change donePhttps://compucorp.atlassian.net/browse/BASW-221
65
Apply Action on dialog
  • Line item with empty contribution_id created. Tax amount calculated: amount * tax rate
  • membershipextras_subscription_line row created. 
    • link line item and recurring contribution
    • start date is selected start date
    • end date empty
  • For pending instalment contributions with Received date => today / start date (choose latest);
    • copy of line item added
    • contribution amount adjusted and tax adjusted
    • if  "Adjust the amount of the first instalment" is used, 1st pending instalment contribution = "First instalment amount"
  • If auto renew checked;
    • membershipextras_subscription_line.auto_renew = true
    • Notice: "line_item_label" will now be continued in the next period."
  • If auto renew unchecked;
    • membershipextras_subscription_line.auto_renew = false
    • Notice: "line_item_label" has been added to the active order."
  • Manage Instalments" modal reloads
In progresshttps://compucorp.atlassian.net/browse/BASW-221
66
Cancel Action on dialogNo changePhttps://compucorp.atlassian.net/browse/BASW-221
67Add membership line item - Next Period+ Add Membership

New row with following items:

  • Item - dropdown - required field
    • list membership types not belonging to any membership org of existing line items
  • Financial Type - text field
    • financial type of membership selected in item dropdown
  • Tax -  text field
    • tax percentage of financial type
    • none if no tax in financial type
  • Amount  - money - required field
    • default to minimum of membership type fee / no. of isntalments
  • Confirm and Cancel action icons
In progress

https://compucorp.atlassian.net/browse/BASW-222

Two open issues related to Financial Type & Tax%

68

  • If row addition not completed yet, do not allow other row items to be be clickable.
  • If user tries to click on other row items - row should flash 
Phttps://compucorp.atlassian.net/browse/BASW-222
69
Cancel Action (cross icon)If cross icon clicked the row should be removed and no change donePhttps://compucorp.atlassian.net/browse/BASW-222
70
Confirm Action (check icon)When user clicked on the check icon, a dialog with title "Add <line_item_label>?" should appear with the following components:
  1. dialog body text - "Please note the changes should take effect immediately after "Apply"."
  2. Cancel button
  3. Apply button
Phttps://compucorp.atlassian.net/browse/BASW-222
71

Apply action on dialog

  • Line item with empty contribution_id created. Tax amount calculated: amount * tax rate
  • membershipextras_subscription_line row created. 
    • link line item and recurring contribution
    • start date empty
    • end date empty
  • Notice: "line_item_label" will now be continued in the next period."
  • "Manage Instalments" modal reloads
Phttps://compucorp.atlassian.net/browse/BASW-222
72
Cancel action on dialogAction cancelled and no change is made.Phttps://compucorp.atlassian.net/browse/BASW-222
73
User can also check "Renew automatically" field for any of membership lines in "Current period" tab to perform the same action.
  1.  A notice with warning sign will appear with text "This membership type is already enrolled in next period." when there is another membershipextras_subscription_line:
    1. linked to a line item with same membership type and membershipextras_subscription_line
    2. end date is empty
    3. auto-renew is TRUE
  2. If user checks the "Renew automatically" field for any of membership lines in "Current period" tab and the scenario in point 8 does not apply, point 5-7 should apply here.


P

https://compucorp.atlassian.net/browse/BASW-222

Pending issues

74

Cases 46,47,48 should apply if
https://compucorp.atlassian.net/browse/BASW-222
75Add other line item - Next Period+ Add Other Amount

New row with following items:

  • Item - text - required field
  • Financial Type - select - with all financial types
  • Tax -  text field
    • tax percentage of financial type
    • none if no tax in financial type
  • Amount  - money - required field
  • Confirm and Cancel action icons
P

https://compucorp.atlassian.net/browse/BASW-223

Open Issues

76

  • If row addition not completed yet, do not allow other row items to be be clickable.
  • If user tries to click on other row items - row should flash 
Phttps://compucorp.atlassian.net/browse/BASW-223
77
Cancel Action (cross icon)If cross icon clicked the row should be removed and no change donePhttps://compucorp.atlassian.net/browse/BASW-223
78
Confirm Action (check icon)When user clicked on the check icon, a dialog with title "Add <line_item_label>?" should appear with the following components:
  1. dialog body text - "Please note the changes should take effect immediately after "Apply"."
  2. Cancel button
  3. Apply button
Phttps://compucorp.atlassian.net/browse/BASW-223
79
Apply action on dialog
  • Line item with empty contribution_id created in civicrm_line_item. Tax amount calculated: amount * tax rate 
  • membershipextras_subscription_line row created. 
    • link line item and recurring contribution
    • start date empty
    • end date empty
  • Notice: "line_item_label" will now be continued in the next period."
  • "Manage Instalments" modal reloads
P

https://compucorp.atlassian.net/browse/BASW-223


Line item with empty contribution_id created in civicrm_line_item - Not working

80
Cancel action on dialogAction cancelled and no change is made.Phttps://compucorp.atlassian.net/browse/BASW-223
81
User can also check "Renew automatically" field for any of other amount lines in "Current period" tab to perform the same action.

Test cases 61 to 63 also apply here.

P

https://compucorp.atlassian.net/browse/BASW-223

Open observations in 'Renew-Automatically' field logic

82
Error validationError message validation for missing fields & the displayIn progressOpen observation
83

Validate if user is add same line item row with same values(Duplicate entryIn progressOpen observation

"membershipextras_subscription_line"  - Start date  is the start of line item, End date is end of line item (when its removed from order)

End date on the UI is the largest in all the linked memberships


Line Item removal: 

Removing a line item from manage instalment screen removes it from that modal, but check what happens to the contribution instalment.



Auto renew adjustment:

What will happen if the scheduled job is run?