При разработке системы баз данных управления запасом для продаж и покупок, каков был бы лучший способ сохранить различные налоги и другие такие суммы?
Несколько полей, которые могли быть сохранены:
В настоящее время самое разумное решение до сих пор хранит вниз (примерно) объект, количество, общее количество, исключая налог (округленный) и общий (округленный) налог.
Существует ли лучший способ сохранить эти детали для универсальной системы?
Учитывая систему должно быть устойчивым, что должно быть сделано, если бы было несколько налоговых значений, которые, возможно, должны были бы быть разделены (например, состояние и город)? В этом случае отдельная таблица была бы в порядке, но это будут считать чрезмерным, чтобы просто иметь rowID и некоторый taxID, отображающийся на totalTax столбец?
Разъясниться: Выяснение, как хранить данные об отдельных транзакциях и той стороне; не так детали о налоге определенные уровни.
Проблема с подходом заключается в том, что если налог меняется, то НДС (налог с продаж) в Великобритании менялся дважды за последние 12 месяцев.
Когда я работал на сайтах электронной коммерции, у нас была таблица Tax_Rate
, в которой хранились различные налоговые ставки, с которыми имел дело магазин, например
и затем поля вашей таблицы запасов могут иметь
ваша таблица строк invoice_detail будет
ваша таблица счетов будет
Где fk_ обозначает внешний ключ. Обратите внимание, что OrderId не будет уникальным в вашей таблице строк счета-фактуры.
РЕДАКТИРОВКА: Сегодня голова идет кругом.
Вам нужно денормализовать итоговую строку счета-фактуры и итоговую ставку налога, потому что вы не хотите, чтобы будущие изменения в цене товара или ставке налога повлияли на исторические счета-фактуры.