OpenERP中銷售訂單的預收款及多次開票的處理

核心提示:現實的銷售、收款、發貨的關係有些複雜。常見的關係有:1)收到全 款後發貨;2)預收部分款後發貨;3)先發貨再收款;4)分批收款,分批發貨。每一筆收款都有對應的發票 收據,1)、3)兩種情況,一張銷售訂單隻
現實的銷售、收款、發貨的關係有些複雜。常見的關係有:1)收到全 款後發貨;2)預收部分款後發貨;3)先發貨再收款;4)分批收款,分批發貨。每一筆收款都有對應的發票/收據,1)、3)兩種情況,一張銷售訂單隻要開 一張票據(發票或收據,OpenERP中是Invoice),2)、4)兩種情況,一張銷售訂單有多張票據。

1)收到全款後發貨
這 種情況比較簡單,在OpenERP的Sales Order中,字段Shipping Policy 選擇“ Payment Before Delivery”,表示先付款再發貨。選擇這個選項,銷售訂單確認時候,OpenERP會自動生成SO對應的Invoice,但不會自動生成SO對應的 發貨單(Picking List)。當財務人員確認Invoice,並確認收到該Invoice的款項時候,系統自動生成SO對應的發貨單,允許發貨。

2)預收部分款後發貨
 
   在Sales Order中,有個按鈕“Advance Invoice”,表示預收款票據。點擊它,選擇預收款對應的產品項目,填入預收金額,系統會自動生成預收票據,並將該票據關聯到SO上(在SO 的History屬性頁上顯示出來)。“預收款對應的產品項目”是指,必須事先定義一個用於預收款的產品名稱(諸如 銷售預收款 之類的)。
    控制預收款再發貨,有兩個辦法,一個是,SO上的Shipping Policy 選擇 “Shipping & Manual Invoice”,這表示,SO確認時候,系統不會自動生成對應的Invoice,而是要手動點擊按鈕“Create Final Invoice”生成發票。如果選擇這種方式,預收款收到前,銷售人員不要確認SO,這樣,系統就不會自動生成發貨單。
    另一種辦法是,Shipping Policy 選擇“ Payment Before Delivery”,這樣,如果確認SO時候,預收款發票尚未支付,則系統不會自動生成發貨單,而是要待到確認收到款額時候系統纔會自動生成發貨單。

3) 多次開票的處理
     SO上的Shipping Policy 選擇 “Shipping & Manual Invoice”。如果點擊SO上的按鈕“Create Final Invoice”,系統會自動一次性生成SO的餘額的發票,而不允許拆分金額多次開票。不過系統提供了“Lines to Invoice”的功能,該功能會列出所有已確認但未開票的SO明細行,允許對每一個明細行開票,並將明細行的發票自動關聯到SO上。
     如果一張發票對應多個SO,或者,對SO上的一個明細行開多張發票。那麼,就必須在Account的Invoice界面上手工新建發票,且該發票不能與SO關聯起來。建議嚴格基於SO開發票,革除根據收款額開銷售發票的習慣。

4)收款和發票的關係
    建議開票嚴格基於SO,但收款不必嚴格基於SO。即1)一個SO可以多次開票,但開票的最小單位是SO上的一個明細行;2)不允許一張發票包含多個SO的內容;3)一筆收款可以對應到多張發票(覈銷多張發票)。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章