Hello,
Multi-currency management was a nightmare for us as we have to deal everyday with 5 currencies… I’m not a PHP developer but I nevertheless decided to put my hands in the code to get our Dolibarr fitting our need for multi-currency management. The result is working pretty good and clear for us !
For information below is the features list of the job done:
Products/Services:
… list: show the currencies for selling prices and for buying prices
… customers prices: you can select the currency (not yet embedded for multi-prices as we don’t use it !)
… suppliers prices: you can select the currency
… sub-products: improved view for parents and childs products with more detailed information and display provisional profit in your company currency
Third parties:
… you can set the currency on credit notes or absolute discounts (detail list will show the documents in the currency they’ve been done and total is shown in your company currency)
… customer and supplier preview: shows the balance in your company currency
… nothing else special related to multi-currency as we can deal with one third party in various currencies
Proposals / Customer Order / Supplier Order / Customer Invoice /
Supplier Invoice:
… list: show currency information in a column next to ‘Amount (net of tax)’ , then bottom of the list show the total in your company currency
… new proposal: you select in which currency you want to create the proposal, it means that all prices inside the proposal will be considered as being in the same currency as the proposal currency (actually it is working like that for all of the documents that you can create)
… new customer order : automatically gets the currency from the proposal if any
… new invoice automatically gets the currency from the order if any (for customer or supplier)
… anyway currency of any document can be further modified if necessary (i.e. useful if you create a new customer order without prior proposal …)
… PDF automatically display the currency used for the document
… the small form “add new line products/service recorded” shows the currency of each listed item (currency shown is coming from the product customers prices, useful as if you make a proposal in USD so when you add a recorded product you can be sure that the product price is in USD… if not so you still can further update the product price in the proposal line…)
… while ‘do payment’ from customer invoice or supplier invoice : you have to select the right bank account ! And for sure to make payments one by one if the list shows various currencies…
… so… documents are directly generated in the requested final currency as we suppose the payments (inwards or outwards) to be processed to/from a bank account in the said currency… This is the basic idea for this multi-currency version… as we do work like that ! If you work differently so it may not fit your needs.
Bank:
… need to create at least one account for each currency you have to work with (then to affect a currency to each account… )
… list transactions and bank transactions: currency is displayed
for each line, so you can easily check whether or not there was affectation mistake…
… bank transfers: automatically credits the receiving account in it’s own currency (you can still adjust the amount later with ‘reconcile’ feature)
… bank main menu:
…… the balance of each account is shown in the account currency
…… the total for the 3 kinds of accounts (current, cash, savings) is shown in your company currency + 1 grand total information in your company currency
… finally it’s like the multi-currency account service that your bank should provide you with !
Financial (top menu):
… information boxes show the currency for each document, and the amount in the said currency
… you can use MAIN_SHOW_HT_ON_SUMMARY (=1 in Setup/Other) to switch from ‘including VAT’ amounts to ‘net of tax’ amounts information
… total at the bottom of each boxes is shown in your company currency
… customer’s invoices/payments/reporting: the PDF automatically show the currencies
… orders to bill: list shows the currency of each document, total is shown in your company currency
… reporting:
…… income/expense: all figures are shown in your company currency
…… by third party : the list shows amounts in the original currency and the sub-totals and profit information are shown in your company currency
…… turnover, by third party, by user : all are shown in your company currency
…… sales and purchase journal: add the information about currency used for each item
Projects:
… referrers list: show the currency used for each document and display totals in your company currency
Coming next (so far I’m stuck to figure out a solution for modifying the code !):
… bank/cash graphics are regardless of the currencies so outputs are wrong
… commercial/financial: statistics : also regardless of the currencies so outputs are wrong
Not sure that I’ll be able to achieve that (makes me dizzy) but I’ll try to get it right with priority on the statistics
… multi-currency on products multi-prices is not yet finished
General considerations:
… you can use as many currencies as you need, just keep the ones you need activated in the dictionary (disable all others so you’ll get a shorter list when you select in which currency you want to create whatever a proposal or an order or an invoice…) and create the exchange rates in Setup/Other (only admin can update periodically, but no history recorded)
The core is from a regular 3.2.3 Dolibarr version which includes the 3.2.4 bug fixes from the github, as many files from the core and database tables have been modified so I can supply a zip package including everything (actually same as for a standard Dolibarr distribution zip package). The install embed the necessary modifications on the SQL tables… so you can else use it to make a fresh install of 3.2.3~4 multi-currency or upgrade to 3.2.3~4 multi-currency !!)… if you’re already in 3.2.3 or 3.2.4 so select the upgrade anyway and it will generate the necessary extra database fields.
If you’ve already upgraded to 3.3… sorry…
Anyone interested to get this for a reasonable cost, please contact me by email: dlausseur@gmail.com
Regards.