什么是“客户”
按系统的结构,一个客户,下面有多个地点。过去一直理解为,客户的名称必须为客户“集团”的名称,各分公司、子公司因当建立为不同的客户地址。其实没有必要这个样子。
一个客户可以理解为是一个对方的业务实体(OU),只要是独立核算的,独立业务往来的都可能 是一个客户。也就是“分公司”、“子公司”都应当建立为独立的客户。
通过设置客户关系(也可以通过系统选项把条件放的更松),可以实现一个子公司订购产品,一个子公司收单付款,再由另一个子公司收货,甚至再继续交付最终使用用户这样多方业务往来的情境。
并且在AR模块中,系统的标准报表,都是统计到客户层的,而非客户地点层。所以将客户理解为大的集团现在我个人 理解并不是很合适,而正确的应当是一个独立的业务实体(子公司)。
2、常见的地点用途
首先必不可少的是客户收单方、收货方。
收单方按订单上的字段理解为"Invoice to",也就是收“发票”的单位。收货方字段为“ship to ”,还有一个翻译为最终收获方“deliver to”,按英文的字面理解。在复杂业务情况下,货物一般不直接送到客户公司中,可能是送到码头、车站。那这个码头、车站……就应当是ship to,也就是交货地点,我方要负责送达的地点。(这也是shipping模块中直接看到的),而送到地点后,收货客户就是“deliver to”,也就是货物最后要送达的地方
另外还有一个“标识地址”的功能,一个客户可以有多个地址,但只能将一个地址设置为“标识地址”。这就是这个客户最直接的地址。如果客户是一家公司,那就是公司总部的地址。
3、如何由订单关联到客户地址、客户名称
今天做报表时折腾了好久,总算简单的理清了一下,不过还没有仔细考虑各表的用途。
客户地址的关联关系为:oe_order_headers_all -> hz_cust_site_uses_all -> hz_cust_acct_sites_all -> hz_party_sites -> hz_locations
客户名称的关联关系为:oe_order_headers_all -> hz_cust_accounts -> HZ_PARTIES
销售订单到客户收货地址的关联
oe_order_headers_all -> hz_cust_site_uses_all -> hz_cust_acct_sites_all -> hz_party_sites -> hz_locations -> hz_parties
销售订单到客户收货地址的关联
oe_order_headers_all -> hz_cust_site_uses_all -> hz_cust_acct_sites_all -> hz_party_sites -> hz_locations -> hz_parties
select ooh.order_number,hps.party_id,hp.party_number, hp.party_name, hps.party_site_id,hps.party_site_number, hl.location_id,hl.country,hl.address1,hl.address2,hl.address3, hl.address4 from oe_order_headers_all ooh, hz_cust_site_uses_all hcsua, hz_cust_acct_sites_all hcasa, hz_party_sites hps, hz_locations hl, hz_parties hp where ooh.ship_to_org_id = hcsua.site_use_id AND hcsua.cust_acct_site_id = hcasa.cust_acct_site_id AND hcasa.party_site_id = hps.party_site_id
AND hl.location_id = hps.location_id and hps.party_id = hp.party_id and ooh.order_number = '50064'
----收单地址
select ooh.order_number, hps.party_id, hp.party_number, hp.party_name, hps.party_site_id, hps.party_site_number, hl.location_id, hl.country, hl.address1, hl.address2, hl.address3, hl.address4 from oe_order_headers_all ooh, hz_cust_site_uses_all hcsua, hz_cust_acct_sites_all hcasa, hz_party_sites hps, hz_locations hl,hz_parties hp where ooh.invoice_to_org_id = hcsua.site_use_id(+) AND hcsua.cust_acct_site_id = hcasa.cust_acct_site_id(+) AND hcasa.party_site_id = hps.party_site_id(+) AND hl.location_id(+) = hps.location_id and hps.party_id = hp.party_id and ooh.order_number = '50064'
hz_cust_site_uses_all 上面的site_user_code = BILL_TO 代表是收单方,primary_flag等于Y就是主要收单方