FSDatabase.odb
EDIT: example file here, heavily under construction. It is a draft that i am now working through rectifying errors. only has a ‘person’ form for use as an example until i get problems with the tables sorted.
Hi, sorry to further bother you all.
Im having difficulty understanding how to model sole traders within a generic party data model.
For tax reasons in the UK they are treat as a person, but often use a trading name. They do not have business registration numbers and do not collect VAT at invoice (so no registration number to store). They may or may not have employees, have a fixed trading premises and/or use their own home address.
I am a service provider [landscaping]. The main purpose of the database is to track customer details, manage projects and generate invoices. When their business is to be invoiced, they ask for their trading name present alongside their full name. Their trading name must be omitted when invoiced as a person (private work for the individual). Sometimes i use their services too, and am a sole trader myself (simplifies taxes).
Most examples i find of the party model have a table for ‘Party’ in a 1:many or 1:1 with ‘Organisation’ and ‘Person’. Sometimes also with a ‘OrganisationPerson’ table linking people with an organisation. Generally the ‘Person’ table will include any fixed attributes of a person (name, gender, etc), while the ‘Organisation’ table seems to ‘generally’ include name, VAT registration and business reg values.
So far i can see few options and potential pitfalls, so am looking for views and perhaps some links to examples of how to handle this.
- Treat as an organisation, but
without any values for VAT/Business
registration fields. This can then be
attached to a person under a ‘Company
Person’ table, preventing duplicate
personal details.
- perhaps bad practice to expect empty values so frequently in the
Business/Vat reg fields?
- Provision attaching a trading name
to a person or party.
- I am unsure how to omit this at invoice time if they are having a
‘private’ job done as a person (unless i create two different invoice ‘reports’). Im
only at a basic level with queries but hope to learn more in time. My best guess is maybe its possible to do with the right function/condition and a flag to mark the invoice as ‘private’ (a boolean field perhaps)
- simply make a table for sole
traders (like Organisation & Person), and treat as it’s own party
- would mean storing that customers information twice, but would keep them
as separate parties at invoice time.
Thanks in advance for any advice given, all the best.