ERP中的企業預算 

 企業預算是對整個企業的運作做一個全盤的計畫。ERP對此提供了實用的工具,也提供了一套預算的思路。

  1 銷售量計畫

  根據歷史的產品銷售數量,結合市場趨勢和產品定價,制定明年銷售量的預測。

  2 價格預測

  公司計畫部門結合政府部門對產品的限價、公司定價策略、今年的實際價格以及業務員對未來市場的預測等等因素,制定價格預測。

  3 產品標準成本計算

  根據銷售量計畫,結合產品的生產工藝和物料單(BOM),計算產品的標準成本,並分析成本構成。

  4 間接費用計畫

  行銷部、財務部和總經理辦公室等銷售和管理部門制定間接費用預算。

  5 差距分析和預算調整

  匯總各級各部門預算,分析預算利潤和管理預期的差距,進一步調整預算。

  6 預算通過並凍結修改

  一致通過企業預算,並凍結修改。

  我們知道,在實際運作中,一個企業各部分的職能是相互牽連的。銷售、生產、倉儲、採購之間存在著相互的影響和制約。而這些業務職能最終會給企業帶來收入和成本,從而影響整個企業的經濟效益。這種牽連有時會變得非常複雜。特別是當企業的規模增大,產品線增加,或是企業的市場變得複雜時,就更是如此。

  企業預算是對整個企業的運作做一個全盤的計畫,準確地分析各職能之間的互動關係,抽絲剝繭,將企業運作的全貌展現在管理者面前。

   管理理論認為管理的三大職能是:計畫(Planning)、控制(Controlling)和決策(Decision-making)。企業預算(即計 劃)是實現這三大職能的重中之重。企業運作時,真實資料通過ERP回饋(Feed-back)回來,跟預算計畫資料做比較可以揭示問題的癥結,管理者對症 下藥,這就是控制。通過前瞻(Feed-forward)的計畫,預警危險,管理者及時防範,考慮各種對策的可行性,擇其善者而為之,這就是決策。我們希 望運用ERP的企業預算工具,能給企業管理者一幅前瞻性的企業全貌,同時成為加強企業控制、考核和決策的科學依據。

  預算編制的步驟

  為了使本文的介紹更清晰,我們首先設計了圖1所示的預算編制六個步驟,隨後逐步闡述。

  需要指出的是,ERP系統提供了靈活的工具來編制預算。本預算步驟只是運用這些工具加以組織的一種可能。在專案實施中,對預算編制步驟的設計將通過深入分析企業個體的經營活動來確定。

  銷售量計畫

  銷售量計畫是企業預算的基礎。在這個步驟,企業的銷售部門將盡可能準確地回答這樣一個問題:企業將在何時、何地,以何種方式向何人銷售多少數量何種物品。要使銷售量計畫盡可能準確,必須具備以下基礎:

  1.市場細分

  我們在本刊第6期《ERP中的盈利分析》中介紹了ERP中市場細分和盈利分析的概念以及它對於解決企業經營問題的作用。對於一般企業來說,它所面對的一個大市場是由千差萬別的細分市場構成的。當我們編制銷售量計畫時,出於以下兩點考慮,不可能直接做整個市場的計畫:

  A. 銷售量的變化規律存在於各個不同的層次,如產品需求的季節性變化對於空調和電視機是截然不同的,而電視機需求的增長率,可能和各個省份或地區有關。

  B. 生產計畫和採購計畫的制定要求將銷售量的計畫按客戶所在地區等和地理相關的方式細分。

  因此,我們將首先把一個大市場(如家電),按各種標準劃分成不同的小市場,即所謂的細分市場,針對各細分市場編制出更精確的銷售量計畫,最後匯總出各個層次統一的整體計畫。

  2.實際資料接收和處理

  當實際業務發生時,ERP系統會記錄下並分析出和該筆業務相關的很多資料(參見第6期《ERP中的盈利分析》)。對企業集成計畫來說,實際資料具有以下兩個作用:

  A. 控制經營活動。業務經營實際的結果將分別以財務會計和管理會計資訊的形式回饋給系統。通過和計畫資料比較,分析出不同性質的量化的差異。根據這些差異我們可以找到發生問題的地方並採取必要的管理手段。從而強化了對實際經營活動的控制。

  B. 支撐預測。作為已經發生過的歷史資料,實際資料裡隱藏著市場的規律,當我們需要預測未來的銷售量時,通過對過去的分析,就可以得到未來的藍圖。

  3.計畫的結構

   上文中我們談到將市場作多角度多方位的細分。這種方法使我們可以按照不同細分市場的特點和規律安排我們的計畫。但是這麼多審視的角度,如果不加以組織很 容易造成計畫的遺漏和重複,甚至是一片混亂。譬如,有人認為應該按產品類別做計畫,也有人說,關注大客戶,做好大客戶的銷售計畫才是正道。同時即使按客戶 做計畫,還可以是按客戶的類別、地區、規模等等來做。因此使用市場細分的概念來安排計畫必然遇到的問題是:如何保證計畫的一致和完整?

   ERP提供了協調計畫的工具——計畫結構。以圖2為例,我們可以選取分公司、銷售組織、分銷管道、產品類別、產品、客戶類別、客戶規模、客戶作為我們計 劃的基本結構。其他市場細分的計畫值由系統根據基本結構的計畫值自動分析推導獲得,如不同產品設計組(參見第6期《ERP中的贏利分析》)設計的產品銷售 計畫值,可以由產品的銷售量計畫值推導獲得。

  銷售量計畫的基礎構建成功後,我們進入計畫編制的操作階段。ERP系統提供了豐富和實用的工具,實際操作中,我們可以根據企業的需求,靈活運用這些工具,確定計劃編制的步驟。

  銷售量計畫編制的工具

  1.複製歷史資料

