Multi Currency

This document helps you to understand how to enable Multi Currency in DinePlan and working with them.

We'll assume our primary Currency is Indian Rupee and we will be accepting Dollar and Euro while settling a ticket.

Let's see how we'll do it. Here are the steps


Go to BackOffice –> Settings –> Currency List  and add the $ Currency as per the Screenshot

Currency symbol seems a little complex. We need to define if the currency symbol used as prefix or suffix. We'll use {0} as a placeholder for number and use :N flag for formatting it as a number. If you don't need to see decimal places you can change :N flag with :#.

Rounding is a special setting used with Order Selectors(the payment screen part where we choose which order paid). When you enter a number other than 0 here DinePlan will round prices to 0.25 for easier settling. I'll show it in more detail soon.

Name and the Exchange Rate values are filled with needed values.

Let's do the same for “EURO” as well as per the screenshot.

This time we'll use different Exchange Rate and leave rounding as 0 for understanding how it works.


After creating currencies we need to create separate Cash Accounts for them. It will help us to understand how much we have collected DOLLAR or EURO

Navigate to Accounts > Account List

While creating an account we need to choose correct account type for better grouping. We can choose Payment Accounts type for foreign currency cash accounts. Let's do it.

After hitting save create a new account for Euro Cash. Account Type will be Payment Accounts and Choose Euro for currency.

Now we need to ask two questions here.

  1. WHICH PAYMENT METHODS WE ARE GOING TO ACCEPT ? DO WE ACCEPT CREDIT CARD WITH DOLLAR PAYMENT ?. If we do so, we should create the Payment Types. For this Tutorial, let's do with CASH.

  2. DOES ALL DEPARTMENT OR USER ACCEPTS FOREIGN CURRENCIES ? For Example, Only Restaurant should accept and Manager only to enter the Values.

To answer both, we need to have a Payment Type.


For assigning these payment methods to departments we'll create payment buttons and map them to departments. Let's see how we'll do that.


  • Name will be USD and this will be displayed on payment button.

  • Account Transaction Type is used for how this payment transaction works. A ticket creates an account transaction from Sales account to Receivables account. So we can see how much we sold and how much we'll receive. A cash payment creates a transaction from Receivables to Cash. So we'll choose Payment Transaction here. We'll check this topic in more detail soon.

  • Account will be Dollar Cash account. Since Dollar Cash account is attached to a foreign currency that button will appear when we want to receive dollar cash payment.

Let's switch to Mappings tab and configure where that button is displayed.

The Mapping tells where to Display the Button. Lets do it for the EURO As well.


Lets try it out how it works in the Payment Screen. Before you try it out, DINEPLAN should be restarted as usual.


Awesome! We have two buttons under the ticket and they displays the remaining amount in foreign currency amounts. We'll use them when we need to receive payments in other currencies.

As you've noticed $ sign used as a prefix and € sign displayed as suffix. This is what we configured while setting up Currency Symbols on Foreign Currency screen.

Whenever you click the $5.01, all the Prices are changed

 and Same Things goes to the EURO as well.

There is a problem, we do not know how we will calculate the Change Amount. (For Example, If the Customer Pays 5 EURO,  we need to give him the remaining money. It could be in EURO, DOLLAR or Our Base Currency RUPEE) Normally we assume Change Accounts will be paid pack from the Currency settled but in this case we don't have. On the other hand customer can specifically request the change from a different currency.


We have two options here:

  1. We can configure DINEPLAN for calculating change amounts from the base currency so no questions asked.

  2. We can configure all permitted change amounts so cashier can choose what customers wants.

Lets do the Second One. First of all we'll create an Account Transaction Template for Change Transactions. Let's Navigate To Back Office > Accounts > Transaction Types

For now I'll skip details about this topic. CHANGE TRANSACTION works exactly as reverse of PAYMENT so I'll clone PAYMENT and reverse Account Types.

This is how we should configure the CHANGE. Now DINEPLAN know how it should create change transactions. Now we'll create Change Payment Types.

For each Change Payment Type configured DINEPLAN will create an option button for choosing change payment currency.


This is necessary for the Base Currency. In our example, it is CASH. If we do not configure it our other Payment Types, all the Change Payment will be CASH by Default. Lets do for other Payment Type as well and Don't forget adding mappings for new created Change Payment Types

 Let'sTRY IT OUT. Please Restart DinePlan.The Customer is paying by 10$ USD but it is supposed to be in 7.52.

 Since we have configured the Change Payment, It shows like one below:

Now, we get a change to change to pay the Remaining Payment in Dollar or Euro or Base Currency

That's the End of this Document. Stay Tuned.