-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathengine.py
More file actions
166 lines (137 loc) · 8.61 KB
/
Copy pathengine.py
File metadata and controls
166 lines (137 loc) · 8.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
def calculate_final_price(
# اول: پارامترهای اجباری (بدون مقدار پیشفرض)
fee: float,
m: float,
p_base: float,
profit: float,
t: float,
usd_buy: float,
usd_today: float,
# دوم: پارامترهای اختیاری (دارای مقدار پیشفرض)
csr: float = 0.0,
customer_discount: float = 0.0,
supplier_discount: float = 0.0,
vat: float = 0.0,
) -> dict:
"""
محاسبه قیمت فروش نهایی و بهای تمامشده بر اساس موتور Argenix
با احتساب تخفیفها، مالیات بر ارزش افزوده و مسئولیت اجتماعی
"""
# گام صفر: اعمال تخفیف تأمینکننده روی قیمت خرید اولیه
effective_p_base = p_base * (1 - supplier_discount)
# گام اول: بهروزرسانی قیمت بر اساس رشد نرخ دلار
price_usd_adjusted = effective_p_base * (usd_today / usd_buy)
# گام دوم: اعمال هزینه خواب سرمایه و انبارداری (t ماه)
price_with_holding_cost = price_usd_adjusted * ((1 + m) ** t)
# گام سوم: اضافه کردن حاشیه سود تجاری
price_with_profit = price_with_holding_cost * (1 + profit)
# گام چهارم: اعمال هزینههای جانبی فروش (کمیسیون، مالیات و...) روی قیمت پایه
base_final_selling_price = price_with_profit / (1 - fee) if fee < 1 else price_with_profit
# گام پنجم: اعمال تخفیف مشتری
discounted_price = base_final_selling_price * (1 - customer_discount)
# گام ششم: اعمال مالیات بر ارزش افزوده (VAT) روی قیمت پس از تخفیف
price_with_vat = discounted_price * (1 + vat)
# گام هفتم: اعمال سهم مسئولیت اجتماعی (CSR) به عنوان درصدی از قیمت نهایی
final_selling_price = price_with_vat * (1 + csr)
# محاسبه مبلغ ریالی مسئولیت اجتماعی و ارزش افزوده جهت شفافیت در خروجی
csr_amount = final_selling_price * (csr / (1 + csr)) if csr > 0 else 0
vat_amount = (discounted_price * vat) if vat > 0 else 0
# محاسبه سود خالص ریالی
profit_amount = price_with_profit * (1 - customer_discount) - price_with_holding_cost
return {
"price_usd_adjusted": round(price_usd_adjusted, 2),
"price_with_holding_cost": round(price_with_holding_cost, 2),
"final_selling_price": round(final_selling_price, 2),
"profit_amount": round(profit_amount, 2),
"vat_amount": round(vat_amount, 2),
"csr_amount": round(csr_amount, 2)
}
if __name__ == "__main__":
# ۱. نمایش خروجی مثال پیشفرض (موبایل)
P_BASE = 100_000 # قیمت خرید اولیه کالا به تومان
USD_BUY = 100_000 # نرخ دلار در زمان خرید اولیه
USD_TODAY = 200_000 # نرخ روز دلار
T = 6 # مدت ماندگاری یا خواب کالا به ماه
M = 0.015 # نرخ ماهانه هزینه خواب سرمایه (۱.۵ درصد)
PROFIT = 0.25 # حاشیه سود تجاری (۲۵ درصد)
FEE = 0.05 # کمیسیون و هزینههای جانبی پلتفرم (۵ درصد)
SUPPLIER_DISCOUNT = 0.0 # تخفیف دریافتی از تأمینکننده
CUSTOMER_DISCOUNT = 0.0 # تخفیف اعطایی به مشتری
VAT = 0.10 # ۱۰ درصد ارزش افزوده به عنوان مثال
CSR = 0.01 # ۱ درصد مسئولیت اجتماعی به عنوان مثال
default_result = calculate_final_price(
p_base=P_BASE,
usd_buy=USD_BUY,
usd_today=USD_TODAY,
t=T,
m=M,
profit=PROFIT,
fee=FEE,
supplier_discount=SUPPLIER_DISCOUNT,
customer_discount=CUSTOMER_DISCOUNT,
vat=VAT,
csr=CSR
)
print("==========================================")
print(" Argenix - Pricing Engine Output ")
print("==========================================")
print(f"مثال پیشفرض (موبایل):")
print(f"بهروزرسانی دلاری: {default_result['price_usd_adjusted']:,} تومان")
print(f"بهای تمامشده با احتساب خواب سرمایه: {default_result['price_with_holding_cost']:,} تومان")
print(f"قیمت فروش نهایی (پیشنهادی): {default_result['final_selling_price']:,} تومان")
print(f"مبلغ سود خالص: {default_result['profit_amount']:,} تومان")
print(f"سهم ارزش افزوده: {default_result['vat_amount']:,} تومان")
print(f"سهم مسئولیت اجتماعی (CSR): {default_result['csr_amount']:,} تومان")
print("==========================================\n")
# ۲. بخش تعاملی برای دریافت ورودی از کاربر
print("--- محاسبهگر سفارشی کالا ---")
print("لطفاً مقادیر مورد نظر خود را وارد کنید (یا برای استفاده از مقادیر پیشفرض، Enter بزنید):\n")
try:
user_p_base = input(f"قیمت خرید اولیه به تومان [پیشفرض {P_BASE}]: ").strip()
p_base = float(user_p_base) if user_p_base else P_BASE
user_usd_buy = input(f"قیمت دلار در روز خرید [پیشفرض {USD_BUY}]: ").strip()
usd_buy = float(user_usd_buy) if user_usd_buy else USD_BUY
user_usd_today = input(f"قیمت دلار امروز [پیشفرض {USD_TODAY}]: ").strip()
usd_today = float(user_usd_today) if user_usd_today else USD_TODAY
user_t = input(f"مدت ماندگاری به ماه (t) [پیشفرض {T}]: ").strip()
t = float(user_t) if user_t else T
user_m = input(f"هزینه خواب سرمایه ماهیانه مثل 0.015 [پیشفرض {M}]: ").strip()
m = float(user_m) if user_m else M
user_profit = input(f"حاشیه سود مثل 0.10 [پیشفرض {PROFIT}]: ").strip()
profit = float(user_profit) if user_profit else PROFIT
user_fee = input(f"هزینههای جانبی و کمیسیون مثل 0.05 [پیشفرض {FEE}]: ").strip()
fee = float(user_fee) if user_fee else FEE
user_sup_disc = input(f"تخفیف تامینکننده مثل 0.05 [پیشفرض {SUPPLIER_DISCOUNT}]: ").strip()
supplier_discount = float(user_sup_disc) if user_sup_disc else SUPPLIER_DISCOUNT
user_cust_disc = input(f"تخفیف اعطایی به مشتری مثل 0.03 [پیشفرض {CUSTOMER_DISCOUNT}]: ").strip()
customer_discount = float(user_cust_disc) if user_cust_disc else CUSTOMER_DISCOUNT
user_vat = input(f"مالیات بر ارزش افزوده مثل 0.10 [پیشفرض {VAT}]: ").strip()
vat = float(user_vat) if user_vat else VAT
user_csr = input(f"درصد مسئولیت اجتماعی مثل 0.01 [پیشفرض {CSR}]: ").strip()
csr = float(user_csr) if user_csr else CSR
# محاسبه با مقادیر جدید کاربر
user_result = calculate_final_price(
p_base=p_base,
usd_buy=usd_buy,
usd_today=usd_today,
t=t,
m=m,
profit=profit,
fee=fee,
supplier_discount=supplier_discount,
customer_discount=customer_discount,
vat=vat,
csr=csr
)
print("\n==========================================")
print(" نتیجه محاسبه برای کالای شما ")
print("==========================================")
print(f"بهروزرسانی دلاری: {user_result['price_usd_adjusted']:,} تومان")
print(f"بهای تمامشده با احتساب خواب سرمایه: {user_result['price_with_holding_cost']:,} تومان")
print(f"قیمت فروش نهایی (پیشنهادی): {user_result['final_selling_price']:,} تومان")
print(f"مبلغ سود خالص: {user_result['profit_amount']:,} تومان")
print(f"سهم ارزش افزوده: {user_result['vat_amount']:,} تومان")
print(f"سهم مسئولیت اجتماعی (CSR): {user_result['csr_amount']:,} تومان")
print("==========================================")
except ValueError:
print("\nخطا: لطفاً فقط مقادیر عددی معتبر وارد کنید.")