My HubSpot Tips and Tricks

How to use the HubSpot CRM with multiple currencies

[fa icon="clock-o"] Sep 9, 2016 12:57:04 AM [fa icon="user"] Daniel Bertschi [fa icon="folder-open'] Reporting Add-on, HubSpot CRM

At the time of writing, the HubSpot CRM doesn't support multiple currencies. Instead, you can set one currency at a global level which applies across the board. In most instances that works fine, however particularly in Europe it can be very helpful to be able to represent multiple currencies in the CRM. This post explains in detail how you can still setup multiple currencies with a little workaround and how you can report on the different currencies using the HubSpot Reporting Add-on. 


So how will it work?

We'll create multiple sales pipelines (one per currency) to categorise all deals. Whenever a new deal is created, it will be assigned to a pipeline. We'll then use the HubSpot Reporting Add-on to build customised reports based on the different currencies.

It's important to understand that this is a workaround. There will be some limitations which I will point out along the way.

The Reporting Add-on is extremely helpful in this setup - I would say: essential. But we'll also take a quick look at what's possible with the 'out of the box' reporting that comes with the free CRM.

As this is a pretty long post, I thought it might be useful to provide a clickable index so it's easy to jump up and down:

Table of Contents:

  1. Creating multiple sales pipelines - how and why?
  2. How a sales rep will use this
  3. Basic reporting with the free CRM
  4. How a sales manager will use this - Creating custom reports with the Reporting Add-on
  5. Implementing correct forecasting without pipelines


1. Creating multiple sales pipelines - how and why?

Sales pipelines are meant for companies that sell multiple products and/or services which have different sales processes. A pipeline for a product with a long sales cycle could consist of 10 deal stages where as another one could consist of only 3 deal stages. 

For the sake of simplicity let's assume that we have one unified sales process. Thus, we would normally not setup more than one sales pipeline. However, in this case we'll use the same functionality to implement multiple currencies and to forecast correctly for each one of them.

Let me explain: The forecasting module on the standard CRM dashboard aggregates the weighted amounts from all deals. As the system only recognises one global currency, it adds up all the deal amounts (without currency conversions), so if we use one single pipeline for all deals across all the currencies the total forecasting amount will be incorrect. Here is an example for illustration purposes:

500 (EUR) + 300 (USD) + 200 (GBP) = 1000.

As soon as we create separate pipelines, we can forecast separately. On the standard Sales Dashboard we get the option to chose a specific pipeline in addition to chosing a timeframe and a specific sales rep:



This article from the HubSpot academy explains how we can create multiple pipelines. I would recommend to use very concise and short names such as EUR or USD.


What if I'm using different sales pipelines already?

First, I would consider whether you really need different pipelines. If you have multiple products/services with an identical or a very similar sales process, I would recommend to use different Deal Types instead of multiple pipelines. 'Deal Type' is a built-in deal property that you can fill with values to suit your needs (eg. 'Product A', 'Product B' or 'New Business', 'Existing Business' etc). This would free up the pipeline functionality for the multiple currencies.

If you really need different pipelines because your services or products have vastly different sales processes, I would recommend to have one pipeline per product/service & currency. 

Eg. if you have 2 different pipelines: Pipeline Product A (10 deal stages) and Pipeline Product B (4 deal stages) and you need to represent 3 different currencies, you would setup 6 pipelines:

  • Product A, Currency 1
  • Product A, Currency 2
  • Product A, Currency 3
  • Product B, Currency 1
  • Product B, Currency 2
  • Product B, Currency 3

Keeping in mind that the HubSpot CRM is normally not used for particularly complex setups, this should be sufficient.


Alternative approach: Using a custom deal property

The approach described above will work in almost all cases. If this applies to you, then there is no need to read the rest of this (Skip to part 2). However there are a few exceptions when a different approach is needed: Most notably when the native HubSpot to Salesforce connector is used (more info) or when the no. of pipelines and the no. of currencies involved make this not feasible (see above).

If we cannot use multiple pipelines to represent the different currencies, we need to use a deal property: We could use the built-in 'Deal Type' (already mentioned above) but I would recommend to create a custom deal property instead as this will allow us to give it a more obvious name such as "Currency".

To find out more about how to create a deal property check out this article from the HubSpot Academy. I would recommend to use 'Dropdown Select' as the type of the property.

Once you're done, it should look like this:



2. How a sales rep will use this

The creation of custom reports (aka the way the sales manager will use this) will be almost identical whichever approach we take, however there are some major differences in relation to how a rep would use this:


Creating new deals

  • If pipelines are used for currencies: The pipeline is a required field when creating a new deal. This is helpful because it means that it isn't possible to create a deal without chosing a currency pipeline. Whenever a rep creates a new deal a pipeline will already be preselected. As you can see from the following screenshot, the pipeline is also very prominently displayed which helps to minimise mistakes.
  • If a custom property is used for currencies: A custom deal property cannot be made required when creating a new deal, so it's important to educate all the sales reps that a currency value must be chosen. To make this easier, I would recommend to add the custom currency property to the popup screen that shows up when we create a new deal. The easiest way to do this is to make the currency property a 'default property'. Simply follow this guide from the HubSpot Academy to set up default properties for all users. Going forward, when a rep creates a new deal, the currency property will be included in the pop up screen. Eg:



Using the personal dashboard in the free CRM:

  • If pipelines are used for currencies: Every sales rep can filter his personal dashboard by currency. This is done by selecting a specific pipeline. As a result, every rep has a separate personal dashboard for each currency which is extremely helpful.
  • If a deal property is used for currencies: The forecasting module on the standard CRM dashboard will be incorrect (as explained above). The reps cannot use the forecasting functionality on their personal dashboard. They will also not see a breakdown by currency. However, the reps can use the Reporting Add-on to implement correct individual forecasting reports. It's not exactly the same (no quota can be added) but it comes very close. Please see section 5 for step by step instructions how to build such reports.


Creating currency specific deal views

In order to be able to report on our different currencies, we need to create two types of deal views per currency:

  • global views which contain all deals in a specific currency (these will be used by the manager for the global reports)
  • individual views which contain all deals in a specific currency owned by a specific rep
Both types of views can be created very easily: Start with a standard view ("My deals" or "All deals"), select a specific pipeline (or a value from the currency property) and save the view. Here is an example:

Screen_Shot_2016-08-04_at_15.34.41.png    Screen_Shot_2016-08-04_at_15.33.08.png

If you're using a custom deal property instead, it would look like this:


Repeat the same approach until you have separate deal views per currency. Make sure you use very clear naming conventions to avoid any confusion. It should now look similar to this:



If a deal property is used I would recommend to also create an additonal view for all deals without a custom currency value (see the 'No custom currency' deal view in the screenshot above). This will allow you as a sales rep to spot any deals where you forgot to select a currency. You should check this view regularly to make sure it stays empty. The same also goes for the manager who might want to create a global view with the same criteria.


3. Basic reporting with the free CRM

Now that we have the pipelines/property and the deal view in place, we can move on to the fun part: the creation of customised reports and dashboards. Anytime we want to report on deal properties and/or want to create custom deal reports, the Reporting Add-on is required. Our scenario with multiple currencies is no exception here. Nevertheless, before we dive into examples of custom built reports, we'll take a quick look at what's possible with the built-in reporting with the free CRM. 

The free CRM knows two ways to aggregate financial information across deals:

  • the main dashboard contains the previously mentioned forecasting module which aggregates the weighted amounts of all deals in a pipeline for a specific timeframe
  • the 'board' view (used in deal views) aggregates all amounts (non weighted) per deal stage for all deals in a specific view. It also shows a global number of all deals in a view and the no. of deals broken down by deal stage.

We already discussed the forecasting functionality on the main dashboard, so let's take a look at what info we get from deal views: Views are very helpful to show all deals according to specific filter criteria but as the name suggests they're essentially a way to display information not to report on them.

For our use case this means that our currency specific deal views allow us to see
  • the no. of deals in a specific currency (visible in top left corner of the 'Table' view, see 1st screenshot underneath)
  • the no. of deals in a specific currency broken down by deal stage (visible in 'Board' view, see 2nd screenshot underneath)
  • the rolled up amounts of revenue per deal stage for all deals in a specific currency (visible in 'Board' view)

Table View:


Board View:


However, we cannot compare the currencies with each other without switching between different deal views. We also don't get aggregated amounts of revenue for all deals in a specific currency.


4. How a sales manager will use this - Creating custom reports with the Reporting Add-on

The Reporting Add-on is very powerful and enables you to create lots of different reports, so the following reports are by no means all the reports that can be created. It's simply a selection of reports that I feel would be particularly useful for such a scenario.


Please note: most of the following screenshots are based on the alternative approach (using a deal property) instead of multiple pipelines. This is because my own instance of HubSpot which was used here is also connected to a Salesforce developer account for testing purposes (multiple pipelines cannot be enabled if HubSpot is connected to SFDC). 

As explained before: the better approach with multiple pipelines works exactly the same way. Instead of selecting the custom currency property, simply select the pipeline option.


4.1 Global Reports

Let's first start with some global reports which show information about all currencies. I would recommend to create a 'global' dashboard for these reports.


4.1.1 New Deals Created: Forecasting vs. Closed by Currency

  1. Optional: create a new 'Global Dashboard'
  2. Click on 'Add Report' in the top right
  3. Select the 'Deals' option from all the widgets on the right hand side (Deals is at the very bottom right) Screen_Shot_2016-07-27_at_17.18.45.png
  4. Scroll down and select the 'New Deals Created' report.
  5. We're going to edit this slightly so we'll select the 'Customize' optionScreen_Shot_2016-09-05_at_00.10.44.png
  6. Replace the 'HubSpot Owner' property with 'Pipeline'. It should now look like this:Screen_Shot_2016-07-27_at_17.26.58.png
  7. Make sure to uncheck the 'Show totals row' option: 
    As the system doesn't recognise our custom currency setup, it would simply add up all the numbers (without any currency conversions), so
    the total amounts across all currencies would be incorrectHere is a screenshot for illustration:Screen_Shot_2016-07-27_at_16.37.38.pngPlease also note that all amounts are marked with the same currency icon (in this case $ as USD is used as the global currency). This cannot be changed.
  8. Click on 'Add to Dashboard'. Feel free to change the name of the report.
  9. Your first global report is finished:Screen_Shot_2016-07-27_at_17.38.59.png


4.1.2 Average Length of Sales Cycle by Currency

  1. Create a new report from scratch
  2. Select 'Deals' from the dropdown in the top left


  1. Implement the following changes: 
    • Click on 'Deal Stage' and replace it with 'Pipeline'
    • Click on 'Count of Deals' and replace it with 'Days to Close'
    • To the left of the 'Days to close' column name you will see 'Total'. Click on it and select 'Average'
    • It should now look like this (you will see 'Pipeline' instead of 'Currency (custom property)) :Screen_Shot_2016-07-27_at_21.49.56.png
  2. Click on 'Add visualisation' in the top right corner and select your preferred option. I will use the first option: a 'Column' graph. You can learn more here about the different graphs and their use cases.
  3. To make it a bit more colourful I'm also going to use a different colour for this report. You can find the different colour options directly underneath the report types on the right hand side. Simply select your preferred colour from the dropdown menu.
    Screen_Shot_2016-07-27_at_21.58.55.png       Screen_Shot_2016-07-27_at_21.59.09.png
  4. As before: give the report a meaningful name and add it to the dashboard. Et voilà!Screen_Shot_2016-07-27_at_22.08.11.png


4.1.3 Current distribution of all deals across the different Deal Stages - broken down by Currency

This report is particularly exciting as we're going to create a matrix. 

  1. Create a new report from scratch
  2. Select 'Deals' from the dropdown in the top left
  3. Leave the default report unchanged
  4. Click on the dropdown menu to the right hand side of 'Count of Deals' (marked ' ||| ') and select 'Pipeline'Screen_Shot_2016-07-27_at_22.21.06.png
  5. The report should now look  like this:Screen_Shot_2016-07-27_at_22.36.20.png
  6. Click on 'Add visualization' and select the column graph again as before. I would also recommend to tick the 'Stacked' checkbox underneath as it makes the report easier to read in my opinion: 
  1. Give it a name and add it to the Dashboard. Another one down:Screen_Shot_2016-07-27_at_22.30.14.png

4.1.4 Total amounts broken down by Deal Stages & Currencies

  1. This will be another report that we build from scratch, so please follow the same initial steps as outlined previously
  2. Implement the following changes:
    • Click on 'Deal Stage' and replace it with 'Pipeline'
    • Click on 'Count of Deals' and replace it with 'Amount'
    • Click on the dropdown menu to the right of 'Amount' (marked ' ||| ') and select 'Deal Stage'
    • It should now look like this:Screen_Shot_2016-07-27_at_23.13.59.png
  3. Click on 'Add visualisation' and select your preferred graph. I'm chosing a column graph again.
  4. As before make sure to tick the 'Stacked' option. This makes the whole report far easier to read.
  5. Give it a name and add it to the dashboard. Boom!Screen_Shot_2016-07-26_at_22.32.49.png

Obviously there are lots of other possibilities but let's now move on to create subreports for a specific currency


4.2 Currency specific reports

Depending on your setup, it would probably make sense to create a separate dashboard per currency. Alternatively, you could group the same types of reports together on one shared dashboard (across all currencies). Please note that you can have max. 10 reports on a dashboard.

As with the global reports: the possibilities are almost endless. However, for the purpose of this tutorial we will stick to two 'out of the box' reports and customise them for a specific currency.


4.2.1 Closed Deals vs Goal for a specific currency

  1. Follow the previously outlined procedure to create a report based on a recipe
  2. Select the very first recipe 'Deals Closed vs Goal' and click 'Customize'
  3. Leave the report unchanged
  4. On the left hand side click on '+ Add view filter'
  5. Select one of the currency specific custom deal views that you built. Eg.:
  6. That's it already. Give it a name and add it to the dashboard.

Use the very same approach to create the same report for the other currencies. Please note that you can save time by cloning the existing report. Simply click on the gear icon of the report that you would like to clone (directly on the dashboard) and select 'Clone'. This approach requires the original report and the clone to be one the same dashboard.



4.2.2 Deal Stage Funnel for a specific currency

  1. Follow the very same steps as in the previous report to customise an 'out of the box' report
  2. Only difference: we're using the 'Deal Stage Funnel' recipe/widget
  3. When finished it should look similar to this:Screen_Shot_2016-07-28_at_00.04.16.png
  4. Clone this report (if used on the same dashboard) or recreate it manually for the other currencies.


5. Implementing correct forecasting without pipelines 

As mentioned previously: if you cannot use different pipelines for each currency, the forecasting on the standard CRM dashboard will be incorrect. Again, we can use the Reporting Add-on to help us out and to build correct forecasting reports at the global and the individual level.


5.1 Building individual forecasting reports for every sales rep

  1. Build a new report based on the widget 'Deal Revenue Leaderboard'
  2. Click on 'Customize'
  1. Click on 'HubSpot Owner' and replace it with pipeline (or the currency property)
  2. Select a deal view with shows all deals from a specific rep. Eg. all deals in all currencies by Lando Calrissian only:Screen_Shot_2016-09-04_at_22.35.43.png
  3. Click 'Add to dashboard' and give it meaningful name.
  4. Repeat the same process for all reps (Tip: clone the existing report to save time)
  5. The dashboard should now show a separate report for all your reps. Eg:Screen_Shot_2016-09-04_at_22.54.11.png


Three disadvantages of this approach come to mind:

  • all reps can see all the individual reports - unless you create separate dashboards for every rep which is only feasible for very small sales teams
  • there is no option to set a quota. Please note that this could be implemented with currency- and rep-specific 'Deal Closed vs. Goal' reports. However, it would mean that the no. of reports would greatly increase. In our example we would have 3 separate reports (EUR, USD, GBP) for each sales rep. Instead of the quota, you would use the option to set a goal.
  • Timeframes are set per dashboard not per report so all forecasting reports will have the same timeframe according to what is set at the dashboard level. Again, this could be remedied by having seperate dashboards (only feasible for very small teams). It is also possible to reduce the timeframe for a specific report by using a more restrictive deal view as the base of the report. This is not recommended though as it can lead to confusion and it is a very manual process.

Please also note that you can create max. 20 dashboards with 10 reports each, so if you have 20 sales reps you would need to reserve at least 2 dashboards for this purpose. 


5.2 Building global forecasting reports

There are a few different report widgets that can be used here. The end result is pretty much the same:

  • using the 'Deal Forecast' widget: leave the main part of the report unchanged but add a deal filter on the left hand side (select a deal view which shows all deals of all reps in a specific currency)Screen_Shot_2016-09-04_at_23.22.59.png
  • using the 'Deal Revenue Leaderboard' widget: same procedure as above: leave the main part of the report unchanged but add a deal filter on the left hand side (select a deal view which shows all deals of all reps in a specific currency)Screen_Shot_2016-09-04_at_23.28.45.png

The numbers shown in the reports are identical but the visual representations are different:


Regardless of the approach used, you would create separate reports for all your currencies. Again, consider cloning reports to save time.


Two final notes:

  • You can use the previously described instructions to customise other 'out of the box' deal reports such as 'Time in Deal Stage' for each currency.
  • Please note that Engagement reports cannot be broken down (eg. by team or currency). Those reports are always global and will involve all reps that use the HubSpot CRM and all currencies.




Daniel Bertschi

Written by Daniel Bertschi

Principal Sales Engineer @HubSpot. Ex Principal Timpanist with the national Irish radio orchestra - RTE Concert Orchestra. Proud owner of a sense of humour, despite being Swiss.

About this blog

As a Sales Engineer with HubSpot I always enjoy finding solutions for specific use cases. The purpose of this blog is to describe some of the tips and tricks that I've come across or developed myself and to share them with the HubSpot audience.

Subscribe to this blog

Recent Posts