2016-05 XC Release Notes
Overview
Nobody likes to buy tires...but sometimes you just have to do the maintenance before it's too late. The May XC (Cross Country) release is doing just that - focusing on software upgrades that will keep TBS going another 30000 miles.
This release was focused primarily on the upgrade of the underlying .NET Framework as well as enabling support for TLS 1.0. Both of these items were strategic in keeping the TBS system within the guidelines of PCI compliance and current with today's software trends.
Please be sure to review the release notes below to learn more about these changes along with a few other enhancements that were sprinkled into this iteration.
- General TBS - Enhancements & Bug Fixes
- Traditional Products - Enhancements & Bug Fixes
- API/Web Service - Enhancements & Bug Fixes
- Database Changes
General TBS - Enhancements & Bug Fixes
71753 - Add Payment Address 3 to Base Info Admin
In order to support longer remit addresses, a new field, Payment Address Line 3, has been added to customer Base information. This is useful for multi line addresses typically for lockbox payment or international addresses.
71902 - Add Payment Confirmation Email to the "Pay Now" screen
The Pay Bill screen now has a text box near the bottom of the page that allows the payment confirmation email address to be changed when making a payment. This will update the Payment Confirmation email address also found on the Invoicing tab and each of the payment accounts tabs.
63639 - Email Late Notices: Customize From Address
A new field has been added to customer Base Information records to allow customization of the 'From' address for Email Late Notice emails. Previously, emails were sent using the billing email address. The new field has been backfilled to the billing email address.
71937 - Payment Rules: Override for Minimum Amount For Rejecting Payments
Within the Payment Rules setup, a minimum amount for accepting realtime Credit Card / ACH payments can be configured. Previously, this could not be overridden at the customer level. A new checkbox is now available on the Account Settings > Invoicing Tab that will override the minimum for rejecting payments and allows any amount of payment to be processed.
63600 - Automatic Payments Message
A minor change has been made to the Bank Account and Credit Card pages:
1) If the customer has no automatic payment method setup, the "Manage Automatic Payments" link has been reworded to "Enroll in Automatic Payments."
2) If customer has an automatic payment method setup and you're on a card NOT set for Autopay, the "Manage Automatic Payments" link has been reworded to say "Another bank account (or credit card, depending) payment method is use for automatic payments.".
Enrolled:
Need to Enroll:
63607 - Authorize.Net: Add Company Name to screen and data pass thru
Clients using the Authorize.net payment processor have a new "Company Name" field on the Credit Card and ACH Payment screens. This optional field is the Customer's company name and will be including with the Customers First Name, Last Name, Address (and other data) sent to Authorize.net.
64599 - IFrame Security with Custom Links Development
Additional security for custom links that display in iframes within TBS (instead of a new tab) has been implemented to prevent the embedded page from accessing TBS content.
Custom links that display in iframes within TBS are now sandboxed to prevent popups, top-level navigation, mouse event capture, and same origin treating of pages within the iframe. Forms and scripts are still allowed.
73845 - Billing Control Panel Schedule: Do not allow billing def record to be taken off "on Hold" if no cycles are attached
To help prevent billing errors, any bill run not On Hold is required to have at least one cycle associated with it
74396 - Billing Control Panel Schedule: Help prevent incorrect data in billing schedule records
To help prevent bad data from causing billing problems, the billing schedule screen has been updated to alert the user to any potential invalid data entries. These are just warnings and will not actually prevent the schedule record from being saved but the user should proceed with caution. The screen updates include:
- Warns if any of the following are in the past or on another billing definition already:
- billing start date
- invoice date
- standard due date
- wholesale due date
- No longer copies the run date
76249 - Do Windows Update Reminder Development
For self-hosted clients, a new System Notification on the TBS home screen displays when there are Important or Critical updates that should be installed. The system will check for Windows Updates once daily.
This notification will only be visible to users with Maintenance access, and only if the RecordWindowsUpdates T4AppSetting is set to true.
72559 - Grid / REST results maximum level is now 1000
Grid results are now capped at 1000 records. Grid sizes larger than this value will now display an error instead of causing system and performance issues. This same cap has been added to the REST Take parameter.
53165 - Bug: Payment Rules: Refund on a Card prompts for Terms
Previously, payment rule information displayed on the screen when refunding a credit card. It no longer displays during refunds.
53172 - Bug: Refund on Deleted Card, throws error
Previously, a user would encounter an error when attempting to refund a deleted credit card. This issue has been resolved
63655 - Payment Confirmation Email Log Records: Add CustomersKey
Payment confirmation emails now store the CustomersKey to the EmailQueue and EmailLog tables. This will enable better reporting.
71696 - Bug: Misc Charges Admin doesn't allow Type='C' with a CalcType='E'
The Miscellaneous Charges Admin screen now allows a Type C to have a corresponding Calcuation type of E.
Traditional Products - Enhancements & Bug fixes
75370 - Make AccountCodes.DisconnectDate a Date instead of DateTime
The DisconnectDate fields on Account Codes, AccountCodesView, and TraditionalProductsView have been changed from a DateTime to a Date type.
REST API/Web Service - Enhancements & Bug Fixes
46478 - Evolve IP portal access via TBS
TBS is now integrated with the EvolveIP OSSmosis portal. This portal provides customers on the EvolveIP platform with tools to manage their cloud-based voice and data services.
New fields Custom Fields (Customer Screen, Account Settings Tab -> Custom Fields sub tab) are used to enable this portal for individual customers.
The new Custom Field fields are: "EvolveIP UserID" and "EvolveIP Password" and must be set with the correct User ID / Password as setup in EvolveIP OSSmosis.
Administrative EvolveIP Portal Integration
- Create an EvolveIP NetworkResources. Set the HOST to their portal (OSSosis)
- For each account, Customer.CustomFields.EvolveIPUserID and Customer.CustomFields.EvolveIPPassword must be set
- Internal Users, with Customers.Access module permissions, will see the EvolveIP tab on Customers
- Customer Portal Users, with Products_CustomerLevel.Access module permissions, will see an "EvolveIP Portal" link under the "Services" menu. This opens the portal embedded in the TBS Customer Portal.
63670 - Move V35 Web Service Calls to REST Service
V35 TBS SOAP Web Service methods have been implemented as methods in the TBS Rest Service. The Rest Service methods are designed to be easier to use and are decoupled from the underlying database structure for improved consistency.
Here are the REST endpoints that correspond to the SOAP methods:
- SOAP method: AddNumber (for Bank Accounts)
- REST endpoint: PaymentProcessing/BankAccountIdentifiers POST
- SOAP method: DeleteNumber (for Bank Accounts)
- REST endpoint: PaymentProcessing/BankAccountIdentifiers/Identifier DELETE
- SOAP method: UpdateNumber (for Bank Accounts)
- REST endpoint: PaymentProcessing/BankAccountIdentifiers/Identifier PUT
- SOAP method: AddNumber (for Credit Cards)
- REST endpoint: PaymentProcessing/CreditCardIdentifiers POST
- SOAP method: DeleteNumber (for Credit Cards)
- REST endpoint: PaymentProcessing/CreditCardIdentifiers/Identifier DELETE
- SOAP method: UpdateNumber (for Credit Cards)
- REST endpoint: PaymentProcessing/CreditCardIdentifiers/Identifier PUT
- SOAP method: ProcessPayments
- REST endpoint: PaymentProcessing/ProcessPayments POST
- SOAP method: ValidatePayment (for Bank Accounts)
- REST endpoint: PaymentProcessing/ValidateCreditCard POST
- SOAP method: ValidatePayment (for Credit Cards)
- REST endpoint: PaymentProcessing/ValidateBankAccount POST
- SOAP method: ProcessACHPayment
- REST endpoint: BankAccounts/AchInfoKey/ProcessPayment POST
- SOAP method: ProcessCCPayment
- REST endpoint: CreditCards/CCInfoKey/ProcessPayment POST
In addition to the equivalent endpoints above, the following supporting endpoints have been added:
- BankAccounts GET
- BankAccounts/AchInfoKey GET
- CreditCards GET
- CreditCards/CCInfoKey GET
- AdditionalTemplates/BankAccountIdentifierInformation GET
- AdditionalTemplates/BankAccountValidatePaymentInput GET
- AdditionalTemplates/CreditCardIdentifierInformation GET
- AdditionalTemplates/CreditCardValidatePaymentInput GET
- AdditionalTemplates/ProcessPaymentRequestsInput GET
Database Changes
These are the differences that will be made to your existing database when upgrading to version 28.00.
TBS Database
The following fields will be dropped:
- None
The following fields will be altered:
- -- AccountCodes.DisconnectDate DataType (datetime -> date), DateTimePrecision (3 -> 0)
- -- AccountCodesView.DisconnectDate DataType (datetime -> date), DateTimePrecision (3 -> 0)
- -- t4Security.t4GroupsKey IsNullable (True -> False)
- -- t4Security.AllowAccess IsNullable (True -> False)
- -- t4Security.AllowAdd IsNullable (True -> False)
- -- t4Security.AllowUpdate IsNullable (True -> False)
- -- t4Security.AllowDelete IsNullable (True -> False)
- -- t4Security.AdminAccess IsNullable (True -> False)
- -- T4SecurityView.AllowAccess IsNullable (True -> False)
- -- T4SecurityView.AllowUpdate IsNullable (True -> False)
- -- T4SecurityView.AllowDelete IsNullable (True -> False)
- -- T4SecurityView.AdminAccess IsNullable (True -> False)
- -- TasksView.IsOpen IsNullable (True -> False)
- -- TasksView.Priority DataType (int -> varchar), CharacterMaximumLength ( -> 25), NumericPrecision (10 -> ), NumericScale (0 -> )
- -- TraditionalProductsView.DisconnectDate DataType (datetime -> date), DateTimePrecision (3 -> 0)
The following tables will be added:
- ACHInfoView
- AgentNotes
- AgentsFilterView
- DropDownGroupItems
- DropDownGroupItemsView
- DropDownGroups
- DropDownGroupsView
- FileTransferGroupJobs
- FileTransferGroups
- Notes
- NotesView
- TaskNotes
- UserNotificationNotes
- UserNotifications
- UserNotificationsView
- WindowsUpdates
- The following fields will be added:
- ACHInfo.CompanyName
- ACHInfoView.ACHInfoKey
- ACHInfoView.CustomersKey
- ACHInfoView.RoutingNumber
- ACHInfoView.BankAccountNumber
- ACHInfoView.Identifier
- ACHInfoView.BRIC
- ACHInfoView.LastFourDigits
- ACHInfoView.BankName
- ACHInfoView.BankAccountType
- ACHInfoView.AccountSubType
- ACHInfoView.NameOnAccount
- ACHInfoView.ProcessAmountNow
- ACHInfoView.FirstName
- ACHInfoView.LastName
- ACHInfoView.StreetAddress
- ACHInfoView.City
- ACHInfoView.State
- ACHInfoView.CountryCode
- ACHInfoView.ZipCode
- ACHInfoView.AuthFormOnFile
- ACHInfoView.HideFromEndUser
- ACHInfoView.AgreementLastAcceptedDate
- ACHInfoView.EnteredBy
- ACHInfoView.EnteredDate
- ACHInfoView.Modified
- ACHInfoView.ModifiedBy
- ACHInfoView.ModifiedDate
- ACHInfoView.DeletedFlag
- AgentNotes.AgentNotesKey
- AgentNotes.AgentsKey
- AgentNotes.NotesKey
- AgentsFilterView.AgentsKey
- AgentsFilterView.MasterSalesID
- AgentsFilterView.SalesID
- AgentsFilterView.SubID
- BillOptions.AllowPaymentsOverMinimumForRejecting
- CCInfo.CompanyName
- DropDownGroupItems.DropDownItemsKey
- DropDownGroupItems.DropDownGroupsKey
- DropDownGroupItems.ItemName
- DropDownGroupItems.ItemValue
- DropDownGroupItems.ItemOrder
- DropDownGroupItemsView.DropDownItemsKey
- DropDownGroupItemsView.DropDownGroupsKey
- DropDownGroupItemsView.ItemName
- DropDownGroupItemsView.ItemValue
- DropDownGroupItemsView.ItemOrder
- DropDownGroups.DropDownGroupsKey
- DropDownGroups.ListName
- DropDownGroups.Description
- DropDownGroups.TaskTypeGroupsKey
- DropDownGroupsView.DropDownGroupsKey
- DropDownGroupsView.ListName
- DropDownGroupsView.Description
- DropDownGroupsView.TaskTypeGroupsKey
- FileTransferGroupJobs.FileTransferGroupMembersKey
- FileTransferGroupJobs.FileTransferGroupsKey
- FileTransferGroupJobs.FileTransferJobsKey
- FileTransferGroups.FileTransferGroupsKey
- FileTransferGroups.GroupName
- lkBaseInfo.LateNoticeFromEmailAddress
- lkBaseInfo.PaymentAddressLine3
- Notes.NotesKey
- Notes.Note
- Notes.AgentVisible
- Notes.CustomerVisible
- Notes.ActivityDate
- Notes.DisplayOrder
- Notes.NotificationLevel
- Notes.EnteredBy
- Notes.EnteredDate
- NotesView.NotesKey
- NotesView.Note
- NotesView.BriefNote
- NotesView.BriefNoteForNotifications
- NotesView.IsLongNote
- NotesView.CustomersKey
- NotesView.AgentsKey
- NotesView.TasksKey
- NotesView.NoteType
- NotesView.NoteTypeID
- NotesView.AgentVisible
- NotesView.CustomerVisible
- NotesView.ActivityDate
- NotesView.DisplayOrder
- NotesView.NotificationLevel
- NotesView.NotificationLevelName
- NotesView.EnteredByFullName
- NotesView.EnteredBy
- NotesView.EnteredDate
- PaymentsLog.CompanyName
- TaskNotes.TaskNotesKey
- TaskNotes.TasksKey
- TaskNotes.NotesKey
- TasksView.EnteredBy
- TasksView.EnteredByFullName
- TasksView.EnteredDate
- TasksView.IsTemplate
- TaskTypes.EnableContactInfoSection
- TaskTypes.SuccessfulAddMessage
- UserNotificationNotes.UserNotificationNotesKey
- UserNotificationNotes.UserNotificationsKey
- UserNotificationNotes.NotesKey
- UserNotifications.UserNotificationsKey
- UserNotifications.UserSettingsKey
- UserNotifications.NotificationDate
- UserNotifications.Acknowledged
- UserNotifications.AssociatedUrl
- UserNotifications.NotificationType
- UserNotificationsView.UserNotificationsKey
- UserNotificationsView.UserSettingsKey
- UserNotificationsView.FullName
- UserNotificationsView.NotesKey
- UserNotificationsView.NotificationDate
- UserNotificationsView.Acknowledged
- UserNotificationsView.AssociatedUrl
- UserNotificationsView.NotificationType
- UserNotificationsView.UserEmailAddress
- WindowsUpdates.MachineName
- WindowsUpdates.Severity
- WindowsUpdates.UpdateCount
- WindowsUpdates.CheckedOn