Twilio Integration
  • 13 May 2024
  • 7 Minutes to read
  • Contributors
  • Dark
    Light
  • PDF

Twilio Integration

  • Dark
    Light
  • PDF

Article summary

Twilio Integration Overview

Accounts and Subaccounts

The BillingBot Twilio integration is designed to work with an account/subaccount structure in Twilio. You must provide your top level Twilio SID and Auth Key during enablement of the Twilio integration. BillingBot will be able to traverse the subaccounts automatically and retrieve charges.

The integration screen of BillingBot is where users can manage their API Keys for various integrations connected to BillingBot. This screen allows users to enable, disable, or change API keys for integrations such as Twilio.

integrations(1)

Enabling Twilio Integration

To enable the Twilio Integration, users can navigate to the integration screen and clicking the + to enable Twilio. You must then enter your top level Twilio SID and Auth Key. Once enabled, BillingBot will automatically handle the necessary product creation and traverse subaccounts of the top level Twilio account to retrieve charges.

Default Income, Expense, Tax, and Item Codes

When  BillingBot connects to HaloPSA it also enumerates all the products, tax  codes, income accounts, and expense accounts synced from your  accounting Integration  and populates the dropdown lists. These codes are crucial to ensuring  your distributor charges land correctly on your invoices in HaloPSA and  enable them to successfully sync to your accounting integration like  Xero or QuickBooks Online.

IMPORTANT:  If you aren't using an accounting integration with HaloPSA and  invoice/take payments directly from HaloPSA, the use of these fields is  completely optional.

  • Default Accounts Code: This is the default Income Account from your accounting integration that you would like associated to invoice items created by BillingBot in HaloPSA. An Income Account generally represents the account code in your chart of accounts for software product resale income.

  • Default Expense Code: Also known as the “Cost of Goods Sold” or “COGS” account, this is the account in your Char of Accounts that represents the cost of the resold item.

  • Default Tax Code (Optional): The default Tax rate to use for items - does not override the per account lookup of taxes for lines if set in HaloPSA.

  • Default Item Code: Used by the Product Lifecycle Management engine to link charges to an item code that already exists in HaloPSA in bulk or as a fallback option. How BillingBot uses this code is dependent on your Product Lifecycle Management configuration.

Automatic Sales Tax (AST) for QBO and Auto Look Up for Xero

  • If using QuickBooks Online with Automatic Sales Tax (AST) enabled, this setting has no effect since tax is not calculated by HaloPSA. If using Xero - Auto Look Up is available for US customers which utilizes Xero’s built in Avalara integration to automatically calculate tax.

Invoice Modifiers

Modifiers

Global  invoice modifiers apply to all invoices processed by BillingBot.  However, you can override the specific global invoice modifier behavior  per client or per integration on the Ready To Invoice or Integration  screens. This configuration on the integration overrides those globals.

  • Drop Azure Lines: Excludes all Microsoft Azure charge lines. If selected and not overridden, all Azure Arrears and charge lines will be processed but not sent to HaloPSA.

  • Collapse Azure Lines: This modifier collapses all Azure subscription arrears and charge lines into one line per client. Margin and cost/price is pulled directly from Pax8 or your CSP integration.

  • Drop Favorable Prorata: Excludes pro-rata lines from being sent to HaloPSA if they are negative (in your favor).

  • Drop Zero Dollar Lines: Excludes lines from being sent to HaloPSA with no charge associated ($0.00).

Azure Subscription Costs and Margin Calculation

As  a rule, BillingBot does not alter invoice lines when processing. The  exception is when collapsing Azure lines. All totals per line are  summed, and the cost/price is used from the Pax8 API directly. If your  margin is incorrect on your collapsed Azure line, please check and  adjust your Azure Subscription margin in the Pax8 portal for that  customer. By default, Pax8 sets these to 10% margin.

Invoice Behavior

Invoice Behaviors

Global  invoice behaviors apply to all invoices processed by BillingBot.  However, you can override the specific global invoice behavior per  client or per integration on the Ready To Invoice or Integration  screens. The invoice behavior configured here on the integration will  override the global default.

  • Always Create New Invoices in HaloPSA: Charges or groups of charges being sent to HaloPSA will always create a new invoice. This is useful for hardware integrations like Ingram Micro where a 1:1 invoice to order ratio is desired.

  • Always Append Charges to the Latest Invoices in HaloPSA: Charges for clients will be attached to the most recent invoice generated for that client in HaloPSA. This mode is useful if you need to run your recurring invoices in HaloPSA before attaching your charges from BillingBot.

  • Always Append Charges to the Recurring Invoices in HaloPSA: Charges for clients will be added or updated on the recurring invoice chosen for the client. You must map the desired recurring invoice for each client on the Client Management screen.

Manage Product Lifecycles

Product Lifecycle Management can be enabled or disabled by using the toggle on the setup page.

The  Product Lifecycle Management Engine in BillingBot is designed to ease  the burden of managing product codes in multiple systems. Instead of  manually creating missing products in HaloPSA or your accounting  platform every time you sell a new SKU, BillingBot can be configured to  perform one of three distinct behaviors initially on configuration or on  the fly during an automated or manual invoice run.

IMPORTANT: It is recommended to turn on Synchronization  of products from HaloPSA to your accounting integration so that  products created by BillingBot in HaloPSA will automatically synchronize  to your accounting platform. This will enable invoices to seamlessly  send from HaloPSA to your accounting platform when BillingBot posts  charges to them.

  • Prompt me to manually reconcile new, missing, or unmatched products to HaloPSA items: This is as manual as the process gets - BillingBot will prevent you from posting invoice charges to HaloPSA until all charges to be posted are reconciled to product codes in HaloPSA. You will be prompted to hand match any products as they are added to the system in the future. If you require an extreme degree of control over how items from distribution get linked to items in HaloPSA, select this option. You cannot operate BillingBot in automatic mode if you select this option.

  • Automatically use the default item code selected above when creating or reconciling charges: BillingBot will not create or update any item codes in HaloPSA now or in the future. Instead, all charges will be posted to HaloPSA using the Default Item Code you selected in the dropdown list. This is useful if you do not have multiple chart of accounts codes to tie different types of charges to and just want to map everything to one generic code.

  • Create items in HaloPSA automatically using the default income, expense, and tax codes defined above: BillingBot will create an item group in HaloPSA called “BillingBot_<integration name>” and will attempt to match all products from this integration to HaloPSA products. If products do not already exist in HaloPSA, they will be created under the BillingBot item group using the default income, expense, and tax codes you specified previously. If products already exist in HaloPSA, BillingBot will map them automatically and use them without modifying them. This is the recommended mode of operation for most MSPs looking to automate the process and still maintain Granularity.

Changing API Keys and Settings

Users can modify their API keys and settings by navigating to the integration screen. From there, they can update their API keys by clicking on the edit pencil.

Importing Twilio Charges

After enabling the Twilio Integration you can navigate to the Ready to Invoice screen and select Twilio from the integration selection dropdown. Click Actions → Import Twilio Charges to import the charges to BillingBot for the selected period.


Was this article helpful?