Note: This is a draft version of the release notes for Aria Billing Cloud—Version 61, which is currently available in Stage Future.
Enhancements and fixes to Aria functionality for this release are described below.
Release Date
Stage Future Release Date
26-November-2024
Aria supports the latest stable versions of the following Web browsers:
- Chrome 63
- Firefox 52
- Microsoft Edge
- Safari 11 on MacOS
1024 x 768 or higher
Application Features
Order of Precedence for Localization of Account Communication (DEV-11445)
This feature updates how Aria prioritizes the language of email notifications for invoices, rebills, and credit notes.
Aria now follows the order of precedence as:
- email template (associate an email template with a locale in the Aria Billing application at Configuration > Notifications > Email Templates),
- the account (associate an account with a notification template group at Configuration > Notifications > Notification Template Group), then
- your default language (set by Customer Support in the backend).
In addition, Aria will no longer default to a global system setting (rather than your Aria-instance-level setting).
NSO Installment Terms: Phase 5 (DEV-11592)
Aria introduces the following enhancements as part of the latest phase of Installment Terms payments for Non-Subscription Offerings (NSOs):
Installment Due Reminders for Active Installments Only
Installment Due reminders will now be sent only to accounts with collectible statuses (using the Installment Due Reminder – IDR – Email template class). Communications will be only be sent when an installment is marked as Active. No communication will be sent if the installment status is Completed, Cancelled, or Discontinued.
New Payment Collection Method (Statement FIFO)
This release also includes support for the new payment collection method Statement First-In-First-Out as a client parameter added through a rollout script. This method prioritizes payments by applying them first to non-installment charges, then to installment charges due on that specific statement.
Parameter Name: Default Payment Collection Method
Display Value: Statement First-In-First-Out
To access this parameter, navigate to Configuration > Payments > Payment Settings (Default Payment Collection Method).
As a reminder, the other payment application methods are FIFO (First-In-First-Out – default), FDFO (First-Due-First-Out), and Manual (Unapplied Payment).
Account Comments Added For Installment Creation
Account comments are now automatically added when installments are created or their schedule status is updated (Account > [search for an account] > Account Overview > Recent Comments).
Comments Format
- Installment Created: “<installment_type>installment<Installment_no>created for<service_name> - <service_no>on invoice<invoice_no>"
- Installment Schedule Status Updated: “<installment_type>installment<installment_no>status for<service_name> - <service_no>on invoice<invoice_no>was updated to:<schedule_status>"
API-related enhancements for this feature are also presented on this page.
Create Write-Offs in CCP (DEV-11602)
Navigate to the Write-Offs page from the side navigation menu via Transactions > Write-Offs in CCP.
Select the Create a New Write-Off button to create a new write-off for an invoice on the current account or select the dropdown arrow next to Create a New Write-Off to access the Create a Dispute Hold option. Selecting either option opens a new drawer displaying a list of invoices you can choose from to create a write-off or dispute hold for.
Select an invoice number from within the list to open a popup window where you can enter and submit a write-off or dispute hold for that specific invoice. Once you have filled out the information on the popup window, click the Create button to finalize the action.
Advanced Search Part 2 (DEV-11606)
New parameters and operators have been added to advanced search:
-
Search queries can now be filtered using the new ‘filter’ parameter.
-
An ‘or’ operator can now be used to construct search queries that check for two differing cases by using either “,” or “or”. For example, to get search results that contain a specific UserID or a specific Balance criteria, you may use either:
-
Search operators that previously contained underscores (such as not_like) have been updated to remove all underscores.
Note: Search operators are case insensitive. For example, you may use like or LIKE and produce the same search result.
CCP Subscription Details Plan Instance — Part 3 (DEV-11652)
Navigate to the Details page from the side navigation menu via Subscriptions > Details. Select a Billing Group to open the expanded view. From here, you can click on any of the listed Subscriptions or Add-Ons within the Billing Group to open the Subscription Details drawer.
The Subscription Details drawer contains the following elements:
Support PCI Password Policy (12 chars min) For Aria Billing (DEV-11659)
A minimum of 12 characters is now required to support the PCI password policy when resetting a password or updating a current user profile in Aria Billing Cloud.
Worldpay Smart Payments: Enhanced Webhook Notifications (DEV-11667)
With this release, Aria's Smart Payments integration for Worldpay now supports webhook notifications for Credit Card and Tokenized Credit Card authorization failure events (i.e., card expiration). Also included is webhook support for success events (captures and refunds) for Tokenized Apple Pay payments. Worldpay Smart Payments also includes webhook notifications for failure events for payments/refunds for all payment methods supported by Worldpay Smart Payments.
The following webhook events are supported by associated pay methods included in Worldpay Smart Payments:
Event Types |
Pay Methods |
- CAPTURED/SETTLED/SETTLED BY MERCHANT
- REFUNDED/REFUNDED_BY_MERCHANT
|
47 — Tokenized Apple Pay |
- ERROR
- REFUSED
- CAPTURE_FAILED
- CHARGED_BACK
|
1 — Credit Card
2 — ACH Direct Debit
13 — Tokenized Credit Card
26 — SEPA Direct Debit
37 — Tokenized SEPA Direct Debit
47 — Tokenized Apple Pay
|
|
1 — Credit Card
2 — ACH Direct Debit
13 — Tokenized Credit Card
26 — SEPA Direct Debit
37 — Tokenized SEPA Direct Debit
47 — Tokenized Apple Pay
|
|
1 — Credit Card
13 — Tokenized Credit Card
|
Taxation Company Code Enhancements Within The Aria UI (DEV-11677)
The Taxation Company Code field has been added to the following locations in Aria Billing Cloud:
- Create Account
- Create a new Billing Group
- Edit a Billing Group
- Edit a Billing Group - Copy Billing Group
- Assign a new Master Plan
- Master Plan Instance details page - Edit a Billing Group
Note: The Taxation Company Code is a unique ID number defined by a taxation provider (like Avalara) to identify your different company's or business units. This field is used for presentment purposes only with no associated tax calculation.
Braintree Smart Payments Support for Card Types and Other Features (DEV-11682)
With this release of Braintree Smart Payments, Aria now implements Credit Card (pay method = 1) and Tokenized Credit Card (pay method = 13) methods for authorizations and payments. These pay methods also support $1 authorizations and authorization reversals and soft descriptors (Braintree does not support $0 authorizations). Braintree Smart Payments also supports Card Verification Value (CVV) and Address Verification Service (AVS) response values for Payment Gateway and Collection Group configurations.
Token creation is supported for the following card types:
- Visa
- Mastercard
- American Express
- Discover
- Japan Credit Bureau (JCB)
Refund support is also available for pay methods 1 and 13 via the issue_refund_to_acct_m API and the Refunds UI (Accounts > [search for account] > Account Overview > Payments & Credits > Refunds).
Support for soft descriptors (which note pending transactions after authorization by the issuing bank) has been added for pay methods 1 and 13. The soft descriptor can be provided using collection support APIs or via the soft_descriptor field at the Payment Gateway and Collection Group levels (Configuration > Payments > Payment Gateway/Collection Groups > Advanced Options). A maximum of 30 characters is allowed at the soft_descriptor field and can only contain letters, numbers, spaces, and the special characters (.* ,!''"()@/&#+$-).
As part of Braintree's Smart Payments Payment Gateway/Collection Group configurations, the Merchant Account Details tab (present in Braintree's legacy configuration from Configuration > Payments > Payment Gateways/Collection Groups > Merchant Account Details) has been added with the following fields:
- Merchant id—Unique identifier for Braintree's Gateway account.
- Private Key—Private key for Braintree's Gateway account.
- Public Key—Public key for Braintree's Gateway account.
- Merchant Account ID—This is an identifier for a merchant in Braintree's gateway that determines currency. If no Merchant Account ID is specified, the transaction will use the default merchant account.
File Uniqueness Added For Aria Reports (DEV-11697)
The <schedule_id> is now appended to an Aria report file name to ensure uniqueness of each report. This removes the possibility of overwriting during a run of multiple reports of the same type and file name completed at the same time.
Worldline Fraud Check Added for Smart Payments (DEV-11703)
To support the “payment challenge/review” fraud check for the Worldline payment gateway, Aria has added two asynchronous webhook events as part of Worldline's Smart Payments integration:
- payment.pending_approval (sent for manual approval)
- payment.cancelled (sent for manual cancellation)
When payments are subject to fraud check, such payments marked by Worldline as either authorized (processed) or declined (cancelled) must be reflected within Aria Billing Cloud:
- When Aria receives the payment.pending_approval notification, then the payment authorization record is marked as “authorized“ and will be available during the next payment/capture event with the same amount as authorized.
- When Aria receives the payment.cancelled notification, then the payment authorization record is marked as “reversed”. This cannot be re-authorized and used in any subsequent payment.
Synchronize Rebill and Regular Invoice Sequencing (DEV-11710)
This feature ensures consistent sequencing for rebilled invoices by using the same sequence as regular invoices. The backend parameter, "REBILL_SEQ_NO_SOURCE," has a new allowable value: "STATEMENT." Additionally, Aria will generate supplemental XML statements for rebilled invoices, similar to regular invoices.
To take advantage of this feature, open a Customer Support ticket and request that the client parameter "REBILL_SEQ_NO_SOURCE" be set to "STATEMENT."
3DS Authentication and Payment Capture Now Allowed Off-Session for Stripe (DEV-11714)
The field “enable off_session value for all transactions” has been added for Stripe (legacy and Smart Payments) at the Payment Gateway and Collection Group levels (Configuration > Payments > Payment Gateways/Collection Groups > Processing Options > Recurring Options). This has been added to accommodate initial Merchant-Initiated Transactions (MITs) made outside of Aria; if so, the field value should be True (False is the default for initial MITs within Aria).
Improved Error Handling When Voiding Cash Credits (DEV-11734)
This update improves error handling when you are voiding cash credits. If Aria detects that a cash credit has not been applied to a transaction, it will now raise the error message:
"An error occurred while processing the void of cash credit <cash_credit_number>. Please note any specific account and steps taken to trigger this error, and then contact Customer Support for assistance."
Previously, Aria allowed the void to proceed.
New Client Parameter To Specify Queued Plan Change Behavior (DEV-11750)
This update introduces a new client parameter, "Ignore Current Plan Status Lookup for Queued Plan Status Changes," (Configuration > Billing > Invoice Settings) that allows the system to ignore the current status of a plan instance when processing queued plan status changes. This prevents cases in which a queued plan instance status change fails because a CSR manipulated its status in real time after its status change was queued.
- When set to "true," if a plan instance's status changes between the time a status change queue is created and the time it's executed, the system will successfully execute the queued change.
- When set to "false," (the default), the system will not execute a queued plan change if the plan instance's current status does not match its status when the change was queued.
Application Fixes
-
The tax for credit memos is now calculated based on whether or not the recorded credit amount has been tax-split. Previously, the tax calculation (configured with Aria Internal Tax) was incorrect for credit memos that were applied to a prorated invoice with prorated service credits. (TICKET-19190)
-
The "Automatically discard open contracts on this account for the same service plan?" option, when selected (Account Overview > Plans > Contracts > Create a New Contract), now correctly discards existing contracts when adding a new plan instance to a multi-plan contract. Previously, Aria did not honor this option and allowed multiple active contracts for the same plan instance. (TICKET-19545)
-
Aria no longer populates the "price per unit" field for tax line items on invoices, regardless of whether they are prorated or full invoices. Previously, the "price per unit" field was populated for prorated invoices but not for full invoices. (TICKET-19589)
API Features
Enhance update_acct_plan_unit_instance_m To Support Proration Invoice Timing (DEV-11058)
The update_acct_plan_unit_instance_m API has been enhanced to support <proration_invoice_timing> = 1 (anniversary) when a fulfillment-based plan unit instance service is queued for future fulfillment date with <fulfillment_directive> = 2.
When a <proration_invoice_timing> input is not provided via API, the <proration_invoice_timing> value is set at the Product catalog level for that particular plan.
Field |
Description |
<proration_invoice_timing> |
Value |
Description |
Null(default) |
Honor Proration Invoice Timing configuration saved with the plan in the product catalog. |
0 |
Indicates to generate the invoice immediately for the pro-rated charges. |
1 |
Indicates to generate the invoice to the next anniversary date for the pro-rated charges. |
|
<fulfillment_directive> |
Value |
Description |
1 |
Complete fulfillment with immediate affect. This would be accomplished by specifying fulfillment date in past or today or without any fulfillment date. (default) |
2 |
Complete fulfillment with effective date specified in future. A user must specify service_fulfillment_date with this directive. |
3 |
Remove the already assigned fulfillment date. |
|
Create_acct_complete_m: The sql_id Uses A Bad Plan And Piles Up Sessions In Database (DEV-11524)
During invoice generation using the create_acct_complete_m API, when the API checks for invoices that contain tax inclusive services or inventory items, an invoice with multiple line items that have only the surcharge as ‘tax inclusive’ will now be considered as a ‘tax inclusive’ invoice.
Previously, when using create_acct_complete_m API, the incorrect index was used, leading to invoices with only ‘tax inclusive’ surcharge line items being labeled as ‘tax exclusive’ and subsequently a high number of session being logged in the database.
NSO Installment Terms: Phase 5 (APIs)(DEV-11592)
The following APIs have been enhanced with the latest phase of NSO Installment Terms:
Inputs have been added in support of the new Statement FIFO payment application type, as follows:
Field |
Type |
Description |
<payoff_installment_ind> |
Long |
Indicates if payment should be allocated to payoff future installment early or not. This is applicable only for installments; this will be ignored for other non-installment charges.
Value |
Description |
0 |
Pay only installment due (default) |
1 |
Pay off installment (including future installment) |
|
<specific_statement> |
Array |
A list of specific email message ID for independent installment due; applicable only when payment application method or default payment collection method is statement First-In-First-Out (FIFO), see below |
<statement_no> |
Integer |
The statement number for an aligned installment |
OR |
|
|
<sequential_statement_no> |
String |
The sequential statement number for an aligned installment |
<specific_installment_message_id> |
Array |
A list of specific email message ID for independent installment due; applicable only when payment application method or default payment collection method is Statement First-In-First-Out, see below |
<installment_message_id> |
Integer |
Unique identifier of the installment due reminder message sent |
<payment_application_method> |
Integer |
Value |
Description |
Null (default) |
Value taken from client parameter |
1 |
FIFO (First-In-First-Out) |
2 |
FDFO (First-Due-First-Out) |
3 |
None (Future Manual Allocation) |
4 |
Statement FIFO |
|
- The <amount_to_collect> field now supports the new payment application method when configured or provided as input, if <specific_charge_transaction_id> is not supplied.
- When both <amount_to_collect> and <specific_charge_transaction_id> are provided with the new payment application method, the behavior remains consistent with the existing flow (FIFO). The system will honor the <amount_to_collect> and <specific_charge_transaction_id>, ignoring the new payment application method.
- The new payment application method, whether configured or provided as input, is compatible with the new parameters introduced in this ticket. If conflicting inputs like the invoices list or master plan instances list are provided, the following error is raised:
- Error code: 32006
- Error message: "Inputs conflict: <field_name> input conflicts with <field_name> or <field_name>."
- If any value in the array of new inputs is invalid, the following error is raised:
- Error code: 32012
- Error message: "<field_name>, <field_name_values> are invalid."
- If the array of new inputs contains duplicate entries, the following error is raised:
- Error code: 1016
- Error message: "Invalid input: The <field_name> array contains duplicate entries."
- Example: "Invalid input: The <sequential_statement_no> array contains duplicate entries."
- For specific Statement No, Sequential Statement No, and Installment Msg Ids, the amount to collect is calculated automatically. However, if the <amount_to_collect> is provided, it will take precedence over all other existing and new inputs (e.g., <specific_invoices_list>, <specific_master_plan_instances_list>, <specific_statement>, <specific_installment_message_id>).
For an independent installment to honor bill lag days and days until due configurations, Aria introduces the <independent_installment_date> input field. The <bill_lag_days> field for independent installments will only be honored when the <independent_installment_date> field is passed.
Field |
Type |
Description |
<independent_installment_date> |
string |
Defines the start date of independent installment, needs to be the same or greater than the current date. If passed, the associated "days_to_start" and "lump_sum_days" value will be ignored.' |
Notes:
- The order of precedent of configurations is honored for the <independent_installment_date> field.
- The <independent_installment_date> logic uses virtual time +1, which will be changed to virtual time only for R62.
Outputs have been added to support overpayment + cash credit application at statement generation, as follows:
Field |
Type |
Description |
<invoice_due_balance> |
float |
Invoice due balance after discounts, service credits, payments and cash credit at the time of invoice generation. |
<installment_due_balance> (part of <installment_on_statement_details> array) |
float |
Installment due balance after payment and cash credit at the time of invoice generation. |
The following input has been added in support of early payoff for a future installment:
Field |
Type |
Description |
<payoff_installment_ind> |
Long |
Indicates if a payment should be allocated to pay off future installment early or not. Applicable only for installment; will be ignored for other non-installment charges.
Value |
Description |
0 |
Pay only installment due (default) |
1 |
Pay off installment (including future installment) |
|
The following input has been introduced which needs to be passed to recalculate an independent installment schedule (future notify date and days until due) when an account billing group payment type (method/terms) is updated:
Field |
Type |
Description |
<payoff_installment_ind> |
string |
Recalculate future notify dates and days until due for independent installment.
Value |
Description |
Y |
Recalculate future notify dates and days until due for independent installment. |
N |
Do not recalculate future notify dates and days until due for independent installment. (default) |
|
Note: The recalculation logic for <payoff_installment_ind> uses virtual time.
Two New Outputs for create_advanced_service_credit_m (DEV-11669)
This feature enhances the API create_advanced_service_credit_m by returning two new output fields associated with the resulting credit created upon a successful call:
New Output Field |
Type |
Description |
<credit_id> |
long |
Aria-assigned unique identifier. |
<recurring_credit_no> |
long |
The identifier for the recurring credit. |
Taxation Company Code Enhancements for Aria APIs (DEV-11677)
The <taxation_company_code> is now returned as an output field for the get_acct_billing_group_details_m API. Additionally, the update_acct_billing_group_m API has been enhanced to accommodate the <taxation_company_code> for the following scenarios while updating the Billing Group for the account:
- If you pass the <taxation_company_code>, the value will be stored against the Billing Group.
- If you do not pass any value in the <taxation_company_code> input field, then the <taxation_company_code> remains unchanged.
- If you wish to remove the <taxation_company_code> from the Billing Group, you must pass a "~" value in the <taxation_company_code> field.
Support For Auto-Discard of Duplicate Contracts in modify_instance_contract_m API (DEV-11711)
This feature introduces the new input parameter <do_auto_discard> in the API call modify_instance_contract_m. The default is "true," meaning if the plan instance specified in the API call is already associated with a contract, Aria will discard that existing contract.
New Input Field |
Type |
Description |
<do_auto_discard> |
string |
Whether, upon modification of this contract to add other plans, the system automatically discards any existing contracts in effect that cover the same plan or set of plans.
Value |
Description |
true (default) |
true |
false |
false |
|
Search Web Service API Logs by Account Number for PayPal APIs (DEV-11713)
This feature improves how Aria logs PayPal-related API calls init_paypal_bill_agreement_m, save_paypal_bill_agreement_m, and get_paypal_avs_status_m. Now you can search Aria's Web Service API audit log by account number, even if you call a PayPal API using a client account ID.
This enhancement aligns the PayPal APIs with the logging behavior of other core APIs, providing a consistent logging experience across the system.
API Fixes
- The create_acct_complete_m API now supports both <acct_surcharge_no> and <client_surcharge_id> within the same <acct_surcharges_row> in the <acct_surcharges> array. However, when both <acct_surcharge_no> and <client_surcharge_id> are provided, the system will prioritize <acct_surcharge_no> and disregard <client_surcharge_id>. This corrects the previous issue of both API fields being honored resulting in an exception. (TICKET-19562)