Contract ARR/TCV in company currency doesn't follow updated exchange rates

Hello!

We are trying out the new Contract object for recurring customers. Our company currency is SEK, but many contracts are in EUR and USD. Our process:

  1. We close a deal in EUR/USD and convert it to a contract.
  2. We invoice in SEK every period, using the previous month’s average exchange rate.
  3. We update that rate in HubSpot every month (Currency settings)

The issue: The contract’s ARR and TCV in company currency stay at the exchange rate from when the contract was created. They don’t recalculate when we update the portal rate. For example, when we generate an invoice 6 months later, the contract’s SEK ARR no longer matches what we’re actually invoicing, and our ARR reporting drifts further from reality every month.

I’m fine with closed deals keeping their historical rate. The contracts and invoices, though, is a live, ongoing agreement, so I’d expect its company-currency values to follow the current portal rate.

My questions:

  1. Is this expected behaviour for contracts, and is there a setting to make ARR/TCV in company currency use the current exchange rate?
  2. If not, how do you report current ARR in your company currency?

Thanks!

I’d treat the contract value and the current reporting value as two separate things here.
If HubSpot is freezing ARR and TCV in company currency when the contract is created I wouldn’t use that field for current ARR in SEK.
I’d keep the original contract ARR as the historical value and create a separate Current ARR SEK property that gets recalculated each month using the latest EUR to SEK or USD to SEK rate.
That way you keep the original booked value but your reporting stays current.
I’d still confirm with HubSpot Support whether this is intended behavior for the new Contract object but from a reporting perspective I’d keep historical FX and current FX separate.

Hi @Monjogard and Happy Friday!

Great questions, thanks for asking the HubSpot Community! And thanks @MahdiEqbal for your help!

What you’re seeing is expected. Company-currency ARR/TCV values aren’t dynamically recalculated whenever portal exchange rates change, so SEK values may continue to reflect the rate captured when the Contract was created or updated.

Contracts represent committed revenue, while invoices reflect amounts billed for a specific billing period. There’s currently no setting to make the native Contract ARR/TCV company-currency properties recalculate monthly using the latest portal rate.

The recommended approach is to keep the reporting views separate:

  • Use the native Contract ARR/TCV properties for booked or contracted revenue, preserving the historical FX basis.

  • Create a separate “Current SEK ARR” calculation using Contract ARR in its original currency multiplied by the current EUR/SEK or USD/SEK rate. Update it monthly through an integration, API process, or other automation, and store it in a custom property or reporting dataset.

  • For invoice-based reporting, use invoice amounts in company currency rather than Contract ARR/TCV.

I’d avoid overwriting the native company-currency values, as that would cause historical reporting to change whenever exchange rates are refreshed. This approach gives you both a consistent contracted ARR view and a current-FX view that better reflects SEK invoicing.

Hope this helps clarify things!

For reference:

And please let us know if you have additional questions!

Enjoy the weekend!

Bérangère

This post was created with the assistance of AI tools

That makes sense! Thanks for the input.

That makes sense! Thanks for your input.