# Dynamic Currency Control

**URL:** <https://community.fibery.io/t/dynamic-currency-control/3364>\
**Category:** Get Help\
**Created:** [October 6, 2022, 1:53pm UTC](https://community.fibery.io/t/dynamic-currency-control/3364 "2022-10-06T13:53:53Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![webinit](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/webinit/32/5548_2.png) [@webinit](https://community.fibery.io/u/webinit)\
**Post date:** [October 6, 2022, 1:53pm UTC](https://community.fibery.io/t/dynamic-currency-control/3364/1 "2022-10-06T13:53:53Z")

</div>

We have internal business requirements where we need to view revenue and accounts receivable in different currencies for the purpose of collaborating and reporting to outside parties. We need to see our reporting in one currency and then flick a switch to immediately see those same figures in a different currency, accurately converted based on the currency rates for the dates the transactions occurred.

It’s all set up and working like a charm. It enables the accurate changing of all figures into different currencies based on the changing of a single field.

The way I’ve achieved this is to create a separate “Set Base” database with a single entity in it which has just a single select field showing the different currency options. When I change that drop down field everything else changes to reflect that change, including reporting.

It all works really well.

The reason I’m posting here is that it intuitively feels like an odd database design to have an entire database for the purpose of housing a single entity with a single drop down box to make such a change.

I don’t know of any other way to achieve this.

It’s not a problem as it works perfectly, but I am just curious whether there is a better, best practice way of achieving this.

It’s quite possible I’m not offering enough information, but we basically set the currency on the contact level. One contact can have many payments and each of those payments can be dynamically converted using the conversion rate at the date the payment was made, into different currencies based on the setting in the single select field on that single entity in the “Set Base” database I referred to above.

Any thoughts are welcome.

---

<div class="post-metadata">

**Author:** ![Chr1sG](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/chr1sg/32/3941_2.png) [@Chr1sG](https://community.fibery.io/u/Chr1sG)\
**Post date:** [October 6, 2022, 2:12pm UTC](https://community.fibery.io/t/dynamic-currency-control/3364/2 "2022-10-06T14:12:36Z")

</div>

I understand exactly what you mean about using a DB to store what is effectively a global single select (well, I hope I understood what you meant!)  
I don’t actually think there is a better way of doing it at the moment, and perhaps it’s just the psychological unease that’s the issue.

I could imagine that in the (probably quite distant!) future there might be ‘nicer’ ways of doing it, for example using some clever polymorphism functionality, whereby a (hidden?) database of such ‘global variables’ could exist, and each variable could be related to (=\> available for use by) multiple other dbs, and each variable would be linked to one of many of possible ‘value’ collections.  
Can’t see it happening any time soon though!

---

<div class="post-metadata">

**Author:** ![webinit](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/webinit/32/5548_2.png) [@webinit](https://community.fibery.io/u/webinit)\
**Post date:** [October 6, 2022, 2:57pm UTC](https://community.fibery.io/t/dynamic-currency-control/3364/3 "2022-10-06T14:57:48Z")

</div>

That’s good to know, thank you!

Functionally, there’s no issue that needs solving. I just might need to see a therapist. 🙂

---

<div class="post-metadata">

**Author:** ![Oshyan](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/oshyan/32/11431_2.png) [@Oshyan](https://community.fibery.io/u/Oshyan)\
**Post date:** [October 6, 2022, 10:30pm UTC](https://community.fibery.io/t/dynamic-currency-control/3364/4 "2022-10-06T22:30:26Z")

</div>

> [@Chr1sG](#):
>
> perhaps it’s **just** the psychological unease that’s the issue.

This is one of those things that will be a subtle but very real barrier to broader adoption IMO (emphasis mine, of course). This kind of thing _needs_ a better solution IMO.

What about the sort of ad-hoc fields we’ve discussed at various times? Would that work? Like a unique field that is attached to a single entity or doc or whatever?

---

<div class="post-metadata">

**Author:** ![webinit](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/webinit/32/5548_2.png) [@webinit](https://community.fibery.io/u/webinit)\
**Post date:** [October 7, 2022, 4:18am UTC](https://community.fibery.io/t/dynamic-currency-control/3364/5 "2022-10-07T04:18:35Z")

</div>

@Oshyan it would be nice if next to “Add database” there could be “Add global variable” and that could be used in formula calculations and exposed in a view for the values to be changed.

There I go again, talking solutions rather than problems and use cases! Oops. 🙃

---

<div class="post-metadata">

**Author:** ![Chr1sG](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/chr1sg/32/3941_2.png) [@Chr1sG](https://community.fibery.io/u/Chr1sG)\
**Post date:** [October 7, 2022, 8:17am UTC](https://community.fibery.io/t/dynamic-currency-control/3364/6 "2022-10-07T08:17:52Z")

</div>

To be fair, I am not aware of many no-code tools that have native support for global variables (Coda? others?) so I would hope that this is not a barrier to adoption for a lot of people.

> [@webinit](#):
>
> There I go again, talking solutions rather than problems and use cases! Oops.

😆

---

<div class="post-metadata">

**Author:** ![Chr1sG](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/chr1sg/32/3941_2.png) [@Chr1sG](https://community.fibery.io/u/Chr1sG)\
**Post date:** [October 7, 2022, 8:18am UTC](https://community.fibery.io/t/dynamic-currency-control/3364/7 "2022-10-07T08:18:54Z")

</div>

Related:

> [@Global single and multi-select field options](https://community.fibery.io/t/global-single-and-multi-select-field-options/2779):
>
> Would like the ability to define the options of a Single-Select or Multi-Select field in one place, and have the definition instantiated/referenced/used in different Types? Example: Defining a Single-Select field for choosing a “Role Type”, such as: Content Writer Web Developer Project Manger SEO Specialist Admin Sales Manager Let’s assume I have four different Databases in my app that each need one of these Single Select fields with these exact options. I want to be able to define this fie…

> [@Global Variables](https://community.fibery.io/t/global-variables/2129):
>
> Do you have any plans to create global variables? I guess this is linked to the concept of shared code snippets. It would be great if I could create/set a variable for a given workspace and then use it in formulas.

---

<div class="post-metadata">

**Author:** ![Oshyan](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/oshyan/32/11431_2.png) [@Oshyan](https://community.fibery.io/u/Oshyan)\
**Post date:** [October 7, 2022, 3:25pm UTC](https://community.fibery.io/t/dynamic-currency-control/3364/8 "2022-10-07T15:25:47Z")

</div>

> [@Chr1sG](#):
>
> To be fair, I am not aware of many no-code tools that have native support for global variables

That is fair, but also a great place for Fibery to differentiate. 😉 But I’d agree it’s not a showstopper by any means. And clearly there is too much to do at the moment in any case. 😅
