- Print
- DarkLight
- PDF
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.
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.