Discount in purchase cycle
diff --git a/erpnext/accounts/doctype/pv_detail/pv_detail.txt b/erpnext/accounts/doctype/pv_detail/pv_detail.txt
old mode 100644
new mode 100755
index 1c1c0ae..557697f
--- a/erpnext/accounts/doctype/pv_detail/pv_detail.txt
+++ b/erpnext/accounts/doctype/pv_detail/pv_detail.txt
@@ -5,7 +5,7 @@
{
'creation': '2010-08-08 17:09:17',
'docstatus': 0,
- 'modified': '2011-10-20 18:41:17',
+ 'modified': '2011-12-08 15:58:58',
'modified_by': 'Administrator',
'owner': 'Administrator'
},
@@ -14,7 +14,6 @@
{
'autoname': 'EVD.######',
'colour': 'White:FFF',
- 'default_print_format': 'Standard',
'doctype': 'DocType',
'istable': 1,
'module': 'Accounts',
@@ -22,7 +21,7 @@
'section_style': 'Tray',
'server_code_error': ' ',
'show_in_menu': 0,
- 'version': 27
+ 'version': 28
},
# These values are common for all DocField
@@ -115,7 +114,7 @@
'doctype': 'DocField',
'fieldname': 'rate',
'fieldtype': 'Currency',
- 'label': 'Rate (Default Curr.)',
+ 'label': 'Rate *(Default Curr.)',
'oldfieldname': 'rate',
'oldfieldtype': 'Currency',
'permlevel': 0,
@@ -129,7 +128,7 @@
'doctype': 'DocField',
'fieldname': 'import_rate',
'fieldtype': 'Currency',
- 'label': 'Rate',
+ 'label': 'Rate ',
'oldfieldname': 'import_rate',
'oldfieldtype': 'Currency',
'permlevel': 0,
@@ -141,6 +140,15 @@
# DocField
{
'doctype': 'DocField',
+ 'fieldname': 'discount_rate',
+ 'fieldtype': 'Currency',
+ 'label': 'Discount %',
+ 'permlevel': 0
+ },
+
+ # DocField
+ {
+ 'doctype': 'DocField',
'fieldname': 'qty',
'fieldtype': 'Currency',
'label': 'Qty',
@@ -212,19 +220,6 @@
# DocField
{
- 'colour': 'White:FFF',
- 'doctype': 'DocField',
- 'fieldname': 'project_name',
- 'fieldtype': 'Link',
- 'in_filter': 1,
- 'label': 'Project Name',
- 'options': 'Project',
- 'permlevel': 0,
- 'print_hide': 1
- },
-
- # DocField
- {
'doctype': 'DocField',
'fieldname': 'purchase_order',
'fieldtype': 'Link',
@@ -308,5 +303,23 @@
'permlevel': 0,
'print_hide': 1,
'report_hide': 1
+ },
+
+ # DocField
+ {
+ 'doctype': 'DocField',
+ 'fieldname': 'purchase_ref_rate',
+ 'fieldtype': 'Currency',
+ 'label': 'Ref Rate *',
+ 'permlevel': 0
+ },
+
+ # DocField
+ {
+ 'doctype': 'DocField',
+ 'fieldname': 'import_ref_rate',
+ 'fieldtype': 'Currency',
+ 'label': 'Ref Rate ',
+ 'permlevel': 0
}
]
\ No newline at end of file
diff --git a/erpnext/buying/doctype/po_detail/po_detail.txt b/erpnext/buying/doctype/po_detail/po_detail.txt
index 1cdc972..ec854c3 100755
--- a/erpnext/buying/doctype/po_detail/po_detail.txt
+++ b/erpnext/buying/doctype/po_detail/po_detail.txt
@@ -5,7 +5,7 @@
{
'creation': '2010-08-08 17:09:12',
'docstatus': 0,
- 'modified': '2011-12-08 14:09:24',
+ 'modified': '2011-12-08 16:05:27',
'modified_by': 'Administrator',
'owner': 'Administrator'
},
@@ -21,7 +21,7 @@
'section_style': 'Tray',
'server_code_error': ' ',
'show_in_menu': 0,
- 'version': 52
+ 'version': 54
},
# These values are common for all DocField
@@ -108,7 +108,7 @@
'doctype': 'DocField',
'fieldname': 'purchase_rate',
'fieldtype': 'Currency',
- 'label': 'Rate (Default Curr.)',
+ 'label': 'Rate (Default Curr.) *',
'oldfieldname': 'purchase_rate',
'oldfieldtype': 'Currency',
'permlevel': 0,
@@ -123,7 +123,7 @@
'doctype': 'DocField',
'fieldname': 'purchase_ref_rate',
'fieldtype': 'Currency',
- 'label': 'Ref Rate',
+ 'label': 'Ref Rate *',
'permlevel': 0
},
@@ -172,7 +172,7 @@
'fieldname': 'import_rate',
'fieldtype': 'Currency',
'hidden': 0,
- 'label': 'Rate *',
+ 'label': 'Rate ',
'oldfieldname': 'import_rate',
'oldfieldtype': 'Currency',
'permlevel': 0,
@@ -185,7 +185,7 @@
'doctype': 'DocField',
'fieldname': 'import_ref_rate',
'fieldtype': 'Currency',
- 'label': 'Ref Rate *',
+ 'label': 'Ref Rate ',
'permlevel': 0
},
diff --git a/erpnext/buying/doctype/purchase_common/purchase_common.js b/erpnext/buying/doctype/purchase_common/purchase_common.js
index f91b1d8..029a413 100644
--- a/erpnext/buying/doctype/purchase_common/purchase_common.js
+++ b/erpnext/buying/doctype/purchase_common/purchase_common.js
@@ -125,6 +125,22 @@
cur_frm.cscript.calc_amount(doc, 1);
}
+//==================== Discount Rate ================================================================
+cur_frm.cscript.discount_rate = function(doc, cdt, cdn) {
+ // Calculate Amount
+ cur_frm.cscript.calc_amount(doc, 4);
+}
+//==================== Purchase Ref Rate ================================================================
+cur_frm.cscript.purchase_ref_rate = function(doc, cdt, cdn) {
+ // Calculate Amount
+ cur_frm.cscript.calc_amount(doc, 4);
+}
+//==================== Import Ref Rate ================================================================
+cur_frm.cscript.import_ref_rate = function(doc, cdt, cdn) {
+ // Calculate Amount
+ cur_frm.cscript.calc_amount(doc, 5);
+}
+
//====================== Calculate Amount ============================================================
/*cur_frm.cscript.calc_amount = function(doc, n) {
@@ -242,19 +258,64 @@
for(var i=0;i<cl.length;i++)
{
if(n == 1){
+ set_multiple(tname, cl[i].name, {'purchase_ref_rate':flt(cl[i].import_ref_rate)*flt(doc.conversion_rate)}, fname);
+ set_multiple(tname, cl[i].name, {'discount_rate': flt(flt( flt( flt(cl[i].import_ref_rate) - flt(cl[i].import_rate) ) * 100 )/flt(cl[i].import_ref_rate)) }, fname);
set_multiple(tname, cl[i].name, {'purchase_rate': flt(doc.conversion_rate) * flt(cl[i].import_rate) }, fname);
set_multiple(tname, cl[i].name, {'amount': flt(flt(cl[i].qty) * flt(doc.conversion_rate) * flt(cl[i].import_rate))}, fname);
set_multiple(tname, cl[i].name, {'import_amount': flt(flt(cl[i].qty) * flt(cl[i].import_rate))}, fname);
+
}
if(n == 2){
- set_multiple(tname, cl[i].name, {'amount': flt(flt(cl[i].qty) * flt(cl[i].purchase_rate)), 'import_rate': flt(flt(cl[i].purchase_rate) / flt(doc.conversion_rate)) }, fname);
+ set_multiple(tname, cl[i].name, {'purchase_ref_rate':flt(cl[i].import_ref_rate)*flt(doc.conversion_rate)}, fname);
+ set_multiple(tname, cl[i].name, {'discount_rate': flt(flt( flt( flt(cl[i].purchase_ref_rate) - flt(cl[i].purchase_rate) ) * 100 )/flt(cl[i].purchase_ref_rate)) }, fname);
+ set_multiple(tname, cl[i].name, {'amount': flt(flt(cl[i].qty) * flt(cl[i].purchase_rate)),}, fname);
+ set_multiple(tname, cl[i].name, {'import_rate': flt(flt(cl[i].purchase_rate) / flt(doc.conversion_rate)) }, fname);
set_multiple(tname, cl[i].name, {'import_amount': flt(flt(cl[i].qty) * flt(cl[i].purchase_rate) / flt(doc.conversion_rate))}, fname);
- }
+
+ }
if(n == 3){
set_multiple(tname, cl[i].name, {'purchase_rate': flt(flt(cl[i].amount) / flt(cl[i].qty)) }, fname);
set_multiple(tname, cl[i].name, {'import_rate': flt(flt(cl[i].purchase_rate) / flt(doc.conversion_rate))}, fname);
set_multiple(tname, cl[i].name, {'import_amount': flt(flt(cl[i].qty) * flt(cl[i].purchase_rate) / flt(doc.conversion_rate))}, fname);
}
+ if( n==4){
+ set_multiple(tname, cl[i].name, {'import_ref_rate': flt(flt(cl[i].purchase_ref_rate) / flt(doc.conversion_rate))}, fname);
+ set_multiple(tname, cl[i].name, {'purchase_rate':flt( flt(cl[i].purchase_ref_rate) - flt(flt(cl[i].purchase_ref_rate)*flt(cl[i].discount_rate)/100) )}, fname);
+ set_multiple(tname, cl[i].name, {'import_rate': flt(flt(cl[i].purchase_rate) / flt(doc.conversion_rate))}, fname);
+ set_multiple(tname, cl[i].name, {'amount':flt(flt(cl[i].qty) * flt(cl[i].purchase_rate))}, fname);
+ set_multiple(tname, cl[i].name, {'import_amount': flt(flt(cl[i].qty) * flt(cl[i].purchase_rate) / flt(doc.conversion_rate))}, fname);
+
+ }
+
+ if( n==5){
+ set_multiple(tname, cl[i].name, {'purchase_ref_rate': flt(flt(cl[i].import_ref_rate) * flt(doc.conversion_rate))}, fname);
+ set_multiple(tname, cl[i].name, {'purchase_rate':flt( flt(cl[i].import_ref_rate) - flt(flt(cl[i].import_ref_rate)*flt(cl[i].discount_rate)/100) ) * flt(doc.conversion_rate) }, fname);
+ set_multiple(tname, cl[i].name, {'import_rate': flt(flt(cl[i].purchase_rate) / flt(doc.conversion_rate))}, fname);
+ set_multiple(tname, cl[i].name, {'amount':flt(flt(cl[i].qty) * flt(cl[i].purchase_rate))}, fname);
+ set_multiple(tname, cl[i].name, {'import_amount': flt(flt(cl[i].qty) * flt(cl[i].purchase_rate) / flt(doc.conversion_rate))}, fname);
+
+ }
+ if( n==6){
+
+ //set_multiple(tname, cl[i].name, {'import_ref_rate': flt(flt(cl[i].purchase_ref_rate) / flt(doc.conversion_rate))}, fname);
+ if (cl[i].purchase_ref_rate){
+ set_multiple(tname, cl[i].name, {'purchase_rate':flt( flt(cl[i].purchase_ref_rate) - flt(flt(cl[i].purchase_ref_rate)*flt(cl[i].discount_rate)/100) )}, fname);
+ }
+ else{
+ set_multiple(tname, cl[i].name, {'purchase_rate': flt(flt(cl[i].import_rate) * flt(doc.conversion_rate))}, fname);
+ }
+ if (cl[i].import_ref_rate){
+ set_multiple(tname, cl[i].name, {'import_rate':flt( flt(cl[i].import_ref_rate) - flt(flt(cl[i].import_ref_rate)*flt(cl[i].discount_rate)/100) )}, fname);
+ }
+ else{
+ set_multiple(tname, cl[i].name, {'import_rate': flt(flt(cl[i].import_rate) * flt(doc.conversion_rate))}, fname);
+ }
+
+ set_multiple(tname, cl[i].name, {'import_rate': flt(flt(cl[i].purchase_rate) / flt(doc.conversion_rate))}, fname);
+ set_multiple(tname, cl[i].name, {'amount':flt(flt(cl[i].qty) * flt(cl[i].purchase_rate))}, fname);
+ set_multiple(tname, cl[i].name, {'import_amount': flt(flt(cl[i].qty) * flt(cl[i].purchase_rate) / flt(doc.conversion_rate))}, fname);
+
+ }
if (n != 3){
net_total += flt(flt(cl[i].qty) * flt(cl[i].purchase_rate));
net_total_import += flt(flt(cl[i].qty) * flt(cl[i].import_rate));
diff --git a/erpnext/stock/doctype/purchase_receipt_detail/purchase_receipt_detail.txt b/erpnext/stock/doctype/purchase_receipt_detail/purchase_receipt_detail.txt
old mode 100644
new mode 100755
index 2e3514e..3816e45
--- a/erpnext/stock/doctype/purchase_receipt_detail/purchase_receipt_detail.txt
+++ b/erpnext/stock/doctype/purchase_receipt_detail/purchase_receipt_detail.txt
@@ -5,7 +5,7 @@
{
'creation': '2010-08-08 17:09:16',
'docstatus': 0,
- 'modified': '2011-11-16 15:43:36',
+ 'modified': '2011-12-08 16:06:08',
'modified_by': 'Administrator',
'owner': 'Administrator'
},
@@ -14,7 +14,6 @@
{
'autoname': 'GRND/.#######',
'colour': 'White:FFF',
- 'default_print_format': 'Standard',
'doctype': 'DocType',
'istable': 1,
'module': 'Stock',
@@ -22,7 +21,7 @@
'section_style': 'Tray',
'server_code_error': ' ',
'show_in_menu': 0,
- 'version': 63
+ 'version': 64
},
# These values are common for all DocField
@@ -118,23 +117,6 @@
# DocField
{
- 'colour': 'White:FFF',
- 'default': '0.00',
- 'doctype': 'DocField',
- 'fieldname': 'purchase_rate',
- 'fieldtype': 'Currency',
- 'label': 'Rate (Default Curr.)',
- 'oldfieldname': 'purchase_rate',
- 'oldfieldtype': 'Currency',
- 'permlevel': 0,
- 'print_hide': 1,
- 'reqd': 1,
- 'trigger': 'Client',
- 'width': '100px'
- },
-
- # DocField
- {
'default': '0.00',
'doctype': 'DocField',
'fieldname': 'qty',
@@ -149,6 +131,32 @@
# DocField
{
+ 'doctype': 'DocField',
+ 'fieldname': 'purchase_ref_rate',
+ 'fieldtype': 'Currency',
+ 'label': 'Ref Rate *',
+ 'permlevel': 0
+ },
+
+ # DocField
+ {
+ 'colour': 'White:FFF',
+ 'default': '0.00',
+ 'doctype': 'DocField',
+ 'fieldname': 'purchase_rate',
+ 'fieldtype': 'Currency',
+ 'label': 'Rate *(Default Curr.)',
+ 'oldfieldname': 'purchase_rate',
+ 'oldfieldtype': 'Currency',
+ 'permlevel': 0,
+ 'print_hide': 1,
+ 'reqd': 1,
+ 'trigger': 'Client',
+ 'width': '100px'
+ },
+
+ # DocField
+ {
'default': '0.00',
'doctype': 'DocField',
'fieldname': 'amount',
@@ -181,6 +189,24 @@
# DocField
{
+ 'doctype': 'DocField',
+ 'fieldname': 'discount_rate',
+ 'fieldtype': 'Currency',
+ 'label': 'Discount Rate %',
+ 'permlevel': 0
+ },
+
+ # DocField
+ {
+ 'doctype': 'DocField',
+ 'fieldname': 'import_ref_rate',
+ 'fieldtype': 'Currency',
+ 'label': 'Ref Rate ',
+ 'permlevel': 0
+ },
+
+ # DocField
+ {
'colour': 'White:FFF',
'default': '0.00',
'doctype': 'DocField',
@@ -319,7 +345,6 @@
'doctype': 'DocField',
'fieldname': 'serial_no',
'fieldtype': 'Text',
- 'in_filter': 1,
'label': 'Serial No',
'no_copy': 1,
'oldfieldname': 'serial_no',
@@ -377,19 +402,6 @@
{
'colour': 'White:FFF',
'doctype': 'DocField',
- 'fieldname': 'project_name',
- 'fieldtype': 'Link',
- 'in_filter': 1,
- 'label': 'Project Name',
- 'options': 'Project',
- 'permlevel': 0,
- 'print_hide': 1
- },
-
- # DocField
- {
- 'colour': 'White:FFF',
- 'doctype': 'DocField',
'fieldname': 'prevdoc_doctype',
'fieldtype': 'Data',
'hidden': 1,
@@ -451,7 +463,6 @@
# DocField
{
- 'colour': 'White:FFF',
'doctype': 'DocField',
'fieldname': 'item_tax_amount',
'fieldtype': 'Currency',
@@ -502,7 +513,6 @@
# DocField
{
- 'colour': 'White:FFF',
'doctype': 'DocField',
'fieldname': 'valuation_rate',
'fieldtype': 'Currency',
@@ -519,7 +529,6 @@
# DocField
{
- 'colour': 'White:FFF',
'description': 'Tax detail table fetched from item master as a string and stored in this field.\nUsed for Purchase Other Charges',
'doctype': 'DocField',
'fieldname': 'item_tax_rate',