我們可以將全部或任何一部分市場細分的歷史資料複製成初步計畫資料,以此為基礎,結合其他的工具,編制最終計畫。

  2.建立預測模型,預測未來計畫

  在歷史資料的基礎上,我們對不同的市場建立不同的預測模型,系統自動預測出將來的計畫銷售量。如圖3中,根據歷史資料我們分別按季節增長模式和直線增長模式預測北京空調市場和上海洗衣機市場的銷售量。

  3.計畫重估

  在預測的基礎之上,我們可以根據實際情況對某些市場作進一步的調整。比如根據國家開發西部地區的規劃,我們對西部諸省的銷售數量在預測的基礎上統一增加5% 。系統會自動調節西部地區的銷量計畫。

  4.靈活的計畫填制格式

  ERP系統提供了靈活的可自訂的計畫填制格式,比如我們可以同時將今年實際數、明年的預測數等等編入計畫填制格式內,給計畫編制者作參考比較。同時我們可以在不同的市場中方便地切換,而不必擔心計畫會不一致。

  5.手工調整

  除了上述的自動計畫編制工具外,ERP系統同時提供了在計畫結構的任何層次手工調整計畫的工具。

  6.自上而下的分配

   當手工輸入或調整某一層次的計畫後,ERP系統可以根據我們設立的規則,將手工輸入或調整數分攤到該層次之下的計畫層面上。比如圖4所示,如果我們更改 北京銷售部洗衣機WP830分銷的計畫數量,系統可以根據今年這種洗衣機在各種類型、規模的經銷商那裡實際的銷量,按比例將更改的計畫銷量分配到這些經銷 商的計畫上。

  7.多個預算版本

  我們可以設立多套預算,保存在系統的不同預算版本中,如圖5所示。利用不同的版本 我們可以分析未來的多種可能,如樂觀的和悲觀的。通過對這些不同情況的類比,可以支援我們的決策。我們可以在保留歷史預算的基礎上編制滾動預算。我們還可 以將實際資料或預測的資料保存在不同的預算版本中作為比較資料,説明我們邊對比邊做計畫。資料可以在不同預算版本之間進行拷貝。

  綜上所述,ERP系統提供了豐富的計畫工具。利用這些工具可以幫助我們編制值得信賴的銷售量計畫。

  價格預測

   完成了銷售量計畫的編制,下一步是制定價格預測。價格預測不光包括產品售價的預測,還包括類似產品銷售稅金及附加、產品銷售折扣和折讓、傭金、手續費等 等和銷售直接相關的費率預測。影響價格預測的因素有很多,其中包括政府部門對產品的限價、公司定價策略、產品歷史價格和未來市場預期等等。價格預測包含的 軟性因素太多,因此不是能由系統自動產生的。在ERP中主要提供了一些支援價格預測的工具:

  1.銷售和分銷模組定價資料。銷售和分銷 模組在日常工作和流程控制中,會設定定價策略(Pricing procedure)。比如各種產品對各類客戶基本售價是多少,銷售員有多大的折扣許可權等等,計畫部門可以通過執行定價報表採集這些現行和歷史的定價資料 支援價格預測。

  2.管理會計模組計算的實際價格。上文中提到實際資料的接收和處理是銷售量計畫的重要基礎,同樣的道理也適用於價格預測。運用管理會計中的盈利分析,我們可以計算出各細分市場的歷史價格(參見《ERP中的盈利分析》),據此預測未來價格。

   3.多版本預測。事實上,雖然我們將銷售量計畫和價格預測作為前後兩個步驟,但是眾所周知,價格是影響銷量的重大因素,同時銷售量又會影響到產品成本 (我們將在下文介紹產品成本的計畫)。因此這些步驟是互動的。我們可以運用系統中多個預算版本的概念,制定幾種定價策略或幾種價格預測,保存在不同的預算 版本中,隨後分別進行預算,類比出不同的結果,從而支援產品定價這個重要的決策。

  4.細分市場定價。這主要有兩方面的含義。第一,不 同的細分市場可以區別定價,比如同樣型號的電視機,在北京市場和廣州市場的價格不同,對於不同的經銷商折扣也不同。第二,定價可以在不同的細分層次上,比 如對於經銷商折扣率,可以在三個層次上設定,A 電視機,B 電視機CL4500, C 電視機CL4500對國美。就細分層次來說,A最粗,C最細,如果價格預測都在C這個層次進行,工作量上是不能負荷的,所以可以是對某些重要或特殊的經銷 商才會在C層上預測,而對其他經銷商折扣的預測,可以在B上統一設定。同樣的道理,如果公司的產品線非常複雜,那對於折扣率的預測更可以設定在產品類上而 不必區別每種產品,即設定在A 層上。

  設計定價戰略與方案是企業行銷管理的重要課題,限於篇幅本文不再贅述。總之,在本步驟中,計畫 部門需要就產品售價、稅金比例、折扣率、傭金率、手續費比例等內容作出預測,並按不同的市場細分輸入系統。系統可以自動對相應的細分市場銷售量進行估價, 從而得出銷售收入和上述銷售相關費用的預算。

  產品標準成本計算

  完成了銷售收入和相關銷售費用的預算後,接下來我們將關注產品銷售成本的預算。在圖6中我們看到,上文中的銷售量計畫是在ERP的管理會計-盈利分析模組中實現的,此時這些銷售量計畫根據產品和工廠被傳輸到生產計畫和控制模組。

  如圖6所示,產品的整個生產過程其實也正是產品成本累積的過程。我國會計制度傳統上將產品生產成本分成三大類:生產成本-原材料,生產成本-人工和製造費用,在ERP實施過程中,我們可以據此設計科目和分析成本構成。

   在預算階段,我們將根據標準的生產工藝在計畫的生產量下分析並計算出產品的標準成本。由於產品成本(Product costing)是ERP中一個較完整也較複雜的模組(限於篇幅本文不做詳細介紹,我們將在單獨的專題中介紹這些內容),它涉及生產計畫模組和管理會計模 塊中的諸多概念,比如物料單(Bill of material)、工作中心(Work center)、工藝路線(Routing)、作業類型(Activity type)等等。

  完成產品標準成本的計算,結合銷售量計畫,我們就得到了產品銷售成本的預算。

  間接費用預算

   到目前為止,我們完成了銷售收入、成本和直接費用的預算。對於企業來說,管理、財務、行銷等等部門是企業不可或缺的職能部門,對於這些部門的費用也需要 一個嚴格的預算體系加以控制。通常會計上的三大期間費用,即管理費用、銷售費用和財務費用大都屬於間接費用,但是如果在上文價格預測中已經包括的和銷售直 接相關的費用,則不再包括在內。

  圖7中我們看到,對於某些費用,如折舊、工資,在ERP中由於有專門的固定資產和人力資源模組,所以 可以通過系統集成自動計算這些費用的金額。而對於交際應酬費、差旅費、交通費、通訊費等等間接費用,在ERP實施中可以定義相關的預算格式,在編制預算時 由相關人員直接輸入。

  間接費用預算和實際發生的間接費用一樣,也可以分攤到各市場細分上。

  差距分析和預算調整

   前文提到了預算版本的概念。事實上預算版本還有一個重要的應用就是差距分析和預算調整。通常預算可以分為自上而下和自下而上的兩種。企業管理層設定目 標,根據歷史和當前情況,輔以統計預測和人為修正,得到公司整體預算,隨後運用上文中的自上而下分配的工具,將預算分配到各內部組織和市場細分上,這個過 程稱為自上而下的預算。反之,公司內部各部門,甚至各人,制定本部門及各市場細分的預算,系統自動層層匯總,最終得到整個公司的預算,這就是自下而上的預 算。本文前面的內容基本是圍繞自下而上的預算展開的,對於自上而下的預算,雖然思路不同,但應用的工具已經涵蓋在上文中了,比如預測、自上而下的分配等 等。

  我們一般將兩套預算保存在不同的版本中,當兩者都完成後,運用“穿透報表”(Drill-down report)工具可以分析公司上下層對於預算的差距,分析分歧的來源,通過適當的溝通,達成共識,進一步地調整預算。

  預算通過並凍結修改

   經過上述步驟,特別是差距分析和預算調整,最終企業上下對於預算達成了一致的意見,正式預算獲得通過。正式預算版本將被執行,同時不允許再做修改。實際 上預算的修正仍然是可以的,但是為了維護預算的嚴肅性和控制考評功能,只有在特殊情況下具有特殊許可權的人員才能對預算解凍並修改。而從管理的角度出發,預 算修正應當有明確的流程並被嚴格執行。

  結 語

  預算理論在企業中的應用已經有很長的歷史了。打開任何一本財務管理 的書籍,都會看到關於預算的論述。從理論上講,這個理論似乎已不再有什麼難度可言。然而在企業實務中僅僅是匯總各部門的預算就已經是一件令人頭疼的事,更 別提預算本身是否能自圓其說、準確度究竟有多高。ERP在預算領域提供的不僅是一種工具,也是一種思路。比如市場細分,比如標準成本等等。當然預算終究是 預算,它的目的不是絕對的精確,但畢竟是經營活動的依據,當實際偏離計畫時,我們需要足夠的資訊找到偏離的原因。ERP是一種注重細節(Go to detail)的平臺,它的來源不僅是理論,更是實踐

