首页 > 解决方案 > PHP计算建议的价格值

问题描述

我有以下变量

  1. 数量(美元数量)
  2. 购买价格 ($pp)
  3. 售价 ($sp)
  4. 佣金 12% ($comm)
  5. 建议售价

佣金是根据销售价格计算的,例如,如果销售价格上涨佣金也会增加。

我想以 10% 的利润率 ($pr) 计算建议售价

这是我的代码

$comm=12; //(commission 12%)
$pr=10; //(10% profit)

$percent = ((float)$sp/100)*(float)$comm;
$fees=round($percent,2);

$total=((float)$pp*(float)$qty)+(float)$fees;

$profit = ((float)$total/100)*(float)$pr;
$suggested = round(((float)$profit)+((float)$total),2);

我在按钮单击时调用此 ajax 函数,这将在按钮单击时给出几次不同的值。我认为这是因为当销售价格增加时,佣金也会根据销售价格增加。

代码中没有错误,唯一的问题是它在第一次调用时没有计算出正确的销售价格值,它需要 2 或 3 次调用才能获得正确的值。我怎样才能在第一次通话中获得正确的价值。

标签: php

解决方案


首先,免责声明:我是程序员,不是会计师。

所以,大声思考了一会儿:

定义术语

cogs:   cost of goods sold (item cost)
sp:     sales price
comm:   commission 
profit: profit 

公式

profit = sales price - cogs - comm
profit = sales price * profitPercentage
comm = sales price * commPercentage

代替

sales price * profitPercentage = sales price - cogs - comm 

例如,假设利润为 10%,佣金为 15%

sales price * .10 = sales price - cogs - comm

然后我们可以代替佣金

sales price * .10 = sales price - cogs - (sales price * .15)

简化

.1(sales price) = sales price - cogs - .15(sales price)
cogs = sales price - .1(sales price) - .15(sales price)
cogs = (1 - .1 - .15)(sales price)
cogs = (.75)(sales price)
sales price = cogs/.75

测试

齿轮:10 美元 价格:13.33 美元 通讯:2.00 美元 利润:1.33 美元

代码

function calculateSalesPrice(float $cogs, float $commPercent, float $profitPercent) : float
{
    $divisor = (1 - $commPercent - $profitPercent);
    if($divisor <= 0) { 
        throw new Exception('Commission and Profit exceed 100%');    
    }
    return round(($cogs/$divisor),2);
}

使用这个公式,利润和佣金都以销售价格为基础。


推荐阅读