Should I use Drupal 8 Entities, Taxonmy or something else?


I’m planning the development for an Accounting and Finance module using Drupal 8, the module willl support adding multiple “Organisations” and “Suppliers”.

Organisations can have their own accounting reports, create new documents (e.g. invoices from our suppliers), can be children of another organisation (e.g. a department), have access controls that effect everything under the organisation (Views, nodes, child organisations, etc), can add people to manage the organisation’s accounts, and can have specific settings or configurations like which currency is used.

Suppliers send us invoices, when we process an invoice we can specify which supplier issued the invoice. Each Supplier can have specific default settings associated with them for example what percentage of VAT they normally charge and if we need to apply EC Reverse Charge Pricedures to invoices from them, but these settings can also be overridden on a per invoice basis.

I suspect we will also need to create a custom field type to make inputting and processing VAT easier. And I want to integrate with and use Views as much as possible, for example when listing Organisations and generating reports.

For invoices it makes sense for those to just be nodes, but would it make sense for Organisations and Suppliers to be Taxonomy Vocabularues (this will probably involve less code) or given the requirements above would it make more sense to create custom entity types?

Any advise would be helpful,

Drupal version: