> > 1) BIC and IBAN are not really used by the rest of the application. I
> > am thinking of breaking these off into a separate table anyway.
>
> This sounds very reasonable, to me
>
> > 2) A customer could also be a vendor. So entity_id could not be
> > assumed to be unique. Furthermore, you need an ability to determine
> > whether the credit limit is for ar or ap purposes.
>
> I was under the impression that JD's entity patches gave us the
> ability to have a customer that is also a vendor, using the same
> entity ID? Would we not be using that it in this case?
>
> Also, isn't the AR/AP delineation based on Customer/Vendor anyway? So
> an entity_class tag column would give us AR or AP credit limits, it
> seems to me.
>
> However, it would create some ugliness with, fx, requiring 2 rows in
> the metadata table, one for customer, and the next for vendor, both
> keyed to the same entity.
>
> >
> > So it is a little more complicated than it initially appears, but I
> > would like to see these tables go away too and would be glad to help.
>
> :) Isn't it always?
>
> >
> > Here is my rough idea of how it should work:
> >
> > CREATE TABLE entity_bank_account (
> > id serial not null,
> > entity_id int references entity(id) not null,
> > bic varchar,
> > iban varchar,
> > UNIQUE (id),
> > PRIMARY KEY (bic, iban)
> > );
> >
> > CREATE TABLE entity_credit_account (
> > id serial not null,
> > entity_id int references entity(id),
> > discount numeric,
> > discountterms int,
> > terms int,
> > creditlimit numeric,
> > credit_type varchar(2),
> > entity_account varchar,
> > business_type int references business(id),
> > language_code varchar(6) references language(code),
> > pricegroup_id int references pricegroup (id),
> > currency varchar(3), --todo, move currency to separate table
> > startdate date default now(),
> > enddate date,
> > PRIMARY KEY (entity_account),
> > UNIQUE (id),
> > CHECK (credit_type IN ('ar', 'ap'))
> > );
> >
> > ALTER TABLE company ADD COLUMN sic_code varchar;
> >
> > CREATE TABLE entity_account_to_contact (
> > entity_credit_id int references entity_credit_account(id),
> > contact_class_id int references contact_class(id) not null,
> > contact text,
> > primary key(entity_credit_id, contact)
> > );
>
> I haven't run across this before; where would I find what it's for?
>
These are just my thoughts. Not implemented yet :-) As I say, if I
had more spare cycles, I would build it and am happy to help. This is
more of a 'rfc' of my current thinking than saying things have to be
done exactly this way.
Best Wishes,
Chris Travers
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Ledger-smb-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ledger-smb-devel