Разные валюты поставщиков

sergee

Создатель
Регистрация
25 Янв 2014
Сообщения
45
Реакции
3
Всем привет!

Ни для кого не секрет, что большинство продаваемых нами товаров - импортные. Многие поставщики выставляют отпускные цены - в долларах или в евро. Ситуация когда у вас в магазине продаётся товар, который поставщики отпускают за 3 разные валюты (например доллар, евро и рубль) - не экзотика.

Раньше можно было выставить все закупочные цены в валюте магазина (например в рублях) и обновлять их 1-2 раза в месяц. Но сейчас волатильность валютного рынка выросла и подобный подход грозит убытками.

Хотелось бы предметно обсудить вопрос ведения (не отображения, отображение работает без вопросов) каталога в разных валютах, для того что бы с изменением курса автоматически пересчитывать рублёвую цену для валютных товаров.

Хочу сразу заметить, что варианты "жёстко прописать валюту в фронт офисе" или "скачать модуль определения валюты по геоИП" - не в тему.

Кто и как решет вопрос мультивалютного каталога? давайте делиться соображениями и опытом! :)
 
Тоже столкнулся с этой проблемой, но решение пока не нашёл.

Цена в админке в долларах, установил forcecurrency и вывожу в гривнах на сайте + увеличиваю курс на 2% (так как курс нацбанка меня не устраивает) + в cron обновление курса каждый день автоматом.

А вот разные валюты у поставщиков это пока не решил, приходится с калькулятором сидеть и евро в доллар переводить.
 
Тоже столкнулся с этой проблемой, но решение пока не нашёл.
Цена в админке в долларах, установил forcecurrency и вывожу в гривнах на сайте + увеличиваю курс на 2% (так как курс нацбанка меня не устраивает) + в cron обновление курса каждый день автоматом.
.

Что за forcecurrency?
 
По моим ощущениям, самый толковый подход был у Kosstas. Вот что он мне писал 20 го июля:

Друзья, есть задача, не знаю как решить.

Часть моего товара поставщик отпускает за евро по курсу ЦБ. Соответственно цена каждый день разная. Я у себя в магазине хочу закупочную цену товара держать в евро. Добавил новую валюту - евро, но админка не позволяет поставить закупочную или отпускную цену не в валюте по умолчанию.

Реально ли держать закупочные цены в разных валютах? как это сделать?

Реально, У меня закуп Евро-Продажа Британский Фунт
Делаешь Мальтишоп - Админку ведёшь на субдомене в Евро, а основной магазин в Руте в валюте покупателя - £, NOK, CHF, USD, GBP

К сожалению, у меня так и не получилось воспроизвести этот сценарий. На 1.5 Если я добавляю товар в евровый магазин, в рублёвом он вылазит с ценой 0. На 1.6 я добавляю товар в евровый магазин и могу даже увидеть его цену в рублях (если переключаю валюту в евровом магазине). Но вот в рублёвом магазине товар не появляется вообще.

М.б. кто-то реализовал у себя подход с мультишопом и расскажет пошагово как воспроизвести этот подход у себя?
 
По моим ощущениям, самый толковый подход был у Kosstas. Вот что он мне писал 20 го июля:



К сожалению, у меня так и не получилось воспроизвести этот сценарий. На 1.5 Если я добавляю товар в евровый магазин, в рублёвом он вылазит с ценой 0. На 1.6 я добавляю товар в евровый магазин и могу даже увидеть его цену в рублях (если переключаю валюту в евровом магазине). Но вот в рублёвом магазине товар не появляется вообще.

М.б. кто-то реализовал у себя подход с мультишопом и расскажет пошагово как воспроизвести этот подход у себя?

ЕСЛИ ISO Коды для валют введены правильно, то в независимости от версий 1.5 или 1.6 всё должно работать после подтверждения в Localisation/Localisation-Для каждого шопа в отдельности

