Hi Chris;
>
> Looking at these tables at the moment here are the thoughts that
> occur to me:
>
> 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?
Thanks,
Aurynn
>>
>> I'm digging around in the Vendor and Customer tables, per JD's entity
>> modifications, and it looks like both tables are fundamentally
>> identical - The only difference is the customer table has
>> customer.invoice_notes and customer.id.
>>
>> I'm going to remove both tables and replace it with entity_metadata,
>> fkey'd to both entity and entity_class. Queries that directly read
>> from vendor or customer would be easily modified to, for example:
>>
>> SELECT * FROM entity_metadata em
>> JOIN entity e on em.entity_id = e.id
>> WHERE e.name = ?
>>
>> to replace the query used to verify a vendor or customer in Add
>> Invoice.
>>
>> Entity_metadata would have the invoice_notes, but lack the id field.
>>
>> Thoughts?
>>
>> Thanks,
>> Aurynn Shaw
>>
>> The PostgreSQL Company - Command Prompt, Inc. 1.503.667.4564 ext 103
>> PostgreSQL Replication, Consulting, Custom Development, 24x7 support
>>
>> [EMAIL PROTECTED]
>>
>>
>>
>> ---------------------------------------------------------------------
>> ----
>> 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
>>
>
> ----------------------------------------------------------------------
> ---
> 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
Aurynn Shaw
The PostgreSQL Company - Command Prompt, Inc. 1.503.667.4564 ext 103
PostgreSQL Replication, Consulting, Custom Development, 24x7 support
[EMAIL PROTECTED]
-------------------------------------------------------------------------
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