After releasing v1.1.13460 to RGP Cloud users, a billing issue was discovered.
This article explains:
1) What happened and who was affected
2) The steps we have taken to ensure this doesn't happen again
3) Explanation of a script that can be run to correct 3 issues this bug caused
1) What Happened and Who Was Affected?
An error in a recent RGP update caused invoice totals that were created through RGP Billing to be -$1USD (or 1 unit of your local currency) for some of your members. RGP customers that ran billing on May 1st and/or May 2nd for active or frozen EFT members who are configured to pay by a means other than credit card, or who are configured to pay by credit card but do not have a credit card on file we affected.
This includes members like:
- EFT members who bill to a separate responsible party
- EFT members who bill via ACH
- EFT members at facilities that are not using RGP integrated payment providers
- EFT members who are missing credit card information despite being configured to bill via credit card
This created 2 problems:
1) Members were billed $1 dollar too little, meaning that facilities affected will not receive that revenue unless actions described below are taken.
2) The invoice totals will not match the sum of the items on the invoice, which will cause bookkeeping errors.
*** If you are unsure if you were affected, run this report ***
2) Steps We've Taken to Resolve the Issue
An updated version of the software (v1.1.14076) was released to all RGP Cloud users on May 3, 2023 to ensure this issue does not occur in the future.
3) Explanation of the Script Written
We've written a script that will correct three issues this bug caused.
When this script is run, it will:
- Correct any affected unpaid invoices. If you have not yet attempted to collect some or all of the affected invoices, we can correct those invoices immediately with this script. When the invoices are collected, either via Billing or POS, the correct amount will be collected. No additional action will need to be taken for these invoices after the script is run.
Adjust affected paid invoices. Specifically, the script adjusts the invoices so that the sum of the items on the invoice matches the invoice total. This is necessary to prevent bookkeeping errors. In order to accomplish this, we need to adjust the cost of the first item on the invoice down by $1. This portion of the script will not affect any money that you've collected, but it will make the affected invoices internally consistent. It also means that reports concerning revenue categories during the timeframe the affected billing action was run may look different before and after the script has been executed.
- Add a new $1 invoice to affected members who have already underpaid, using the product whose price was adjusted in the previous step.
In summary, after this script is run, bookkeeping mismatches should be resolved, affected unpaid customers will be fixed, and affected paid customers will show as carrying a $1 balance.
Operational considerations before running the script:
When to collect these new invoices
You can collect the new $1 invoices via billing or POS at any time, but those transactions will be subject to standard transaction fees. For such small transactions, depending on what kind of transactions they are (ACH vs Credit Card), what kind of payment processor you use (integrated vs. non-integrated), and who your payment processor is, it's possible that the transaction fees will represent a non-negligible portion of the actual payment. If that's the case, you can choose to not immediately collect these invoices. Any and all unpaid invoices for a given member, $1 or otherwise, will be collected by means of a single payment with a single transaction fee when you next collect monthly dues.
If the items on the affected invoices were originally subject to tax, adjusting the the price of an item on those invoices may affect the taxable value of the transaction. Since that tax has already been collected, decreasing the price of the item by $1 means that you will have over collected tax by the taxable value on a $1 purchase. The additional $1 invoices that will be created by the script we've written to address this issue will be untaxed, whether or not the product they are for are generally taxed. This means that while the original invoice will have over collected tax, the new $1 invoice will balance the collected tax correctly. Total tax assessed and total tax collected will be correct when they take both invoices into account.
RGP has the option of not generating invoices for memberships that are assigned 1 cent membership dues. When this option is enabled it is used almost exclusively for additional family members that are "free" add-ons to family memberships. The nature of the bug meant that these customers were actually invoiced 1 cent for these dues if they were affected. If that distinction is important to your customers, RGP support can help you identify and credit these customers the 1 cent that was collected separately from this script. It also means that in exceedingly rare circumstances, it is possible that customers will have an open invoice for 1 penny after the script is run. These invoices would cost more than the penny they represent to collect. We recommend that when facilities verify the success of the script by checking for new $1 invoices in Data Entry > Billing > Outstanding Balances, that they verify that they have no 1 cent invoices and consider voiding them if they do.
Any affected members will have been billed $1 less than they normally would as a part of affected billing actions. That $1 will be collected either days, or a month late, depending on how you choose to proceed. Hopefully the smallness of that amount will limit any negative impact on your members, but you may wish to communicate about the issue with them proactively.