如何選擇ERP廠商

企業在決定使用ERP後,面對軟體供應商的誇誇其談(當然是對軟體的功能和售後服務),該如何選擇呢?從那些方面去瞭解呢?又如何比較?以下提出幾個參考因素:

  1.ERP供應商的實力,包括二次開發、售後服務等。
  
  2.ERP所概括是否全面。包括整個公司的供需鏈等。
  
  3.資原是否高度共用。包括系統是否能在INTERNET上運行,高層決策者是否可以在世界的任何一個地方,隨時隨地的、即時得到自己公司的資迅等。
  
  4.值得注意是:不要迷信ERP品牌,實質內容最重要。

  5.目前許多標榜爲ERP系統的系統,實際上只是MRP或MRP II系統,甚至還不能算是一套真正意義上的MRP系統。
  
  6.現在的ERP廠商往往都會標榜自己的ERP系統適合於各種類型、各種行業的企業,而實際上是,由於各行業具有各行業的特性,能夠適應各行業管理特性的ERP系統,目前還沒有,將來也不太可能有。

  7.全面性:對企業的人、財、物、產、供、銷等各項具體業務工作進行科學、有效的管理,並對供應商、客戶的各種資訊全面集成,實現了物流、資金流、資訊流的高度統一

  8.括充性:是否基於元件式開發,為使用者提供資料介面說明和指導。
  
  9.安全性:系統可否與Win2K/WinXP使用者安全認證服務集成,並有基於ACL用戶存取控制清單的許可權管理機制,線上監控,事件日誌服務,系統的各種操作對不同的用戶是否可授予不同的許可權。
  
  10.個性化:系統是否可定制(Customize)個性化使用者介面,擁有內核命令驅動模式,易於操作。是否還可以任一定制調整系統的組織結構。
  
  11.行業解決方案:系統可否為自己行業使用者提供豐富的行業解決方案。
  
  12.講了這麼多,當然價格也是企業考慮的第一選擇。
  
  13.最重要的是:公司如果採用了某公司的ERP,是否能真正的為自己的企業帶來更高的報酬和便利。

