There is one specific legislation requirement in Russia: in many printforms of the documents the numerical amount of the document should be duplicated by “suma in cuirsive”, that is, in written words.
Example:
- 2500 (Two thousand five hundred) rubles.
The problem is that Russian language, unlike English, has variances in the endings of the currency name, depending on the ciphers it represents.
Example:
- 2 rubles in Russian would be “два рубля” (dva rublya)
- 5 rubles in Russian would be “пять рублей” (pyat rubley)
So, you need the system to vary the numeric endings depending on the amount of Rubles in the document. The same is valid for kopecs (which is 1/100 of rouble). In Russian localization, there is a special setup for that.
If you go to currencies list and select any currency card, available in Cronus database, you could see the special setup on the card under “In Words” section:
Look e.g. at EUR card:
Here user defines what should be the endings of the numbers and currency, written in words, depending on the numbers in the amount themselves - for both currency and its cents. It also allows to select the Kind (Male, Female or Neutral) for the currency name and 1/100 (cents) of the currency (which are called "Kopecks" in Russia. Note, that it is a setup, available for the user.
These are the currency cards which are used to define those currencies that are additional to the base currency, used in the system, which should be Russian ruble by legislation. Note here again, that standard Cronus database does not have a currency card for ruble currency.
However, when you print certain commonly-used paper forms (such as e.g. Way-bill for the delivery of items to customer), there is a legal obligation to repeat amount of the document in words – in Russian. So, user is expecting a certain setup for Russian ruble where he can identify different endings of the numbers and currency depending on the ciphers of the amount. But this is not the case.
There is no user setup for that. Instead, it is hardcoded into Codeunit 12400 “Localization Management”.
Design Codeunit 12400 from Object Designer, and you would see this code:
IF CurrencyCode = '' THEN BEGIN "Unit Kind" := "Unit Kind"::Male; "Unit Name 1" := UnitName1Txt; "Unit Name 2" := UnitName2Txt; "Unit Name 5" := UnitName5Txt; "Hundred Kind" := "Hundred Kind"::Female; "Hundred Name 1" := CentName1Txt; "Hundred Name 2" := CentName2Txt; "Hundred Name 5" := CentName5Txt; END ELSE GET(CurrencyCode);
Go to Global variables, Text constants:
Here they are the constants. Look at the caption, you’ll see the (!) different captions in different languages:
So, let’s switch to Russian language of the interface and print a Way-Bill from a posted sales invoice. This would be the result:
But, when we print a VAT invoice, which is also a very basic most frequently used accounting document, provided to each customer, we can see that there are two fields that are missing the important obligatory information (with that not filled information, the printed VAT document can be considered as not valid!):
So, as you can see, the fields “Currency Name” and “Currency Code” (as per official Central Bank classification) in the VAT print form are empty. What setup is missing?
In order to reveal the needed information on those fields, users need to create himself a Ruble currency card and indicate the currency name and currency code there:
(!) You need to make sure that the code that you would write in the Code field of the Ruble currency card is exactly the same as the code, indicated in the LCY Code field of the General Ledger Setup:
Having this setup, we can now switch again to Russian interface and print out the VAT invoice. The fields “Currency Name” and “Currency Code” in the printform would be filled correctly:
One important thing is actually the language interface. I do not know for whatever reason, but there are captions for English language hardcoded into the text constants, in addition to Russian. That is, when you print official Way-bill document using English interface of NAV, the word text that describes the amount in the document starts to be written in Latin letters as transliteration of Russian words (and all the other titles and field names obviously remain the same Russian!):
Which is itself ridiculous, as this immediately makes the document invalid for Russian legislation, and I can’t figure out in what situation such print might be ever needed.
*This post is locked for comments