Как мы храним каскадные налоги в базе данных? или структура базы данных для хранения налогов - PullRequest
0 голосов
/ 19 марта 2011

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

У меня есть таблица itemDetails, в которой указаны сведения о товаре, такие как имя и цена.

Проблема в том, чтодля каждого предмета есть два налога на обслуживание (10%) и НДС (4%), но налоги каскадируются, т.е. после того, как я применяю плату за обслуживание, то на новую общую сумму, которую я должен применить, я применяю НДС.

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

У меня есть категория налогатаблица, в которой пользователь может хранить структуру налога, и каждый элемент будет принадлежать к категории налога, то есть itemDetailsTable содержит TaxCategory_id.Мне нужна твоя помощь, чтобы выяснить это оттуда.

1 Ответ

1 голос
/ 19 марта 2011

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

TaxCategoryRates

taxCategoryId    taxRate    taxRank   taxDescription
-------------    -------    -------   --------------
1                10         1         Service Charge
1                4          2         VAT
2                3          NULL      Local Sales Tax
2                4.5        NULL      State Sales Tax

Ваша логика тогда применяет налоги в порядке taxRank. Если у вас есть другие категории налогов, где порядок не имеет значения (как в taxCategoryId 2), вы можете просто оставить ранг NULL, и ваша логика суммирует налоговые ставки и применяет их.

...