Ценовое включая НДС состоит из двух компонентов. Фактическая цена и сумма НДС.
Для ставки 21%, разделите на 1.21 правильно, что вам нужно проверить, как округлить/усечь (некоторые люди любят называть последнее «раундом до нуля», по-видимому). Проконсультируйтесь с бухгалтером, ответственным за проект, о том, как следует обрабатывать расчетную сумму НДС.
Как только у вас есть трещины, не делайте больше размножения/деления или округления любого вида. Простое сложение/вычитание с фактической официальной расчетной суммой НДС доставит вам все, что вам нужно. Умножение/деление с округлением или без него приведет к потере, потере копейки/центами здесь и там и иногда «правильному» (но только по совпадению).
При получении суммы счета-фактуры, которая включает НДС, вычитаемый счетчиком, внешний для вашей системы, есть два общих подхода, один из которых я теперь понимаю, что вы используете.
Несмотря на то что НДС является стандартным расчетом, существует более чем один способ, которым любая данная компания может выполнять расчет. Это означает, что вы выставили счет НДС для может быть рассчитан (округление/усечение) иначе, чем ваш бухгалтер хочет сделать это в вашей системе, и это нормально с людьми с НДС.
Что вам нужно сделать с НДС в счете-фактуре, это процесс как факт, но вам нужно проверить, что оно является правильным или, по крайней мере, разумным (подход, который вы используете).
Чтобы убедиться, что выставленный на счете НДС указан правильно, вам нужно знать, как поставщик рассчитывает свой НДС. Существует ограниченное количество способов, которые являются действительными, поэтому это не так сложно, как кажется. На вашей «таблице поставщиков» у вас есть флаг/индикатор, который говорит, как они крутятся. Как только вы это знаете, вы можете абсолютно точно убедиться, что выставленный вам НДС является правильным.
Другим способом является толерантность. Лично мне это не нравится, но так оно и было сделано для счетов-фактур, полученных на последнем месте, где я работал. Одной из единиц валюты была толерантность, которая применялась.
Если вы подсчитаете НДС и округлите до ближайшей 100-й единицы валютной единицы, вы сможете проверить НДС, начисляемый на вас. В этот момент, опять же, не делайте больше умножения/деления/округления, но при необходимости используйте сложение/вычитание.
Я понятия не имею, как работает округление десятичных знаков в PHP.
24/1.21 = 19.8347 до четырех знаков после запятой. = 19.834 до трех знаков после запятой (усечение промежуточного результата)
Если вы обмениваете первые до двух знаков после запятой, вручную, вы получите 19.84. Если вы обойдете второе, вы получите 19.83.
Хотя разные, все еще в пределах допуска. Однако, если вы умножаете/делите/раунд дважды, вы можете быть 0.02 out (если ваш код не совпадает с кодом поставщика).
Мне нужно посмотреть, есть ли у меня его, для вашего примера вам нужен выход: ставка НДС: 21% НДС: $ 2.1. Итого: $ 7.9, правильно? –
@AngeloBerzacola Всего 10,00, промежуточный итог должен быть 8,26, НДС - 1,74 по ватрату 21%. Чтобы быть ясным, 8.26 = 100%, 1.74 = 21%, 10.00 = 121% –
@BillWoodger да, мы работаем с 2 цифрами не четыре :) его деньги. –