深解ERP系統專案成功實施的關鍵因素

自上世紀九十年代中期,許多中國企業就開始引入世界級的高端大型ERP系統。十多年過去了,如何才能成功實施大型ERP系統,已經有了非常多的公認觀點。諸如”ERP是一把手工程”,”ERP不僅僅是技術,還包含深刻的管理思想”等等。

  然而,學習到這些公認觀點企業,並沒有因此減少對成功實施ERP系統的憂慮。看似學習到了ERP實施要領的企業,仍然非常渴望從更深的層次來理解ERP的實施要領。

  1、 ERP對企業的價值所在

  ERP的價值有四個層次:第一個是直接改善具體業務點;第二個是降低運作成本;第三個是提高管理效率和水準;第四個是協助構造企業的文化。

  第一個層次最容易被接受,主要具體的業務功能點怎麼實現。然而這對企業的整體提升幫助並不顯著。

  第二個層儘管很有吸引力,但降低的成本包括資金很容易被消耗,因而它實質上也不能夠給企業帶來持續的動力和管理的提升。

  第三個層次中,大型ERP能通過系統的集成效益,使得單位、部門之間的扯皮大量減少,跨業務跨部門的流程清晰,管理有序而規範。

  第四個層次,大型ERP系統往往涉及眾多複雜的法人單位、職能部門和員工的整體協調問題。因而成功實施大型ERP系統專案,往往意味著能夠在龐大的組織內建立生動而和諧的工作秩序,進而更加鍛造了能夠根本上保障和影響企業各方面運作的文化。

   隨著企業規模的擴張,組織機構和業務流程日益複雜,非常容易使企業臃腫,變得效率低下,管理粗糙。如何保證在規模不斷擴大的同時,反而能夠走向”越大越 快,越大越管,越大越細”,是企業在市場競爭中獲勝關鍵。我們再綜合以上幾個層面,ERP系統的根本價值就呼之欲出了。

  ERP的根本價值,是既要實現一、二層價值,使企業能夠越管越細;同時,又能夠實現三、四層價值,使企業能夠”越大越快,越大越管,越大越細”。使企業規模化和管理之間的矛盾變得和諧,使企業方方面面呈現符合大規模運作的管理要求。

   現實中的企業,不是緊緊盯著一、二層的細節,認識不到三、四層的重要性,就是只注意三、四層的表面文章,而不是深入到一、二層的細節中去,都造成ERP 系統不能為企業的發展提供支援,甚至無法實施成功。只有認識並做到這一點,企業才能實現真正的整體管理水準的提升,並成功實施ERP系統專案。

  2、 ERP的定位問題

  通常,企業不接受僅僅帶來企業原有的資料和流程的複製,而是非常需要一種管理的整體提升。這也是老生常談。

  準備啟用大型ERP系統專案的企業,往往都已在行業中名列前茅,然而他們卻在進一步發展和擴展規模時,遭遇到整體管理水準的瓶頸,難以找到突破口。而長時間停滯不能突破,企業就會疲憊不堪,甚至有倒退之憂。

  這些行業老大的企業,往往在資本、運作上,可以說和多數企業規範已經很接軌了,那麼下一步需要這些從行業中走出去,將企業水準融入到整個企業界的管理中去。從行業立足到整個企業界立足,從行業老大到整個企業界老大,這是個巨大的轉型。


  企業以往生存所熟練擁有的行業經驗,在以往的發展中是絕對的優勢,然而在今天向更高管理水準邁進時,卻成為必然的劣勢。這種轉變要求企業突破行業經驗的束縛,割捨自己昨日擁有的優勢,行業優勢因而可能轉化為突破的最大劣勢。

  很多處於行業老大地位的企業選型時,甚至把行業經驗作為最高標準選拔供應商,從這點上看,不能說完全錯,至少對自身發展的前景定位的認識,是不夠根本和不到位的。

  正確的定位,是對ERP價值的進一步解讀,直接影響ERP的成功實施。只有真正認識自己的優勢也是進一步發展的劣勢時,才可能真正接受和理解ERP,保障專案的成功。

  3、 高層領導的承諾

  這句可以是說被各種媒體和企業傳得最廣的一句話了。

  很多領導認為承諾就是自己支持ERP的一念而已。就是自己在ERP的支票的簽字,在大會上點頭同意實施ERP。再好一點的,就是在重大方案上及時拍板。以至多數企業領導都認為,高層領導的承諾,這點非常容易做到。

  許多企業都出現這樣的故事。企業領導表示高度重視ERP,並成立了ERP推進專職組,但隨後企業領導又說,基於業務比較忙,骨幹不能全脫產的考慮,決定專案組半專職。早上正常開展業務,下午和晚上進入專職組,還有如何考核等等。

   聽到企業這樣的決定,許多顧問公司也是多說兩句就先默許了。其實,這也是高層承諾不能到位的一個表現。如果高層領導真正認識到自己所要達到的提升,真正 重視所要做得事情的難度,真正所要做得事情的價值,也許就不會捨不得那麼一點人力的投入。不去多學習,不去系統思考,不能認識到企業ERP的真正定位,不 能意識到真正衝突的所在,很難相信企業領導能夠有正確的認識,能夠有力量一絲不苟地開展好項目。

  反言之,企業領導能夠從整體真正認識ERP的作用,那麼企業當然能夠有堅定的力量,來恪守自己的承諾,保障專案的成功。

  不但要有一念,還要有正確的一念,還要能夠一絲不苟做到,這才是真正的高層承諾。正確而有效的承諾,無疑是專案成功的絕對法寶。

