Я пытаюсь создать схему для своего приложения. Мое заявление касается управления арендой недвижимости (дома/квартиры).Схема расчета счетов-фактур и платежей в месяц
Большая путаница, с которой я столкнулся сейчас, заключается в том, как реализовать ежемесячные платежи и вести учет этих платежей для последующих отчетов. Кроме того, эти платежи должны быть интегрированы со счетами-фактурами. Это слишком запутанно, и в разделе базы данных я не очень эксперт.
Существует много способов помочь в кодировании в Интернете, но на самом деле создать схему Я не уверен, как можно научиться делать такие сложные схемы.
У меня есть большинство таблиц. Плюс создал платежи таблица, где есть
paymentID,
TenantID,
TotalDues,
PaymentRecieved, //Amount Recieved for the current month dues
PaymentRemaining, //If not fully paid the dues and still remaining..
DateRecieved,
etc etc..
Это просто простая таблица, но я действительно путают, как сделать его более гибким, так что, если арендатор не платит арендную плату на весь этот месяц, то должны получить полную арендную плату в следующем месяце. Или если арендная плата была выплачена в этом месяце половину или некоторое количество, то она должна отслеживать ее в течение следующего месяца.
Что делать, чтобы сделать эту систему более гибкой и внедрить систему счетов?
UPDATE:
Из некоторых ответов я собранными мне нужно создать еще одну таблицу, чтобы сохранить запись.
Таким образом, мы имели бы:
payment_record/Invoice
------------------------------
RecordID | Payment(Month/Year) | Electricity | Gas | Water | Rent | Total
1 Jan-2015 50 30 5 80 165
Второй стол мы бы
Payment/Transaction
------------------------------
PaymentID | RecordID(Foreign-Key) | PaymentReceived | DateReceived
1 1 100 2015-01-08
так третья таблица будет
PaymentDue/Status
----------------------------------
StatusID | PaymentID(Foreign-Key) | PaymentRemaining
1 1 65
Есть ли что-то мне не хватает, или я есть что нужно для начала кодирования?
Тем не менее я не уверен в еще одной вещи. Что бы я сделал, если арендатор платит за текущий месяц некоторую сумму, и через два дня он платит больше за текущий месяц. Как мне это сделать?
Нужно ли сделать еще одну запись в таблице paymentdue
и payment/transaction
?
Первый совет: вы можете удалить 'PaymentRemaining', так как это может быть получено из требуемой оплаты минус' payments.PaymentRecieved'. – halfer
Чтобы отслеживать то, что должно было, возможно, вы могли бы добавить таблицу 'payment_due'? Если арендная плата взимается каждый месяц, создайте здесь запись для причитающейся суммы. Вероятно, вам понадобится ежедневная система таймера, чтобы добавить какие-либо записи для арендаторов. Чтобы выработать общую сумму, вы можете выполнить 'SUM (payment.due)', фильтруя соответствующий арендатор. – halfer
(Исправлено написание 'DateRecieved' ->' DateReceived'). – halfer