CURRENCY ISO CODES
Code Num E[6] Currency Locations using this currency
AED 784 2 United Arab Emirates dirham United Arab Emirates
AUD 036 2 Australian dollar Australia, Christmas Island (CX), Cocos (Keeling) Islands (CC), Heard and McDonald Islands (HM), Kiribati (KI), Nauru (NR), Norfolk Island (NF), Tuvalu (TV), and Australian Antarctic Territory
AWG 533 2 Aruban florin Aruba
AZN 944 2 Azerbaijani manat Azerbaijan
BAM 977 2 Bosnia and Herzegovina convertible mark Bosnia and Herzegovina
BBD 052 2 Barbados dollar Barbados
BYR 974 0 Belarusian ruble Belarus
CAD 124 2 Canadian dollar Canada
CDF 976 2 Congolese franc Democratic Republic of Congo
CHE 947 2 WIR Euro (complementary currency) Switzerland
CHF 756 2 Swiss franc Switzerland, Liechtenstein (LI)
CHW 948 2 WIR Franc (complementary currency) Switzerland
CLF 990 0 Unidad de Fomento (funds code) Chile
CLP 152 0 Chilean peso Chile
CNH 156 2 Chinese yuan when traded in Hong Kong China, Zimbabwe
CNY 156 2 Chinese yuan China
COP 170 2 Colombian peso Colombia
COU 970 4[7] Unidad de Valor Real (UVR) (funds code)[7] Colombia
CRC 188 2 Costa Rican colon Costa Rica
CUC 931 2 Cuban convertible peso Cuba
CUP 192 2 Cuban peso Cuba
CVE 132 0 Cape Verde escudo Cape Verde
CZK 203 2 Czech koruna Czech Republic
DJF 262 0 Djiboutian franc Djibouti
DKK 208 2 Danish krone Denmark, Faroe Islands (FO), Greenland (GL)
DOP 214 2 Dominican peso Dominican Republic
DZD 012 2 Algerian dinar Algeria
EGP 818 2 Egyptian pound Egypt, auxiliary in Gaza Strip
ERN 232 2 Eritrean nakfa Eritrea
ETB 230 2 Ethiopian birr Ethiopia
EUR 978 2 Euro Andorra (AD), Austria (AT), Belgium (BE), Cyprus (CY) except Northern Cyprus, Estonia (EE), Finland (FI), France (FR), Germany (DE), Greece (GR), Guadeloupe (GP), Ireland (IE), Italy (IT), Kosovo, Latvia (LV), Luxembourg (LU), Malta (MT), Martinique (MQ), Mayotte (YT), Monaco (MC), Montenegro (ME), Netherlands (NL), Portugal (PT), Reunion (RE), San Marino (SM), Saint Barthélemy (BL), Slovakia (SK), Slovenia (SI), Spain (ES), Saint Pierre and Miquelon (PM), Vatican City (VA); see Eurozone
FKP 238 2 Falkland Islands pound Falkland Islands (pegged to GBP 1:1)
GBP 826 2 Pound sterling United Kingdom, the Isle of Man (IM, see Manx pound), Jersey (JE, see Jersey pound), Guernsey (GG, see Guernsey pound), South Georgia and the South Sandwich Islands (GS), British Indian Ocean Territory (IO) (also uses USD), Tristan da Cunha (SH-TA), and British Antarctic Territory
GEL 981 2 Georgian lari Georgia (country) (except Abkhazia (GE-AB) and South Ossetia)
GYD 328 2 Guyanese dollar Guyana
HKD 344 2 Hong Kong dollar Hong Kong, Macao (MO)
HNL 340 2 Honduran lempira Honduras
HRK 191 2 Croatian kuna Croatia
HTG 332 2 Haitian gourde Haiti
HUF 348 2 Hungarian forint Hungary
IDR 360 2 Indonesian rupiah Indonesia
ILS 376 2 Israeli new shekel Israel, State of Palestine (PS)[8]
INR 356 2 Indian rupee India
IQD 368 3 Iraqi dinar Iraq
IRR 364 2 Iranian rial Iran
ISK 352 0 Icelandic króna Iceland
JMD 388 2 Jamaican dollar Jamaica
JOD 400 3 Jordanian dinar Jordan, auxiliary in West Bank
JPY 392 0 Japanese yen Japan
KES 404 2 Kenyan shilling Kenya
KGS 417 2 Kyrgyzstani som Kyrgyzstan
KHR 116 2 Cambodian riel Cambodia
KMF 174 0 Comoro franc Comoros
KPW 408 2 North Korean won North Korea
KRW 410 0 South Korean won South Korea
KWD 414 3 Kuwaiti dinar Kuwait
KYD 136 2 Cayman Islands dollar Cayman Islands
KZT 398 2 Kazakhstani tenge Kazakhstan
LAK 418 2 Lao kip Laos
LBP 422 2 Lebanese pound Lebanon
LKR 144 2 Sri Lankan rupee Sri Lanka
LRD 430 2 Liberian dollar Liberia
LSL 426 2 Lesotho loti Lesotho
LTL 440 2 Lithuanian litas Lithuania
LYD 434 3 Libyan dinar Libya
MAD 504 2 Moroccan dirham Morocco
MDL 498 2 Moldovan leu Moldova (except Transnistria)
MGA 969 2*[9] Malagasy ariary Madagascar
MKD 807 2 Macedonian denar Macedonia
MMK 104 2 Myanmar kyat Myanmar
MNT 496 2 Mongolian tugrik Mongolia
MOP 446 2 Macanese pataca Macao
MRO 478 2*[9] Mauritanian ouguiya Mauritania
MUR 480 2 Mauritian rupee Mauritius
MVR 462 2 Maldivian rufiyaa Maldives
MWK 454 2 Malawian kwacha Malawi
MXN 484 2 Mexican peso Mexico
MXV 979 2 Mexican Unidad de Inversion (UDI) (funds code) Mexico
MYR 458 2 Malaysian ringgit Malaysia
MZN 943 2 Mozambican metical Mozambique
NAD 516 2 Namibian dollar Namibia
NGN 566 2 Nigerian naira Nigeria
NIO 558 2 Nicaraguan córdoba Nicaragua
NOK 578 2 Norwegian krone Norway, Svalbard and Jan Mayen (SJ), Bouvet Island (BV), Queen Maud Land, Peter I Island
NPR 524 2 Nepalese rupee Nepal
NZD 554 2 New Zealand dollar New Zealand, Cook Islands (CK), Niue (NU), Pitcairn (PN; see also Pitcairn Islands dollar), Tokelau (TK), Ross Dependency
OMR 512 3 Omani rial Oman
PAB 590 2 Panamanian balboa Panama
PEN 604 2 Peruvian nuevo sol Peru
PGK 598 2 Papua New Guinean kina Papua New Guinea
PHP 608 2 Philippine peso Philippines
PKR 586 2 Pakistani rupee Pakistan
PLN 985 2 Polish zloty Poland
PYG 600 0 Paraguayan guaraní Paraguay
QAR 634 2 Qatari riyal Qatar
RON 946 2 Romanian new leu Romania
RSD 941 2 Serbian dinar Serbia
RUB 643 2 Russian ruble Russia, Abkhazia (GE-AB), South Ossetia, Crimea
RWF 646 0 Rwandan franc Rwanda
SAR 682 2 Saudi riyal Saudi Arabia
SBD 090 2 Solomon Islands dollar Solomon Islands
SEK 752 2 Swedish krona/kronor Sweden
SGD 702 2 Singapore dollar Singapore, auxiliary in Brunei (BN)
TJS 972 2 Tajikistani somoni Tajikistan
TMT 934 2 Turkmenistani manat Turkmenistan
TRY 949 2 Turkish lira Turkey, Northern Cyprus
TTD 780 2 Trinidad and Tobago dollar Trinidad and Tobago
UAH 980 2 Ukrainian hryvnia Ukraine
UGX 800 0 Ugandan shilling Uganda
USD 840 2 United States dollar United States, American Samoa (AS), Barbados (BB) (as well as Barbados Dollar), Bermuda (BM) (as well as Bermudian Dollar), British Indian Ocean Territory (IO) (also uses GBP), British Virgin Islands (VG), Caribbean Netherlands (BQ - Bonaire, Sint Eustatius and Saba), Ecuador (EC), El Salvador (SV), Guam (GU), Haiti (HT), Marshall Islands (MH), Federated States of Micronesia (FM), Northern Mariana Islands (MP), Palau (PW), Panama (PA), Puerto Rico (PR), Timor-Leste (TL), Turks and Caicos Islands (TC), U.S. Virgin Islands (VI), Zimbabwe (ZW)
USN 997 2 United States dollar (next day) (funds code) United States
USS 998 2 United States dollar (same day) (funds code)[10] United States
UYI 940 0 Uruguay Peso en Unidades Indexadas (URUIURUI) (funds code) Uruguay
XAF 950 0 CFA franc BEAC Cameroon (CM), Central African Republic (CF), Republic of the Congo (CG), Chad (TD), Equatorial Guinea (GQ), Gabon (GA)
XAG 961 . Silver (one troy ounce)
XAU 959 . Gold (one troy ounce)
XBA 955 . European Composite Unit (EURCO) (bond market unit)
XBB 956 . European Monetary Unit (E.M.U.-6) (bond market unit)
XBC 957 . European Unit of Account 9 (E.U.A.-9) (bond market unit)
XBD 958 . European Unit of Account 17 (E.U.A.-17) (bond market unit)
XBT - 8 Bitcoin International internet currency
XCD 951 2 East Caribbean dollar Anguilla (AI), Antigua and Barbuda (AG), Dominica (DM), Grenada (GD), Montserrat (MS), Saint Kitts and Nevis (KN), Saint Lucia (LC), Saint Vincent and the Grenadines (VC)
XDR 960 . Special drawing rights International Monetary Fund
XFU Nil . UIC franc (special settlement currency) International Union of Railways
XOF 952 0 CFA franc BCEAO Benin (BJ), Burkina Faso (BF), Côte d'Ivoire (CI), Guinea-Bissau (GW), Mali (ML), Niger (NE), Senegal (SN), Togo (TG)
XPD 964 . Palladium (one troy ounce)
XPF 953 0 CFP franc (franc Pacifique) French territories of the Pacific Ocean: French Polynesia (PF), New Caledonia (NC), Wallis and Futuna (WF)
XPT 962 . Platinum (one troy ounce)
XSU 994 . SUCRE SISTEMA UNITARIO DE COMPENSACION REGIONAL DE PAGOS "SUCRE" [11]
XTS 963 . Code reserved for testing purposes
XUA 965 . ADB Unit of Account African Development Bank [12]
XXX 999 . No currency
YER 886 2 Yemeni rial Yemen
ZAR 710 2 South African rand South Africa
ZMW 967 2 Zambian kwacha Zambia
ZWD 932 2 Zimbabwe dollar Zimbabwe
 
