Archive for June 21, 2016

7 Reasons You Should Consider Outsourcing Your Finance and Accounting

Successful businesses, no matter how small or large, are able to focus, like a laser beam, on what’s important: innovation, customer service, growth, company culture and winning against their competition.

Finance and accounting, while critical to business operations, is often urgent, but not important. Yet so many executives like you allow themselves to get distracted from these critical success factors by responding to inquiries, tracking down missing checks, making sure the books get closed accurately and reconciling accounts.

If you are looking for better ways to focus on growing your business you should consider outsourcing your finance and accounting operations. Here are seven key benefits of outsourcing accounting and finance.

  1. Be more efficient– For one week, keep track of how you spend your day. (You can easily accomplish this with a free tool called toggl. ) How much time do you spend each week on finance and accounting? If it is more than 1 – 2 hours a week…it’s too much. You should be spending your time improving operations, better serving customers and growing your business. Removing the daily distractions of accounting will help you do this.
  2. Reduce costs – Outsourcing your accounting eliminates all of the costly taxes and fringe benefits associated with full and part time employees. You pay one fixed monthly fee for everything. Research has shown that outsourcing accounting can save up to 40% in monthly costs, when you consider the salary plus taxes, supervision, vacation and health insurance.
  3. Eliminate fraud –Most small businesses have one accounting person that does everything….sends out the bills, collects and deposit checks and reconciled the bank account. When these duties are not separated, you increase your risk of fraud. A recent Association of Certified Fraud Examiner’s study showed that the most common victims of fraud are privately owned small businesses with less than 100 employees with an average fraud amount of $147,000. Outsourced accounting provides you with the checks and balances, as well as the oversight that you need to prevent fraud.
  4. Highly qualified and experienced staff – By having a team of accountants and CPAs work together to take care of your books, you can take advantage of their significant accounting, tax and compliance expertise which is all included in the monthly cost. By outsourcing you will automatically stay ahead of and comply with the myriad changes in income and sales tax and reporting laws.
  5. Ability to scale – By outsourcing finance and accounting, scaling your business becomes easier. Rather than distract yourself by hiring additional finance staff, outsourcing grows automatically with your business. You can focus on hiring the best people to sell your products and service your customers…which goes right to the bottom line.
  6. Improve cash flow – Outsourcing provides you with access to cloud based tools and technologies that will help you get paid faster and manage payments more effectively. At the simple click of a mouse, you can see an up to minute analysis of your cash.
  7. Better Manage Your Business –What type of information are you receiving today from your finance system? Most importantly, how timely is it? When you get last month’s financial on the 20th of the following month, how do you support decisions in the beginning of the month? Outsourcing provides you with real time information on all aspects of your business, not just financials, with the click of a mouse.
Can your company benefit from outsourcing your finance and accounting? Take our 1 minute assessment! Get your assessment now >>

Automating VM Startup and Shutdown in Azure Resource Manager

This article summarizes the differences in automating starting up and shutting down virtual machines (VMs) between Azure Resource Manager and Classic mode.

Microsoft introduced Azure Resource Manager to facilitate management of your cloud assets in Azure, but given how new it is, it is often difficult to find exactly how to do that.

Earlier this year I created a new Azure VM for a client for use during business hours. The client requested the ability to automate the startup and shutdown of the VM when not in use, in order to save on costly compute time. Implementing a scheduled startup and shutdown of classic mode VMs has been documented and posted to various blogs. It was hard to find how to schedule startup and shutdown when the VMs are managed in the new Azure Resource Manager (ARM).

Classic method

The classic method of setting up auto-start up and shut down involves three steps: create an automation account and configure automation credentials, create runbooks that contain the PowerShell workflow scripts you want to execute, and attach one or more schedules to those runbooks. With Azure Resource Manager, the PowerShell workflow script you use in the second step is different.

In the classic method, you would use code similar to the following to set up your automation.

Startup script

workflow Start_MyClassicVM


$cred = Get-AutomationPSCredential -Name “MyAutomationCredential”

Add-AzureAccount -Credential $cred

Select-AzureSubscription “MySubscription”

$myVM = “MyVMName”

$serviceName = “MyService”

Start-AzureVM -ServiceName $serviceName -Name $myVM


First you fetch your credentials for your automation account and authenticate using the Add-AzureAccount method.

Once authenticated you designate which subscription context you are using. Often this might be called “Pay-As-You-Go” or “MSDN Subscription”.

You would then specify your service and run the Start-AzureVM command against your VM in that service.

Azure Resource Manager method

When using Azure Resource Manager you would adapt the following code.

Startup script

workflow Start_MyRmVM


$cred = Get-AutomationPSCredential -Name “AzureServiceAccount”

Add-AzureRMAccount -Credential $cred

Get-AzureRmSubscription -SubscriptionName “MySubscription” -TenantId “GUID-goes-here” | Set-AzureRmContext

$resourceGroup = “MyResourceGroup”

$myVM = “MyRmVm”

Start-AzureRmVM -ResourceGroupName $resourceGroup -Name $myVM


While configuring the automation account, runbooks and schedules remain the same, there are several key differences between automating startup of an ARM VM and a classic VM. Almost all of the methods you use with the Azure Resource Manager will contain “Rm” after the word “Azure” in their name. Also, the statement starting with “Get-AzureRmSubscription” is a bit more complex than in the classic version. Note that now, you need to know not just your subscription name, but also your Azure Active Directory Tenant ID. (Since I did not have access to the Azure Active Directory for my client’s subscription, I retrieved this GUID from the URL in the address bar after navigating to the Azure Active Directory in the classic portal. It’s possible, however, that this will change in the near future.) You then pipe the results of this new command, complete with the Tenant ID, to Set-AzureRmContext.

After that, rather than supplying a Service Name, you supply the name of your Azure Resource Group to the Start-AzureRmVM cmdlet.

Azure menu

Active directory link in Azure Portal menu

Shutdown script

To shut the VM down, the code is near-identical except for the last line:

Stop-AzureRmVM -ResourceGroupName $resourceGroup -Name $myVM -Force

Here is the full workflow script for shutdown.

workflow Stop_MyRmVM


$cred = Get-AutomationPSCredential -Name “AzureServiceAccount”

Add-AzureRMAccount -Credential $cred

Get-AzureRmSubscription -SubscriptionName ‘Pay-As-You-Go’ -TenantId “GUID”| Set-AzureRmContext

$resourceGroup = “MyResourceGroup”

$myVM = “MyRmVM”

Stop-AzureRmVM -ResourceGroupName $resourceGroup -Name $myVM -Force