Age calculate in PHP

$birthDate = "1970-01-05";
$currentDate = date("d-m-Y");
$age = date_diff(date_create($birthDate), date_create($currentDate));
echo "Current age is ".$age->format("%y");
// Current age is 52

八字大運交運時間計算方法

例子: 1984年4月29日 06:28 女性

陽男陰女 -> 順行下一節令
陽女陰男 -> 逆行上一節令
陽女 1984年4月29日 06:28
逆行上一個節令 1984年4月4日 22:22
節令與出生時間相差
1984年4月4日 22:22 ~ 1984年4月29日 06:28

相差 24.34444日
3日為1年計算

24.34444日 / 3 = 8.1148148年
8.1148148年 = 8年 零 0.1148148年

0.1148148年 x 365.25 = 41.936日

41.936日 / 30日 = 1月 11日

交運時間為 8年 1月 11日
1984年4月29日 06:28 + 8年 1月 11日
= 1992年6月9日 06:28
1992年6月9日 壬丁年

acme.sh renew

source : https://www.howtoforge.com/getting-started-with-acmesh-lets-encrypt-client/#renew-the-lets-encrypt-ssl-certs

Install Let’s encrypt SSL cert

Apache example:

acme.sh --install-cert \
--domain example.com \
--cert-file /path/to/cert/cert.pem \
--key-file /path/to/keyfile/key.pem \
--fullchain-file /path/to/fullchain/fullchain.pem \
--reloadcmd "sudo systemctl reload apache2.service"

Renew the Let’s Encrypt SSL certs

acme.sh --renew -d example.com --force

Filter input text only accept number and dot vue.js

Source : Mengseng Oeng (2018), https://stackoverflow.com/questions/39782176/filter-input-text-only-accept-number-and-dot-vue-js

HTML

 <input @keypress="onlyNumber" type="text">

VUE JS

onlyNumber ($event) {
   //console.log($event.keyCode); //keyCodes value
   let keyCode = ($event.keyCode ? $event.keyCode : $event.which);
   if ((keyCode < 48 || keyCode > 57) && keyCode !== 46) { // 46 is dot
      $event.preventDefault();
   }
}