diff --git a/erpnext/accounts/doctype/journal_voucher/listview.js b/erpnext/accounts/doctype/journal_voucher/listview.js
index f3c6a74..94d698f 100644
--- a/erpnext/accounts/doctype/journal_voucher/listview.js
+++ b/erpnext/accounts/doctype/journal_voucher/listview.js
@@ -7,7 +7,7 @@
 			'`tabJournal Voucher`.total_debit',
 			'`tabJournal Voucher`.company',
 		]);
-		this.stats = this.stats.concat(['voucher_type']);
+		this.stats = this.stats.concat(['voucher_type', 'company']);
 	},
 	prepare_data: function(data) {
 		this._super(data);
diff --git a/erpnext/buying/doctype/supplier/listview.js b/erpnext/buying/doctype/supplier/listview.js
index 86e22d6..45ab1a4 100644
--- a/erpnext/buying/doctype/supplier/listview.js
+++ b/erpnext/buying/doctype/supplier/listview.js
@@ -4,8 +4,9 @@
 		this._super(d)
 		this.fields = this.fields.concat([
 			"`tabSupplier`.supplier_type",
+			"`tabSupplier`.supplier_name",
 		]);
-		this.stats = this.stats.concat([]);
+		//this.stats = this.stats.concat(['company']);
 	},
 
 	prepare_data: function(data) {
@@ -14,7 +15,8 @@
 	
 	columns: [
 		{width: '5%', content:'avatar'},
-		{width: '50%', content:'name'},
+		{width: '20%', content:'name'},
+		{width: '30%', content:'supplier_name'},
 		{width: '10%', content:'tags'},
 		{width: '23%', content:'supplier_type', css: {'color': '#aaa'}},
 		{width: '12%', content:'modified', css: {'text-align': 'right', 'color':'#777'}}
diff --git a/erpnext/hr/doctype/appraisal/listview.js b/erpnext/hr/doctype/appraisal/listview.js
new file mode 100644
index 0000000..34653f3
--- /dev/null
+++ b/erpnext/hr/doctype/appraisal/listview.js
@@ -0,0 +1,31 @@
+// render
+wn.doclistviews['Appraisal'] = wn.views.ListView.extend({
+	init: function(d) {
+		this._super(d)
+		this.fields = this.fields.concat([
+			"`tabAppraisal`.employee_name",
+			"`tabAppraisal`.start_date",
+			"`tabAppraisal`.end_date",
+			"`tabAppraisal`.total_score",
+			"`tabAppraisal`.status",
+		]);
+		this.stats = this.stats.concat(['company']);
+	},
+
+	prepare_data: function(data) {
+		this._super(data);
+		data.start_date = wn.datetime.str_to_user(data.start_date);
+		data.end_date = wn.datetime.str_to_user(data.end_date);
+		data.date_range = data.start_date + " to " + data.end_date;
+	},
+	
+	columns: [
+		{width: '3%', content: 'docstatus'},
+		{width: '15%', content: 'name'},
+		{width: '28%', content: 'employee_name'},
+		{width: '12%', content: 'status+tags'},
+		{width: '12%', content: 'total_score', css: {'text-align': 'right'}},
+		{width: '30%', content:'date_range',
+			css: {'text-align': 'right', 'color': '#777'}},
+]
+});
\ No newline at end of file
diff --git a/erpnext/hr/doctype/attendance/listview.js b/erpnext/hr/doctype/attendance/listview.js
new file mode 100644
index 0000000..45729ea
--- /dev/null
+++ b/erpnext/hr/doctype/attendance/listview.js
@@ -0,0 +1,28 @@
+// render
+wn.doclistviews['Attendance'] = wn.views.ListView.extend({
+	init: function(d) {
+		this._super(d)
+		this.fields = this.fields.concat([
+			"`tabAttendance`.att_date",
+			"`tabAttendance`.employee_name",
+			"`tabAttendance`.`status`",
+			
+		]);
+		this.stats = this.stats.concat(['company']);
+	},
+
+	prepare_data: function(data) {
+		this._super(data);
+		data.att_date = wn.datetime.str_to_user(data.att_date);
+	},
+	
+	columns: [
+		{width: '3%', content:'docstatus'},
+		{width: '12%', content:'name'},
+		{width: '50%', content:'employee_name'},
+		{width: '13%', content:'status'},
+		{width: '10%', content:'tags'},
+		//{width: '23%', content:'supplier_type', css: {'color': '#aaa'}},
+		{width: '12%', content:'att_date', css: {'text-align': 'right', 'color':'#777'}}
+	]
+});
\ No newline at end of file
diff --git a/erpnext/hr/doctype/employee/listview.js b/erpnext/hr/doctype/employee/listview.js
new file mode 100644
index 0000000..3aa87d2
--- /dev/null
+++ b/erpnext/hr/doctype/employee/listview.js
@@ -0,0 +1,46 @@
+// render
+wn.doclistviews['Employee'] = wn.views.ListView.extend({
+	init: function(d) {
+		this._super(d)
+		this.fields = this.fields.concat([
+			"`tabEmployee`.employee_name",
+			"`tabEmployee`.employee_number",
+			"`tabEmployee`.employment_type",
+			"`tabEmployee`.designation",
+			"`tabEmployee`.department",
+			"`tabEmployee`.branch",
+			"`tabEmployee`.company",
+			"`tabEmployee`.reports_to",
+			"`tabEmployee`.date_of_joining",
+		]);
+		this.stats = this.stats.concat(['company']);
+	},
+
+	prepare_data: function(data) {
+		this._super(data);
+		
+		data.employee_name = data.employee_name
+			+ (data.employee_number ? ' [' + data.employee_number + ']' : '');
+		
+		data.date_of_joining = wn.datetime.str_to_user(data.date_of_joining);
+		data.designation = data.designation
+			+ (data.employment_type ? ' [' + data.employment_type + ']' : '');
+
+		var concat_list = [];
+		data.designation && concat_list.push(data.designation);
+		data.department && concat_list.push(data.department);
+		data.company && concat_list.push(data.company);
+		data.branch && concat_list.push(data.branch);
+		data.description = concat_list.join(", ");
+	},
+	
+	columns: [
+		{width: '3%', content: 'docstatus'},
+		{width: '12%', content: 'name'},
+		{width: '25%', content: 'employee_name'},
+		{width: '48%', content: 'description+tags',
+			css: {'color': '#aaa'}},
+		{width: '12%', content:'date_of_joining',
+			css: {'text-align': 'right', 'color': '#777'}},
+]
+});
\ No newline at end of file
diff --git a/erpnext/hr/doctype/expense_claim/listview.js b/erpnext/hr/doctype/expense_claim/listview.js
new file mode 100644
index 0000000..8f9fea1
--- /dev/null
+++ b/erpnext/hr/doctype/expense_claim/listview.js
@@ -0,0 +1,41 @@
+// render
+wn.doclistviews['Expense Claim'] = wn.views.ListView.extend({
+	init: function(d) {
+		this._super(d)
+		this.fields = this.fields.concat([
+			"`tabExpense Claim`.employee_name",
+			"`tabExpense Claim`.posting_date",
+			"`tabExpense Claim`.approval_status",
+			"`tabExpense Claim`.total_claimed_amount",
+			"`tabExpense Claim`.total_sanctioned_amount",
+			"`tabExpense Claim`.company",
+		]);
+		this.stats = this.stats.concat(['company']);
+	},
+
+	prepare_data: function(data) {
+		this._super(data);
+		data.posting_date = wn.datetime.str_to_user(data.posting_date);
+		data.employee_name = data.employee_name + 'claimed '
+			+ wn.boot.company[data.company].default_currency + ' '
+			+ fmt_money(data.total_claimed_amount);
+	},
+	
+	columns: [
+		{width: '5%', content: 'avatar'},
+		{width: '3%', content: 'docstatus'},
+		{width: '12%', content: 'name'},
+		{width: '44%', content: 'employee_name+tags'},
+		{width: '10%', content: 'approval_status'},
+		{
+			width: '12%',
+			content: function(parent, data) {
+				$(parent).html(wn.boot.company[data.company].default_currency
+					+ ' ' + fmt_money(data.total_sanctioned_amount));
+			},
+			css: {'text-align': 'right'},
+		},
+		{width: '12%', content: 'posting_date',
+			css: {'text-align': 'right', 'color': '#777'}},
+	]
+});
\ No newline at end of file
diff --git a/erpnext/hr/doctype/leave_application/listview.js b/erpnext/hr/doctype/leave_application/listview.js
new file mode 100644
index 0000000..0f1b1b7
--- /dev/null
+++ b/erpnext/hr/doctype/leave_application/listview.js
@@ -0,0 +1,36 @@
+// render
+wn.doclistviews['Leave Application'] = wn.views.ListView.extend({
+	init: function(d) {
+		this._super(d)
+		this.fields = this.fields.concat([
+			"`tabLeave Application`.employee_name",
+			"`tabLeave Application`.total_leave_days",
+			"`tabLeave Application`.from_date",
+			"`tabLeave Application`.to_date",
+			
+		]);
+		this.stats = this.stats.concat(['company']);
+	},
+
+	prepare_data: function(data) {
+		this._super(data);
+		data.from_date = wn.datetime.str_to_user(data.from_date);
+		data.to_date = wn.datetime.str_to_user(data.to_date);
+		data.date_range = (data.from_date === data.to_date)
+						? data.from_date
+						: data.from_date + " to " + data.to_date;
+		data.total_leave_days = data.total_leave_days<=1
+								? data.total_leave_days + " day"
+								: data.total_leave_days + " days"
+	},
+	
+	columns: [
+		{width: '5%', content:'avatar'},
+		{width: '3%', content:'docstatus'},
+		{width: '12%', content:'name'},
+		{width: '40%', content:'employee_name+tags'},
+		{width: '10%', content:'total_leave_days',
+			css: {'color':'#777'}},
+		{width: '30%', content:'date_range'},
+	]
+});
\ No newline at end of file
diff --git a/erpnext/hr/doctype/salary_slip/listview.js b/erpnext/hr/doctype/salary_slip/listview.js
new file mode 100644
index 0000000..cb3cfe4
--- /dev/null
+++ b/erpnext/hr/doctype/salary_slip/listview.js
@@ -0,0 +1,46 @@
+// render
+wn.doclistviews['Salary Slip'] = wn.views.ListView.extend({
+	init: function(d) {
+		this._super(d)
+		this.fields = this.fields.concat([
+			"`tabSalary Slip`.employee_name",
+			"`tabSalary Slip`.designation",
+			"`tabSalary Slip`.branch",
+			"`tabSalary Slip`.rounded_total",
+			"`tabSalary Slip`.company",
+			"`tabSalary Slip`.month",
+			"`tabSalary Slip`.fiscal_year",
+		]);
+		this.stats = this.stats.concat(['company']);
+	},
+
+	prepare_data: function(data) {
+		this._super(data);
+		var concat_list = [];
+		data.designation && concat_list.push(data.designation);
+		data.branch && concat_list.push(data.branch);
+		data.description = concat_list.join(", ");
+		data.month = month_list[cint(data.month)-1] + " [" + data.fiscal_year + "]";
+	},
+	
+	columns: [
+		{width: '3%', content: 'docstatus'},
+		{width: '14%', content: 'name'},
+		{width: '20%', content: 'employee_name'},
+		{width: '30%', content: 'description+tags', css: {'color': '#aaa'}},
+		{width: '17%', content:'month', css: {'text-align': 'right', 'color':'#aaa'}},
+		{
+			width: '16%',
+			content: function(parent, data) {
+				$(parent).html(
+					(
+						data.company
+						? wn.boot.company[data.company].default_currency
+						: sys_defaults.currency
+					)
+					+ ' ' + fmt_money(data.rounded_total));
+			},
+			css: {'text-align': 'right'},
+		},
+]
+});
\ No newline at end of file
diff --git a/erpnext/production/doctype/bom/listview.js b/erpnext/production/doctype/bom/listview.js
new file mode 100644
index 0000000..e139847
--- /dev/null
+++ b/erpnext/production/doctype/bom/listview.js
@@ -0,0 +1,47 @@
+// render
+wn.doclistviews['BOM'] = wn.views.ListView.extend({
+	init: function(d) {
+		this._super(d);
+		this.fields = this.fields.concat([
+			'`tabBOM`.item',
+			'`tabBOM`.uom',
+			'IFNULL(`tabBOM`.quantity, 0) as quantity',
+			'`tabBOM`.is_active',
+			'`tabBOM`.costing_date',
+			'`tabBOM`.total_cost',
+			'`tabBOM`.description',
+		]);
+		this.stats = this.stats.concat(['company']);
+	},
+
+	prepare_data: function(data) {
+		this._super(data);
+		data.costing_date = wn.datetime.str_to_user(data.costing_date);
+		data.description = (data.is_active === 'Yes' ? '' : '[Inactive] ') + data.description;
+	},
+
+	columns: [
+		{width: '3%', content: 'docstatus'},
+		{width: '15%', content: 'name'},
+		{width: '15%', content: 'item'},
+		{width: '26%', content: 'description+tags'},
+		{
+			width: '12%', 
+			content: function(parent, data) { 
+				$(parent).html(data.quantity + ' ' + data.uom) 
+			},
+			css: {'text-align':'right'},
+		},
+		{
+			width: '20%', 
+			content: function(parent, data) {
+				$(parent).html(sys_defaults.currency + " " 
+					+ fmt_money(data.total_cost));
+			},
+			css: {'text-align': 'right'},
+		},
+		{width: '12%', content:'costing_date', css: {
+			'text-align': 'right', 'color':'#777'
+		}},
+	]
+});
diff --git a/erpnext/production/doctype/production_order/listview.js b/erpnext/production/doctype/production_order/listview.js
new file mode 100644
index 0000000..5f51029
--- /dev/null
+++ b/erpnext/production/doctype/production_order/listview.js
@@ -0,0 +1,39 @@
+// render
+wn.doclistviews['Production Order'] = wn.views.ListView.extend({
+	init: function(d) {
+		this._super(d);
+		this.fields = this.fields.concat([
+			'`tabProduction Order`.production_item',
+			'`tabProduction Order`.fg_warehouse',
+			'`tabProduction Order`.stock_uom',
+			'IFNULL(`tabProduction Order`.qty, 0) as qty',
+			'`tabProduction Order`.posting_date',
+			'`tabProduction Order`.status',
+		]);
+		this.stats = this.stats.concat(['company']);
+	},
+
+	prepare_data: function(data) {
+		this._super(data);
+		data.posting_date = wn.datetime.str_to_user(data.posting_date);
+	},
+
+	columns: [
+		{width: '5%', content: 'avatar'},
+		{width: '3%', content: 'docstatus'},
+		{width: '20%', content: 'name'},
+		{width: '16%', content: 'production_item'},
+		{width: '20%', content: 'fg_warehouse'},
+		{width: '12%', content: 'status+tags'},
+		{
+			width: '12%', 
+			content: function(parent, data) { 
+				$(parent).html(data.qty + ' ' + data.stock_uom) 
+			},
+			css: {'text-align':'right'}
+		},
+		{width: '12%', content:'posting_date', css: {
+			'text-align': 'right', 'color':'#777'
+		}},
+	]
+});
diff --git a/erpnext/stock/doctype/item/listview.js b/erpnext/stock/doctype/item/listview.js
index 7f0dbc8..a483e35 100644
--- a/erpnext/stock/doctype/item/listview.js
+++ b/erpnext/stock/doctype/item/listview.js
@@ -12,12 +12,15 @@
 	prepare_data: function(data) {
 		this._super(data);
 		data.description = repl("%(item_name)s | %(description)s", data);
+		if(data.description && data.description.length > 50) {
+			data.description = '<span title="'+data.description+'">' + data.description.substr(0,50) + '...</span>';
+		}
 	},
 	
 	columns: [
 		{width: '5%', content:'avatar'},
 		{width: '20%', content:'name'},
-		{width: '63%', content:'tags+description', css: {'color': '#aaa'}},
+		{width: '63%', content:'tags+description', css: {'color': '#777'}},
 		{width: '12%', content:'modified', css: {'text-align': 'right', 'color':'#777'}}
 	]
 });
