#301301: Timetracker -> Invoice has brought to light that it would be useful to enforce a single currency per Organization and all activities with that Organization -> Therefore meaning that all invoices with that organization would be of a single currency, and in particular, any one invoice would not try to serve multiple currencies.

The plan is to remove all price currency fields except for within the Organization (data from the fields in other node types will be lost).

Please post a comment here if this will affect your installation.

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

Magnity’s picture

In fact - does anybody use multiple currencies in their installation at all?

Or perhaps the currency could simply be a global setting which controlled how a unit is displayed?

deggertsen’s picture

Personally I like the ability to set each organization to a different currency if needed. Currently I only use one currency, however I anticipate working with organizations in different countries in the future which would require me to use different currencies.

That said however, it would not be a big deal if currency was set to be a global setting instead... If that would make development a lot easier I think you should do it.

psy’s picture

Operating out in one of the colonies (Australia), makes me ask how do I extend the currencies options as the Aussie Peso does not show in the list.

Getting back on topic, I would go for an admin option "Use Global Single Currency" or "Use Single Currency for Each organisation".

Excellent modules BTW. Excellent.

Magnity’s picture

To answer your first point: Goto /storm/attributes/add. Select the domain 'Currency'. The key is the currency short code, and the value the name in words.

Re the admin options - this would defeat the point of the simplification that this is meant to bring! Lets see if anyone else posts anyway though.

homoludens’s picture

Truth is that almost every organization (for-profit or non-profit) outside of US or EU is constantly working with multiple currencies.
I was reluctant to say anything on this issue, because just putting currency field everywhere is not solution, and I still don't have complete idea of some. What I'm guessing is that I doubt that anyone is, currently, using multiple currencies in storm, and I will try to explain why.

Important things are: I believe that invoice has to be in the same currency (it is probable illegal to be with multiple currencies) , but tying organization to only one currency would limit storm too much.

Examples:
For-profit organization: if it is doing any kind of import/export or for storm more importantly outsourcing, they would make invoice in one currency, but would pay tax and other expanses in another currency.

Non-profit organization: is receiving donations in few different currencies, but can spend them only as their domestic currency.

And every time someone exchange currency they need to enter current exchange rate.

As I said, I don't have solution right now, but I'm currently writing new storm module for non-profit budget tracking, where this issue is very important, so I'm hoping I will find solution in next few weeks. It is going slowly because I need to, constantly, check with different organizations what would they need, so that module would cover more use cases.

Magnity’s picture

Looks like this could be a bit more complex than I thought - so perhaps this simplification is a no goer.

I'd really like to see your budget tracking module when its done!

homoludens’s picture

currency part: Sadly, it isn't simple. I hope that I will soon have more to say about that part. That info is connected with:

budget module part: Some preview part of it is already done - part that covers simplest use case, but it is covering around 80% of uses that I can see.
And I would put it here, but I needed it fast, so I have made budget module based on tasks and hacked it together with storm_expense module, so until I make separate module (what could happen during next week) it is not wise to give it to other people.

But If you (and others) really want to have early preview, I am having all mine storm module with all mine changes on github:
http://github.com/homoludens/STORM/tree/master - Please, do use this code ONLY on separate drupal install - that is totally independent from something useful, especially keep it away from other storm install! There, I said it. But it is not that bad, it is mine test installation.

I will try to put it on some public server that I can give you access.

On the other part, I will try to find out, what business people need from currency settings - that would be little harder to find out cause I mostly have contact with non profits that can find storm useful.

Magnity’s picture

Title: Remove Price Currency field from all node types except Organisation » Review Storm's handling of currencies

Reading through this issue and others, it seems that:
a) Restricting the use of currencies will hinder a lot of the uses of Storm
b) Currently (at least programmatically), it is confusing which currencies are where.

Therefore, this issue can be a review of how Storm handles currencies to see if there can be a better solution.

Marking #570968: Currency in Expense as a duplicate of this issue now - that can be handled as part of this.

anodyne’s picture

When I first started using Storm I had no idea about storm attributes and didn't envy the task of manually adding different currencies one by one through the UI.

Here's a patch which installs all of the world's currencies as part of Storm Attribute.
Which raises the question: Is it more annoying to deactivate all of the currencies you don't want, or to activate all of the currencies you need in the Storm Attribute UI? :D

I think having the ability to "activate all" and "deactivate all" attributes for a given Domain in the Storm Attribute UI would help when working with large sets of attributes. (such as currencies, countries, etc)

Does anyone agree, or am I on my own here as usual? :)

anodyne’s picture

Status: Active » Needs review
FileSize
7.03 KB

CNR for #9 & #10 (9 will fail due to windows line endings - yeesh!)

Status: Needs review » Needs work

The last submitted patch, stormattribute.install.patch, failed testing.

anodyne’s picture

Status: Needs work » Needs review
FileSize
7.06 KB

3rd time lucky... :D *fingers crossed*

anodyne’s picture

juliangb’s picture

In favour of adding these.

A couple of minor bits in the code. Also, for things like GBP and USD which are already in the db, are these now duplicated?

+++ stormattribute/stormattribute.install	16 Mar 2010 01:05:08 -0000
@@ -948,3 +948,193 @@
+    'ZWD' => 'Zimbabwe, Zimbabwe Dollars'	

Trailing tab on the end of ZWD line.

+++ stormattribute/stormattribute.install	16 Mar 2010 01:05:08 -0000
@@ -948,3 +948,193 @@
+  $ret = array();

Minor, but I'd prefer this to be the first line in the function.

Powered by Dreditor.

juliangb’s picture

Status: Needs review » Needs work

A major issue I missed before - this will only work for existing installations that update to the new version.

We need to ensure we have changed the _install function so that new installations get the same data.

tchurch’s picture

+1