Calculation of cost of ERP products) and erp product prices

Source: Internet
Author: User

How to calculate the cost of ERP products (transfer) and the price of erp products
In general, there are many pricing methods for financial computing products. I have made a few examples here. entity attributes mainly include numbers, quantities, and prices, which are not listed here.

/// <Summary> /// first-in-first-out algorithm /// </summary> /// <param name = "inRecord"> warehouse receiving record (within one cycle) </param> /// <param name = "outRecord"> warehouse picking record (within one cycle) </param> // <returns> InventoryPrice is the result price </returns> public List <BaseStock> ComputerPriceFIFO (List <BaseStock> inRecord, List <BaseStock> outRecord) {// sort var inList = (from o in inRecord orderby o. CDate select o ). toList (); var outList = (from o in outRecord orderby o. CDate s Elect o ). toList (); foreach (var outItem in outList) {// The amount of the current entry that has been exported decimal money = 0; // The number of currently remaining decimal qty = outItem. qty; foreach (var inItem in inList) {// if the current item is sufficient for warehouse picking, end the calculation price if (inItem. qty> qty) {money = money + inItem. price * qty; // update the inItem in the warehouse receiving table. qty = inItem. qty-qty; break;} else {qty = qty-inItem. qty; money = money + (inItem. price * inItem. qty); // update the inItem. qty = 0 ;}// calculate the shipment price OutItem. price = money/outItem. qty;} return outList ;} /// <summary> /// post-import/export algorithm /// </summary> /// <param name = "inRecord"> warehouse receiving record (within one cycle) </param> /// <param name = "outRecord"> warehouse picking record (within one cycle) </param> // <returns> InventoryPrice is the result price </returns> public List <BaseStock> ComputerPriceFOFI (List <BaseStock> inRecord, List <BaseStock> outRecord) {// sort var inList = (from o in inRecord orderby o. CDate descending sel Ect o ). toList (); var outList = (from o in outRecord orderby o. CDate select o ). toList (); foreach (var outItem in outList) {// The amount of the current entry that has been exported decimal money = 0; // The number of currently remaining decimal qty = outItem. qty; foreach (var inItem in inList) {// if the current item is sufficient for warehouse picking, end the calculation price if (inItem. qty> qty) {money = money + inItem. price * qty; // update the inItem in the warehouse receiving table. qty = inItem. qty-qty; break;} else {qty = qty-inItem. qty; money = money + (InItem. price * inItem. qty); // update the inItem. qty = 0 ;}// calculate the shipment price outItem. price = money/outItem. qty;} return outList ;} /// <summary> /// weighted average algorithm /// </summary> /// <param name = "inRecord"> warehouse receiving record (within one cycle) </param> /// <param name = "outRecord"> warehouse picking record (within one cycle) </param> /// <param name = "prePrice"> price of the previous period </param> /// <param name = "preQty"> quantity of the previous period </param> // /<returns> </returns> public List <BaseStock> ComputerPriceB Alance (List <BaseStock> inRecord, List <BaseStock> outRecord, decimal prePrice, decimal preQty) {decimal money = 0; decimal qty = 0; foreach (var inItem in inRecord) {money = money + inItem. price * inItem. qty; qty = qty + inItem. qty;} decimal price = (money + prePrice * preQty)/(qty + preQty); foreach (var outItem in outRecord) {outItem. price = price;} return outRecord;} // <summary> // move Dynamic weighted average algorithm // </summary> // <param name = "inRecord"> warehouse receiving record (within one cycle) </param> /// <param name = "outRecord"> warehouse picking record (within one cycle) </param> /// <param name = "prePrice"> price of the previous period </param> /// <param name = "preQty"> quantity of the previous period </param> // /<returns> </returns> public List <BaseStock> ComputerPriceTrack (List <BaseStock> inRecord, list <BaseStock> outRecord, decimal prePrice, decimal preQty, DateTime preDate) {// sort var outList = (from o in OutRecord orderby o. CDate select o ). toList (); List <Guid> preDetail_IDs = new List <Guid> (); foreach (var outItem in outList) {// retrieve warehouse receiving records earlier than the current Warehouse picking record, and exclude the settled records var inList = (from o in inRecord where o. CDate <= outItem. CDate &&! PreDetail_IDs.Contains (o. detail_ID) orderby o. CDate select o ). toList (); decimal money = 0; decimal qty = 0; foreach (var inItem in inList) {money = money + inItem. price * inItem. qty; qty = qty + inItem. qty; preDetail_IDs.Add (inItem. detail_ID);} outItem. price = (money + prePrice * preQty)/(qty + preQty); // modify the previous Price and quantity prePrice = outItem. price; preQty = qty-outItem. qty;} return outList ;}

 


Production Cost Accounting under erp?

In fact, the ERP cost accounting principle is similar. I take our company SAP as an example. The standard cost is used for cost accounting at ordinary times.
That is, BOM + ROUTING, BOM is obvious. routing refers to our labor and manufacturing costs. This standard is applied to each process and the rate is calculated, in this way, the standard labor cost is obtained by using the standard labor hour * expense ratio, and the same is true for billing.
The cost is settled at the end of the month. The principle is standard + Difference = actual cost, that is, the financial statement reflects the actual cost. The difference can be apportioned or not apportioned. The standard cost is generally updated once three months or longer.

How to implement cost accounting in Kingdee ERP

I have used UFIDA ERP and Kingdee have never used it, but the basic program of ERP cost accounting is: the inventory system will check and settle the bills at the end of the month according to the daily business, you can get the relevant material cost accounting system after the end of the month, you can get the relevant labor, kinetic energy, manufacturing costs and other related costs based on the number of finished jobs or working hours in the month, data is input in the cost accounting module to determine the completion and final operation of the production-related data accounting module to get the relevant costs, and transfer funds in the financial module according to the relevant costs, so that cost accounting is achieved

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.