- Local time
- Today, 05:06
- Joined
- Feb 19, 2013
- Messages
- 17,743
Without having a clear idea of what the app is required to do, difficult to advise on the relationships
Would help to see some example data - what are account types? what's the difference between client, company and units - I appreciate the simple difference, but why treat separately? In my view they are all the same entity. If a unit is 'owned' by a company then include a parentfk field same with clients
I don't see the purpose of maintaining debt and invoice tables? They would simply be an 'opening balance' type transaction
An audit log is whatever you want it to be, if you want to include who entered the transaction, just include their userFK in the transaction table. You might also want to include a timestamp field so you know exactly when a transaction was entered - can help when you want to know what the system 'knew' at any point in time.
split payments - you would include an extra transaction field to link different records together - might contain an invoice number for example or perhaps the PK of the invoice transaction. You might need a suspense account to hold 'unallocated' funds. Again would need to see some example data to cover all potential scenarios.
You only need to provide for the user to enter data, anything else is for information only. If the information is not useful to the user when entering data, don't clutter up the screen.
You appear to now be moving to requiring a sales ledger as well - but your companies already have that with their existing accounting systems. If that is the case, link to those accounting systems for client information and use their account numbers to identify them. Don't confuse the issue with your own account numbers and potentially different spellings of the client name
Would help to see some example data - what are account types? what's the difference between client, company and units - I appreciate the simple difference, but why treat separately? In my view they are all the same entity. If a unit is 'owned' by a company then include a parentfk field same with clients
I don't see the purpose of maintaining debt and invoice tables? They would simply be an 'opening balance' type transaction
An audit log is whatever you want it to be, if you want to include who entered the transaction, just include their userFK in the transaction table. You might also want to include a timestamp field so you know exactly when a transaction was entered - can help when you want to know what the system 'knew' at any point in time.
split payments - you would include an extra transaction field to link different records together - might contain an invoice number for example or perhaps the PK of the invoice transaction. You might need a suspense account to hold 'unallocated' funds. Again would need to see some example data to cover all potential scenarios.
You only need to provide for the user to enter data, anything else is for information only. If the information is not useful to the user when entering data, don't clutter up the screen.
You appear to now be moving to requiring a sales ledger as well - but your companies already have that with their existing accounting systems. If that is the case, link to those accounting systems for client information and use their account numbers to identify them. Don't confuse the issue with your own account numbers and potentially different spellings of the client name