Перевод по курсу и выставление счетов-фактур

NeoLynx

Новичок
Перевод по курсу и выставление счетов-фактур

Я в тупике.
Проблема заключается в следующем.

Допустим зачисляем 1463,92 р.
По курсу 29,0471 это будет $50.39814645868
по идее нам надо округлить (ошибка номер раз)
50,40

при выписывании счета-фактуры получаем:
50,40 * на курс 29,0471 = 1463,97

при выписывании счета-фактуры будут вписаны ошибочные данные.

Если не округлять, вроде всё нормально, если только человек не перечислит 1463,98 р. тогда получается дурацкий остаток:
00.00021206936, который ни в одну с-ф не впишешь.

Человек может сделать два платежа, и свободные средства из обоих надо учитывать при выставлении с-ф.

Если отбрасывать тясячные, будет погрешность в 1 коп. а для бухгалтерии это существенно...

если кто-то сталкивался с подобным поделитесь опытом, почему-то мне кажется, что я велосипед изобретаю.
 

voland

Guest
Боюсь с переводом в доллары и обратно иначе никак...
 

neko

tеam neko
так делать нельзя
таких проблем вообще быть недолжно

зачисляем рубли счет выставляем на рубли
 

Romantik

TeaM PHPClub
храни числа с пятью знаками после запятой. Этого достаточно.
Ну а выдавай, округляя до 2-х
полезно еще посмотреть
[m]bcmath[/m]
 

Long

Новичок
храни два баланса - рублевый и $ и не смешивай их. либо только один (лучше $) и пересчет делай только один раз.
 

NeoLynx

Новичок
Стоимость услуги для клиентов пишется в $, так уж сложилось, и счет выставляется в $ с оплатой по курсу ЦБ на день оплаты.
так уж в нете сложилось, что стоимость услуги пишется в $, люди привыкли к этому.

округлять до 5-го не проблема, можно и вообще не округлять,
только как потом бухгалтеру остаток в 0,0006 объяснять.

мне в голову при ходит только одна мысль внести некую погрешность, т.е. если меньше 0.01 считать 0, это тоже не панацея
 

neko

tеam neko
NeoLynx
не страдай ерундой
цена услуги в у.е.
когда клиент просит счет ты эту цену переводишь в рубли и округляешь до копеек

чтобы клиенту, например, вывести состояние его счета в у.е. можно округлить еще сильнее это всего лишь вывод
 

NeoLynx

Новичок
Long, так и есть, т.е. когда деньги зачисляются они сразу гоняться в $ и с нимим везде работается, всё хорошо до момента выставления счета-фактуры, её нужно выставить в рублях.

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

Romantik

TeaM PHPClub
т.е. если меньше 0.01 считать 0
ага, а по результатам года работы фирмы это уже не ноль!
Я вообще храню с избыточностью
Цена в национальной валюте
Курс на день
в итоге получаю эквивалент в $
удобство с погрешностями, с аналитикой и т.п.
 

NeoLynx

Новичок
neko, всё правильно, только человек может перечислить на счет денег с запасом.

т.е. услуга стоит 10 у.е. или 290,47 р
человек переводит 400 р. (человек сам может выписать счет)

следующая услуга будет стоит 3 у.е. по какому курсу?
если по курсу на момент предоставления услуги, то в первом случае если человек оплатит 290.47 и пока дойдут деньги,стоимость услуги измениться.
Если по курсу на момент зачисления, то это то что есть сейчас.

вопрос-то в том, что как ни крути, а есть эти тысячные, которые появляются от переводов из валюты в валюту, что с ними делать...

Romantik у нас тоже самое, храним в национальной, по курсу, получаем еквивалент:
1463,92 р. по курсу 29,0471 это будет $50.39814645868
 

NeoLynx

Новичок
voland,
Если по курсу на момент зачисления "оплаты", то это то что есть сейчас.

Romantik, вот это я и пытаюсь сделать... :(
 

NeoLynx

Новичок
Romantik, это я понимаю... в том-то и дело, что оно так и есть.
при пересчете услуг по курсу на день оплаты вылезают тысячные...
 

Romantik

TeaM PHPClub
1. прочти мой первый пост в этом топике.
2. Как считалось ДО того как ты решил это автоматизировать?
 

Orlis

Guest
Копейками пусть занимаются бухгалтеры. Причем тут PHP?
 

Romantik

TeaM PHPClub
Orlis
не говори ерунды.
NeoLynx
определитесь с погрешностью, которая допустима
 

NeoLynx

Новичок
Romantik,
1. и округлю я до 5-го знака, а куда я дену остатки 0,0006?
2. ручками

Orlis, если помотришь топик, вопрос стоит именно в автоматизации бухгалтерии.
 
Сверху