Skip to main content
Vindicia Knowledge Center

CashBox Release Notes 21.0.0

CashBox Release Notes 21.0.0

 

Note: These release notes also include the issues from the CashBox 20.0.5.1 patch, which has been folded into the 21.0.0 release.

 

New Features and Enhancements

This release contains the following new features, enhancements, and improvements.

Add an option to prevent billing before specified start date (when creating AutoBills within 25-hours)

By default, when a new AutoBill creation or modification requires billing within 25-hours, CashBox does an immediate billing with full authorization to minimize merchant fees and maximize potential for dealing with payment failures while the end customer is "on line."  

In support of merchants who offer a one-day initial cycle, or who require that the initial transaction date be "tomorrow" rather than "today," the 21.0 SOAP API adds a new option to AutoBill.update(), named DelayFullAuthToInitialBillingDateallowing you to prevent immediate billing when an AutoBill is created within 25 hours of a specified Start or Bill date—forcing the billing to occur on the specified start/effective date of your change (meaning tomorrow in these cases). The new option default is "false"—but setting "true" will force a billing scheduled for tomorrow to occur then (possibly leading to an auth/validation fee tonight and another tomorrow but guaranteeing the billing date of the transaction is tomorrow).

(CB-20115)

 

Parallelize Catchup Billing

In 21.0 (and forward) Account.updatePaymentMethod() has been improved to reduce the time required to bill multiple AutoBills associated with an Account during an account.updatePaymentMethod()call with catchup billing behavior enabled. 

In addition, Account.updatePaymentMethod() has been modified to provide a range of  options when updating a payment method. The input field, replaceOnAllAutoBills, has been replaced by two new input fields:

  • updateScopeOnAccountEnumerated options controlling whether and when to replace the payment method on associated AutoBills belonging to the specified account
  • updateScopeOnChildren—Enumerated options controlling whether and when to replace the payment method on associated AutoBills belonging to the child accounts of the specified account

With these fields you can now specify, separately for AutoBills associated with the Account and AutoBills associated with the account's child accounts, whether to:

  • not bill on any AutoBill for the associated account(s). Do not replace the payment method on the associated account(s).
  • bill only on those ready AutoBills whose payment method matches the default payment method on the specified account. Replace the payment method only on those AutoBills whose payment method matches the default payment method on the specified account.
  • bill all (account/child) AutoBills with payment methods belonging to the specified account that have invoices in a Due status (billings in retry, due, overdue, and so on) and are ready to bill. The payment method is replaced on those billed.
  • bill all (account/child) AutoBills with payment methods belonging to the specified account that have invoices in a Due status (billings in retry, due, overdue, and so on) and are ready to bill. The payment method is replaced on those billed as well as on any related AutoBills with a payment method matching the specified account's default payment method.
  • bill all (account/child) AutoBills with payment methods belonging to the specified account that have invoices in a Due status (billings in retry, due, overdue, and so on) and are ready to bill. The payment method is replaced on any Active related AutoBills.

Account.updatePaymentMethod() also now returns successes and failures by invoiceID.  See the 21.0 API Guide for details

(CB-22740)


Support Edgil Payment Processor for CashBox (tokenized CC processing) + Select Level 1

CashBox now supports processing credit cards and tokens for credit cards via the Edgil Payment Gateway.

(CB-26860)

 

AutoBill subscription balance calculation enhanced 

The AutoBill.subscriptionBalance calculation has been enhanced to include the amounts from advance and arrears billing scenarios. This will support including the balance from invoices that have been billed/posted, but whose service period has not yet begun—giving merchants the most accurate picture of the AR/Outstanding balance for a given invoice and subscription.

(CB-27664)


Additional Tax Item detail (sourced from external tax engines)

Four additional tax detail fields have been added to the Transaction item's tax item detail in the API (effective version 21.0 and later). These fields will be populated by what is provided by the merchant's chosen tax engine for each returned tax/fee. Field definitions and existing mappings include the following: 

  • externalTaxName—The name for the tax or fee as provided by the tax service; Corresponds to “Imposition” in Vertex and “TaxName” in Avatax. 
  • externalTaxCategory—The category of tax or fee as provided by the tax service; Corresponds to “ImpositionType” in Vertex and “TaxGroup” in Avatax 
  • taxRate—The effective rate used to calculate this tax as provided by the tax service; Corresponds to “EffectiveRate” in Vertex and “Rate” in Avatax 
  • externalJurisdictionName—The name of the tax jurisdiction for this tax or fee as provided by the tax service; Corresponds to “Jurisdiction” in Vertex and “JurisName” in Avatax

(CB-27667)

 

 

Bug Fixes

The following bugs were fixed in this release. 

