Внедрение стратегии налога с продаж для счетов-фактур

Здесь, в Южной Африке, у нас есть налог на добавленную стоимость (НДС), который в значительной степени идентичен налогу с продаж и в настоящее время установлен на уровне 14%, но может измениться в любое время.

Мне нужно включить НДС в счета-фактуры (которые неизменяемы), состоящие из нескольких строк счета-фактуры . Каждая строка ссылается на Продукт с логическим свойством IsTaxable , и почти все продукты облагаются налогом.

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

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

TaxTotal = InvoiceTotal / (1 + TaxRate),

где InvoiceTotal включает налоги, а TaxRate == 0,14

Поскольку счета-фактуры не могут быть изменены после выставления (они неизменяемы), следует I:

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

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

Я не могу сделать и то, и другое, так как это будет дублировать данные.

  • Какой путь правильный? Или обратный расчет налога - действительно плохая идея?
5
задан Petrus Theron 7 December 2010 в 08:10
поделиться