Цена с учетом НДС состоит из двух компонентов. Фактическая цена и сумма НДС.
Для ставки 21% правильно разделить на 1,21, вам нужно проверить, как округлять/усекать (очевидно, некоторые люди любят называть последнее «округлением до нуля»). Уточните у ответственного за проект бухгалтера, как следует обрабатывать рассчитанную сумму НДС.
Как только вы это взломаете, не делайте больше никаких операций умножения/деления или округления. Простое сложение/вычитание с фактической официально рассчитанной суммой НДС даст вам все необходимое. Умножение/деление с округлением или без него приведет к тому, что вы заблудитесь, потеряв копейки/центы тут и там, а иногда и будучи «правильным» (но только по совпадению).
При получении сумм счетов, которые включают НДС, рассчитанный с помощью invoicer, внешней по отношению к вашей системе, есть два общих подхода, один из которых, как я теперь понимаю, вы используете.
Хотя НДС является стандартным расчетом, существует несколько способов, которыми любая компания может производить расчет. Это означает, что НДС, за который выставляется счет, может рассчитываться (округление/усечение) иначе, чем ваш бухгалтер хочет, чтобы это делалось в вашей системе, и это нормально для специалистов по НДС.
Что вам нужно сделать с НДС в счете-фактуре, так это обработать его как факт, но вам нужно убедиться, что он правильный или, по крайней мере, разумный (подход, который вы используете).
Чтобы убедиться, что указанный в счете-фактуре НДС правильный, вам необходимо знать, как поставщик рассчитывает свой НДС. Существует ограниченное количество допустимых способов, так что это не так сложно, как кажется. На вашей «таблице поставщиков» у вас есть флаг/индикатор, показывающий, как они округляются. Узнав это, вы сможете абсолютно убедиться в правильности выставленного вам счета-фактуры НДС.
Другой путь — толерантность. Лично мне это не нравится, но именно так это было сделано для счетов, полученных на последнем месте моей работы. Одна сотая денежной единицы была примененным допуском.
Если вы рассчитаете НДС и округлите его до ближайшей сотой единицы денежной единицы, вы сможете проверить взимаемый с вас НДС. В этот момент, опять же, не делайте больше умножения/деления/округления, а используйте сложение/вычитание по мере необходимости.
Я понятия не имею, как работает округление десятичных знаков в PHP.
24/1,21 = 19,8347 с точностью до четвертого знака после запятой. = 19,834 до трех знаков после запятой (усечение промежуточного результата)
Если вы округлите первое число до двух знаков после запятой вручную, вы получите 19,84. Если вы округлите второе, вы получите 19,83.
Хоть и разные, но все же в пределах допуска. Однако, если вы дважды умножаете/делите/округляете, вы можете ошибиться на 0,02 (если ваш код не совпадает с кодом поставщика).
person
Bill Woodger
schedule
05.01.2016