Customer vs Company
Derek Atkins
warlord at MIT.EDU
Mon Mar 31 23:06:09 CST 2003
Retracile <retracile at earthlink.net> writes:
> Hypothetical case: My company, 'MANtools' sells drill motors. I have
> companies like, oh, MegaMart buying them from me, so 'MegaMart' is a
> Customer, and is a Company.
> But John Doe also bought a drill motor from me. He isn't a company; he's just
> an Individual do-it-yourself'er.
Ok, fair enough... I wrote the code for my use, and I'm a professional
consultant; all of my customers are companies.
> So I would think that a Company is a type of Customer and an Individual is a
> type of Customer.
Except there is no internal concept of a "individual".
> Hmm; perhaps I should be asking for a pointer to an object model or
> relationship model of some sort?
Basically there are four first-class types internally (and one meta-type):
GncOwner
|
+--------------+-----------------+
| | |
GncCustomer GncVendor GncEmployee
| | |
+---------- GncAddress-----------+
The GncOwner is a meta-object that can hold a Customer, Vendor,
Employee or a Job. A Job is tied to a Customer or Vendor (think of it
like a "project"). An Address contains, well, an address (you can
think of it like a person); it was a logical abstraction, but is not
by itself a first-class object. An Address does not live by itself;
it lives attached to a Customer, Vendor, or Employee.
> My wife teaches private music lessons. So all her customers are individuals,
> not companies. Hmm, perhaps I should use the term 'client'?
> I can see vendors always being a company, if only a sole-propietorship.
I suppose you could use the term client, but I don't see a real reason
to switch terminology at this point. Remember that the more
terminology you change, the more work the translators have to do...
> One of the things that bothers me is that you have to give a company name, and
> a contact name. When dealing with an individual,
Sorry, that's not going to change.
> John Doe
> John Doe
> 1234 XYZ Lane
> Podunk, AL 12345
>
> Just looks _wrong_.
>
> Thoughts?
Get over it?
Seriously, I don't see anything wrong with this. I've had plenty of
companies send me personal stuff with the double name.
Re-architecting the system to make individuals a first-class object
would be... Problematic. The best I could do is change the Customer
dialog to allow running without a "Contact Name", but IMHO that would
be wrong for the vast majority of cases.
> Eli
-derek
--
Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
Member, MIT Student Information Processing Board (SIPB)
URL: http://web.mit.edu/warlord/ PP-ASEL-IA N1NWH
warlord at MIT.EDU PGP key available
More information about the gnucash-user
mailing list