Ticket No.  Summary Description
CB-25818 AutoBill.cancel() causing duplicate payments when called on AutoBill's bill day while a recurring transaction is in flight

 

When calling AutoBill.cancel() on an AutoBill's bill day while that day's recurring billing was still in flight, the following conditions prevailed:

  • when settle was set to true and disentitle was set to false, the customer was billed an extra amount and was disentitled anyway. 
  • when settle was set to true and disentitle was also set to true, the customer got billed an extra amount for the service used in the new billing period, and no refund was scheduled if the in-flight transaction was captured.

These two bugs have been fixed.

CB-26568 Create New Billing Plan in the Portal fails due to number of Entitlements When creating a Billing Plan in the Portal, a large list of entitlements could slow the load time of the page or cause it to fail. The CashBox Portal can now handle large entitlement lists that prevented the page from loading.
CB-26808 Refund amount display bug in Cashbox Portal (TBS_OTT) In the Portal, under Payment History, the amounts displayed for some refunds were inaccurate. This has been fixed. All refund amounts displayed now accurately reflect amounts refunded. 
CB-27401 CashBox validating inactive promotion codes Previously campaign.validateCode() accepted promotion codes as valid by default. This has been fixed. Given a promotion code, campaign.validateCode() now verifies that the code is active and that the current date is within the date range of the promotion. 
CB-27513 Portal Account page Payment History Transaction Amount is displayed incorrectly

Payment History in the Portal was showing the correct amount refunded for a purchase of mulitple identical items, but was not breaking out the price of the individual items. This has been corrected. The Amount column in Payment History now displays the number of items purchased at a given price, and the Refund column displays the total amount refunded for those items.

CB-27572 Unable to change Product Plan When calling AutoBill.modify() to downgrade a customer from a taxable product to a tax exempt product, sometimes this could result in a 400 with an error similar to the following: Refund Item amount exceeds amount available for refunding.  This has been fixed to create a refund and return a 200.
CB-27672 Account.grantEntitlement() does not return a populated description  data member

The stripped down Entitlement object was returning from an Account grantEntitlement call with the description member unpopulated. This has been fixed. The Entitlement object now correctly populates the description data member.

CB-27749 HOA2 expMonth & expYear show valid CSS when expDate not valid (ProdTest) Expiration month and expiration year input boxes were showing a valid CSS value (green) when the expiration date was not valid. This has been fixed. expirationMonth and expirationYear fields now show correct CSS value (red) when the date is invalid, and correct CSS value (green) when the date is valid. 
CB-27758 AutoBill.modify() fails with return return code 500 Process Failed when there is a net refund for an advance-billing AutoBill in Settlement

AutoBill.modify() was failing with a 500 return code in certain cases where, either because the AutoBill was MAP (pay by invoice) and in settlement or certain other cases pertaining to migrated AutoBills under Advance Billing, CashBox attempted to calculate and display refund information while lacking the necessary transaction information to associate with the refund. CashBox now returns a 400 error when missing the necessary migration transactions, and correctly formats refund information returned in a settlement notification to the merchant.

CB-27780 fetchDailyInvoiceBillings() returns some invoices twice

CashBox was returning the same invoice multiple times within a single fetchDailyInvoiceBillings(), and sometimes across multiple pages of the call with the same start and end timestamp parameters. The API logic has been improved to ensure each invoice is represented only once in this method's return. 

CB-27784/CB-27619

Priced Billing Plans sometimes resulted in inaccurate liability calculation In limited scenarios involving Billing Plans with their own prices, the Portal Liability Snapshot report could fail to include these amounts in the correct liability column.  This has been corrected to ensure that all scenarios are properly displayed in this report.
CB-28005 Current Liability report not including balances on unpaid Due invoices from past service periods The Current Liability report was not including Due (in settlement) invoices from two prior service periods. This has been fixed. The Current Liability report now includes all Due invoices from prior service periods in the report. 
CB-28182 AutoBill.fetchDailyInvoiceBillings() does not return all line items of an invoice that may be partially paid via application of available credits at the time of becoming 'Due' When a customer over paid on a previous invoice, and the merchant did a AutoBill.fetchDailyInvoiceBillings() call when the next billing cycle came due, the invoice contained just one line item, showing the total amount due. This has been fixed. The invoice returned by the fetchDailyInvoiceBillings() call now correctly contains all line items for the current billing cycle, including the credit for the previous overpayment. 

CashBox for
Salesforce (Basic)

Learn More
CashBox for Salesforce (Basic)

StoreFront

Learn More
StoreFront

CashBox for
Salesforce (Premium)

Learn More
CashBox for Salesforce (Premium)
Back to Top