всё должно работать после подтверждения в Localisation/Localisation-Для каждого шопа в отдельности

а что такое "подтверждение"? зайти в каждый шоп и назначить собственную дефолтную валюту?
 
Вот готовое решение проблемы. Складчина на модуль "Мультивалюта":

Скрытое содержимое доступно для зарегистрированных пользователей!
 
Yep, correct Обязательно

Блин, уже все волосы из носа выдрал, не получается и всё тут!

Для чистоты эксперимента развернул свежую престу, далее по шагам:
1. очистил свежую престу от демо данных с помощью родного модуля "PrestaShop Cleaner".
2. Затем иду в раздел "LOCALIZATION - CURRENCIES", там доступна лишь одна валюта - рубли.
3. Добавляю валюту Евро (EUR, 978, €, курс к рублю 0.02, включена)
4. Обновляю курс встроенным обновлением, получаю вот такой вот вид:

Для просмотра ссылки Войди или Зарегистрируйся

5. Иду в PREFERENCES - GENERAL и включаю "Enable Multistore - YES"
6. Иду в ADVANCED PARAMETERS - MULTISTORE и в группе Default создаю ещё один магазин, при создании указываю - копировать всё из первого магазина:

Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся

7. Назначаю второму (евровому) магазину отличный урл. Оба урла приходят на виртуалхост с престой.

Для просмотра ссылки Войди или Зарегистрируйся

8. Иду в Localization - LOCALIZATION, сверху в селекторе выбираю магазин "TestShop EUR". Снизу ставлю галку возле "Default currency", Назначаю Валюту по умолчанию - Евро.

9. Редактирую параметры группы магазинов Default, включаю все параметры в YES:

upload_2014-10-25_0-9-21.png

====== на этом с конфигурацией - всё, перехожу к созданию товара =======

10. открываю Каталог, в селекторе магазина выбираю рублёвый магазин и создаю товар xxx с закупочной ценой 100 рублей и продажной ценой 120 рублей
upload_2014-10-25_0-10-8.png

11. открываю Каталог, в селекторе магазина выбираю евровый магазин и создаю товар yyy с закупочной ценой 30 евро и продажной ценой 50 евро
upload_2014-10-25_0-11-20.png



А Теперь иду в фронт офисы магазинов. Я ожидаю увидеть оба товара и в евровом и в рублёвом магазинах, пересчитанные в валюту магазина по текущему курсу. НО! Этого не происходит. В евровом магазине я не вижу товар из рублёвого магазина, а в рублёвом я не вижу товар из еврового.

Дохтор, что я делаю не так?
 
Назад
Сверху